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

skillBar.py (2395B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\control\skillBar\skillBar.py
      2 from __future__ import absolute_import
      3 import carbonui.const as uiconst
      4 import characterskills
      5 from carbonui.primitives.container import Container
      6 from eve.client.script.ui.control.skillBar.controller import CreateSkillBarController
      7 from eve.client.script.ui.control.skillBar.skillLevel import BOX_SIZE
      8 from .skillLevel import SkillLevel
      9 
     10 class SkillBar(Container):
     11     default_height = SkillLevel.default_height
     12     default_width = 5 * SkillLevel.default_width
     13     default_state = uiconst.UI_NORMAL
     14     default_name = 'SkillBar'
     15     isDragObject = True
     16 
     17     def ApplyAttributes(self, attributes):
     18         super(SkillBar, self).ApplyAttributes(attributes)
     19         if 'controller' in attributes:
     20             self.skill = attributes.get('controller')
     21         else:
     22             skillID = attributes.get('skillID', None)
     23             requiredLevel = attributes.get('requiredLevel', None)
     24             overrideLevel = attributes.get('overrideLevel', None)
     25             self._ConstructController(skillID, requiredLevel, overrideLevel)
     26         self.levelClass = attributes.get('levelClass', SkillLevel)
     27         self.boxSize = attributes.get('boxSize', BOX_SIZE)
     28         self.showEmpty = attributes.get('showEmpty', False)
     29         self.levels = []
     30         self.Layout()
     31 
     32     def _ConstructController(self, skillID, requiredLevel = None, overrideLevel = None):
     33         self.skill = CreateSkillBarController(skillID, requiredLevel=requiredLevel, overrideLevel=overrideLevel)
     34 
     35     def Layout(self):
     36         self.Flush()
     37         self.levels = []
     38         for x in range(characterskills.MAX_SKILL_LEVEL):
     39             level = self.levelClass(name='SkillLevel%d' % (x + 1), parent=self, align=uiconst.TOLEFT, controller=self.skill, level=x + 1, boxSize=self.boxSize, showEmpty=self.showEmpty)
     40             self.levels.append(level)
     41 
     42     def SetSkillID(self, skillID):
     43         self._ConstructController(skillID=skillID)
     44         self.Layout()
     45 
     46     def SetRequiredLevel(self, level):
     47         self.skill.requiredLevel = level
     48 
     49     def GetMenu(self):
     50         return self.skill.GetMenu()
     51 
     52     def GetDragData(self):
     53         return self.skill.GetDragData()
     54 
     55     def Update(self):
     56         self.skill.onUpdate()
     57 
     58     def Refresh(self):
     59         for level in self.levels:
     60             level.Refresh()