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

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