aboutsummaryrefslogtreecommitdiff
path: root/src/Core/State.h
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-14 00:02:01 +0200
committerhachem <im@hachem.wtf>2025-08-14 00:02:01 +0200
commit641db1c86bf624527173b0323bd3c832338c3662 (patch)
tree188fe41c2351b8b426b8904ea23faec68f4144a4 /src/Core/State.h
parent6afeab30f84bc19fc4fc3dd842e7b093d4c5a9fa (diff)
[add]: State manager
Diffstat (limited to 'src/Core/State.h')
-rw-r--r--src/Core/State.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/Core/State.h b/src/Core/State.h
new file mode 100644
index 0000000..2d368d7
--- /dev/null
+++ b/src/Core/State.h
@@ -0,0 +1,18 @@
+#pragma once
+
+#include "Event.h"
+
+namespace Donut
+{
+ class State
+ {
+ public:
+ virtual ~State() = default;
+
+ virtual void OnEnter() = 0;
+ virtual void OnExit() = 0;
+ virtual void OnUpdate(float deltaTime) = 0;
+ virtual void OnRender() = 0;
+ virtual void OnEvent(Event& event) = 0;
+ };
+}; \ No newline at end of file