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()