mapMarkerMyLocation.py (2769B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\markers\mapMarkerMyLocation.py 2 import blue 3 import uthread 4 from carbonui.uianimations import animations 5 from carbonui.uicore import uicore 6 from carbonui.util.various_unsorted import GetWindowAbove 7 from eve.client.script.ui.control.themeColored import SpriteThemeColored 8 from eve.client.script.ui.shared.mapView.markers.mapMarkerBase_Icon import MarkerIconBase 9 from localization import GetByLabel 10 import carbonui.const as uiconst 11 12 class MarkerMyLocation(MarkerIconBase): 13 solarSystemID = None 14 distanceFadeAlphaNearFar = None 15 texturePath = 'res:/UI/Texture/classes/MapView/focusIcon.png' 16 17 def __init__(self, animate = True, *args, **kwds): 18 super(MarkerMyLocation, self).__init__(*args, **kwds) 19 self.bgCircles = [] 20 21 def GetMenu(self): 22 pass 23 24 def GetLabelText(self): 25 return GetByLabel('UI/Map/StarMap/lblYouAreHere') 26 27 def ShowDscanHilite(self): 28 pass 29 30 def _CreateRenderObject(self): 31 MarkerIconBase._CreateRenderObject(self) 32 self.CheckConstructCircles() 33 34 def CheckConstructCircles(self): 35 if self.markerContainer and not self.markerContainer.destroyed: 36 self.ConstructCircles() 37 uthread.new(self.AnimateBGCircles) 38 39 def AnimateBGCircles(self): 40 duration = 3.0 41 radius = 300 42 kOffset = 0.6 43 while not self.destroyed: 44 blue.pyos.synchro.SleepWallclock((3 * kOffset + duration) * 1000) 45 if not self.IsThisWindowActive(): 46 continue 47 for i, circle in enumerate(self.bgCircles): 48 timeOffset = i * kOffset 49 animations.MorphScalar(circle, 'width', 0, radius, duration=duration, timeOffset=timeOffset) 50 animations.MorphScalar(circle, 'height', 0, radius, duration=duration, timeOffset=timeOffset) 51 animations.FadeTo(circle, 0.0, 0.02, duration=duration, timeOffset=timeOffset, curveType=uiconst.ANIM_WAVE) 52 53 def IsThisWindowActive(self): 54 if not self.markerContainer: 55 return False 56 wnd = GetWindowAbove(self.markerContainer) 57 return uicore.registry.GetActive() == wnd 58 59 def ConstructCircles(self): 60 for i in xrange(3): 61 circle = SpriteThemeColored(name='circle', parent=self.markerContainer, align=uiconst.CENTER, state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/hexMap/circleFilled256.png', colorType=uiconst.COLORTYPE_UIHILIGHTGLOW) 62 self.bgCircles.append(circle) 63 64 def GetMarkerOpacity(self, bracketCameraDistance, cameraZoomDistance): 65 return 1.0 66 67 def GetOverlapSortValue(self, reset = False): 68 return None