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();
}