playerShip.py (1904B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\environment\spaceObject\playerShip.py 2 import trinity 3 import math 4 import carbon.common.script.util.format as fmtutil 5 from eve.client.script.parklife.states import lookingAt 6 from eve.client.script.environment.spaceObject.ship import Ship 7 import evegraphics.utils as gfxutils 8 9 class PlayerShip(Ship): 10 11 def __init__(self): 12 Ship.__init__(self) 13 self._dirtTimeStamp = None 14 self._killCounter = None 15 16 def Assemble(self): 17 Ship.Assemble(self) 18 self.FitBoosters() 19 self.UpdateDirtLevel() 20 self.UpdateKillCounter() 21 22 def UpdateDirtLevel(self): 23 slimItem = self.typeData.get('slimItem') 24 self._dirtTimeStamp = getattr(slimItem, 'dirtTime', None) 25 if self._dirtTimeStamp is not None: 26 dirtLevel = gfxutils.CalcDirtLevelFromAge(self._dirtTimeStamp) 27 if self.model is not None: 28 self.model.dirtLevel = dirtLevel 29 30 def UpdateKillCounter(self): 31 slimItem = self.typeData.get('slimItem') 32 self._killCounter = getattr(slimItem, 'kills', None) 33 if self._killCounter is not None: 34 if self.model is not None: 35 self.model.displayKillCounterValue = min(self._killCounter, 999) 36 37 def OnSlimItemUpdated(self, slimItem): 38 Ship.OnSlimItemUpdated(self, slimItem) 39 self._Update() 40 41 def OnSubSystemChanged(self, newSlim): 42 Ship.OnSubSystemChanged(self, newSlim) 43 self._Update() 44 45 def _Update(self): 46 self.UpdateDirtLevel() 47 self.UpdateKillCounter() 48 49 def IsLookedAt(self): 50 return self.id == self.sm.GetService('stateSvc').GetExclState(lookingAt) 51 52 def GetDirtTimeStampAsStr(self): 53 if self._dirtTimeStamp is not None: 54 return fmtutil.FmtDateEng(self._dirtTimeStamp) 55 return 'None'