@@ -1515,7 +1515,8 @@ void GDSIslandSelectLayer::onEnterTransitionDidFinish() {
15151515 m_scaleWithBounce2 = CCEaseBounceOut::create (CCScaleTo::create (0.5 ,1 ));
15161516 }
15171517
1518- // gonna look into it later
1518+ // Update progression status when layer becomes active again
1519+ updateProgressionStatus ();
15191520}
15201521
15211522void GDSIslandSelectLayer::updatePageButtons () {
@@ -1534,4 +1535,61 @@ void GDSIslandSelectLayer::updatePageButtons() {
15341535 m_prevPageBtn->setVisible (true );
15351536 }
15361537 }
1538+ }
1539+
1540+ void GDSIslandSelectLayer::updateProgressionStatus () {
1541+ auto GLM = GameLevelManager::sharedState ();
1542+
1543+ // Reload level data to ensure we have the latest completion percentages
1544+ m_iLevels.iLevel1 = GLM->getMainLevel (2001 , false );
1545+ m_iLevels.iLevel2 = GLM->getMainLevel (2002 , false );
1546+ m_iLevels.iLevel3 = GLM->getMainLevel (2003 , false );
1547+ m_iLevels.iLevel4 = GLM->getMainLevel (2004 , false );
1548+ m_iLevels.iLevel5 = GLM->getMainLevel (2005 , false );
1549+ m_iLevels.iLevel6 = GLM->getMainLevel (2006 , false );
1550+ m_iLevels.iLevel7 = GLM->getMainLevel (2007 , false );
1551+ m_iLevels.iLevel8 = GLM->getMainLevel (2008 , false );
1552+ m_iLevels.iLevel9 = GLM->getMainLevel (2009 , false );
1553+ m_iLevels.iLevel10 = GLM->getMainLevel (2010 , false );
1554+
1555+ // Reload completion status from saved values
1556+ m_iLevels.level1complete = Mod::get ()->getSavedValue <int >(" islandlevel1complete" );
1557+ m_iLevels.level2complete = Mod::get ()->getSavedValue <int >(" islandlevel2complete" );
1558+ m_iLevels.level3complete = Mod::get ()->getSavedValue <int >(" islandlevel3complete" );
1559+ m_iLevels.level4complete = Mod::get ()->getSavedValue <int >(" islandlevel4complete" );
1560+ m_iLevels.level5complete = Mod::get ()->getSavedValue <int >(" islandlevel5complete" );
1561+ m_iLevels.level6complete = Mod::get ()->getSavedValue <int >(" islandlevel6complete" );
1562+ m_iLevels.level7complete = Mod::get ()->getSavedValue <int >(" islandlevel7complete" );
1563+ m_iLevels.level8complete = Mod::get ()->getSavedValue <int >(" islandlevel8complete" );
1564+ m_iLevels.level9complete = Mod::get ()->getSavedValue <int >(" islandlevel9complete" );
1565+ m_iLevels.level10complete = Mod::get ()->getSavedValue <int >(" islandlevel10complete" );
1566+
1567+ // Simple progression check - make levels visible if they should be unlocked
1568+ if (m_iLevels.iLevel1 ->m_normalPercent == 100 ) {
1569+ m_iLevels.level2Btn ->setVisible (true );
1570+ }
1571+ if (m_iLevels.iLevel2 ->m_normalPercent == 100 ) {
1572+ m_iLevels.level3Btn ->setVisible (true );
1573+ }
1574+ if (m_iLevels.iLevel3 ->m_normalPercent == 100 ) {
1575+ m_iLevels.level4Btn ->setVisible (true );
1576+ }
1577+ if (m_iLevels.iLevel4 ->m_normalPercent == 100 ) {
1578+ m_iLevels.level5Btn ->setVisible (true );
1579+ }
1580+ if (m_iLevels.iLevel5 ->m_normalPercent == 100 ) {
1581+ m_iLevels.level6Btn ->setVisible (true );
1582+ }
1583+ if (m_iLevels.iLevel6 ->m_normalPercent == 100 ) {
1584+ m_iLevels.level7Btn ->setVisible (true );
1585+ }
1586+ if (m_iLevels.iLevel7 ->m_normalPercent == 100 ) {
1587+ m_iLevels.level8Btn ->setVisible (true );
1588+ }
1589+ if (m_iLevels.iLevel8 ->m_normalPercent == 100 ) {
1590+ m_iLevels.level9Btn ->setVisible (true );
1591+ }
1592+ if (m_iLevels.iLevel9 ->m_normalPercent == 100 ) {
1593+ m_iLevels.level10Btn ->setVisible (true );
1594+ }
15371595}
0 commit comments