hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/core/state_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/state_manager.h')
-rw-r--r--src/core/state_manager.h37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/core/state_manager.h b/src/core/state_manager.h
index 584df11..446841e 100644
--- a/src/core/state_manager.h
+++ b/src/core/state_manager.h
@@ -12,29 +12,30 @@ namespace Donut
{
public:
~StateManager() = default;
- void shutdown();
-
- void update(float delta_time);
- void render();
- void on_im_ui_render();
- void on_event(Event& event);
-
- void register_state(const std::string& state_name, Scope<State> state);
- void switch_to_state(const std::string& state_name);
+ 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;
- std::string get_current_state_name() const { return m_current_state_name; }
- State* get_current_state() const { return m_current_state; }
-
- State* get_state(const std::string& state_name);
- bool has_state(const std::string& state_name) const;
private:
- void create_states();
- void destroy_states();
+ auto create_states() -> void;
+ auto destroy_states() -> void;
private:
- State* m_current_state = nullptr;
+ State* m_current_state = nullptr;
std::string m_current_state_name = "";
-
+
std::unordered_map<std::string, Scope<State>> m_states;
};
}