This commit is contained in:
Zoe Roux
2021-06-18 16:07:40 +02:00
parent 508fa89a8a
commit 000528ba14
4 changed files with 19 additions and 15 deletions
+4 -1
View File
@@ -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
View File
@@ -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;
}
+1 -1
View File
@@ -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 &)
{
+1 -1
View File
@@ -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();
}