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

trainingOverviewPanel.py (4168B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\skillPlan\trainingOverviewPanel\trainingOverviewPanel.py
      2 import eve.client.script.ui.shared.pointerTool.pointerToolConst as pConst
      3 import eveicon
      4 import uthread2
      5 from carbonui import uiconst
      6 from carbonui.control.button import Button
      7 from carbonui.primitives.container import Container
      8 from carbonui.uianimations import animations
      9 from eve.client.script.ui.skillPlan import skillPlanUISignals
     10 from eve.client.script.ui.skillPlan.controls.milestoneIndicatorHeader import MilestoneIndicatorHeader
     11 from eve.client.script.ui.skillPlan.milestone.skillPlanProgressIndicator import SkillPlanProgressIndicator
     12 from eve.client.script.ui.skillPlan.skillQueuePanel.skillQueuePanelNew import SkillQueuePanelNew
     13 from localization import GetByLabel
     14 from player_messaging.client.ui_message import prompt_player_fsd_dialog
     15 from skills.skillplan import skillPlanSignals
     16 from skills.skillplan.skillPlanService import GetSkillPlanSvc
     17 
     18 class TrainingOverviewPanel(Container):
     19 
     20     def ApplyAttributes(self, attributes):
     21         super(TrainingOverviewPanel, self).ApplyAttributes(attributes)
     22         self.skillPlan = None
     23         skillPlanSignals.on_tracked_plan_changed.connect(self.OnTrackedPlanChanged)
     24         skillPlanSignals.on_deleted.connect(self.OnSkillPlanDeleted)
     25         self.trackedCont = Container(name='trackedCont', parent=self, align=uiconst.TOTOP_PROP, height=0.4)
     26         self.skillPlanProgressIndicator = None
     27         self.skillQueue = SkillQueuePanelNew(parent=self, align=uiconst.TOALL, uniqueUiName=pConst.UNIQUE_NAME_SKILLQUEUE)
     28         uthread2.start_tasklet(self.InitializeTrackedPlan)
     29 
     30     def OnSkillPlanDeleted(self, skillPlanID):
     31         if self.skillPlan and self.skillPlan.GetID() == skillPlanID:
     32             self.SetSkillPlan(None)
     33 
     34     def InitializeTrackedPlan(self):
     35         skillPlan = GetSkillPlanSvc().GetTrackedSkillPlan()
     36         if skillPlan:
     37             self.trackedCont.Show()
     38             uthread2.start_tasklet(self.SetSkillPlan, skillPlan)
     39         else:
     40             self.trackedCont.Hide()
     41 
     42     def CheckConstructTrackedCont(self):
     43         if not self.skillPlanProgressIndicator:
     44             self.headerCont = MilestoneIndicatorHeader(parent=self.trackedCont, align=uiconst.TOTOP, captionText=GetByLabel('UI/SkillPlan/TrackedSkillPlan'), highlightNotInTraining=True)
     45             self.headerCont.OnClick = self.OnSkillPlanNameClicked
     46             untrackButtonCont = Container(parent=self.trackedCont, name='untrackButtonCont', align=uiconst.TOBOTTOM, height=36, padBottom=4)
     47             self.untrackButton = Button(name='untrackButton', parent=untrackButtonCont, align=uiconst.CENTER, texturePath=eveicon.camera_untrack, iconSize=20, hint=GetByLabel('UI/SkillPlan/UntrackPlanHint'), func=self._OnUntrackButtonClicked)
     48             self.skillPlanProgressIndicator = SkillPlanProgressIndicator(parent=self.trackedCont, align=uiconst.TOALL, highlightNotInTraining=True, tooltipDirection=uiconst.POINT_LEFT_2, padBottom=10)
     49 
     50     def _OnUntrackButtonClicked(self, *args):
     51         if self.skillPlan:
     52             if GetSkillPlanSvc().IsSkillPlanTracked(self.skillPlan.GetID()):
     53                 if prompt_player_fsd_dialog('AskUntrackPlan', {}, uiconst.YESNO, suppress=uiconst.ID_YES) == uiconst.ID_YES:
     54                     GetSkillPlanSvc().SetTrackedSkillPlanID(None)
     55 
     56     def OnSkillPlanNameClicked(self, *args):
     57         if self.skillPlan:
     58             skillPlanUISignals.on_selected(self.skillPlan)
     59 
     60     def OnTrackedPlanChanged(self, _, skillPlan):
     61         if self.destroyed:
     62             return
     63         self.SetSkillPlan(skillPlan)
     64         animations.FadeTo(self.trackedCont, 0.0, 1.0, duration=0.6)
     65 
     66     def SetSkillPlan(self, skillPlan):
     67         self.skillPlan = skillPlan
     68         if skillPlan is not None:
     69             self.CheckConstructTrackedCont()
     70             self.trackedCont.Show()
     71             self.skillPlanProgressIndicator.SetSkillPlan(skillPlan)
     72             self.headerCont.SetSkillPlanName(skillPlan.GetName())
     73         elif self.trackedCont:
     74             self.trackedCont.Hide()
     75             self.skillPlanProgressIndicator.ClearSkillPlan()