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

infoPanelMissionObjective.py (3262B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\infoPanels\infoPanelMissionObjective.py
      2 from eve.client.script.ui.control.statefulButtonController import StatefulButtonController
      3 
      4 class MissionObjective(StatefulButtonController, object):
      5     __notifyevents__ = StatefulButtonController.__notifyevents__
      6     MISSION_HINT_LABEL_PATH = None
      7     ICON_TEXTURE_PATH = None
      8     COMPLETED_ICON_TEXTURE_PATH = 'res:/UI/Texture/classes/MissionTracker/tracker_check.png'
      9     ICON_COLOR = None
     10     COMPLETED_ICON_COLOR = None
     11     ICON_OPACITY = 0.0
     12     ACTIVE_ICON_OPACITY = 0.6
     13     COMPLETED_ICON_OPACITY = 0.6
     14     HEADER_BACKGROUND_COLOR = (0, 0, 0)
     15     COMPLETED_HEADER_BACKGROUND_COLOR = None
     16     HEADER_BACKGROUND_OPACITY = 0.0
     17     COMPLETED_HEADER_BACKGROUND_OPACITY = 0.6
     18     OBJECTIVE_ICON_SIZE = 48
     19 
     20     def __init__(self, iconItemID = None, iconTypeID = None, missionHint = None, activeIcon = None, completedIcon = None, isActive = False):
     21         self.activeIcon = activeIcon or self.ICON_TEXTURE_PATH
     22         self.completedIcon = completedIcon or self.COMPLETED_ICON_TEXTURE_PATH
     23         self.activeIconOpacity = self.ACTIVE_ICON_OPACITY if activeIcon else self.ICON_OPACITY
     24         self.iconItemID = iconItemID
     25         self.iconTypeID = iconTypeID
     26         self.missionHint = missionHint or ''
     27         self.isActive = isActive
     28         StatefulButtonController.__init__(self)
     29 
     30     def IsActive(self):
     31         return self.isActive
     32 
     33     def SetActive(self):
     34         self.isActive = True
     35 
     36     def SetInactive(self):
     37         self.isActive = False
     38 
     39     def GetHeaderBackgroundData(self):
     40         if self.IsActive():
     41             return (self.HEADER_BACKGROUND_OPACITY, self.HEADER_BACKGROUND_COLOR)
     42         return (self.COMPLETED_HEADER_BACKGROUND_OPACITY, self.COMPLETED_HEADER_BACKGROUND_COLOR)
     43 
     44     def GetHeaderIconData(self):
     45         if self.IsActive():
     46             return (self.activeIcon, self.activeIconOpacity, self.ICON_COLOR)
     47         return (self.completedIcon, self.COMPLETED_ICON_OPACITY, self.COMPLETED_ICON_COLOR)
     48 
     49     def GetHeaderText(self):
     50         raise NotImplementedError('Must implement GetHeaderText in derived class.')
     51 
     52     def GetLocationButtonNamePostfix(self):
     53         return self.GetHeaderText()
     54 
     55     def GetLocationButtonName(self):
     56         postFix = self.GetLocationButtonNamePostfix()
     57         return 'missionObjective_button_location_%s' % postFix
     58 
     59     def HasIcon(self):
     60         return False
     61 
     62     def GetObjectiveIconSize(self):
     63         return self.OBJECTIVE_ICON_SIZE
     64 
     65     def BuildIcon(self, name, parent, align, state, opacity, width, height):
     66         raise NotImplementedError('Must implement BuildIcon in derived class.')
     67 
     68     def HasText(self):
     69         return bool(self.missionHint)
     70 
     71     def GetText(self):
     72         return self.missionHint
     73 
     74     def GetLocation(self):
     75         raise NotImplementedError('Must implement GetLocation in derived class.')
     76 
     77     def HasGuidance(self):
     78         return False
     79 
     80     def StartGuidance(self):
     81         raise NotImplementedError('Must implement StartGuidance in derived class.')
     82 
     83     def GetClassName(self):
     84         return type(self).__name__
     85 
     86     def GetButtonFunction(self):
     87         return super(MissionObjective, self).GetButtonFunction()