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

aurBalance.py (2024B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\vgs\aurBalance.py
      2 from carbon.common.script.util.format import FmtAmt
      3 from carbonui import const as uiconst
      4 from carbonui.primitives.containerAutoSize import ContainerAutoSize
      5 from carbonui.primitives.sprite import Sprite
      6 from carbonui.uianimations import animations
      7 from eve.client.script.ui.plex.textures import PLEX_32_GRADIENT_YELLOW
      8 from eve.client.script.ui.shared.vgs.label import VgsHeaderMedium, VgsLabelSmall
      9 import localization
     10 from plex.client.api.repository import get_repository
     11 from plex.client.api.signal import on_balance_changed
     12 
     13 class AurBalance(ContainerAutoSize):
     14 
     15     def ApplyAttributes(self, attributes):
     16         super(AurBalance, self).ApplyAttributes(attributes)
     17         self.AddIcon()
     18         self.AddLabel()
     19         self.AddAmount()
     20 
     21     def AddIcon(self):
     22         self.icon = Sprite(name='plexIcon', parent=self, align=uiconst.TOPLEFT, width=32, height=32, left=-4, texturePath=PLEX_32_GRADIENT_YELLOW)
     23 
     24     def AddLabel(self):
     25         self.balanceLabel = VgsLabelSmall(parent=self, align=uiconst.TOPLEFT, top=-3, left=self.icon.width + 4, text=localization.GetByLabel('UI/VirtualGoodsStore/AurBalance'), color=(1, 1, 1, 0.5))
     26 
     27     def AddAmount(self):
     28         self.balanceAmountLabel = VgsHeaderMedium(parent=self, align=uiconst.TOPLEFT, top=self.balanceLabel.height - 6, left=self.icon.width + 4)
     29         self.balance = get_repository().get_balance()
     30         on_balance_changed.connect(self.OnBalanceChange)
     31 
     32     @property
     33     def balance(self):
     34         return self._balance
     35 
     36     @balance.setter
     37     def balance(self, value):
     38         self._balance = value
     39         self.balanceAmountLabel.SetText(FmtAmt(self._balance))
     40 
     41     def OnBalanceChange(self, balance, *args, **kwargs):
     42 
     43         def callback():
     44             self.balance = balance
     45 
     46         animations.MorphScalar(self, 'balance', startVal=self.balance, endVal=balance, curveType=uiconst.ANIM_SMOOTH, duration=1.5, callback=callback)