aboutsummaryrefslogtreecommitdiff
path: root/src/Core/StateManager.cpp
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-20 02:27:02 +0200
committerhachem <im@hachem.wtf>2026-08-20 02:40:07 +0200
commit5b361d81dbd2af0d0e99b9eb1adebea76ff05db0 (patch)
tree34db1df17e8c7248aeeb92156d635d31c2484e3f /src/Core/StateManager.cpp
parente3abaaf59777258ba06705135a0cafcb5918ad12 (diff)
[chore]: MASSIVE refactor + more vulkan bs
Diffstat (limited to 'src/Core/StateManager.cpp')
-rw-r--r--src/Core/StateManager.cpp88
1 files changed, 0 insertions, 88 deletions
diff --git a/src/Core/StateManager.cpp b/src/Core/StateManager.cpp
deleted file mode 100644
index e2aba02..0000000
--- a/src/Core/StateManager.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-#include "StateManager.h"
-#include "Log.h"
-
-namespace Donut
-{
- void StateManager::Shutdown()
- {
- if (m_CurrentState)
- m_CurrentState->OnExit();
-
- DestroyStates();
- DONUT_INFO("StateManager shutdown");
- }
-
- void StateManager::DestroyStates()
- {
- m_States.clear();
- m_CurrentState = nullptr;
- m_CurrentStateName = "";
- }
-
- void StateManager::RegisterState(const std::string& stateName, Scope<State> state)
- {
- if (m_States.find(stateName) != m_States.end())
- DONUT_WARN("State '{}' already exists, overwriting", stateName);
- m_States[stateName] = std::move(state);
- DONUT_INFO("Registered state: {}", stateName);
- }
-
- void StateManager::SwitchToState(const std::string& stateName)
- {
- auto it = m_States.find(stateName);
- if (it == m_States.end())
- {
- DONUT_ERROR("Attempted to switch to unknown state: {}", stateName);
- return;
- }
-
- State* newState = it->second.get();
- if (newState == m_CurrentState)
- return;
-
- if (m_CurrentState)
- m_CurrentState->OnExit();
-
- m_CurrentState = newState;
- m_CurrentStateName = stateName;
- m_CurrentState->OnEnter();
- DONUT_INFO("Switched to state: {}", stateName);
- }
-
- State* StateManager::GetState(const std::string& stateName)
- {
- auto it = m_States.find(stateName);
- if (it != m_States.end())
- return it->second.get();
- return nullptr;
- }
-
- bool StateManager::HasState(const std::string& stateName) const
- {
- return m_States.find(stateName) != m_States.end();
- }
-
- void StateManager::Update(float deltaTime)
- {
- if (m_CurrentState)
- m_CurrentState->OnUpdate(deltaTime);
- }
-
- void StateManager::Render()
- {
- if (m_CurrentState)
- m_CurrentState->OnRender();
- }
-
- void StateManager::OnImUIRender()
- {
- if (m_CurrentState)
- m_CurrentState->OnImUIRender();
- }
-
- void StateManager::OnEvent(Event& event)
- {
- if (m_CurrentState)
- m_CurrentState->OnEvent(event);
- }
-}