Skip to content

Commit 5664423

Browse files
committed
test stuff
1 parent 5e937ab commit 5664423

File tree

3 files changed

+40
-6
lines changed

3 files changed

+40
-6
lines changed

src/CustomSettingLayer.cpp

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
#include <Geode/Geode.hpp>
22
#include <Geode/ui/GeodeUI.hpp>
33
#include <Geode/Loader.hpp>
4+
#include "Geode/modify/Modify.hpp"
45
#include "layers/GYSettingSelectLayer.hpp"
56

67
using namespace geode::prelude;
78

89
$execute {
10+
/*
911
new EventListener<EventFilter<ModPopupUIEvent>>(+[](ModPopupUIEvent* event) {
1012
if (event->getModID() == "omgrod.geodify") {
1113
auto popup = event->getPopup();
1214
1315
if (popup) {
1416
if (CCMenuItemSpriteExtra* btn = typeinfo_cast<CCMenuItemSpriteExtra*>(popup->getChildByIDRecursive("settings-button"))) {
15-
btn->m_pfnSelector = menu_selector(GYSettingSelectLayer::settingsBtn); // this code sucks - it keeps crashing. im sorry if creating a fake button is a bit too much
17+
btn->setTarget(this, menu_selector(GYSettingSelectLayer::settingsBtn));
18+
19+
// btn->m_pfnSelector = menu_selector(GYSettingSelectLayer::settingsBtn); // this code sucks - it keeps crashing. im sorry if creating a fake button is a bit too much
1620
1721
// CCSprite* settings = CCSprite::create("geode.loader/settings.png");
1822
// CircleButtonSprite* settingsBtn = nullptr;
@@ -36,4 +40,34 @@ using namespace geode::prelude;
3640
}
3741
return ListenerResult::Propagate;
3842
});
39-
}
43+
*/
44+
}
45+
46+
/// @brief The following code is for testing purposes only, and adds a Geodify settings button to the main menu.
47+
48+
#include <Geode/modify/MenuLayer.hpp>
49+
50+
class $modify(MyMenuLayer, MenuLayer) {
51+
public:
52+
bool init() {
53+
if (!MenuLayer::init())
54+
return false;
55+
56+
auto settingsBtn = CCMenuItemSpriteExtra::create(
57+
CircleButtonSprite::create(
58+
CCSprite::create("geode.loader/settings.png"),
59+
CircleBaseColor::DarkPurple,
60+
CircleBaseSize::Medium
61+
),
62+
this,
63+
menu_selector(GYSettingSelectLayer::settingsBtn)
64+
);
65+
66+
settingsBtn->setID("settings-button-geodify");
67+
68+
auto menu = this->getChildByID("bottom-menu");
69+
menu->addChild(settingsBtn);
70+
71+
return true;
72+
}
73+
};

src/layers/GYSettingSelectLayer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
using namespace geode::prelude;
66

7-
void GYSettingSelectLayer::KeyBackClicked() {
7+
void GYSettingSelectLayer::keyBackClicked() {
88
CCDirector::get()->popScene();
99
}
1010

@@ -24,7 +24,7 @@ GYSettingSelectLayer* GYSettingSelectLayer::create() {
2424
return nullptr;
2525
}
2626

27-
void GYSettingSelectLayer::settingsBtn(CCObject*) {
27+
void GYSettingSelectLayer::settingsBtn(CCObject* sender) {
2828
auto scenePrev = CCTransitionFade::create(0.5f, GYSettingSelectLayer::scene());
2929
CCDirector::sharedDirector()->pushScene(scenePrev);
3030
}

src/layers/GYSettingSelectLayer.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ using namespace geode::prelude;
66

77
class GYSettingSelectLayer : public CCLayer {
88
public:
9-
virtual void KeyBackClicked();
9+
virtual void keyBackClicked();
1010
static CCScene* scene();
1111
static GYSettingSelectLayer* create();
1212
bool init();
13-
void settingsBtn(CCObject*);
13+
void settingsBtn(CCObject* sender);
1414
};

0 commit comments

Comments
 (0)