IEnumerator Start()
    {
        yield return(PlayerCloneState.LoadAssets()); //Load our player clone state assets in

        //Spawn our player
        CharacterController playerController = Instantiate(playerPrefab).GetComponent <CharacterController>();

        //Setup player
        Debug.Assert(playerController != null, "Our player prefab does not have a character controller!");
        player.Possess(playerController);
        player.enabled = true;
        RespawnPlayer();
        //Setup camera
        mainCamera.Follow = playerController.transform;
        //Set gamestate
        currentGameState = GameStateProvider.GetCurrentGameState();
    }
 private void RoomCompleted()
 {
     OnDoorOpen.Invoke(currentDoorIndex++);
     currentGameState = GameStateProvider.GetCurrentGameState(); //Store the new current gamestate
 }