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

broadcastRadialMenuFunctions.py (2617B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\radialMenu\broadcastRadialMenuFunctions.py
      2 from carbonui.util.color import Color
      3 from eve.client.script.parklife.states import flagSameFleet
      4 from eve.client.script.ui.shared.radialMenu.radialMenuUtils import SimpleRadialMenuAction
      5 from evefleet import BROADCAST_ALIGN_TO, BROADCAST_HEAL_CAPACITOR, BROADCAST_HEAL_SHIELD, BROADCAST_HEAL_ARMOR, BROADCAST_WARP_TO
      6 
      7 def GetBroadcastForShieldMenuAction(itemID):
      8     alwaysAvailable = IsAlwaysAvailable(itemID) and not IsTimeRestricted(BROADCAST_HEAL_SHIELD)
      9     return SimpleRadialMenuAction(option1='UI/Fleet/FleetBroadcast/Commands/HealShield', func=BroadcastForShield, alwaysAvailable=alwaysAvailable)
     10 
     11 
     12 def BroadcastForShield():
     13     sm.GetService('fleet').SendBroadcast_HealShield()
     14 
     15 
     16 def GetBroadcastForArmorMenuAction(itemID):
     17     alwaysAvailable = IsAlwaysAvailable(itemID) and not IsTimeRestricted(BROADCAST_HEAL_ARMOR)
     18     return SimpleRadialMenuAction(option1='UI/Fleet/FleetBroadcast/Commands/HealArmor', func=BroadcastForArmor, alwaysAvailable=alwaysAvailable)
     19 
     20 
     21 def BroadcastForArmor():
     22     sm.GetService('fleet').SendBroadcast_HealArmor()
     23 
     24 
     25 def GetBroadcastForCapacitorMenuAction(itemID):
     26     alwaysAvailable = IsAlwaysAvailable(itemID) and not IsTimeRestricted(BROADCAST_HEAL_CAPACITOR)
     27     return SimpleRadialMenuAction(option1='UI/Fleet/FleetBroadcast/Commands/HealCapacitor', func=BroadcastForCapacitor, alwaysAvailable=alwaysAvailable)
     28 
     29 
     30 def BroadcastForCapacitor():
     31     sm.GetService('fleet').SendBroadcast_HealCapacitor()
     32 
     33 
     34 def GetBroadcastTargetMenuAction():
     35     return SimpleRadialMenuAction(option1='UI/Fleet/FleetBroadcast/Commands/BroadcastTarget', forcedInactive=IsTimeRestricted('Target'))
     36 
     37 
     38 def GetBroadcastAlignToMenuAction():
     39     return SimpleRadialMenuAction(option1='UI/Fleet/FleetBroadcast/Commands/BroadcastAlignTo', forcedInactive=IsTimeRestricted(BROADCAST_ALIGN_TO))
     40 
     41 
     42 def GetBroadcastWarpToMenuAction():
     43     return SimpleRadialMenuAction(option1='UI/Fleet/FleetBroadcast/Commands/BroadcastWarpTo', forcedInactive=IsTimeRestricted(BROADCAST_WARP_TO))
     44 
     45 
     46 def IsTimeRestricted(name):
     47     return sm.GetService('fleet').IsTimeRestricted(name)
     48 
     49 
     50 def IsAlwaysAvailable(itemID):
     51     if itemID == session.shipid:
     52         return True
     53     if itemID:
     54         return False
     55     return True
     56 
     57 
     58 def GetBroadcastMenuColor():
     59     flagInfo = sm.GetService('stateSvc').GetStatePropsColorAndBlink(flagSameFleet)
     60     c = Color(*flagInfo.flagColor)
     61     bri = min(0.4, c.GetBrightness())
     62     return Color(*flagInfo.flagColor).SetBrightness(bri).GetRGBA()