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