mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-05-27 00:06:49 +00:00
Fixing #228
This commit is contained in:
@@ -31,6 +31,9 @@ namespace BBM
|
||||
};
|
||||
|
||||
|
||||
//! @brief The scene before the actual one. Used for back buttons.
|
||||
SceneID previousScene = SplashScreen;
|
||||
|
||||
//! @brief The currently loaded scene
|
||||
SceneID currentScene = SplashScreen;
|
||||
|
||||
@@ -38,6 +41,6 @@ namespace BBM
|
||||
SceneID nextScene = SplashScreen;
|
||||
|
||||
//! @brief The list of loaded scenes.
|
||||
std::unordered_map<SceneID, std::shared_ptr<WAL::Scene>> _loadedScenes = {};
|
||||
std::unordered_map<SceneID, std::shared_ptr<WAL::Scene>> loadedScenes = {};
|
||||
};
|
||||
}
|
||||
+13
-12
@@ -74,13 +74,14 @@ namespace BBM
|
||||
if (gameState.nextScene == gameState.currentScene)
|
||||
return;
|
||||
if (gameState.nextScene == GameState::SceneID::ScoreScene) {
|
||||
gameState._loadedScenes[GameState::SceneID::ScoreScene] = Runner::loadScoreScene(*engine.getScene());
|
||||
gameState.loadedScenes[GameState::SceneID::ScoreScene] = Runner::loadScoreScene(*engine.getScene());
|
||||
for (auto &[_, component]: engine.getScene()->view<ControllableComponent>()) {
|
||||
component.fastClick = false;
|
||||
}
|
||||
}
|
||||
gameState._loadedScenes[gameState.currentScene] = engine.getScene();
|
||||
engine.changeScene(gameState._loadedScenes[gameState.nextScene]);
|
||||
gameState.loadedScenes[gameState.currentScene] = engine.getScene();
|
||||
engine.changeScene(gameState.loadedScenes[gameState.nextScene]);
|
||||
gameState.previousScene = gameState.currentScene;
|
||||
gameState.currentScene = gameState.nextScene;
|
||||
}
|
||||
|
||||
@@ -150,14 +151,14 @@ namespace BBM
|
||||
|
||||
void Runner::loadScenes()
|
||||
{
|
||||
gameState._loadedScenes[GameState::SceneID::MainMenuScene] = loadMainMenuScene();
|
||||
gameState._loadedScenes[GameState::SceneID::SettingsScene] = loadSettingsMenuScene();
|
||||
gameState._loadedScenes[GameState::SceneID::PauseMenuScene] = loadPauseMenuScene();
|
||||
gameState._loadedScenes[GameState::SceneID::TitleScreenScene] = loadTitleScreenScene();
|
||||
gameState._loadedScenes[GameState::SceneID::CreditScene] = loadCreditScene();
|
||||
gameState._loadedScenes[GameState::SceneID::SplashScreen] = loadSplashScreenScene();
|
||||
gameState._loadedScenes[GameState::SceneID::LobbyScene] = loadLobbyScene();
|
||||
gameState._loadedScenes[GameState::SceneID::HowToPlayScene] = loadHowToPlayScene();
|
||||
gameState.loadedScenes[GameState::SceneID::MainMenuScene] = loadMainMenuScene();
|
||||
gameState.loadedScenes[GameState::SceneID::SettingsScene] = loadSettingsMenuScene();
|
||||
gameState.loadedScenes[GameState::SceneID::PauseMenuScene] = loadPauseMenuScene();
|
||||
gameState.loadedScenes[GameState::SceneID::TitleScreenScene] = loadTitleScreenScene();
|
||||
gameState.loadedScenes[GameState::SceneID::CreditScene] = loadCreditScene();
|
||||
gameState.loadedScenes[GameState::SceneID::SplashScreen] = loadSplashScreenScene();
|
||||
gameState.loadedScenes[GameState::SceneID::LobbyScene] = loadLobbyScene();
|
||||
gameState.loadedScenes[GameState::SceneID::HowToPlayScene] = loadHowToPlayScene();
|
||||
}
|
||||
|
||||
int Runner::run()
|
||||
@@ -167,7 +168,7 @@ namespace BBM
|
||||
Runner::addSystems(wal);
|
||||
Runner::enableRaylib(wal);
|
||||
Runner::loadScenes();
|
||||
wal.changeScene(Runner::gameState._loadedScenes[GameState::SceneID::SplashScreen]);
|
||||
wal.changeScene(Runner::gameState.loadedScenes[GameState::SceneID::SplashScreen]);
|
||||
wal.run<GameState>(Runner::updateState, Runner::gameState);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -207,7 +207,7 @@ namespace BBM
|
||||
.addComponent<Drawable2DComponent, RAY::Texture>("assets/buttons/button_back.png")
|
||||
.addComponent<OnClickComponent>([](WAL::Entity &entity, WAL::Wal &)
|
||||
{
|
||||
gameState.nextScene = BBM::GameState::SceneID::MainMenuScene;
|
||||
gameState.nextScene = gameState.previousScene;
|
||||
})
|
||||
.addComponent<OnIdleComponent>([](WAL::Entity &entity, WAL::Wal &)
|
||||
{
|
||||
|
||||
@@ -280,7 +280,7 @@ namespace BBM
|
||||
});
|
||||
playerCount++;
|
||||
}
|
||||
Runner::gameState._loadedScenes[GameState::SceneID::GameScene] = scene;
|
||||
Runner::gameState.loadedScenes[GameState::SceneID::GameScene] = scene;
|
||||
Runner::gameState.nextScene = BBM::GameState::SceneID::GameScene;
|
||||
wal.getSystem<LobbySystem>().unloadLobby();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user