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

epicArcMissionCont.py (4788B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\epicArcs\epicArcMissionCont.py
      2 from carbon.common.script.sys.serviceConst import ROLE_PROGRAMMER
      3 from carbonui import uiconst
      4 from carbonui.primitives.container import Container
      5 from carbonui.primitives.sprite import Sprite
      6 from carbonui.util.color import Color
      7 from eve.client.script.ui.control.glowSprite import GlowSprite
      8 from eve.client.script.ui.shared.epicArcs import epicArcConst
      9 import blue
     10 
     11 class EpicArcMissionCont(Container):
     12     default_name = 'EpicArcMissionCont'
     13     default_state = uiconst.UI_NORMAL
     14 
     15     def ApplyAttributes(self, attributes):
     16         Container.ApplyAttributes(self, attributes)
     17         self.missionNode = attributes.missionNode
     18         iconSize = attributes.iconSize
     19         self.icon = Sprite(name='icon', parent=self, state=uiconst.UI_DISABLED, align=uiconst.CENTER, pos=(0,
     20          0,
     21          iconSize,
     22          iconSize))
     23         self.glowSprite = GlowSprite(name='glowSprite', parent=self, state=uiconst.UI_DISABLED, align=uiconst.CENTER, pos=(0,
     24          0,
     25          iconSize,
     26          iconSize), glowAmount=0.0)
     27         self.UpdateIcon()
     28 
     29     def UpdateIcon(self):
     30         missionState = self.missionNode.GetState()
     31         texturePath = self._GetTexturePath(missionState)
     32         color = self._GetIconColor(missionState)
     33         self.icon.texturePath = texturePath
     34         self.icon.SetRGBA(*color)
     35         self.glowSprite.texturePath = texturePath
     36         self.glowSprite.SetRGBA(*color)
     37 
     38     def OnMouseEnter(self, *args):
     39         if self.missionNode.GetState() != epicArcConst.MISSION_UNAVAILABLE:
     40             self.glowSprite.OnMouseEnter()
     41 
     42     def OnMouseExit(self, *args):
     43         self.glowSprite.OnMouseExit()
     44 
     45     def _GetIconColor(self, missionState):
     46         if missionState in (epicArcConst.MISSION_ACCEPTED, epicArcConst.MISSION_OFFERED):
     47             return epicArcConst.COLOR_ACTIVE
     48         if missionState == epicArcConst.MISSION_UNAVAILABLE:
     49             return Color.GRAY6
     50         if missionState == epicArcConst.MISSION_COMPLETED:
     51             if self.missionNode.IsLastInChapter():
     52                 return epicArcConst.COLOR_CHAPTER_COMPLETE
     53             else:
     54                 return epicArcConst.COLOR_COMPLETE
     55 
     56     def _GetTexturePath(self, missionState):
     57         if self.missionNode.IsLastInArc():
     58             texturePath = self._GetTexturePathLastInArc(missionState)
     59         elif self.missionNode.IsLastInChapter():
     60             texturePath = self._GetTexturePathLastInChapter(missionState)
     61         else:
     62             texturePath = self._GetTexturePathNormal(missionState)
     63         return texturePath
     64 
     65     def _GetTexturePathLastInChapter(self, missionState):
     66         if missionState == epicArcConst.MISSION_UNAVAILABLE:
     67             return 'res:/UI/Texture/Classes/EpicArcBar/chapter_inactiveMission.png'
     68         if missionState == epicArcConst.MISSION_OFFERED:
     69             return 'res:/UI/Texture/Classes/EpicArcBar/mission_Pending.png'
     70         if missionState == epicArcConst.MISSION_ACCEPTED:
     71             return 'res:/UI/Texture/Classes/EpicArcBar/chapter_activeMission.png'
     72         if missionState == epicArcConst.MISSION_COMPLETED:
     73             return 'res:/UI/Texture/Classes/EpicArcBar/chapter_completedMission.png'
     74 
     75     def _GetTexturePathLastInArc(self, missionState):
     76         if missionState == epicArcConst.MISSION_UNAVAILABLE:
     77             return 'res:/UI/Texture/Classes/EpicArcBar/epicArc_inactive.png'
     78         if missionState == epicArcConst.MISSION_OFFERED:
     79             return 'res:/UI/Texture/Classes/EpicArcBar/mission_Pending.png'
     80         if missionState == epicArcConst.MISSION_ACCEPTED:
     81             return 'res:/UI/Texture/Classes/EpicArcBar/epicArc_active.png'
     82         if missionState == epicArcConst.MISSION_COMPLETED:
     83             return 'res:/UI/Texture/Classes/EpicArcBar/epicArc_complete.png'
     84 
     85     def _GetTexturePathNormal(self, missionState):
     86         if missionState == epicArcConst.MISSION_UNAVAILABLE:
     87             return 'res:/UI/Texture/Classes/EpicArcBar/mission_Inactive.png'
     88         if missionState == epicArcConst.MISSION_OFFERED:
     89             return 'res:/UI/Texture/Classes/EpicArcBar/mission_Pending.png'
     90         if missionState == epicArcConst.MISSION_ACCEPTED:
     91             return 'res:/UI/Texture/Classes/EpicArcBar/mission_Active.png'
     92         if missionState == epicArcConst.MISSION_COMPLETED:
     93             return 'res:/UI/Texture/Classes/EpicArcBar/mission_Complete.png'
     94 
     95     def GetHint(self):
     96         self.missionNode.GetHint()
     97 
     98     def GetMenu(self):
     99         if session.role & ROLE_PROGRAMMER:
    100             return [('missionID: %s' % self.missionNode.missionID, blue.pyos.SetClipboardData, (str(self.missionNode.missionID),)), (self.missionNode.GetInProgressText(), lambda : None, [])]