Skip to content

Commit a89031d

Browse files
committed
Name Change
1 parent d80ce39 commit a89031d

File tree

2 files changed

+11
-30
lines changed

2 files changed

+11
-30
lines changed

mod.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@
77
"ios": "2.2074"
88
},
99
"id": "proact.delete_hold",
10-
"name": "Delete Hold",
10+
"name": "Button Hold",
1111
"version": "v1.0.0",
1212
"developer": "Proact",
1313
"description": "",
1414
"resources": {
1515
"spritesheets": {
1616
"loadGIF":["resources/loadGIF/*.png"]}
17-
},
18-
"dependencies": {
19-
"user95401.gif-sprites": ">=v1.0.0"
2017
}
2118
}

src/main.cpp

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class $modify(MyCCMenuItemSpriteExtra, CCMenuItemSpriteExtra) {
1010
public:
1111
struct Fields {
1212
SEL_MenuHandler m_selectCallback = nullptr;
13+
SEL_MenuHandler m_originalCallback = nullptr;
1314
};
1415

1516
void selected() {
@@ -21,19 +22,10 @@ class $modify(MyCCMenuItemSpriteExtra, CCMenuItemSpriteExtra) {
2122

2223
void activate() {
2324
log::debug("{}",rect().size);
24-
//log::debug("{}",m_fSizeMult);
2525
CCMenuItemSpriteExtra::activate();
2626
}
2727
};
2828

29-
/*
30-
Things in deleteBtn we need to access:
31-
gif sprite
32-
timer
33-
original callback
34-
*/
35-
//wtf are even c++ structs
36-
//are they literally just objects but we have to be compatible with c code somehow and public default
3729
struct BtnParameters: public CCObject {
3830
SEL_MenuHandler m_originalCallback;
3931
utils::Timer<std::chrono::high_resolution_clock> m_timer;
@@ -48,8 +40,7 @@ struct BtnParameters: public CCObject {
4840
class $modify(MyEditLevelLayer, EditLevelLayer) {
4941
struct Fields{
5042
CCArray* m_frames;
51-
CCAnimation* m_animation;
52-
//CCAnimate* m_animate;
43+
utils::Timer<std::chrono::high_resolution_clock>* m_timer = new utils::Timer();
5344
};
5445

5546
bool init(GJGameLevel* p1){
@@ -61,12 +52,10 @@ class $modify(MyEditLevelLayer, EditLevelLayer) {
6152
return true;
6253
}
6354

64-
65-
6655
auto frames = CCArray::create();
6756
frames->retain();
6857

69-
for(int i = 'A'; i<='T'; i++) { // the most terrible code ever
58+
for(int i = 'A'; i<='T'; i++) {
7059
auto frameName = fmt::format("HoldLoading{}.png"_spr, static_cast<char>(i));
7160
log::debug("{}",frameName);
7261

@@ -78,18 +67,15 @@ class $modify(MyEditLevelLayer, EditLevelLayer) {
7867
//m_fields->m_animation->addSpriteFrame(CCSpriteFrameCache::get()->spriteFrameByName(ahhh));
7968
}
8069
auto animation = CCAnimation::createWithSpriteFrames(frames, 0.1f);
81-
82-
//m_fields->m_animate = CCAnimate::create(m_fields->m_animation);
83-
m_fields->m_animation = animation;
8470
m_fields->m_frames=frames;
8571

86-
//auto fs =animation->getDuration();
8772

8873

8974
MyEditLevelLayer::registerBtn("help-button", menu);
9075
MyEditLevelLayer::registerBtn("delete-button", menu);
9176
//MyEditLevelLayer::registerBtn("edit-button", ffff, CircleBaseSize::Large);
9277
MyEditLevelLayer::registerBtn("play-button", ffff, CircleBaseSize::Large);
78+
MyEditLevelLayer::registerBtn("edit-button", ffff, CircleBaseSize::Large);
9379

9480
return true;
9581
}
@@ -108,31 +94,29 @@ class $modify(MyEditLevelLayer, EditLevelLayer) {
10894
}
10995
button->setSelectedImage(selectSprite);
11096
button->setUserObject(new BtnParameters(button->m_pfnSelector));
111-
97+
button->m_fields->m_originalCallback = button->m_pfnSelector;
11298
button->m_pfnSelector = menu_selector(MyEditLevelLayer::btnActivate);
11399
(button->m_fields)->m_selectCallback = menu_selector(MyEditLevelLayer::btnSelect);
114100
}
115101

116102
void btnActivate(CCObject* sender) {
117-
auto button = static_cast<CCMenuItemSpriteExtra*>(sender);
103+
auto button = static_cast<MyCCMenuItemSpriteExtra*>(sender);
118104
auto params = typeinfo_cast<BtnParameters*>(button->getUserObject());
119-
if(params && params->m_timer.elapsed() > 500) {
120-
((button->m_pListener)->*(params->m_originalCallback))(this);
105+
if(m_fields->m_timer && m_fields->m_timer->elapsed() > 500) {
106+
((button->m_pListener)->*(button->m_fields->m_originalCallback))(this);
121107
}
122108
}
123109

124110
void btnSelect(CCObject* sender){
125111
auto button = static_cast<CCMenuItemSpriteExtra*>(sender);
126-
auto params = typeinfo_cast<BtnParameters*>(button->getUserObject());
127-
if(params){
128-
params->m_timer.reset();;
112+
if(m_fields->m_timer){
113+
m_fields->m_timer->reset();
129114
}
130115

131116
CircleButtonSprite* sprite = typeinfo_cast<CircleButtonSprite*>(button->getSelectedImage());
132117
if(sprite) {
133118
auto animSprite = static_cast<CCAnimatedSprite*>(sprite->getTopNode());
134119
if (animSprite) {
135-
136120
animSprite->stopAllActions();
137121
animSprite->runAction(CCAnimate::create(CCAnimation::createWithSpriteFrames(m_fields->m_frames, 0.025f)));
138122
}

0 commit comments

Comments
 (0)