Skip to content

Commit 20fcc34

Browse files
committed
feat(roulette): Allow refreshing of roulette if error occurs
1 parent e63f955 commit 20fcc34

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/roulette/layers/RLRouletteLayer.cpp

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,15 @@ bool RLRouletteLayer::init()
314314
errorReasonText->setID("reason-label");
315315
error_menu->addChild(errorReasonText);
316316

317+
auto refreshButton = CCMenuItemSpriteExtra::create(
318+
ButtonSprite::create("Refresh", 50, true, "bigFont.fnt", "GJ_button_01.png", .0f, .9f),
319+
this,
320+
menu_selector(RLRouletteLayer::onRefreshButton)
321+
);
322+
refreshButton->setPosition({ 50.f, -70.f });
323+
refreshButton->setID("refresh-button");
324+
error_menu->addChild(refreshButton);
325+
317326
auto errorResetButton = CCMenuItemSpriteExtra::create(
318327
ButtonSprite::create("Reset", 50, true, "bigFont.fnt", "GJ_button_06.png", .0f, .8f),
319328
this,
@@ -557,6 +566,13 @@ void RLRouletteLayer::onNextButton(CCObject*)
557566
rl::utils::createNotificationToast(this, fmt::format("You need to get at least {}%!", g_rouletteManager.currentPercentageGoal), .5f, 85.f);
558567
}
559568

569+
void RLRouletteLayer::onRefreshButton(CCObject*)
570+
{
571+
g_rouletteManager.gameState.hasReachedGoal = true;
572+
error_menu->setVisible(false);
573+
onNextButton(nullptr);
574+
}
575+
560576
void RLRouletteLayer::onResetButton(CCObject*)
561577
{
562578
if (m_list_fetcher.is_fetching)
@@ -589,9 +605,12 @@ void RLRouletteLayer::onSkipButton(CCObject*)
589605
if (m_list_fetcher.is_fetching)
590606
return;
591607

592-
if (g_rouletteManager.gameState.levelPercentage == 100)
608+
if (g_rouletteManager.gameState.levelPercentage == 100 || g_rouletteManager.gameState.hasReachedGoal)
593609
{
610+
rl::utils::createNotificationToast(this, "Skip not used, you have already reached the goal!", .5f, 85.f);
611+
594612
onNextButton(nullptr);
613+
595614
return;
596615
}
597616

@@ -623,7 +642,6 @@ void RLRouletteLayer::finishLevelRoulette()
623642

624643
playing_menu->setVisible(false);
625644
error_menu->setVisible(true);
626-
g_rouletteManager.reset();
627645

628646
return;
629647
}

src/roulette/layers/RLRouletteLayer.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class RLRouletteLayer : public BaseCustomAlertLayer
4545
void onPlayButton(CCObject*);
4646
void onSkipButton(CCObject*);
4747
void onNextButton(CCObject*);
48+
void onRefreshButton(CCObject*);
4849
void onResetButton(CCObject*);
4950

5051
void finishLevelRoulette();

0 commit comments

Comments
 (0)