44
55using namespace geode ::prelude;
66
7- // figure out what the hell this does
8- // class TouchBlockerLayer : public CCLayer {
9- // public:
10- // virtual bool init() override {
11- // if(!CCLayer::init()) return false;
12- // this->setTouchEnabled(true);
13-
14- // CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, INT_MIN, true);
15- // return true;
16- // }
17- // virtual bool ccTouchBegan(CCTouch* a, CCEvent* b){
18- // return true;
19- // }
20- // };
21-
227
238class SelectButtonManager : public CCObject {
24- CCMenuItem* m_currBtn = nullptr ;
25- FLAlertLayer* s_popUp = nullptr ;
9+ Ref< CCMenuItem> m_currBtn = nullptr ;
10+ Ref< FLAlertLayer> s_popUp = nullptr ;
2611public:
2712 static SelectButtonManager* get (){
2813 static SelectButtonManager* instance = nullptr ;
@@ -41,30 +26,21 @@ class SelectButtonManager : public CCObject {
4126 sender->selected();
4227 return;
4328 }*/
44- if (s_popUp && !sender->hasAncestor (s_popUp)){
29+ if (s_popUp && !sender->hasAncestor (s_popUp. data () )){
4530 return ;
4631 }
47-
48- if (m_currBtn){
49- m_currBtn->release ();
50- }
32+
5133 m_currBtn = sender;
52- m_currBtn->retain ();
5334 CCScheduler::get ()->scheduleSelector (schedule_selector (SelectButtonManager::over), this , 0 , 0 , 0.5 , false );
5435 sender->selected ();
5536 });
5637 actions.unselected = MenuCallback ([this ](CCMenuItem* sender){
38+
5739 /* if("change-button-state"_spr == sender->getID()){
5840 sender->unselected();
5941 return;
6042 }*/
61- // if(s_popUp && !sender->hasAncestor(s_popUp)){
62- // return;
63- // }
6443
65- if (m_currBtn){
66- m_currBtn->release ();
67- }
6844 m_currBtn = nullptr ;
6945 CCScheduler::get ()->unscheduleSelector (schedule_selector (SelectButtonManager::over), this );
7046 // ButtonActionManager::get()->resetActivate();
@@ -156,13 +132,11 @@ class SelectButtonManager : public CCObject {
156132 output.append (id.to_string () + " ::" );
157133 }
158134
159- // auto blocker = TouchBlockerLayer::create();
160135 s_popUp = FLAlertLayer::create (" Selector" , fmt::format (" {} selected" , output), " OK" );
161- // popUp->addChild(blocker);
162136
163137 s_popUp->setID (" SelectAlert" _spr);
164138 s_popUp->show ();
165- popupOpen = true ;
139+
166140 /* if(path.isErr()){
167141 FLAlertLayer::create("Selector", fmt::format("{}", path.err().value()), "OK")->show();
168142 } else {
0 commit comments