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

overloadBtn.py (2378B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\shipHud\overloadBtn.py
      2 from carbon.client.script.environment.AudioUtil import PlaySound
      3 from carbonui.primitives.container import Container
      4 import carbonui.const as uiconst
      5 from carbonui.primitives.sprite import Sprite
      6 from carbonui.uicore import uicore
      7 from player_messaging.client.ui_message import prompt_player_fsd_dialog
      8 from carbonui.loggers.buttonLogger import log_button_clicked
      9 
     10 class OverloadBtn(Container):
     11     default_height = 20
     12     default_width = 20
     13     default_align = uiconst.TOPLEFT
     14     default_state = uiconst.UI_NORMAL
     15     default_pickRadius = 8
     16     iconTexturePath = 'res:/UI/Texture/classes/ShipUI/overloadBtn%sOff.png'
     17 
     18     def ApplyAttributes(self, attributes):
     19         Container.ApplyAttributes(self, attributes)
     20         fitKey = attributes.fitKey
     21         self.fitKey = fitKey
     22         suffix = str(fitKey).lower()
     23         if suffix == 'lo':
     24             suffix = 'low'
     25         self.analyticID = 'ship_hud.rack_overload.%s' % suffix
     26         self.active = False
     27         self.powerEffectID = attributes.powerEffectID
     28         self.activationID = attributes.activationID
     29         self.orgPos = self.top
     30         Sprite(name='icon', parent=self, align=uiconst.TOALL, pos=(0, 0, 0, 0), state=uiconst.UI_DISABLED, texturePath=self.iconTexturePath % fitKey)
     31 
     32     def OnClick(self, *args):
     33         log_button_clicked(self)
     34         PlaySound(uiconst.SOUND_BUTTON_CLICK)
     35         if settings.user.ui.Get('lockOverload', 0):
     36             existingModal = uicore.registry.GetModalWindow()
     37             if existingModal and existingModal.msgKey == 'LockedOverloadState':
     38                 return
     39             prompt_player_fsd_dialog('error')
     40             prompt_player_fsd_dialog('LockedOverloadState')
     41             return
     42         if self.active:
     43             prompt_player_fsd_dialog('click')
     44             sm.GetService('godma').StopOverloadRack(self.activationID)
     45         else:
     46             prompt_player_fsd_dialog('click')
     47             sm.GetService('godma').OverloadRack(self.activationID)
     48 
     49     def OnMouseDown(self, *args):
     50         self.top = self.orgPos + 1
     51 
     52     def OnMouseUp(self, *args):
     53         self.top = self.orgPos
     54 
     55     def OnMouseExit(self, *args):
     56         self.top = self.orgPos
     57 
     58     def OnMouseEnter(self, *args):
     59         PlaySound(uiconst.SOUND_BUTTON_HOVER)