category.py (1613B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\ui\controller\category.py 2 from achievement_system.client.api.repository import get_repository 3 4 class AchievementCategoryController(object): 5 6 def __init__(self, category_id): 7 self.category_id = category_id 8 self.category_attributes = get_repository().definitions.get_category(self.category_id) 9 10 @property 11 def achievement_entries(self): 12 return get_repository().definitions.get_achievement_entries(self.category_id) 13 14 @property 15 def achievement_entries_recursive(self): 16 return get_repository().definitions.get_achievement_entries_recursive(self.category_id) 17 18 @property 19 def child_categories(self): 20 return self.category_attributes.child_categories 21 22 @property 23 def parent_category(self): 24 return self.category_attributes.parent_category 25 26 @property 27 def name_text(self): 28 return self.category_attributes.name_message.get_localized_text() 29 30 @property 31 def is_parent_category_root(self): 32 return get_repository().definitions.is_root_category(self.parent_category) 33 34 def get_achievements_count(self): 35 return len(self.achievement_entries_recursive) 36 37 def get_completed_achievements_count(self): 38 count = 0 39 for achievement_entry in self.achievement_entries_recursive: 40 achievement_state = get_repository().get_achievement_state(achievement_entry.identifier) 41 if achievement_state.completed_date is not None: 42 count += 1 43 44 return count