public bool DisposeScene(Scene scene) { if (_gameScenes.ContainsValue(scene)) { foreach (string screenName in _gameScenes.Keys) { if (_gameScenes[screenName] == scene) { _gameScenes.Remove(screenName); break; } } } if (_activeGameScenes.Contains(scene)) { _activeGameScenes.Remove(scene); scene.Dispose(); return true; } else { return false; } }
public void ActivateScene(Scene scene) { LoadScene(scene); _activeGameScenes.Add(scene); }
public void RemoveScene(Scene scene) { _activeGameScenes.Remove(scene); }
public void LoadScene(Scene scene, string sceneName) { if (_gameScenes.ContainsKey(sceneName) && !string.IsNullOrEmpty(sceneName)) { if (_gameScenes[sceneName] != scene) throw new ArgumentException(string.Format("GameScene '{0}' has already been loaded")); scene.Load(_contentManager); } else { _gameScenes.Add(scene.Name, scene); scene.Manager = this; scene.Load(_contentManager); } }
public void LoadScene(Scene scene) { LoadScene(scene, scene.Name); }
public void ExitScene(Scene scene) { scene.ExitScreen(false); }