home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 56 / CDPowerplay56Disc2.iso / demos / blade / data1.cab / Program_Executable_Files / Lib / FireCheck.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2000-10-27  |  3.9 KB  |  90 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 1.5)
  3.  
  4. import Bladex
  5. import InitDataField
  6. import GameStateAux
  7. import ObjStore
  8.  
  9. def debugPSCEvent(name, hit_entity, x, y, z, vx, vy, vz, wcx, wcy, wcz, wdx, wdy, wdz):
  10.     print 'unhandled hit_entity:' + hit_entity + ' by:' + name
  11.     if hit_entity == 'Player1':
  12.         print 'player hit!!!!!!!!!!!!!!!!!!!!!!!!!!!'
  13.     
  14.  
  15.  
  16. def checkPSysTimer(partSys, time):
  17.     partSysEnt = Bladex.GetEntity(partSys)
  18.     partSysCheckerEnt = partSysEnt.Data.psCheckerData
  19.     if time > partSysCheckerEnt.stopTime:
  20.         partSysCheckerEnt.stopCheck()
  21.         return None
  22.     
  23.     i = 0
  24.     n = partSysCheckerEnt.precission
  25.     for i in range(n):
  26.         hitParticle = partSysEnt.GetParticleEntity()
  27.         hitParticle.HitFunc = partSysCheckerEnt.onHitFunc
  28.         hitParticle.ObjCTest = 1
  29.     
  30.  
  31. Bladex.CreateTimer('partSysCheck', 0.1)
  32.  
  33. class PSysChecker:
  34.     ObjId = ''
  35.     onHitFunc = debugPSCEvent
  36.     precission = 1
  37.     
  38.     def __init__(self):
  39.         self.ObjId = ObjStore.GetNewId()
  40.         ObjStore.ObjectsStore[self.ObjId] = self
  41.  
  42.     
  43.     def __del__(self):
  44.         del ObjStore.ObjectsStore[self.ObjId]
  45.  
  46.     
  47.     def startCheck(self, partSys, time):
  48.         t = Bladex.GetTime()
  49.         self.startTime = t
  50.         self.stopTime = t + time
  51.         self.pSys = partSys
  52.         InitDataField.Initialise(self.pSys)
  53.         self.pSys.Data.psCheckerData = self
  54.         self.pSys.TimerFunc = checkPSysTimer
  55.         self.pSys.SubscribeToList('partSysCheck')
  56.  
  57.     
  58.     def stopCheck(self):
  59.         self.pSys.TimerFunc = ''
  60.         self.pSys.RemoveFromList('partSysCheck')
  61.  
  62.     
  63.     def persistent_id(self):
  64.         return self.ObjId
  65.  
  66.     
  67.     def __getstate__(self):
  68.         return (1, self.ObjId, GameStateAux.SaveFunctionAux(self.onHitFunc), self.precission, GameStateAux.SaveNewMembers(self))
  69.  
  70.     
  71.     def __setstate__(self, parm):
  72.         if parm[0] == 1:
  73.             self.ObjId = parm[1]
  74.             ObjStore.ObjectsStore[self.ObjId] = self
  75.             GameStateAux.LoadFunctionAux(parm[2], self, 'onHitFunc')
  76.             self.precission = parm[3]
  77.             GameStateAux.LoadNewMembers(self, parm[4])
  78.         else:
  79.             print 'PSysChecker.__setstate__() -> Version mismatch'
  80.             self.onHitFunc = debugPSCEvent
  81.             self.precission = 1
  82.             self.ObjId = ObjStore.GetNewId()
  83.  
  84.  
  85.  
  86. def createPSysChecker():
  87.     psChecker = PSysChecker()
  88.     return psChecker
  89.  
  90.