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

utilBtns.py (2047B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\fitting\utilBtns.py
      2 from carbon.client.script.environment.AudioUtil import PlaySound
      3 from eve.client.script.ui.control.eveIcon import Icon
      4 from localization import GetByLabel
      5 import carbonui.const as uiconst
      6 
      7 class FittingUtilBtn(Icon):
      8     default_height = 16
      9     default_width = 16
     10     default_pickradius = -1
     11     default_idx = 0
     12     default_ignoreSize = True
     13 
     14     def ApplyAttributes(self, attributes):
     15         Icon.ApplyAttributes(self, attributes)
     16         self.controller = attributes.controller
     17         btnData = attributes.btnData
     18         self.isActive = btnData.isActive
     19         self.clickFunc = btnData.func
     20         self.mouseOverFunc = attributes.mouseOverFunc
     21         self.color.a = 0.0
     22         iconHint = btnData.hint
     23         if not self.isActive:
     24             if self.controller.GetModule() is None or self.controller.SlotExists():
     25                 iconHint = GetByLabel('UI/Fitting/Disabled', moduleName=btnData.hint)
     26             else:
     27                 iconHint = GetByLabel('UI/Fitting/CantOnlineIllegalSlot')
     28         self.hint = iconHint
     29 
     30     def OnClick(self, *args):
     31         PlaySound(uiconst.SOUND_BUTTON_CLICK)
     32         if self.isActive and self.clickFunc:
     33             self.clickFunc(*args)
     34 
     35     def OnMouseEnter(self, *args):
     36         PlaySound(uiconst.SOUND_BUTTON_HOVER)
     37         self.mouseOverFunc(*args)
     38 
     39     def SetBtnColorBasedOnIsActive(self):
     40         if self.isActive:
     41             self.opacity = 1.0
     42         else:
     43             self.opacity = 0.25
     44 
     45     def Hide(self):
     46         self.opacity = 0.0
     47 
     48     def Close(self):
     49         self.controller = None
     50         Icon.Close(self)
     51 
     52     def GetHint(self):
     53         if self.opacity == 0.0:
     54             return
     55         return self.hint
     56 
     57 
     58 class UtilBtnData(object):
     59 
     60     def __init__(self, hint, iconPath, func, isActive, onlineBtn):
     61         self.hint = hint
     62         self.iconPath = iconPath
     63         self.func = func
     64         self.isActive = isActive
     65         self.onlineBtn = onlineBtn