forked from derandark/DungeonViewerAC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DungeonScene.h
66 lines (45 loc) · 1.17 KB
/
DungeonScene.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#pragma once
#include "Camera.h"
class CPhysics;
class CLandBlock;
class CEnvCell;
class DungeonCamera : public FreeViewCam
{
// Insert goodies here.
};
class DungeonScene :
public RenderScene
{
public:
DungeonScene();
virtual ~DungeonScene();
// **** For camera (move this to abtract later?)
public:
virtual void Input_KeyDown(BYTE bKey);
virtual void Input_KeyUp(BYTE bKey);
virtual void Input_MouseMove(long x, long y);
void MoveCameraWithInput(float FrameTime, BOOL *Keys);
protected:
void UpdateCamera();
DungeonCamera m_Camera;
double m_LastCamUpdate;
BOOL m_Keys[ 256 ];
// **** End of camera
// **** For dungeon scene
public:
void Destroy();
BOOL Init(DWORD LandBlock);
virtual int SceneType();
virtual void Render(double);
protected:
static int SortCellCompare(const void *, const void *);
static Vector camera_pos;
void SortCells();
CPhysics* m_Physics;
CLandBlock* m_LandBlock;
CEnvCell** m_EnvCells;
DWORD m_EnvCellCount;
CEnvCell** m_SortedCells;
DWORD m_CurrentCell;
// **** End of dungeon scene
};