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

homefrontSiteInfoContainer.py (2926B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\agencyNew\ui\contentPageInfoConts\homefrontSiteInfoContainer.py
      2 from carbonui import uiconst, TextColor
      3 from carbonui.control.scrollContainer import ScrollContainer
      4 from eve.client.script.ui.control.eveLabel import EveLabelMedium, EveHeaderLarge
      5 from eve.client.script.ui.shared.agencyNew.ui.common.descriptionIcon import DescriptionIconLabel
      6 from eve.client.script.ui.shared.agencyNew.ui.contentPageInfoConts.jobInfoContainer import JobContentPageInfoContainer
      7 from localization import GetByLabel
      8 from jobboard.client import get_homefront_operation_job
      9 
     10 class HomefrontSiteInfoContainer(JobContentPageInfoContainer):
     11     default_name = 'CombatAnomalyInfoContainer'
     12     default_headerText = GetByLabel('UI/Agency/SitesInSystem')
     13     __notifyevents__ = ['OnClientEvent_DestinationSet']
     14 
     15     def __init__(self, *args, **kwargs):
     16         super(HomefrontSiteInfoContainer, self).__init__(*args, **kwargs)
     17         sm.RegisterNotify(self)
     18 
     19     def Close(self):
     20         sm.UnregisterNotify(self)
     21         super(HomefrontSiteInfoContainer, self).Close()
     22 
     23     def OnClientEvent_DestinationSet(self, *args, **kwargs):
     24         self.OnScrollEntryClicked(self.clickedEntry)
     25 
     26     def ConstructLayout(self):
     27         super(HomefrontSiteInfoContainer, self).ConstructLayout()
     28         self.gameplayDescription = DescriptionIconLabel(parent=self, state=uiconst.UI_HIDDEN, align=uiconst.TOTOP, text=GetByLabel('UI/Dungeons/GameplayDescriptionHeader'), padTop=16)
     29         self.bottomCont = ScrollContainer(parent=self, align=uiconst.TOALL, padTop=16)
     30         self.loreDescriptionHeader = EveHeaderLarge(parent=self.bottomCont, state=uiconst.UI_HIDDEN, align=uiconst.TOTOP, text=GetByLabel('UI/Common/Description'), color=TextColor.SECONDARY)
     31         self.loreDescriptionBody = EveLabelMedium(parent=self.bottomCont, align=uiconst.TOTOP, state=uiconst.UI_HIDDEN)
     32 
     33     def OnScrollEntryClicked(self, clickedEntry):
     34         super(HomefrontSiteInfoContainer, self).OnScrollEntryClicked(clickedEntry)
     35         contentPiece = clickedEntry.contentPiece
     36         loreDescription = contentPiece.GetSiteDescription()
     37         if loreDescription:
     38             self.loreDescriptionBody.text = loreDescription
     39             self.loreDescriptionHeader.Show()
     40             self.loreDescriptionBody.Show()
     41         else:
     42             self.loreDescriptionHeader.Hide()
     43             self.loreDescriptionBody.Hide()
     44         gameplayDescription = contentPiece.GetSiteGameplayDescription()
     45         if gameplayDescription:
     46             self.gameplayDescription.SetHint(gameplayDescription)
     47             self.gameplayDescription.Show()
     48         else:
     49             self.gameplayDescription.Hide()
     50 
     51     def GetEntryContentPieces(self):
     52         return self.contentPiece.GetSiteContentPieces()
     53 
     54     def _GetJob(self, instanceID):
     55         return get_homefront_operation_job(instanceID)