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

colonyTemplate.py (2405B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\planet\colonyTemplate.py
      2 import json
      3 from collections import defaultdict
      4 from eve.client.script.ui.shared.planet import planetConst
      5 from eve.client.script.ui.shared.planet.planetConst import TYPEIDS_PROCESSORS_HIGHTECH, TYPEIDS_COMMAND_CENTER
      6 from eveplanet.client.templates.templateConst import TemplateDictKeys, TemplatePinDataDictKeys, EXTRACT_PRODUCTS, PRODUCTION_PRODUCTS
      7 from eveplanet.client.templates.verification import VerifyTemplate
      8 
      9 class ColonyTemplate(object):
     10 
     11     def __init__(self, rawTemplate, filename):
     12         self.extractTypes = set()
     13         self.extractSourceCount = defaultdict(int)
     14         self.productTypes = set()
     15         self.productSourceCount = defaultdict(int)
     16         self.originalPlanetType = planetConst.PLANET_TYPES[0]
     17         self.commandCenterLV = 0
     18         self.radiusOfPlanet = 0
     19         self.description = u''
     20         self.favourited = False
     21         self.rawTemplate = u''
     22         self.loadedTemplate = {}
     23         self.restricted = False
     24         self.haveCmdCtr = False
     25         self.filename = u''
     26         loadedTemplate = json.loads(rawTemplate)
     27         VerifyTemplate(loadedTemplate)
     28         self.rawTemplate = rawTemplate
     29         self.loadedTemplate = loadedTemplate
     30         self.originalPlanetType = self.loadedTemplate[TemplateDictKeys.PlanetType]
     31         self.commandCenterLV = self.loadedTemplate[TemplateDictKeys.CmdCenterLV]
     32         self.radiusOfPlanet = self.loadedTemplate[TemplateDictKeys.Diameter] / 2
     33         for pin in self.loadedTemplate[TemplateDictKeys.PinData]:
     34             productTypeID = pin[TemplatePinDataDictKeys.Product]
     35             if productTypeID in EXTRACT_PRODUCTS:
     36                 self.extractTypes.add(productTypeID)
     37                 self.extractSourceCount[productTypeID] += 1
     38             if productTypeID in PRODUCTION_PRODUCTS:
     39                 self.productTypes.add(productTypeID)
     40                 self.productSourceCount[productTypeID] += 1
     41             if pin[TemplatePinDataDictKeys.PinTypeID] in TYPEIDS_PROCESSORS_HIGHTECH:
     42                 self.restricted = True
     43             if pin[TemplatePinDataDictKeys.PinTypeID] in TYPEIDS_COMMAND_CENTER:
     44                 self.haveCmdCtr = True
     45 
     46         self.description = self.loadedTemplate[TemplateDictKeys.Comments]
     47         self.favourited = False
     48         self.filename = filename