public void Attach(Sound.Name soundName) { // Create a new holder SoundNameHolder pSoundHolder = new SoundNameHolder(soundName); Debug.Assert(pSoundHolder != null); // Attach it to the TimedSoundEffect ( Push to front ) SLink.AddToFront(ref this.poFirstSound, pSoundHolder); // Set the first one to this Sound this.pCurrentSound = pSoundHolder; }
public override void Execute(float deltaTime) { // advance to next Sound SoundNameHolder pSoundHolder = (SoundNameHolder)this.pCurrentSound.pNext; // if at end of list, set to first if (pSoundHolder == null) { pSoundHolder = (SoundNameHolder)poFirstSound; } // squirrel away for next timer event this.pCurrentSound = pSoundHolder; // Play Sound SoundManager.PlaySound(pSoundHolder.soundName); // Add itself back to timer TimerManager.Add(this.name, this, deltaTime); }