/// <summary>
 /// Description: Set the state of the overworld controller after a certain amount of time
 /// Rationale: Should be able to control state of the overworld controller
 /// </summary>
 /// <param name="delay">Time to wait before setting the state of the overworld controller</param>
 /// <returns>An IEnumerator</returns>
 private IEnumerator SetCurrentState(LevelMenuState levelMenuState, float delay)
 {
     if (delay > 0)
     {
         yield return(new WaitForSeconds(delay));
     }
     CurrentState = levelMenuState;
 }
 /// <summary>
 /// Description: Set the state of the overworld controller to [a level has been]
 /// Rationale: Should be able to control state of the overworld controller
 /// </summary>
 public void SetSelectedState()
 {
     CurrentState = LevelMenuState.Selected;
 }
 /// <summary>
 /// Description: Set the state of the overworld controller to selecting [a level]
 /// Rationale: Should be able to control state of the overworld controller
 /// </summary>
 public void SetSelectingState()
 {
     CurrentState = LevelMenuState.Selecting;
 }
 /// <summary>
 /// Description: Set the state of the overworld controller to transitioning [to a level]
 /// Rationale: Should be able to control state of the overworld controller
 /// </summary>
 public void SetTransitioningState()
 {
     CurrentState = LevelMenuState.Transitioning;
 }