/****************************************************************************** * File - iRunMode.h * Author - Joey Pollack * Date - 2021/09/15 (y/m/d) * Mod Date - 2021/09/15 (y/m/d) * Description - The interface that run mode classes must implement ******************************************************************************/ #ifndef RUN_MODE_H_ #define RUN_MODE_H_ #include #include #include namespace lunarium { class IGraphics; class iRunMode { public: virtual OpRes Initialize() = 0; virtual void Shutdown() = 0; virtual void OnTick(double delta) = 0; virtual void OnRender(IGraphics* g) = 0; public: // Optional Events virtual void OnKeyPress(InputManager::KeyPress kp); virtual void OnKeyRelease(Keyboard::Key k); }; } #endif // RUN_MODE_H_