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

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)