Files
snake-raylib-prototype/src/scenes/scene.cpp
T
2026-07-09 12:30:40 +01:00

40 lines
807 B
C++

#include <scene.hpp>
SceneManager::SceneManager(){
current_scene = new MenuScene();
}
SceneManager::~SceneManager(){
delete current_scene;
}
void SceneManager::process_scene_switch(){
if (!g_Engine.pendingSwitch) return;
delete current_scene;
switch(g_Engine.nextScene){
case SceneType::MENU:
current_scene = new MenuScene();
break;
case SceneType::GAMEPLAY:
current_scene = new GamePlayScene();
break;
}
g_Engine.pendingSwitch = false;
}
void SceneManager::update(float dt){
if (current_scene){
current_scene->update(dt);
}
}
void SceneManager::render(){
current_scene->render();
}
void SceneManager::ui(){
current_scene->ui();
}