-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathCallbacks.cpp
More file actions
78 lines (67 loc) · 2.91 KB
/
Callbacks.cpp
File metadata and controls
78 lines (67 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include "Callbacks.hpp"
#include "Macros.hpp"
#include "UIModding.hpp"
Callbacks* Callbacks::instance = nullptr;
void Callbacks::generateAll() {
if (m_generated) return;
UIModding::get()->skipCheck = true;
generateMenuLayerCallbacks();
generateCreatorLayerCallbacks();
generateGarageCallbacks();
UIModding::get()->skipCheck = false;
m_generated = true;
}
CCMenuItemSpriteExtra* Callbacks::getDummyButton() {
if (!m_dummyButton) {
m_dummyButton = CCMenuItemSpriteExtra::create(CCSprite::create(), nullptr, nullptr);
m_dummyButton->setUserObject("dummy"_spr, CCBool::create(true));
}
return m_dummyButton;
}
struct MenuLayerCallbacks : public CCNode {
void onPlay(CCObject* obj) {
CCDirector::get()->pushScene(CCTransitionFade::create(0.5, LevelSelectLayer::scene(0)));
}
void onCreator(CCObject* obj) {
CCDirector::get()->pushScene(CCTransitionFade::create(0.5, CreatorLayer::scene()));
}
void onGarage(CCObject* obj) {
CCDirector::get()->pushScene(CCTransitionFade::create(0.5, GJGarageLayer::scene()));
}
};
void Callbacks::generateMenuLayerCallbacks() {
CREATE_NORMAL(MenuLayer);
m_callbacks["MenuLayer"]["onPlay"] = std::pair<CCNode*, cocos2d::SEL_MenuHandler>(self, menu_selector(MenuLayerCallbacks::onPlay));
m_callbacks["MenuLayer"]["onGarage"] = std::pair<CCNode*, cocos2d::SEL_MenuHandler>(self, menu_selector(MenuLayerCallbacks::onGarage));
m_callbacks["MenuLayer"]["onCreator"] = std::pair<CCNode*, cocos2d::SEL_MenuHandler>(self, menu_selector(MenuLayerCallbacks::onCreator));
REGISTER_CALLBACK(MenuLayer, onAchievements);
REGISTER_CALLBACK(MenuLayer, onDaily);
REGISTER_CALLBACK(MenuLayer, onMoreGames);
REGISTER_CALLBACK(MenuLayer, onMyProfile);
REGISTER_CALLBACK(MenuLayer, onOptions);
REGISTER_CALLBACK(MenuLayer, onStats);
}
void Callbacks::generateCreatorLayerCallbacks() {
CREATE_NORMAL(CreatorLayer);
REGISTER_CALLBACK(CreatorLayer, onAdventureMap);
REGISTER_CALLBACK(CreatorLayer, onChallenge);
REGISTER_CALLBACK(CreatorLayer, onDailyLevel);
REGISTER_CALLBACK(CreatorLayer, onEventLevel);
REGISTER_CALLBACK(CreatorLayer, onFeaturedLevels);
REGISTER_CALLBACK(CreatorLayer, onGauntlets);
REGISTER_CALLBACK(CreatorLayer, onLeaderboards);
REGISTER_CALLBACK(CreatorLayer, onMapPacks);
REGISTER_CALLBACK(CreatorLayer, onMyLevels);
REGISTER_CALLBACK(CreatorLayer, onOnlineLevels);
REGISTER_CALLBACK(CreatorLayer, onPaths);
REGISTER_CALLBACK(CreatorLayer, onSavedLevels);
REGISTER_CALLBACK(CreatorLayer, onSecretVault);
REGISTER_CALLBACK(CreatorLayer, onTopLists);
REGISTER_CALLBACK(CreatorLayer, onTreasureRoom);
REGISTER_CALLBACK(CreatorLayer, onWeeklyLevel);
}
void Callbacks::generateGarageCallbacks() {
CREATE_NORMAL(GJGarageLayer);
REGISTER_CALLBACK(GJGarageLayer, onShards);
REGISTER_CALLBACK(GJGarageLayer, onShop);
}