comparison demos/shooter/scripts/world.py @ 475:afde89c1d50b

Switched to a damage system. Collisions with objects now cause 1 damage to the player. When the boss switches weapons it now waits for the weapons firerate value in time to pass before it fires its first burst with the new weapon. Fixed a little problem with the high score dialog as it operates in modal mode. It now waits for the entire frame to be complete before displaying the dialog box.
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Wed, 21 Apr 2010 18:20:13 +0000
parents 3164715a0621
children 85fa5fa486a8
comparison
equal deleted inserted replaced
474:10aff123c62c 475:afde89c1d50b
203 203
204 def gameOver(self): 204 def gameOver(self):
205 self._gameover.show() 205 self._gameover.show()
206 self._hudwindow.hide() 206 self._hudwindow.hide()
207 207
208 self.saveScore() 208 self._gamecomplete = True
209 209
210 def endLevel(self): 210 def endLevel(self):
211 self._paused = True 211 self._paused = True
212 212
213 #only one level so the game is over once you complete it. 213 #only one level so the game is over once you complete it.
313 def pump(self): 313 def pump(self):
314 """ 314 """
315 Called every frame. 315 Called every frame.
316 """ 316 """
317 317
318 if self._gamecomplete:
319 self.saveScore()
320 self.reset()
321
322 if self._genericrenderer: 318 if self._genericrenderer:
323 self._genericrenderer.removeAll("quads") 319 self._genericrenderer.removeAll("quads")
324 320
325 321
326 if not self._scene: 322 if not self._scene:
327 return 323 return
328 324
329 #update the scene 325 #update the scene
330 if not self._paused: 326 if not self._paused and not self._gamecomplete:
331 if self._scene.paused: 327 if self._scene.paused:
332 self._scene.unpause(self._timemanager.getTime() - self._starttime) 328 self._scene.unpause(self._timemanager.getTime() - self._starttime)
333 329
334 self._scene.update(self._timemanager.getTime() - self._starttime, self._keystate) 330 self._scene.update(self._timemanager.getTime() - self._starttime, self._keystate)
335 331
361 self._hudwindow.setLivesText(lives) 357 self._hudwindow.setLivesText(lives)
362 358
363 else: 359 else:
364 if not self._scene.paused: 360 if not self._scene.paused:
365 self._scene.pause(self._timemanager.getTime() - self._starttime) 361 self._scene.pause(self._timemanager.getTime() - self._starttime)
366 362
363 if self._gamecomplete:
364 self.saveScore()
365 self.reset()
367 366
368 self._pump_ctr += 1 367 self._pump_ctr += 1