-
Notifications
You must be signed in to change notification settings - Fork 0
/
Game.h
49 lines (44 loc) · 1.07 KB
/
Game.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef _GAME_H
#define _GAME_H
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <Mmsystem.h>
#include "Graphics.h"
#include "input.h"
#include "constants.h"
#include "GameError.h"
class Game
{
protected:
Graphics *m_graphics;
Input *m_input;
HWND m_hwnd;
HRESULT m_hr;
LARGE_INTEGER m_timeStart;
LARGE_INTEGER m_timeEnd;
LARGE_INTEGER m_timeFreq;
float m_frameTime;
float m_fps;
DWORD m_sleepTime;
bool m_paused;
bool m_initialized;
public:
Game();
virtual ~Game();
LRESULT messageHandler(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
virtual void initialize(HWND hwnd);
virtual void run(HWND);
virtual void releaseAll();
virtual void resetAll();
virtual void deleteAll();
virtual void renderGame();
virtual void handleLostGraphicsDevice();
Graphics* getGraphics() { return m_graphics; }
Input* getInput() { return m_input; }
void exitGame() { PostMessage(m_hwnd, WM_DESTROY, 0, 0); }
virtual void update() = 0;
virtual void ai() = 0;
virtual void collisions() = 0;
virtual void render() = 0;
};
#endif