public void SubPlayerFinished(ElementPlayerBase subPlayer, bool stopMusic, bool stopSounds) { Monitor.Enter(syncObject); m_SubPlayers.Remove(subPlayer); stopMusic = stopMusic && !m_MusicStopped; stopSounds = stopSounds && !m_SoundsStopped; if (m_SubPlayers.Count == 0 && Playing) { Playing = false; Monitor.Exit(syncObject); PlayerFinished(); m_FinishedAction(this); } else { Monitor.Exit(syncObject); } if (stopSounds) { StopSounds(0); } if (stopMusic) { StopMusic(0); } }
public void SubPlayerStarted(ElementPlayerBase subPlayer) { lock (syncObject) { m_SubPlayers[subPlayer] = true; } }