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)