private void OnStatusChanged(GameStatusEventArgs args) { if (StatusChanged != null) { StatusChanged(this, args); } }
/// <summary> /// Observes state status changes. Will call Dismiss on each state /// which becomes hidden. Also calls UnloadContent(). /// TODO: Dismiss can be perhaps refactored totally away (use UnloadContent). /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void StateStatusChanged(object sender, GameStatusEventArgs args) { if (args.newStatus == GameStateStatus.Hidden) { GameState state = (GameState)sender; state.Dismiss(); if (state != PauseState) { state.UnloadContent(); } } }