Skip to content

Commit b251673

Browse files
committed
you saw nothing
1 parent 03ba1f0 commit b251673

5 files changed

Lines changed: 35 additions & 10 deletions

File tree

src/hooks/PlayLayer/BlackScreen.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,9 @@ class $modify(BlackScreenPlayLayer, PlayLayer) {
1515
void setupHasCompleted() {
1616
PlayLayer::setupHasCompleted();
1717

18-
int rnd = randng::get(5);
19-
log::info("playlayer init called {}", rnd);
20-
2118
if (m_fields->enabled) {
2219
// random delay between 0 and 5 seconds
23-
float delay = static_cast<float>(rnd);
20+
auto delay = randng::get(5.f);
2421
log::debug("Black screen will appear after {} seconds", delay);
2522

2623
scheduleOnce(schedule_selector(BlackScreenPlayLayer::showBlackScreen), delay);
@@ -34,17 +31,16 @@ class $modify(BlackScreenPlayLayer, PlayLayer) {
3431
auto const winSize = CCDirector::sharedDirector()->getWinSize();
3532

3633
auto blackScreen = CCScale9Sprite::create("square02_001.png");
34+
blackScreen->setID("black_screen"_spr);
3735
blackScreen->setContentSize({ winSize.width + 10.f, winSize.height + 10.f });
3836
blackScreen->setPosition(winSize / 2.f);
39-
blackScreen->setID("black_screen"_spr);
4037

4138
m_uiLayer->addChild(blackScreen, 99);
4239

4340
// Schedule removal after 0.5 seconds, then schedule to show again after a random delay
44-
blackScreen->runAction(CCSequence::create(
41+
blackScreen->runAction(CCSequence::createWithTwoActions(
4542
CCDelayTime::create(0.25f),
46-
CCCallFuncN::create(this, callfuncN_selector(BlackScreenPlayLayer::removeBlackScreen)),
47-
nullptr
43+
CCCallFuncN::create(this, callfuncN_selector(BlackScreenPlayLayer::removeBlackScreen))
4844
));
4945
};
5046
};

src/hooks/PlayLayer/Confetti.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ class $modify(ConfettiPlayLayer, PlayLayer) {
3737

3838
this->template addEventListener<OptionEventFilter>(
3939
[this, f](OptionEvent* ev) {
40-
unscheduleAllSelectors();
40+
unschedule(schedule_selector(ConfettiPlayLayer::confetti));
41+
unschedule(schedule_selector(ConfettiPlayLayer::nextConfetti));
42+
4143
f->enabled = ev->getToggled();
4244

4345
if (f->enabled) scheduleOnce(schedule_selector(ConfettiPlayLayer::nextConfetti), randng::get(0.125f));

src/hooks/PlayLayer/Math.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ class $modify(MathPlayLayer, PlayLayer) {
2020

2121
auto f = m_fields.self();
2222

23+
this->template addEventListener<OptionEventFilter>(
24+
[this, f](OptionEvent* ev) {
25+
unschedule(schedule_selector(MathPlayLayer::doQuiz));
26+
27+
f->enabled = ev->getToggled();
28+
29+
if (f->enabled) scheduleOnce(schedule_selector(MathPlayLayer::doQuiz), randng::get(30.f, 5.f) * chanceToDelayPct(m_fields->chance));
30+
31+
return ListenerResult::Propagate;
32+
},
33+
"math_quiz"
34+
);
35+
2336
if (f->enabled) nextQuiz();
2437
};
2538

src/hooks/PlayLayer/Motivation.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ class $modify(MotivationPlayLayer, PlayLayer) {
107107

108108
this->template addEventListener<OptionEventFilter>(
109109
[this, f](OptionEvent* ev) {
110-
unscheduleAllSelectors();
110+
unschedule(schedule_selector(MotivationPlayLayer::showMessage));
111+
111112
f->enabled = ev->getToggled();
112113

113114
if (f->enabled) scheduleOnce(schedule_selector(MotivationPlayLayer::showMessage), randng::get(10.f, 3.f));

src/hooks/PlayLayer/Spam.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,19 @@ class $modify(SpamPlayLayer, PlayLayer) {
2020

2121
auto f = m_fields.self();
2222

23+
this->template addEventListener<OptionEventFilter>(
24+
[this, f](OptionEvent* ev) {
25+
unschedule(schedule_selector(SpamPlayLayer::doSpam));
26+
27+
f->enabled = ev->getToggled();
28+
29+
if (f->enabled) scheduleOnce(schedule_selector(SpamPlayLayer::doSpam), randng::get(30.f, 5.f) * chanceToDelayPct(m_fields->chance));
30+
31+
return ListenerResult::Propagate;
32+
},
33+
"spam"
34+
);
35+
2336
if (f->enabled) nextSpam();
2437
};
2538

0 commit comments

Comments
 (0)