/// <summary>
/// Handle any changes while on the level selection menu
/// </summary>
/// <param name="gameTime">Current time within the game</param>
/// <param name="gameState">Current gamestate of the game</param>
/// <param name="currentLevel">Current level of the game</param>
public void Update(GameTime gameTime, ref GameStates gameState, ref Level currentLevel)
{
//Handle loading after loading screen has been drawn
if (_mLoading == Loading)
{
_mLoading = None;
if (currentLevel != null) currentLevel.Dispose();
currentLevel = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].Level;
currentLevel.Load(_mContent);
currentLevel.IdealTime = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetGoal(LevelInfo.StarTypes.Time);
currentLevel.CollectableCount = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetGoal(LevelInfo.StarTypes.Collection);
currentLevel.TimerStar = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetStar(LevelInfo.StarTypes.Time);
currentLevel.CollectionStar = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetStar(LevelInfo.StarTypes.Collection);
currentLevel.DeathStar = _mLevels[_mCurrentWorld * 6 + _mCurrentIndex].GetStar(LevelInfo.StarTypes.Death);
gameState = GameStates.StartLevelSplash;
}
HandleAKey(ref gameState, ref currentLevel);
HandleBKey(ref gameState);
HandleDirectionKey();
UpdateStarCount();
}