/
HangarPortalGates.py
57 lines (49 loc) · 1.96 KB
/
HangarPortalGates.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Python bytecode 2.7 (decompiled from Python 2.7)
# Embedded file name: scripts/client/HangarPortalGates.py
import WWISE
from ClientSelectableWebLinksOpener import ClientSelectableWebLinksOpener
from gui.shared import g_eventBus, events
class HangarPortalGates(ClientSelectableWebLinksOpener):
def __init__(self):
super(HangarPortalGates, self).__init__()
self.__isMouseOver = False
self.__isDragging = False
self.__mouseOverMusicStarted = False
self.__startEventName = self.mouseOverMusic
self.__stopEventName = self.mouseOverMusic + '_stop'
def onEnterWorld(self, prereqs):
super(HangarPortalGates, self).onEnterWorld(prereqs)
g_eventBus.addListener(events.LobbySimpleEvent.NOTIFY_CURSOR_DRAGGING, self.__onNotifyCursorDragging)
def onLeaveWorld(self):
super(HangarPortalGates, self).onLeaveWorld()
g_eventBus.removeListener(events.LobbySimpleEvent.NOTIFY_CURSOR_DRAGGING, self.__onNotifyCursorDragging)
self.__stopMusic()
def highlight(self, show):
super(HangarPortalGates, self).highlight(show)
if not self.enabled:
return
if not self.mouseOverMusic:
return
self.__isMouseOver = show
if self.__isDragging:
return
if show:
self.__startMusic()
else:
self.__stopMusic()
def __startMusic(self):
if self.__mouseOverMusicStarted:
return
WWISE.WW_eventGlobal(self.__startEventName)
self.__mouseOverMusicStarted = True
def __stopMusic(self):
if not self.__mouseOverMusicStarted:
return
WWISE.WW_eventGlobal(self.__stopEventName)
self.__mouseOverMusicStarted = False
def __onNotifyCursorDragging(self, event):
self.__isDragging = event.ctx.get('isDragging', False)
if self.__isDragging:
self.__stopMusic()
elif self.__isMouseOver:
self.__startMusic()