/// <summary> /// The set current scene. /// </summary> /// <param name="scene"> /// The scene. /// </param> public static void SetCurrentScene(Scene scene) { if (scenes.Contains(scene) && !scene.Visible) { // want to be able to have multiple transparent scenes overlaid on the nontransparent scene if (!scene.Transparent) { foreach (Scene visibleScene in GetVisibleScenes()) { visibleScene.Visible = false; } } scene.Visible = true; if (scene.MainGameScene) { var ingameMenu = new InGameMenu(scene.Game); ingameMenu.Initialize(); AddScene(ingameMenu); } else if (!(scene is InGameMenu)) { scenes.Remove((from s in scenes where s is InGameMenu select s).FirstOrDefault()); } } }