Mercurial > LightClone
annotate LightClone/Source/GameScreen.cpp @ 74:40c0b5305de8
Work on removing ScreenManager
author | koryspansel |
---|---|
date | Tue, 18 Oct 2011 11:56:49 -0700 |
parents | 0574e2cf8bac |
children |
rev | line source |
---|---|
70 | 1 /* |
2 * GameScreen | |
3 */ | |
4 | |
5 #include "GameScreen.h" | |
6 | |
7 /* | |
8 * Initialize | |
9 */ | |
10 ErrorCode GameScreen::Initialize(ServiceProvider* pServiceProvider) | |
11 { | |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
12 ErrorCode eCode = kEnvironment.Initialize(pServiceProvider); |
70 | 13 if(eCode != Error_Success) |
14 { | |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
15 TRACE("Error: Failed to initialize environment\n"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
16 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
17 Terminate(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
18 return eCode; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
19 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
20 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
21 eCode = kBot.Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
22 if(eCode != Error_Success) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
23 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
24 TRACE("Error: Failed to initialize bot\n"); |
70 | 25 |
26 Terminate(); | |
27 return eCode; | |
28 } | |
29 | |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
30 eCode = kProgram.Initialize(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
31 if(eCode != Error_Success) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
32 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
33 TRACE("Error: Failed to initialize program\n"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
34 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
35 Terminate(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
36 return eCode; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
37 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
38 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
39 eCode = pServiceProvider->GetService("InputManager", &pInputManager); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
40 if(eCode != Error_Success) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
41 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
42 TRACE("Error: Failed to acquire input manager\n"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
43 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
44 Terminate(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
45 return eCode; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
46 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
47 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
48 eCode = InitializeInterface(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
49 if(eCode != Error_Success) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
50 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
51 TRACE("Error: Failed to initialize interface\n"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
52 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
53 Terminate(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
54 return eCode; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
55 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
56 |
74 | 57 nGameState = GameState_Load; |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
58 nSimulationState = SimulationState_Idle; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
59 nCurrentLevel = 0; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
60 |
70 | 61 return eCode; |
62 } | |
63 | |
64 /* | |
65 * Terminate | |
66 */ | |
67 void GameScreen::Terminate() | |
68 { | |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
69 kInterface.Terminate(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
70 kProgram.Terminate(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
71 kBot.Terminate(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
72 kEnvironment.Terminate(); |
70 | 73 } |
74 | |
75 /* | |
76 * Update | |
77 */ | |
78 void GameScreen::Update(float fElapsed) | |
79 { | |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
80 pInputManager->Update(fElapsed); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
81 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
82 UpdateInput(fElapsed); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
83 UpdateLogic(fElapsed); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
84 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
85 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
86 const D3DXVECTOR3& kCameraPosition = kCameraController.GetLocation(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
87 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
88 char kBuffer[256]; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
89 sprintf_s(kBuffer, "Camera: <%.2f, %.2f, %.2f> (%.2f, %.2f, %.2f)", kCameraPosition.x, kCameraPosition.y, kCameraPosition.z, kCameraController.fCameraDistance, kCameraController.fCameraYaw, kCameraController.fCameraPitch); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
90 pDebugText->SetText(kBuffer); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
91 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
92 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
93 kInterface.Update(fElapsed); |
70 | 94 } |
95 | |
96 /* | |
97 * Render | |
98 */ | |
99 void GameScreen::Render(RenderContext& kContext) | |
100 { | |
74 | 101 if(nGameState != GameState_Load) |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
102 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
103 D3DVIEWPORT9 kOriginal; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
104 kContext.GetViewport(&kOriginal); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
105 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
106 D3DVIEWPORT9 kViewport; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
107 kViewport.X = 0; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
108 kViewport.Y = 0; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
109 kViewport.Width = ScreenSizeX - 280; // minus size of interface |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
110 kViewport.Height = ScreenSizeY; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
111 kViewport.MinZ = kOriginal.MinZ; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
112 kViewport.MaxZ = kOriginal.MaxZ; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
113 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
114 kContext.SetViewport(kViewport); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
115 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
116 kCameraController.SetMode(CameraMode_3D); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
117 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
118 kEnvironment.Render(kContext, kCameraController); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
119 kBot.Render(kContext, kCameraController); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
120 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
121 kContext.SetViewport(kOriginal); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
122 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
123 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
124 kCameraController.SetMode(CameraMode_2D); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
125 kInterface.Render(kContext, kCameraController); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
126 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
127 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
128 /* |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
129 * Load |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
130 */ |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
131 ErrorCode GameScreen::Load(const char* pName) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
132 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
133 ErrorCode eCode = kLoader.Load(pName); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
134 if(eCode == Error_Success) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
135 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
136 const Size& kSize = kLoader.GetSize(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
137 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
138 eCode = kEnvironment.Setup(kSize.X, kSize.Y); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
139 if(eCode == Error_Success) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
140 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
141 for(uint32 nY = 0; nY < kSize.Y; ++nY) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
142 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
143 for(uint32 nX = 0; nX < kSize.X; ++nX) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
144 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
145 kEnvironment.SetType(nX, nY, kLoader.GetTowerType(nX, nY)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
146 kEnvironment.SetAltitude(nX, nY, kLoader.GetTowerHeight(nX, nY)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
147 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
148 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
149 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
150 kBot.Setup(&kEnvironment); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
151 kBot.SetPosition(kLoader.GetInitialPosition()); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
152 kBot.SetDirection(kLoader.GetInitialDirection()); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
153 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
154 //kCameraController.SetDistance( |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
155 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
156 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
157 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
158 return eCode; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
159 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
160 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
161 /* |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
162 * InitializeInterface |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
163 */ |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
164 ErrorCode GameScreen::InitializeInterface(ServiceProvider* pServiceProvider) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
165 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
166 ErrorCode eCode = kInterface.Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
167 if(eCode == Error_Success) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
168 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
169 pBackground = new GuiImage(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
170 pBackground->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
171 pBackground->SetTexture("Data\\Textures\\Background04.tga", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
172 pBackground->SetPosition(ScreenSizeX - pBackground->GetWidth(), 0.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
173 pBackground->SetDepth(512.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
174 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
175 pToolbar = new ActionPanel(4, 2); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
176 pToolbar->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
177 pToolbar->SetTexture("Data\\Textures\\PanelA.png"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
178 pToolbar->SetPosition(16, 16.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
179 pToolbar->SetAction(0, Action_Forward); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
180 pToolbar->SetAction(1, Action_RotateCW); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
181 pToolbar->SetAction(2, Action_RotateCCW); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
182 pToolbar->SetAction(3, Action_Jump); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
183 pToolbar->SetAction(4, Action_Light); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
184 pToolbar->SetAction(5, Action_FunctionA); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
185 pToolbar->SetAction(6, Action_FunctionB); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
186 pToolbar->SetPermanent(true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
187 pToolbar->SetDepth(256.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
188 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
189 GuiLabel* pMainLabel = new GuiLabel(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
190 pMainLabel->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
191 pMainLabel->SetFont("Courier New", 16); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
192 pMainLabel->SetText("Main:"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
193 pMainLabel->SetColor(D3DCOLOR_XRGB(0, 0, 0)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
194 pMainLabel->SetPosition(26.0f, 149.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
195 pMainLabel->SetDepth(256.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
196 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
197 pCode[0] = new ActionPanel(4, 3); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
198 pCode[0]->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
199 pCode[0]->SetTexture("Data\\Textures\\PanelB.png"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
200 pCode[0]->SetPosition(16.0f, 160.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
201 pCode[0]->Subscribe(ActionPanel::EventAction, &GameScreen::OnAction, this); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
202 pCode[0]->SetDepth(256.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
203 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
204 GuiLabel* pFunctionALabel = new GuiLabel(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
205 pFunctionALabel->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
206 pFunctionALabel->SetFont("Courier New", 16); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
207 pFunctionALabel->SetText("Function 1:"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
208 pFunctionALabel->SetColor(D3DCOLOR_XRGB(0, 0, 0)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
209 pFunctionALabel->SetPosition(26.0f, 349.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
210 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
211 pCode[1] = new ActionPanel(4, 2); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
212 pCode[1]->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
213 pCode[1]->SetTexture("Data\\Textures\\PanelA.png"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
214 pCode[1]->SetPosition(16.0f, 360.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
215 pCode[1]->Subscribe(ActionPanel::EventAction, &GameScreen::OnAction, this); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
216 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
217 GuiLabel* pFunctionBLabel = new GuiLabel(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
218 pFunctionBLabel->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
219 pFunctionBLabel->SetFont("Courier New", 16); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
220 pFunctionBLabel->SetText("Function 2:"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
221 pFunctionBLabel->SetColor(D3DCOLOR_XRGB(0, 0, 0)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
222 pFunctionBLabel->SetPosition(26.0f, 493.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
223 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
224 pCode[2] = new ActionPanel(4, 2); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
225 pCode[2]->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
226 pCode[2]->SetTexture("Data\\Textures\\PanelA.png"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
227 pCode[2]->SetPosition(16.0f, 504.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
228 pCode[2]->Subscribe(ActionPanel::EventAction, &GameScreen::OnAction, this); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
229 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
230 const float fButtonPadding = 32.0f; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
231 const float fButtonSpacing = 8.0f; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
232 const float fButtonSize = 48.0f; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
233 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
234 pButtonPlay = new GuiButton(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
235 pButtonPlay->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
236 pButtonPlay->SetTexture(GuiButtonState_Normal, "Data\\Textures\\Button2N.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
237 pButtonPlay->SetTexture(GuiButtonState_Hover, "Data\\Textures\\Button2H.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
238 pButtonPlay->SetTexture(GuiButtonState_Down, "Data\\Textures\\Button2D.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
239 pButtonPlay->SetFont("Courier New", 16, FW_BOLD); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
240 pButtonPlay->SetText("Play"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
241 pButtonPlay->SetColor(D3DCOLOR_XRGB(0, 0, 0)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
242 pButtonPlay->SetPosition(fButtonPadding + 0.0f * (fButtonSize + fButtonSpacing), 652.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
243 pButtonPlay->Subscribe(GuiButton::EventClick, &GameScreen::OnPlay, this); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
244 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
245 pButtonStop = new GuiButton(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
246 pButtonStop->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
247 pButtonStop->SetTexture(GuiButtonState_Normal, "Data\\Textures\\Button2N.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
248 pButtonStop->SetTexture(GuiButtonState_Hover, "Data\\Textures\\Button2H.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
249 pButtonStop->SetTexture(GuiButtonState_Down, "Data\\Textures\\Button2D.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
250 pButtonStop->SetFont("Courier New", 16, FW_BOLD); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
251 pButtonStop->SetText("Stop"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
252 pButtonStop->SetColor(D3DCOLOR_XRGB(0, 0, 0)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
253 pButtonStop->SetPosition(fButtonPadding + 1.0f * (fButtonSize + fButtonSpacing), 652.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
254 pButtonStop->Subscribe(GuiButton::EventClick, &GameScreen::OnStop, this); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
255 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
256 pButtonReset = new GuiButton(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
257 pButtonReset->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
258 pButtonReset->SetTexture(GuiButtonState_Normal, "Data\\Textures\\Button2N.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
259 pButtonReset->SetTexture(GuiButtonState_Hover, "Data\\Textures\\Button2H.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
260 pButtonReset->SetTexture(GuiButtonState_Down, "Data\\Textures\\Button2D.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
261 pButtonReset->SetFont("Courier New", 16, FW_BOLD); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
262 pButtonReset->SetText("Reset"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
263 pButtonReset->SetColor(D3DCOLOR_XRGB(0, 0, 0)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
264 pButtonReset->SetPosition(fButtonPadding + 2.0f * (fButtonSize + fButtonSpacing), 652.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
265 pButtonReset->Subscribe(GuiButton::EventClick, &GameScreen::OnReset, this); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
266 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
267 pButtonExit = new GuiButton(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
268 pButtonExit->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
269 pButtonExit->SetTexture(GuiButtonState_Normal, "Data\\Textures\\Button2N.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
270 pButtonExit->SetTexture(GuiButtonState_Hover, "Data\\Textures\\Button2H.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
271 pButtonExit->SetTexture(GuiButtonState_Down, "Data\\Textures\\Button2D.png", true); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
272 pButtonExit->SetFont("Courier New", 16, FW_BOLD); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
273 pButtonExit->SetText("Exit"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
274 pButtonExit->SetColor(D3DCOLOR_XRGB(0, 0, 0)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
275 pButtonExit->SetPosition(fButtonPadding + 3.0f * (fButtonSize + fButtonSpacing), 652.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
276 pButtonExit->Subscribe(GuiButton::EventClick, &GameScreen::OnExit, this); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
277 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
278 pBackground->Add(pToolbar); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
279 pBackground->Add(pMainLabel); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
280 pBackground->Add(pCode[0]); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
281 pBackground->Add(pFunctionALabel); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
282 pBackground->Add(pCode[1]); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
283 pBackground->Add(pFunctionBLabel); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
284 pBackground->Add(pCode[2]); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
285 pBackground->Add(pButtonPlay); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
286 pBackground->Add(pButtonStop); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
287 pBackground->Add(pButtonReset); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
288 pBackground->Add(pButtonExit); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
289 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
290 pDebugText = new GuiLabel(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
291 pDebugText->Initialize(pServiceProvider); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
292 pDebugText->SetFont("Courier New", 16); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
293 pDebugText->SetPosition(10.0f, 10.0f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
294 pDebugText->SetText("Debug"); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
295 pDebugText->SetColor(D3DCOLOR_XRGB(255, 255, 255)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
296 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
297 kInterface.Add(pBackground); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
298 kInterface.Add(pDebugText); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
299 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
300 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
301 return eCode; |
70 | 302 } |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
303 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
304 /* |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
305 * UpdateInput |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
306 */ |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
307 void GameScreen::UpdateInput(float fElapsed) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
308 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
309 #if defined(_DEBUG) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
310 if(pInputManager->IsKeyDown(DIK_LEFT)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
311 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
312 kCameraController.Yaw(0.01f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
313 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
314 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
315 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
316 if(pInputManager->IsKeyDown(DIK_RIGHT)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
317 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
318 kCameraController.Yaw(-0.01f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
319 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
320 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
321 if(pInputManager->IsKeyDown(DIK_UP)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
322 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
323 kCameraController.Pitch(0.01f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
324 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
325 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
326 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
327 if(pInputManager->IsKeyDown(DIK_DOWN)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
328 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
329 kCameraController.Pitch(-0.01f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
330 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
331 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
332 if(pInputManager->IsKeyDown(DIK_NEXT)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
333 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
334 kCameraController.Move(0.1f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
335 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
336 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
337 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
338 if(pInputManager->IsKeyDown(DIK_PRIOR)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
339 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
340 kCameraController.Move(-0.1f); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
341 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
342 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
343 static bool bControl = false; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
344 static uint32 nBuffer[4] = {0}; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
345 static uint32 nCount = 0; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
346 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
347 if(bControl) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
348 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
349 if(pInputManager->IsKeyDown(DIK_0) && !pInputManager->WasKeyDown(DIK_0)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
350 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
351 nBuffer[nCount++] = 0; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
352 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
353 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
354 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
355 if(pInputManager->IsKeyDown(DIK_1) && !pInputManager->WasKeyDown(DIK_1)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
356 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
357 nBuffer[nCount++] = 1; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
358 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
359 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
360 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
361 if(pInputManager->IsKeyDown(DIK_2) && !pInputManager->WasKeyDown(DIK_2)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
362 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
363 nBuffer[nCount++] = 2; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
364 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
365 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
366 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
367 if(pInputManager->IsKeyDown(DIK_3) && !pInputManager->WasKeyDown(DIK_3)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
368 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
369 nBuffer[nCount++] = 3; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
370 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
371 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
372 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
373 if(pInputManager->IsKeyDown(DIK_4) && !pInputManager->WasKeyDown(DIK_4)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
374 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
375 nBuffer[nCount++] = 4; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
376 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
377 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
378 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
379 if(pInputManager->IsKeyDown(DIK_5) && !pInputManager->WasKeyDown(DIK_5)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
380 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
381 nBuffer[nCount++] = 5; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
382 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
383 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
384 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
385 if(pInputManager->IsKeyDown(DIK_6) && !pInputManager->WasKeyDown(DIK_6)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
386 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
387 nBuffer[nCount++] = 6; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
388 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
389 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
390 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
391 if(pInputManager->IsKeyDown(DIK_7) && !pInputManager->WasKeyDown(DIK_7)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
392 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
393 nBuffer[nCount++] = 7; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
394 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
395 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
396 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
397 if(pInputManager->IsKeyDown(DIK_8) && !pInputManager->WasKeyDown(DIK_8)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
398 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
399 nBuffer[nCount++] = 8; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
400 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
401 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
402 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
403 if(pInputManager->IsKeyDown(DIK_9) && !pInputManager->WasKeyDown(DIK_9)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
404 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
405 nBuffer[nCount++] = 9; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
406 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
407 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
408 if(!pInputManager->IsKeyDown(DIK_LCONTROL)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
409 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
410 if(nCount > 0) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
411 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
412 nCurrentLevel = 0; |
74 | 413 nGameState = GameState_Load; |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
414 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
415 for(uint32 i = 0; i < nCount; ++i) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
416 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
417 nCurrentLevel += (uint32)(nBuffer[i] * powf(10.0f, (float)i)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
418 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
419 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
420 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
421 bControl = false; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
422 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
423 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
424 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
425 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
426 if(pInputManager->IsKeyDown(DIK_LCONTROL)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
427 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
428 bControl = true; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
429 nCount = 0; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
430 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
431 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
432 #endif |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
433 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
434 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
435 /* |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
436 * UpdateLogic |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
437 */ |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
438 void GameScreen::UpdateLogic(float fElapsed) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
439 { |
74 | 440 if(nGameState == GameState_Load) |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
441 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
442 char kBuffer[256]; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
443 sprintf(kBuffer, "Data\\Maps\\Map%02d.map", nCurrentLevel++); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
444 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
445 ErrorCode eCode = Load(kBuffer); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
446 if(eCode == Error_Success) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
447 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
448 kProgram.Clear(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
449 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
450 for(uint32 i = 0; i < MaximumFunctionCount; ++i) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
451 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
452 pCode[i]->Clear(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
453 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
454 |
74 | 455 nGameState = GameState_Active; |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
456 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
457 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
458 { |
74 | 459 //pScreenManager->Push("GameOver"); |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
460 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
461 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
462 nSimulationState = SimulationState_Idle; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
463 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
464 else |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
465 |
74 | 466 if(nGameState == GameState_Active) |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
467 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
468 if(nSimulationState == SimulationState_Active) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
469 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
470 if(kBot.Update(fElapsed)) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
471 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
472 if(kEnvironment.RequirementsMet()) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
473 { |
74 | 474 nGameState = GameState_Load; |
475 //pScreenManager->Push("LevelOver"); | |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
476 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
477 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
478 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
479 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
480 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
481 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
482 /* |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
483 * OnAction |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
484 */ |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
485 void GameScreen::OnAction(GuiEventArguments& kArguments) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
486 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
487 ActionArguments& kActionArguments = (ActionArguments&)kArguments; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
488 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
489 for(uint32 i = 0; i < MaximumFunctionCount; ++i) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
490 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
491 if(kArguments.pSource == pCode[i]) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
492 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
493 kProgram.SetAction(i, kActionArguments.nSlot, pCode[i]->GetAction(kActionArguments.nSlot)); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
494 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
495 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
496 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
497 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
498 /* |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
499 * OnPlay |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
500 */ |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
501 void GameScreen::OnPlay(GuiEventArguments& kArguments) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
502 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
503 if(nSimulationState == SimulationState_Idle) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
504 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
505 kEnvironment.Reset(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
506 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
507 kBot.Reset(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
508 kBot.SetPosition(kLoader.GetInitialPosition()); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
509 kBot.SetDirection(kLoader.GetInitialDirection()); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
510 kBot.Upload(kProgram); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
511 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
512 nSimulationState = SimulationState_Active; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
513 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
514 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
515 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
516 /* |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
517 * OnStop |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
518 */ |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
519 void GameScreen::OnStop(GuiEventArguments& kArguments) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
520 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
521 if(nSimulationState == SimulationState_Active) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
522 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
523 kEnvironment.Reset(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
524 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
525 kBot.Reset(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
526 kBot.SetPosition(kLoader.GetInitialPosition()); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
527 kBot.SetDirection(kLoader.GetInitialDirection()); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
528 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
529 nSimulationState = SimulationState_Idle; |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
530 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
531 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
532 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
533 /* |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
534 * OnReset |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
535 */ |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
536 void GameScreen::OnReset(GuiEventArguments& kArguments) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
537 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
538 kProgram.Clear(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
539 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
540 for(uint32 i = 0; i < MaximumFunctionCount; ++i) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
541 { |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
542 pCode[i]->Clear(); |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
543 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
544 } |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
545 |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
546 /* |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
547 * OnExit |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
548 */ |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
549 void GameScreen::OnExit(GuiEventArguments& kArguments) |
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
550 { |
74 | 551 //pScreenManager->Push("Confirm"); |
71
bc8afcf7e1ec
Refactor world into game screen
koryspansel <koryspansel@bendbroadband.com>
parents:
70
diff
changeset
|
552 } |