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

technologyViewsTracker.py (1523B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\login\charcreation\technologyViewsTracker.py
      2 from charactercreator.client.empireSelectionData import GetTechnologyData
      3 from collections import defaultdict
      4 
      5 class TechnologyViewsTracker(object):
      6 
      7     def __init__(self):
      8         self.tech_views_matrix = defaultdict(lambda : defaultdict(lambda : False))
      9         self.is_tech_switch_discovered = False
     10         technologies = GetTechnologyData()
     11         self.number_of_technologies = technologies.GetNumberOfTechs()
     12 
     13     def has_seen_all_technologies(self, race_id):
     14         for technology in xrange(1, self.number_of_technologies + 1):
     15             has_seen_technology = self.tech_views_matrix[race_id][technology]
     16             if not has_seen_technology:
     17                 return False
     18 
     19         return True
     20 
     21     def has_seen_more_than_one_technology(self, race_id):
     22         number_of_techs_seen = 0
     23         for technology in xrange(1, self.number_of_technologies + 1):
     24             has_seen_technology = self.tech_views_matrix[race_id][technology]
     25             if has_seen_technology:
     26                 number_of_techs_seen += 1
     27 
     28         return number_of_techs_seen > 1
     29 
     30     def has_discovered_technology_switch(self):
     31         return self.is_tech_switch_discovered
     32 
     33     def mark_technology_as_viewed(self, race_id, technology):
     34         self.tech_views_matrix[race_id][technology] = True
     35 
     36     def mark_technology_switch_as_discovered(self):
     37         self.is_tech_switch_discovered = True