epicArcSvc.py (1560B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\epicArcSvc.py 2 from carbon.common.script.sys.service import Service 3 from eve.client.script.ui.shared.agencyNew.contentGroups import contentGroupConst 4 from eve.client.script.ui.shared.epicArcs.epicArcController import EpicArcController 5 6 class EpicArcSvc(Service): 7 __guid__ = 'svc.epicArc' 8 __startupdependencies__ = [] 9 __notifyevents__ = ['OnEpicJournalChange', 'OnCharacterSelected', 'OnSessionReset'] 10 11 def OnCharacterSelected(self): 12 self.Initialize() 13 14 def OnSessionReset(self): 15 self.Initialize() 16 17 def Initialize(self): 18 self._missionStatusesByEpicArcID = None 19 self.controller = None 20 21 def ReconstructController(self): 22 self._missionStatusesByEpicArcID = sm.RemoteSvc('agentMgr').GetMyEpicArcStatus() 23 self.controller = EpicArcController(missionStatusesByEpicArcID=self._missionStatusesByEpicArcID) 24 sm.GetService('agencyNew').GetContentProvider(contentGroupConst.contentGroupEpicArcs).InvalidateContentPieces() 25 26 def GetEpicArcs(self): 27 self.CheckConstructController() 28 return self.controller.GetEpicArcs().values() 29 30 def GetEpicArcFactionIDs(self): 31 return set([ arc.GetFactionID() for arc in self.GetEpicArcs() ]) 32 33 def CheckConstructController(self): 34 if not self.controller: 35 self.ReconstructController() 36 37 def OnEpicJournalChange(self): 38 self.ReconstructController() 39 sm.ScatterEvent('OnEpicArcDataChanged')