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

characterEnergySvc.py (1172B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\services\characterEnergySvc.py
      2 from carbon.common.script.sys.service import Service
      3 from characterenergy import CalculateStateAtTime
      4 from gametime import GetWallclockTime
      5 
      6 class CharacterEnergySvc(Service):
      7     __displayname__ = 'Character Energy Client'
      8     __guid__ = 'svc.characterEnergySvc'
      9     __startupdependencies__ = []
     10     __notifyevents__ = ['OnCharacterSessionChanged', 'OnCharacterEnergyChanged']
     11     _energyState = None
     12 
     13     def OnCharacterSessionChanged(self, oldCharacterID, newCharacterID):
     14         self._energyState = None
     15 
     16     def OnCharacterEnergyChanged(self, characterID, newEnergyState):
     17         if characterID != session.charid:
     18             return
     19         self._energyState = newEnergyState
     20         sm.ScatterEvent('OnCharacterEnergyChanged_Local')
     21 
     22     def GetEnergyStateNow(self):
     23         return CalculateStateAtTime(self._GetEnergyState(), GetWallclockTime())
     24 
     25     def _GetEnergyState(self):
     26         if self._energyState is None:
     27             self._energyState = sm.RemoteSvc('characterEnergyMgr').GetMyEnergyState()
     28         return self._energyState