structureHangarViewSvc.py (1357B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\services\structure\structureHangarViewSvc.py 2 from carbon.common.script.sys.service import Service 3 4 class StructureHangarViewSvc(Service): 5 __guid__ = 'svc.structureHangarViewSvc' 6 __notifyevents__ = ['DoSessionChanging', 'OnHangarViewStateUpdated'] 7 _hangarViewState = None 8 9 def DoSessionChanging(self, isRemote, session, change): 10 if 'structureid' in change: 11 self._hangarViewState = None 12 13 def GetStructureHangarState(self): 14 if session.structureid is None: 15 raise NotDockedInStructureError('GetStructureHangarState cannot be called when session is not docked in a structure') 16 self._UpdateStructureHangarInfo() 17 return self._hangarViewState 18 19 def _UpdateStructureHangarInfo(self): 20 if session.structureid is not None and self._hangarViewState is None: 21 self._hangarViewState = sm.RemoteSvc('structureHangarViewMgr').GetMyHangarViewState() 22 23 def OnHangarViewStateUpdated(self, structureID, hangarViewState): 24 if structureID != session.structureid: 25 return 26 self._hangarViewState = hangarViewState 27 sm.ScatterEvent('OnHangarViewStateUpdated_Local', structureID, hangarViewState) 28 29 30 class NotDockedInStructureError(RuntimeError): 31 pass