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

blinkingSpriteOnSharedCurve.py (2222B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\bracketsAndTargets\blinkingSpriteOnSharedCurve.py
      2 import trinity
      3 from carbonui.primitives.sprite import Sprite
      4 from carbonui.uicore import uicore
      5 
      6 class BlinkingSpriteOnSharedCurve(Sprite):
      7 
      8     def ApplyAttributes(self, attributes):
      9         Sprite.ApplyAttributes(self, attributes)
     10         self.blinkBinding = None
     11         curveSetName = attributes.curveSetName
     12         self.curveSetName = curveSetName
     13         fromCurveValue = attributes.get('fromCurveValue', 0.3)
     14         toCurveValue = attributes.get('toCurveValue', 0.6)
     15         duration = attributes.get('duration', 0.5)
     16         self.SetupSharedBlinkingCurve(curveSetName, fromCurveValue, toCurveValue, duration)
     17 
     18     def SetupSharedBlinkingCurve(self, cuverSetName, fromCurveValue, toCurveValue, duration, *args):
     19         curveSet = getattr(uicore, cuverSetName, None)
     20         if curveSet:
     21             curve = curveSet.curves[0]
     22         else:
     23             curveSet = trinity.TriCurveSet()
     24             setattr(uicore, cuverSetName, curveSet)
     25             setattr(curveSet, 'name', cuverSetName)
     26             trinity.device.curveSets.append(curveSet)
     27             curveSet.Play()
     28             curve = trinity.Tr2CurveScalar()
     29             curve.name = 'blinking_curve'
     30             curve.AddKey(0, fromCurveValue, trinity.Tr2CurveInterpolation.LINEAR)
     31             curve.AddKey(duration / 2.0, toCurveValue, trinity.Tr2CurveInterpolation.LINEAR)
     32             curve.AddKey(duration, fromCurveValue, trinity.Tr2CurveInterpolation.LINEAR)
     33             curve.extrapolationAfter = trinity.Tr2CurveExtrapolation.CYCLE
     34             curveSet.curves.append(curve)
     35         if getattr(self, 'blinkBinding', None) is not None:
     36             curveSet.bindings.remove(self.blinkBinding)
     37         self.blinkBinding = trinity.CreatePythonBinding(curveSet, curve, 'currentValue', self, 'opacity')
     38 
     39     def Close(self):
     40         if getattr(self, 'blinkBinding', None) is not None:
     41             curveSet = getattr(uicore, self.curveSetName, None)
     42             if curveSet:
     43                 curveSet.bindings.remove(self.blinkBinding)
     44             self.blinkBinding = None
     45         Sprite.Close(self)