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

dockPanelSubFrame.py (6584B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\dockPanelSubFrame.py
      2 from __future__ import print_function
      3 from carbonui.primitives.base import Base
      4 from carbonui.primitives.container import Container
      5 from carbonui.primitives.fill import Fill
      6 from carbonui.primitives.frame import Frame
      7 from carbonui.primitives.sprite import Sprite
      8 from carbonui.util.color import GetColor
      9 from eve.client.script.ui.control.themeColored import FrameThemeColored
     10 from eve.client.script.ui.shared.radialMenu.radialMenu import ThreePartContainer
     11 import carbonui.const as uiconst
     12 import trinity
     13 import uthread
     14 from carbonui.uicore import uicore
     15 BASECOLOR = (118 / 255.0, 163 / 255.0, 255 / 255.0)
     16 OUTER_FRAME = GetColor(BASECOLOR, alpha=0.6, saturation=0.7)
     17 FRAME_GLOW_ACTIVE = (1.0, 1.0, 1.0, 1.0)
     18 INNER_FRAME_ACTIVE = GetColor(BASECOLOR, alpha=0.6)
     19 
     20 class DockablePanelContentFrame(Container):
     21     default_align = uiconst.TOALL
     22     default_state = uiconst.UI_NORMAL
     23     default_width = 0
     24     default_height = 0
     25     outerFrameWidth = 2
     26     innerFrameWidth = 1
     27     distanceFromOuterToInnerFrame_side = 4
     28     distanceFromOuterToInnerFrame_bottom = 4
     29     distanceFromInnerFrameToContent_sides = 6
     30     distanceFromInnerFrameToContent_bottom = 6
     31 
     32     def ApplyAttributes(self, attributes):
     33         Container.ApplyAttributes(self, attributes)
     34         innerContainerPadding = self.outerFrameWidth + self.distanceFromOuterToInnerFrame_side
     35         innerContainer = Container(parent=self, name='innerContainer', padding=innerContainerPadding, bgColor=(0, 0, 0, 0.5))
     36         frameCornerSize = 2 + self.innerFrameWidth
     37         glowFrameTexturePath = 'res:/UI/Texture/classes/CharacterSelection/glowDotFrame.png'
     38         self.normalGlowFrame = Frame(parent=innerContainer, name='glowFrame', color=FRAME_GLOW_ACTIVE, frameConst=(glowFrameTexturePath,
     39          5,
     40          -2,
     41          0), padding=0)
     42         self.normalFrame = FrameThemeColored(parent=innerContainer, name='normalFrame', padding=0, frameConst=('ui_1_16_161',
     43          frameCornerSize,
     44          -2,
     45          0))
     46         self.normalFrame.opacity = 0.0
     47         self.selectionFrameGlow = Frame(parent=self, name='selectionFrame', color=FRAME_GLOW_ACTIVE, texturePath='res:/UI/Texture/classes/CharacterSelection/selectFrame.png', cornerSize=22)
     48         self.selectionFrameGlow.opacity = 0
     49         frameCornerSize = 2 + self.outerFrameWidth
     50         self.selectionFrame = Frame(parent=self, name='selectionFrame', color=OUTER_FRAME, frameConst=('ui_1_16_161',
     51          frameCornerSize,
     52          -2,
     53          0))
     54         self.selectionFrame.opacity = 0
     55         contentPadding = self.distanceFromInnerFrameToContent_sides + self.innerFrameWidth
     56         contentParent = Container(parent=innerContainer, name='contentParent', padding=contentPadding, align=uiconst.TOALL)
     57         self.contentTopPush = Container(name='contentTopPush', parent=contentParent, align=uiconst.TOTOP_PROP, height=0.55)
     58         self.contentBottomPush = Container(name='contentBottomPush', parent=contentParent, align=uiconst.TOBOTTOM_PROP, height=0.55)
     59         self.content = Container(parent=contentParent, name='content', align=uiconst.TOALL, pos=(0, 0, 0, 0), clipChildren=True, state=uiconst.UI_PICKCHILDREN, opacity=0.0)
     60         self.dotFrameTopPush = Container(name='dotFrameTopPush', parent=innerContainer, align=uiconst.TOTOP_PROP, height=0.5)
     61         self.dotFrameBottomPush = Container(name='dotFrameBottomPush', parent=innerContainer, align=uiconst.TOBOTTOM_PROP, height=0.5)
     62         self.dotFrame = FrameThemeColored(parent=innerContainer, name='dotFrame', color=FRAME_GLOW_ACTIVE, texturePath='res:/UI/Texture/classes/MapView/dotFrame.png', cornerSize=21, offset=-1)
     63         self.dotFrame.opacity = 0.0
     64 
     65     def AnimateContentIn(self, animationOffset = 0.0):
     66         minBlinkValue = 0.2
     67         blinkDuration = 0.1
     68         lineAnimationOffset = animationOffset
     69         lineAnimationDuration = 0.4
     70         lineFadeOutOffset = lineAnimationOffset + lineAnimationDuration
     71         lineFadeOutDuration = 0.2
     72         for each in (self.dotFrameTopPush, self.dotFrameBottomPush):
     73             uicore.animations.MorphScalar(each, 'height', startVal=each.height, endVal=0.0, duration=lineAnimationDuration, timeOffset=lineAnimationOffset)
     74 
     75         uicore.animations.MorphScalar(self.dotFrame, 'opacity', startVal=0.8, endVal=0, duration=lineFadeOutDuration, timeOffset=lineFadeOutOffset)
     76         normalFrameFadeOffset = lineFadeOutDuration + lineFadeOutOffset - 0.2
     77         normalFrameFadeDuration = 0.4
     78         uicore.animations.MorphScalar(self.normalFrame, 'opacity', startVal=0, endVal=INNER_FRAME_ACTIVE[3], duration=normalFrameFadeDuration, timeOffset=normalFrameFadeOffset)
     79         portraitOffset = normalFrameFadeOffset + normalFrameFadeDuration - 0.2
     80         portraitDuration = 0.2
     81         for each in (self.contentTopPush, self.contentBottomPush):
     82             uicore.animations.MorphScalar(each, 'height', startVal=each.height, endVal=0.0, duration=portraitDuration, timeOffset=portraitOffset)
     83 
     84         uicore.animations.BlinkIn(self.content, startVal=1.0, endVal=minBlinkValue, duration=blinkDuration, curveType=uiconst.ANIM_BOUNCE, timeOffset=portraitOffset + portraitDuration)
     85 
     86     def PlaySelectedAnimation(self):
     87         print('PlaySelectedAnimation')
     88         uicore.animations.BlinkIn(self.selectionFrame, startVal=OUTER_FRAME[3], endVal=0.0, duration=0.1, loops=2, curveType=uiconst.ANIM_BOUNCE, timeOffset=0.2)
     89 
     90 
     91 class ContainerLockedRatio(Container):
     92     lockDesktopRatio = None
     93 
     94     @apply
     95     def displayRect():
     96         doc = ''
     97         fget = Base.displayRect.fget
     98 
     99         def fset(self, value):
    100             displayX, displayY, displayWidth, displayHeight = value
    101             self._displayHeight = int(round(displayY + displayHeight)) - self._displayY
    102             if self.lockDesktopRatio:
    103                 self._displayWidth = min(uicore.desktop.width * self.self.lockDesktopRatio, int(round(displayX + displayWidth)) - self._displayX)
    104             if self.parent:
    105                 self._displayX = (self.parent.displayWidth - self._displayWidth) / 2
    106                 self._displayY = int(round(displayY))
    107             ro = self.renderObject
    108             if ro:
    109                 ro.displayX = self._displayX
    110                 ro.displayY = self._displayY
    111                 ro.displayWidth = self._displayWidth
    112                 ro.displayHeight = self._displayHeight
    113             if self._backgroundlist and len(self.background):
    114                 self.UpdateBackgrounds()
    115 
    116         return property(**locals())