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