squadronController.py (2490B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\squadrons\squadronController.py 2 from carbonui.util.color import Color 3 from eve.client.script.ui.inflight.squadrons.shipFighterState import GetShipFighterState 4 from eve.common.script.mgt.fighterConst import LABEL_BY_STATE, COLOR_OPEN, COLOR_BY_STATE 5 import fighters 6 import gametime 7 8 class SquadronController(object): 9 10 def __init__(self): 11 self.shipFighterState = GetShipFighterState() 12 self.michelle = sm.GetService('michelle') 13 14 def GetSquadronVelocity(self, tubeFlagID): 15 ball = self.GetSquadronBallInfo(tubeFlagID) 16 if ball: 17 velocity = ball.GetVectorDotAt(self.GetTimeNow()).Length() 18 return velocity 19 20 def GetSquadronDistance(self, tubeFlagID): 21 ball = self.GetSquadronBallInfo(tubeFlagID) 22 if ball: 23 ball.GetVectorAt(self.GetTimeNow()) 24 return ball.surfaceDist 25 26 def GetSquadronBallInfo(self, tubeFlagID): 27 fightersItemID = self.GetFightersInSpaceItemID(tubeFlagID) 28 if fightersItemID: 29 ball = self.GetFightersBall(fightersItemID) 30 return ball 31 32 def GetFightersBall(self, fightersItemID): 33 return self.michelle.GetBall(fightersItemID) 34 35 def GetTimeNow(self): 36 return gametime.GetSimTime() 37 38 def GetFightersInSpaceItemID(self, tubeFlagID): 39 fightersInSpace = self.shipFighterState.GetFightersInSpace(tubeFlagID) 40 if fightersInSpace: 41 return fightersInSpace.itemID 42 43 def GetIsInSpace(self, tubeFlagID): 44 fightersInSpace = self.shipFighterState.GetFightersInSpace(tubeFlagID) 45 if fightersInSpace: 46 return True 47 return False 48 49 def GetSquadronAction(self, tubeFlagID): 50 tubeStatus = self.shipFighterState.GetTubeStatus(tubeFlagID) 51 stateText = LABEL_BY_STATE[tubeStatus.statusID] 52 if session.stationid: 53 stateColor = Color(*COLOR_OPEN) 54 else: 55 stateColor = Color(*COLOR_BY_STATE[tubeStatus.statusID]) 56 stateColor.a = 0.8 57 return (stateText, stateColor) 58 59 def GetAbilities(self, fighterTypeID): 60 if fighterTypeID: 61 abilities = fighters.IterTypeAbilities(fighterTypeID) 62 return abilities 63 64 def GetIncomingEwarEffects(self, fighterID): 65 return self.shipFighterState.GetIncomingFighterEwar(fighterID) 66 67 def GetSquadronHealth(self): 68 return (12, 1, 4)