public StoryTellingMenu( Game game, int story, StoryLevel nextLevel, Menu nextMenu ) : base(game) { _nextLevel = nextLevel; _nextMenu = nextMenu; _targetStory = story; }
protected override void Update( GameTime gameTime ) { base.Update( gameTime ); if ( _currentLevel != null ) { _currentLevel.Update( gameTime ); if ( _currentLevel.LevelEnded ) { if ( _currentLevel.Won ) { MapMenu.WON_STATUSES[_currentLevel.LevelIndex] = true; } bool finished = true; foreach ( var won in MapMenu.WON_STATUSES ) { if ( !won ) { finished = false; } } if ( !finished ) _currentMenu = new MapMenu( this ); else _currentMenu = new StoryTellingMenu( this, 1, null, new MainMenu( this ) ); _currentLevel = null; } } else if ( _currentMenu != null ) { _currentMenu.Update( gameTime ); if ( _currentMenu.SelectedLevel != null ) { _currentLevel = _currentMenu.SelectedLevel; _currentMenu.SelectedLevel = null; _currentMenu = null; } else if ( _currentMenu.SelectedMenu != null ) { _currentMenu = _currentMenu.SelectedMenu; _currentMenu.SelectedMenu = null; } } Keyboard.GetState( ).UpdateState( ); }