NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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'