Skip to content

Commit

Permalink
v1.0.3, you're welcome SMJS
Browse files Browse the repository at this point in the history
  • Loading branch information
Capeling committed Oct 2, 2024
1 parent 0c80251 commit 05bf984
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 18 deletions.
6 changes: 3 additions & 3 deletions mod.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"geode": "3.4.0",
"geode": "3.8.1",
"gd": {
"win": "2.206",
"android": "2.206",
"mac": "2.206"
},
"version": "v1.0.2",
"version": "v1.0.3",
"id": "capeling.hide_main_menu_ui",
"name": "Hide Main Menu UI",
"developer": "Capeling",
"description": "Adds a button to the main menu that hides the UI!",
"description": "Adds a button that hides the UI!",
"resources": {
"spritesheets": {
"EyeSheet": [
Expand Down
45 changes: 30 additions & 15 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,26 @@ struct HookMenuLayer : Modify<HookMenuLayer, MenuLayer> {
struct Fields {
bool m_isHidden = false;
CCMenuItemToggler* m_eyeButton;
CCMenu* m_eyeMenu;
};

bool init() {
if(!MenuLayer::init())
return false;
auto winSize = CCDirector::sharedDirector()->getWinSize();
auto on = CircleButtonSprite::create(CCSprite::createWithSpriteFrameName("eye_open.png"_spr), CircleBaseColor::Green, CircleBaseSize::Small);

auto offEye = CCSprite::createWithSpriteFrameName("eye_closed.png"_spr);
offEye->setOpacity(255 / 2.5);

auto off = CircleButtonSprite::create(offEye, CircleBaseColor::Gray, CircleBaseSize::Small);
off->setOpacity(255 / 2.5);

m_fields->m_eyeButton = CCMenuItemToggler::create(on, off, this, menu_selector(HookMenuLayer::onToggleHide));
m_fields->m_eyeMenu = CCMenu::create();

m_fields->m_eyeMenu->setPosition({winSize.width - 25, winSize.height - 25});
m_fields->m_eyeMenu->setID("hide-ui-menu"_spr);
m_fields->m_eyeButton->setID("hide-menu-button"_spr);

auto menu = static_cast<CCMenu*>(getChildByID("top-right-menu"));

m_fields->m_eyeMenu->addChild(m_fields->m_eyeButton);
addChild(m_fields->m_eyeMenu);
menu->addChild(m_fields->m_eyeButton);
menu->updateLayout();
return true;
}

Expand All @@ -38,17 +36,34 @@ struct HookMenuLayer : Modify<HookMenuLayer, MenuLayer> {
}

void updateMenu() {
CCObject* node;
CCMenu* menu = static_cast<CCMenu*>(getChildByID("top-right-menu"));
if(m_fields->m_isHidden) {
for(int i = 0; i < this->getChildrenCount(); i++) {
auto node = static_cast<CCNode*>(this->getChildren()->objectAtIndex(i));
CCARRAY_FOREACH(getChildren(), node) {
auto node2 = static_cast<CCNode*>(node);

if(node->getID() != "main-menu-bg" && node->getID() != "hide-ui-menu"_spr)
node->setVisible(false);
if(node2->getID() != "main-menu-bg" && node2->getID() != "top-right-menu") {
node2->setVisible(false);
}
}
CCARRAY_FOREACH(menu->getChildren(), node) {
auto node2 = static_cast<CCNode*>(node);

log::debug("{}", node2->getID());

if(node2->getID() != "hide-menu-button"_spr) {
node2->setVisible(false);
}
}
} else {
for(int i = 0; i < this->getChildrenCount(); i++) {
auto node = static_cast<CCNode*>(this->getChildren()->objectAtIndex(i));
node->setVisible(true);
CCARRAY_FOREACH(getChildren(), node) {
auto node2 = static_cast<CCNode*>(node);
node2->setVisible(true);
}

CCARRAY_FOREACH(menu->getChildren(), node) {
auto node2 = static_cast<CCNode*>(node);
node2->setVisible(true);
}
}
}
Expand Down

0 comments on commit 05bf984

Please sign in to comment.