module; #include #include #include #include export module MegaEngine; import Input; import Graphics; import GameObject; import Steve; using namespace std; using namespace std::chrono; export class Game { public: static constexpr LPCWSTR wndClassName = L"1mGameWnd"; static constexpr LPCWSTR gameTitle = L"1mGame"; static constexpr int wndHeight = 450; static constexpr int wndWidth = 1050; void Run(); private: Steve steve; steady_clock::time_point last; float delta; HWND hwnd = nullptr; bool done = false; void StartUp(); void Update(); void Render(); void LaterUpdate(); void CleanUp(); void CreateWnd(); bool PeekMsg(); bool Done(); static LRESULT CALLBACK WndProcSetUp(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); static LRESULT CALLBACK WndProcThunk(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); LRESULT WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); };