/// <summary> /// Removes a player from the passive Observers list /// </summary> /// <param name="character">the character to add</param> public virtual void RemoveObserver(ServerCharacterInfo character) { //Task t = new Task((state) => { lock (m_Game.AllObserversSyncRoot) { if (Observers.Remove(character.ID)) { Log.LogMsg("Removed observer [#" + character.ToString() + "] from game [" + Name + "] [" + GameID.ToString() + "]."); AllObservers = (List <ICharacterInfo>)Observers.Values.ToList <ICharacterInfo>(); OnObserverRemoved(character); } } }//, "Remove Observer " + character.ToString(), TaskCreationOptions.LongRunning); //m_NetQ.AddTask(t); }