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

blueprints.py (2440B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\tooltip\blueprints.py
      2 from carbonui import uiconst
      3 from eve.common.lib import appConst as const
      4 import localization
      5 from carbonui.primitives.containerAutoSize import ContainerAutoSize
      6 from eve.client.script.ui.shared.industry.views.containersMETE import ContainerTE, ContainerME
      7 from eve.client.script.ui.control import eveLabel
      8 import evetypes
      9 from eveexceptions import UserError
     10 
     11 def AddBlueprintInfo(panel, itemID = None, typeID = None, bpData = None, spacerHeight = None):
     12     if not bpData:
     13         category = evetypes.GetCategoryID(typeID)
     14         if not category == const.categoryBlueprint:
     15             return
     16         bpData = None
     17         try:
     18             bpData = sm.GetService('blueprintSvc').GetBlueprintItemMemoized(itemID)
     19         except UserError as e:
     20             if e.msg == 'GenericStopSpamming':
     21                 return
     22 
     23     if not bpData:
     24         return
     25     if spacerHeight:
     26         panel.AddSpacer(height=spacerHeight, colSpan=panel.columns)
     27     panel.AddSpacer(width=150, colSpan=panel.columns)
     28     panel.AddCell(DataEntry(align=uiconst.TOTOP, attribute=bpData), colSpan=panel.columns)
     29 
     30 
     31 class DataEntry(ContainerAutoSize):
     32     default_align = uiconst.TOTOP
     33     default_state = uiconst.UI_DISABLED
     34 
     35     def ApplyAttributes(self, attributes):
     36         super(DataEntry, self).ApplyAttributes(attributes)
     37         self.bpData = attributes.attribute
     38         self.Layout()
     39 
     40     def Layout(self):
     41         if self.bpData.original:
     42             text = localization.GetByLabel('UI/Industry/OriginalInfiniteRuns')
     43         elif not self.bpData.runsRemaining or self.bpData.runsRemaining <= 0:
     44             text = localization.GetByLabel('UI/Industry/Copy')
     45         else:
     46             text = localization.GetByLabel('UI/Industry/CopyRunsRemaining', runsRemaining=self.bpData.runsRemaining)
     47         eveLabel.Label(parent=self, align=uiconst.TOTOP, text=text, width=32)
     48         if self.bpData.IsReactionBlueprint():
     49             return
     50         container = ContainerAutoSize(parent=self, align=uiconst.TOTOP, height=30)
     51         self.containerME = ContainerME(parent=container, align=uiconst.TOLEFT, width=71)
     52         self.containerME.SetValue(self.bpData.materialEfficiency)
     53         self.containerTE = ContainerTE(parent=container, align=uiconst.TOLEFT, width=71, padLeft=9)
     54         self.containerTE.SetValue(self.bpData.timeEfficiency)