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