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

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