Example #1
0
        public void AddSoundStage(FXSoundStage stageDesc, FXEvent fxEvent, bool looped)
        {
            if (!stageDesc.Enabled)
            {
                return;
            }

            stages.Add(new SoundStage(this, stageDesc, fxEvent, looped));
        }
Example #2
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="instance"></param>
            /// <param name="position"></param>
            /// <param name="soundPath"></param>
            public SoundStage(FXInstance instance, FXSoundStage stageDesc, FXEvent fxEvent, bool looped) : base(instance)
            {
                var sound = instance.fxPlayback.LoadSound(stageDesc.Sound);

                if (sound == null)
                {
                    return;
                }

                emitter               = instance.sw.AllocEmitter();
                emitter.Position      = fxEvent.Origin;
                emitter.DistanceScale = FXFactory.GetRadius(stageDesc.Attenuation);
                emitter.DopplerScale  = 1;
                emitter.VolumeCurve   = null;
                emitter.LocalSound    = false;

                emitter.PlaySound(sound, looped ? PlayOptions.Looped : PlayOptions.None);
            }