public void FadeOutSound(float interval) { var emitter = Vector2.Zero; var listener = Vector2.Zero; if (IsPositional) { var tranform = Owner.GetComponent <Cv_TransformComponent>(); if (tranform != null) { emitter = new Vector2(tranform.Position.X, tranform.Position.Y); } var playerView = CaravelApp.Instance.GetPlayerView(Cv_Player.One); if (playerView != null && playerView.ListenerEntity != null) { var listenerTransform = playerView.ListenerEntity.GetComponent <Cv_TransformComponent>(); if (listenerTransform != null) { listener = new Vector2(listenerTransform.Position.X, listenerTransform.Position.Y); } } } Cv_Event_PlaySound fadeEvent = new Cv_Event_PlaySound(Owner.ID, this, SoundResource, Looping, 0, Pan, Pitch, true, interval, IsPositional, emitter, listener); Cv_EventManager.Instance.QueueEvent(fadeEvent); }
public void PlayOneShotSound(string soundResource, float volume, float pan, float pitch, bool immediate = false) { var emitter = Vector2.Zero; var listener = Vector2.Zero; if (IsPositional) { var tranform = Owner.GetComponent <Cv_TransformComponent>(); if (tranform != null) { emitter = new Vector2(tranform.Position.X, tranform.Position.Y); } var playerView = CaravelApp.Instance.GetPlayerView(Cv_Player.One); if (playerView != null && playerView.ListenerEntity != null) { var listenerTransform = playerView.ListenerEntity.GetComponent <Cv_TransformComponent>(); if (listenerTransform != null) { listener = new Vector2(listenerTransform.Position.X, listenerTransform.Position.Y); } } } Cv_Event_PlaySound playEvt = new Cv_Event_PlaySound(Owner.ID, this, soundResource, false, volume, pan, pitch, false, 0, IsPositional, emitter, listener); if (immediate) { Cv_EventManager.Instance.TriggerEvent(playEvt); } else { Cv_EventManager.Instance.QueueEvent(playEvt); } }