hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-23 17:11:45 +0200
committerhachem <im@hachem.wtf>2026-08-23 17:11:45 +0200
commitb72762fd3fa3735c12146e8c702f03000317db6f (patch)
tree0f326d6a2cbc9fca46ae8870fd4c724a06840e96 /src/core
parentfb9968dfe89fcd52fbfd7bc72ce14af18237beaa (diff)
refactor: drop the engine, states and Metal code
Diffstat (limited to 'src/core')
-rw-r--r--src/core/state.h19
-rw-r--r--src/core/state_manager.cpp88
-rw-r--r--src/core/state_manager.h41
3 files changed, 0 insertions, 148 deletions
diff --git a/src/core/state.h b/src/core/state.h
deleted file mode 100644
index 623f1c2..0000000
--- a/src/core/state.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-#include "event.h"
-
-namespace Donut
-{
- class State
- {
- public:
- virtual ~State() = default;
-
- virtual auto on_enter() -> void = 0;
- virtual auto on_exit() -> void = 0;
- virtual auto on_update(float delta_time) -> void = 0;
- virtual auto on_render() -> void = 0;
- virtual auto on_im_ui_render() -> void = 0;
- virtual auto on_event(Event& event) -> void = 0;
- };
-};
diff --git a/src/core/state_manager.cpp b/src/core/state_manager.cpp
deleted file mode 100644
index 8018401..0000000
--- a/src/core/state_manager.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-#include "state_manager.h"
-#include "log.h"
-
-namespace Donut
-{
- auto StateManager::shutdown() -> void
- {
- if (m_current_state)
- m_current_state->on_exit();
-
- destroy_states();
- DONUT_INFO("StateManager shutdown");
- }
-
- auto StateManager::destroy_states() -> void
- {
- m_states.clear();
- m_current_state = nullptr;
- m_current_state_name = "";
- }
-
- auto StateManager::register_state(const std::string& state_name, Scope<State> state) -> void
- {
- if (m_states.find(state_name) != m_states.end())
- DONUT_WARN("State '{}' already exists, overwriting", state_name);
- m_states[state_name] = std::move(state);
- DONUT_INFO("Registered state: {}", state_name);
- }
-
- auto StateManager::switch_to_state(const std::string& state_name) -> void
- {
- auto it = m_states.find(state_name);
- if (it == m_states.end())
- {
- DONUT_ERROR("Attempted to switch to unknown state: {}", state_name);
- return;
- }
-
- State* new_state = it->second.get();
- if (new_state == m_current_state)
- return;
-
- if (m_current_state)
- m_current_state->on_exit();
-
- m_current_state = new_state;
- m_current_state_name = state_name;
- m_current_state->on_enter();
- DONUT_INFO("Switched to state: {}", state_name);
- }
-
- auto StateManager::get_state(const std::string& state_name) -> State*
- {
- auto it = m_states.find(state_name);
- if (it != m_states.end())
- return it->second.get();
- return nullptr;
- }
-
- auto StateManager::has_state(const std::string& state_name) const -> bool
- {
- return m_states.find(state_name) != m_states.end();
- }
-
- auto StateManager::update(float delta_time) -> void
- {
- if (m_current_state)
- m_current_state->on_update(delta_time);
- }
-
- auto StateManager::render() -> void
- {
- if (m_current_state)
- m_current_state->on_render();
- }
-
- auto StateManager::on_im_ui_render() -> void
- {
- if (m_current_state)
- m_current_state->on_im_ui_render();
- }
-
- auto StateManager::on_event(Event& event) -> void
- {
- if (m_current_state)
- m_current_state->on_event(event);
- }
-}
diff --git a/src/core/state_manager.h b/src/core/state_manager.h
deleted file mode 100644
index 446841e..0000000
--- a/src/core/state_manager.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#pragma once
-
-#include "memory.h"
-#include "state.h"
-
-#include <string>
-#include <unordered_map>
-
-namespace Donut
-{
- class StateManager
- {
- public:
- ~StateManager() = default;
- auto shutdown() -> void;
-
- auto update(float delta_time) -> void;
- auto render() -> void;
- auto on_im_ui_render() -> void;
- auto on_event(Event& event) -> void;
-
- auto register_state(const std::string& state_name, Scope<State> state) -> void;
- auto switch_to_state(const std::string& state_name) -> void;
-
- auto get_current_state_name() const -> std::string { return m_current_state_name; }
- auto get_current_state() const -> State* { return m_current_state; }
-
- auto get_state(const std::string& state_name) -> State*;
- auto has_state(const std::string& state_name) const -> bool;
-
- private:
- auto create_states() -> void;
- auto destroy_states() -> void;
-
- private:
- State* m_current_state = nullptr;
- std::string m_current_state_name = "";
-
- std::unordered_map<std::string, Scope<State>> m_states;
- };
-}