util.py (4001B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\careerPortal\util.py 2 import evetypes 3 import logging 4 from carbon.common.script.util.format import FmtAmt 5 from careergoals.client.career_goal_svc import get_career_goals_svc 6 from careergoals.client.const import RewardType 7 from eve.client.script.ui import eveColor 8 from carbonui.uicore import uicore 9 from freelanceprojects.client.feature_flags import freelance_projects_enabled 10 from jobboard.client import get_job_board_service 11 from jobboard.client.feature_flag import are_freelance_projects_in_job_board_available 12 from metadata import ContentTags 13 from inventorycommon.const import typeKredits 14 from localization import GetByLabel 15 from inventorycommon.typeHelpers import GetIconFile 16 logger = logging.getLogger(__name__) 17 18 def OpenSkillPlanWindow(careerID): 19 from eve.client.script.ui.skillPlan.skillPlanDockablePanel import SkillPlanDockablePanel 20 wnd = SkillPlanDockablePanel.ToggleOpenClose() 21 wnd.ShowCertifiedPlans(careerID) 22 uicore.registry.SetFocus(wnd) 23 24 25 def OpenFreelanceProjects(): 26 job_board_svc = get_job_board_service() 27 job_board_svc.open_browse_page(ContentTags.feature_freelance_projects) 28 29 30 def are_freelance_projects_available(): 31 if not freelance_projects_enabled(): 32 return False 33 if not are_freelance_projects_in_job_board_available(): 34 return False 35 return True 36 37 38 def get_overall_progress_goals_description(): 39 description = GetByLabel('UI/CareerPortal/TotalCareerPointsTooltip') 40 description += '<br>' 41 for goal in get_career_goals_svc().get_goal_data_controller().get_overall_goals(): 42 for reward in goal.definition.omega_rewards: 43 if reward.reward_type == RewardType.SP: 44 goal_info = GetByLabel('UI/CareerPortal/OverallGoalInfo', goalCp=goal.definition.target_value, spCount=reward.quantity) 45 description += '<br><color=0x%s>%s</color>' % (eveColor.OMEGA_YELLOW_HEX.lstrip('#'), goal_info) 46 else: 47 logger.exception('CAREER GOALS - unexpected reward type for overall goal') 48 49 for goal in get_career_goals_svc().get_goal_data_controller().get_overall_goals(): 50 for reward in goal.definition.alpha_rewards: 51 if reward.reward_type == RewardType.SP: 52 goal_info = GetByLabel('UI/CareerPortal/OverallGoalInfo', goalCp=goal.definition.target_value, spCount=reward.quantity) 53 description += '<br>%s' % goal_info 54 else: 55 logger.exception('CAREER GOALS - unexpected reward type for overall goal') 56 57 return description 58 59 60 def get_skill_point_icon_for_reward(reward): 61 if reward.reward_type == RewardType.SP: 62 if reward.quantity >= 125000: 63 return 'res:/UI/Texture/Icons/SkillPoints/150k.png' 64 elif reward.quantity >= 100000: 65 return 'res:/UI/Texture/Icons/SkillPoints/100k.png' 66 else: 67 return 'res:/UI/Texture/Icons/SkillPoints/50k.png' 68 return '' 69 70 71 def get_text_for_reward(reward): 72 if reward.reward_type == RewardType.TYPE_ID: 73 return '%sx %s' % (FmtAmt(reward.quantity), evetypes.GetName(reward.type_id)) 74 if reward.reward_type == RewardType.SP: 75 return '%s %s' % (FmtAmt(reward.quantity), GetByLabel('UI/Common/SkillPoints')) 76 if reward.reward_type == RewardType.ISK: 77 return '%s %s' % (FmtAmt(reward.quantity), GetByLabel('UI/Common/ISK')) 78 logger.exception('CAREER GOALS - unexpected reward type for %s' % reward) 79 80 81 def get_texture_path_for_reward(reward): 82 texture_path = None 83 type_id = None 84 if reward.reward_type == RewardType.SP: 85 texture_path = get_skill_point_icon_for_reward(reward) 86 elif reward.reward_type == RewardType.ISK: 87 type_id = typeKredits 88 elif reward.reward_type == RewardType.TYPE_ID: 89 type_id = reward.type_id 90 if texture_path is None and type_id is not None: 91 texture_path = GetIconFile(type_id) 92 return texture_path