Exemplo n.º 1
0
        public Sound PlaySound(Sound sound, SoundPriority priority)
        {
            switch (priority)
            {
            case SoundPriority.Immediate:
                Sound[] unprioritizedSounds = new Sound[_sounds.Count + 1];

                lock (_lock)
                {
                    _sounds.CopyTo(unprioritizedSounds);
                    _sounds.Clear();
                    _sounds.Add(sound);
                    _sounds.AddRange(unprioritizedSounds.ToList());
                }
                break;

            case SoundPriority.Latent:
            case SoundPriority.Normal:
                lock (_lock)
                {
                    _sounds.Add(sound);
                }
                break;

            default:
                throw new ArgumentException(string.Format(
                                                "This priority: {0} is not known to the PlaySound routine. Please implement.",
                                                priority.ToString()
                                                ));
            }

            return(sound);
        }
Exemplo n.º 2
0
        public Sound PlaySound(Sound sound, SoundPriority priority)
        {
            switch (priority)
            {
                case SoundPriority.Immediate:
                    Sound[] unprioritizedSounds = new Sound[_sounds.Count + 1];

                    lock (_lock)
                    {
                        _sounds.CopyTo(unprioritizedSounds);
                        _sounds.Clear();
                        _sounds.Add(sound);
                        _sounds.AddRange(unprioritizedSounds.ToList());
                    }
                    break;

                case SoundPriority.Latent:
                case SoundPriority.Normal:
                    lock (_lock)
                    {
                        _sounds.Add(sound);
                    }
                    break;

                default:
                    throw new ArgumentException(string.Format(
                        "This priority: {0} is not known to the PlaySound routine. Please implement.",
                        priority.ToString()
                    ));

            }

            return sound;
        }