]> git.localhorst.tv Git - blank.git/blobdiff - src/app/State.hpp
merge common parts of pre- and unload states
[blank.git] / src / app / State.hpp
index 2bdd41b238f87518cd56d649add03d0fd11c39c1..f79bc60f03d7c96e6c0668b73ad62688fc0c44c2 100644 (file)
@@ -6,16 +6,28 @@
 
 namespace blank {
 
+class HeadlessApplication;
 class Viewport;
 
 struct State {
 
+       friend class HeadlessApplication;
+
        virtual void Handle(const SDL_Event &) = 0;
 
        virtual void Update(int dt) = 0;
 
        virtual void Render(Viewport &) = 0;
 
+
+private:
+       int ref_count = 0;
+
+       virtual void OnEnter() { }
+       virtual void OnResume() { }
+       virtual void OnPause() { }
+       virtual void OnExit() { }
+
 };
 
 };