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

insurgencySideSelector.py (2997B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\factionalWarfare\enlistmentFlow\insurgencySideSelector.py
      2 from carbonui.uianimations import animations
      3 from carbonui.primitives.transform import Transform
      4 from carbonui.primitives.container import Container
      5 from carbonui.primitives.sprite import Sprite
      6 from eve.client.script.ui import eveColor
      7 from eve.client.script.ui.shared.factionalWarfare.enlistmentFlow.enlistmentConst import BANNER_TEXTURE_BY_SIDE, ICON_TEXTURE_BY_SIDE, LABEL_PATH_BY_SIDE
      8 from carbonui import const as uiconst
      9 from carbonui.text.custom import TextCustom
     10 from localization import GetByLabel
     11 from carbonui.util.color import Color
     12 IDLE_BRIGHTNESS = 0.5
     13 
     14 class InsurgencySideSelector(Container):
     15     default_align = uiconst.TOPLEFT
     16     default_width = 166
     17     default_height = 346
     18     default_state = uiconst.UI_NORMAL
     19 
     20     def ApplyAttributes(self, attributes):
     21         super(InsurgencySideSelector, self).ApplyAttributes(attributes)
     22         self.enlistmentController = attributes.enlistmentController
     23         self.insurgencySideID = attributes.insurgencySideID
     24         bgTexturePath = BANNER_TEXTURE_BY_SIDE.get(self.insurgencySideID, '')
     25         iconTexturePath = ICON_TEXTURE_BY_SIDE.get(self.insurgencySideID, '')
     26         labelPath = LABEL_PATH_BY_SIDE.get(self.insurgencySideID, '')
     27         contentCont = Container(parent=self)
     28         self.scalingCont = Transform(parent=self, align=uiconst.CENTERTOP, pos=(0, 0, 166, 346), scalingCenter=(0.5, 0.5))
     29         icon = Sprite(name='icon', parent=self.scalingCont, pos=(0, 40, 120, 120), align=uiconst.CENTERTOP, texturePath=iconTexturePath, state=uiconst.UI_DISABLED)
     30         self.bgSprite = Sprite(name='bannerBg', parent=self.scalingCont, pos=(0, 0, 166, 346), align=uiconst.CENTERTOP, texturePath=bgTexturePath, state=uiconst.UI_DISABLED, color=Color(eveColor.WHITE).SetBrightness(IDLE_BRIGHTNESS).GetRGBA())
     31         self.insurgencySideLabel = TextCustom(name='insurgencySideLabel', parent=contentCont, align=uiconst.CENTERTOP, text=GetByLabel(labelPath), fontsize=18, top=icon.top + icon.height + 16)
     32 
     33     def OnMouseEnter(self, *args):
     34         if self.enlistmentController.isMovingCircle:
     35             return
     36         animations.MorphVector2(self.scalingCont, 'scale', self.scalingCont.scale, endVal=(1.1, 1.1), duration=0.2)
     37         self.enlistmentController.on_insurgency_side_mouse_enter(self.insurgencySideID)
     38         self.bgSprite.SetRGBA(*eveColor.WHITE)
     39 
     40     def OnMouseExit(self, *args):
     41         animations.MorphVector2(self.scalingCont, 'scale', self.scalingCont.scale, endVal=(1.0, 1.0), duration=0.2)
     42         self.enlistmentController.on_insurgency_side_mouse_exit(self.insurgencySideID)
     43         self.bgSprite.SetRGBA(*Color(eveColor.WHITE).SetBrightness(IDLE_BRIGHTNESS).GetRGBA())
     44 
     45     def OnClick(self, *args):
     46         self.enlistmentController.SelectInsurgencySide(self.insurgencySideID)
     47         self.enlistmentController.on_empire_pirates_clicked()