@@ -28,7 +28,7 @@ void updateVal(GJBaseGameLayer *layer, const int id, const int val) {
2828}
2929
3030bool JoystickNode::init () {
31- if (!CCNode ::init ()) return false ;
31+ if (!CCMenu ::init ()) return false ;
3232 setContentSize ({100 , 100 });
3333 setAnchorPoint ({.5 , .5 });
3434
@@ -172,20 +172,8 @@ void JoystickNode::ccTouchCancelled(CCTouch *touch, CCEvent *event) {
172172 ccTouchEnded (touch, event);
173173}
174174
175- void JoystickNode::onEnter ()
176- {
177- CCNode::onEnter ();
178- CCTouchDispatcher::get ()->addTargetedDelegate (this , -512 , true );
179- }
180-
181- void JoystickNode::onExit ()
182- {
183- CCTouchDispatcher::get ()->removeDelegate (this );
184- CCNode::onExit ();
185- }
186-
187175void JoystickNode::draw () {
188- CCNode ::draw ();
176+ CCMenu ::draw ();
189177
190178 #if defined(DEBUG_BUILD) && !defined(GITHUB_ACTIONS)
191179 {
@@ -388,7 +376,7 @@ class $modify(JSLEL, LevelEditorLayer) {
388376 if (!m_objects) return LevelEditorLayer::onPlaytest ();
389377 runChecks (m_objects);
390378 LevelEditorLayer::onPlaytest ();
391- if (auto jsLayer = reinterpret_cast <JSUILayer*>(m_uiLayer)) {
379+ if (auto jsLayer = static_cast <JSUILayer*>(m_uiLayer)) {
392380 jsLayer->fixVisibility ();
393381 if (auto node = jsLayer->m_fields ->m_joystickNode ) {
394382 node->m_currentInput = CCPoint{0 , 0 };
@@ -408,22 +396,22 @@ class $modify(JSPL, PlayLayer) {
408396 runChecks (m_objects);
409397 PlayLayer::setupHasCompleted ();
410398 updateVal (this , 3740 , 1 );
411- if (auto jsLayer = reinterpret_cast <JSUILayer*>(m_uiLayer)) {
399+ if (auto jsLayer = static_cast <JSUILayer*>(m_uiLayer)) {
412400 jsLayer->fixVisibility ();
413401 }
414402 }
415403
416404 void resetLevel () {
417405 PlayLayer::resetLevel ();
418406 updateVal (this , 3740 , 1 );
419- if (auto jsLayer = reinterpret_cast <JSUILayer*>(m_uiLayer)) {
407+ if (auto jsLayer = static_cast <JSUILayer*>(m_uiLayer)) {
420408 jsLayer->fixVisibility ();
421409 }
422410 }
423411 #if defined(GEODE_IS_WINDOWS) || defined(GEODE_IS_ARM_MAC)
424412 void resume () {
425413 PlayLayer::resume ();
426- if (auto jsLayer = reinterpret_cast <JSUILayer*>(m_uiLayer)) {
414+ if (auto jsLayer = static_cast <JSUILayer*>(m_uiLayer)) {
427415 jsLayer->fixVisibility ();
428416 }
429417 }
@@ -481,6 +469,16 @@ class $modify(LTLSL, LevelSettingsLayer) {
481469 toggler->setEnabled (m_settingsObject->m_platformerMode );
482470 toggler->setOpacity (m_settingsObject->m_platformerMode ? 255 : 100 );
483471 }
472+
473+ #ifdef GEODE_IS_MACOS
474+ void onGameplayMode (CCObject* sender) {
475+ LevelSettingsLayer::onGameplayMode (sender);
476+ auto toggler = m_fields->m_toggle ;
477+ if (!toggler) return ;
478+ toggler->setEnabled (m_settingsObject->m_platformerMode );
479+ toggler->setOpacity (m_settingsObject->m_platformerMode ? 255 : 100 );
480+ }
481+ #endif
484482
485483};
486484
0 commit comments