environmentAudio.py (1965B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\evegraphics\environments\environmentAudio.py 2 from __future__ import absolute_import 3 import audio2 4 import logging 5 import trinity 6 from carbon.client.script.environment.audioService import GetAudioService 7 from evegraphics.environments import BaseEnvironmentObject 8 from tacticalNavigation import ballparkFunctions 9 log = logging.getLogger(__name__) 10 11 class EnvironmentAudio(BaseEnvironmentObject): 12 13 def __init__(self, audioTriggers): 14 super(EnvironmentAudio, self).__init__() 15 self.audioEffectRoot = None 16 self.ball = None 17 self.emitter = None 18 self.onEnterSoundID = audioTriggers.onEnter 19 20 def Setup(self): 21 pass 22 23 def ApplyToScene(self): 24 from .environmentManager import EnvironmentManager 25 if EnvironmentManager.BALLPARK_MODE: 26 self.ball = ballparkFunctions.AddClientBall(self.environmentPosition) 27 if self.onEnterSoundID: 28 self.audioEffectRoot = trinity.EveEffectRoot2() 29 self.audioEffectRoot.name = 'EnvironmentSound' 30 self.audioEffectRoot.translationCurve = self.ball 31 observerLocal = trinity.TriObserverLocal() 32 self.emitter = audio2.AudEmitter('environment_ambience_sfx') 33 observerLocal.observer = self.emitter 34 self.audioEffectRoot.observers.append(observerLocal) 35 if self.scene: 36 self.scene.objects.append(self.audioEffectRoot) 37 GetAudioService().HandleFsdSoundID(self.onEnterSoundID, emitter=self.emitter) 38 39 def TearDown(self): 40 if self.scene and self.audioEffectRoot in self.scene.objects: 41 self.scene.objects.fremove(self.audioEffectRoot) 42 del self.audioEffectRoot 43 self.audioEffectRoot = None 44 if self.ball is not None: 45 ballparkFunctions.RemoveClientBall(self.ball) 46 self.emitter = None 47 self.scene = None