canNotStartTrainingWindow.py (3004B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\canNotStartTrainingWindow.py 2 import eveformat 3 import localization 4 import uthread 5 from carbon.common.script.sys import serviceManager 6 from carbonui import uiconst 7 from carbonui.primitives.containerAutoSize import ContainerAutoSize 8 from carbonui.uicore import uicore 9 from eve.client.script.ui.control import eveLabel 10 from carbonui.control.button import Button 11 from eveprefs import boot 12 from inventorycommon import const as inventory_const 13 from regionalui import regionalutils 14 15 class CanNotStartTrainingClass(ContainerAutoSize): 16 17 def ApplyAttributes(self, attributes): 18 ContainerAutoSize.ApplyAttributes(self, attributes) 19 charactersTrainingCount = attributes.messageData['charactersTrainingCount'] 20 if charactersTrainingCount == 1: 21 mainText = localization.GetByLabel('UI/DualTraining/TrainingOnAnotherCharacter', characterName=attributes.messageData['charName1'], loggedInCharacterName=cfg.eveowners.Get(session.charid).ownerName) 22 else: 23 mainText = localization.GetByLabel('UI/DualTraining/TrainingOnThirdCharacter', characterName=attributes.messageData['charName1'], characterName2=attributes.messageData['charName2'], loggedInCharacterName=cfg.eveowners.Get(session.charid).ownerName) 24 eveLabel.Label(parent=self, align=uiconst.TOTOP, text=mainText, padding=(16, 0, 16, 0)) 25 eveLabel.EveCaptionMedium(parent=self, align=uiconst.TOTOP, top=16, text=eveformat.center(localization.GetByLabel('UI/DualTraining/ToAcquirePLEX')), padding=(16, 0, 16, 0)) 26 Button(parent=ContainerAutoSize(parent=self, align=uiconst.TOTOP, top=16), align=uiconst.CENTER, label=localization.GetByLabel('UI/DualTraining/BuyOnEveMarket'), func=self.OpenMarketWindow, args=()) 27 Button(parent=ContainerAutoSize(parent=self, align=uiconst.TOTOP, top=16), align=uiconst.CENTER, label=self._buyOnlineButtonText(), func=self._buyOnlineClick, args=()) 28 29 def _buyOnlineButtonText(self): 30 if regionalutils.in_china(boot.region): 31 return localization.GetByLabel('UI/PlexVault/OpenNewEdenStore') 32 else: 33 return localization.GetByLabel('UI/DualTraining/BuyOnline') 34 35 def _buyOnlineClick(self): 36 if regionalutils.in_china(boot.region): 37 vgs = serviceManager.ServiceManager.Instance().GetService('vgsService') 38 vgs.OpenStore(typeIds=[inventory_const.typeServiceMultipleCharacterTraining]) 39 else: 40 uicore.cmd.BuyMultipleCharacterTrainingOnline(origin='characterSheet') 41 self.CloseMe() 42 43 def CloseMe(self): 44 uicore.registry.GetModalWindow().Close() 45 46 def OpenMarketWindow(self, *args): 47 sm = serviceManager.ServiceManager.Instance() 48 uthread.new(sm.GetService('marketutils').ShowMarketDetails, inventory_const.typePlex, None) 49 self.CloseMe() 50 51 def GetContentHeight(self): 52 _, h = self.GetAbsoluteSize() 53 return h