private IEnumerator showTurnSequence()
    {
        destroyMoveIcons();
        for (int i = 0; i < movesList.Count; i++)
        {
            DanceBattleMoveIcon moveIcon = UnityEngine.Object.Instantiate(moveIconPrefab, MoveIconContainer.transform, worldPositionStays: false).GetComponent <DanceBattleMoveIcon>();
            switch (movesList[i])
            {
            case 1:
                moveIcon.SetState(DanceBattleMoveIcon.MoveIconState.Icon1);
                break;

            case 2:
                moveIcon.SetState(DanceBattleMoveIcon.MoveIconState.Icon2);
                break;

            case 3:
                moveIcon.SetState(DanceBattleMoveIcon.MoveIconState.Icon3);
                break;
            }
            moveIcon.GetComponent <Animator>().SetTrigger("Intro");
            moveIconList.Add(moveIcon);
            EventManager.Instance.PostEvent("SFX/UI/DanceGame/NoteAppear", EventAction.PlaySound, null, null);
            yield return(new WaitForSeconds(DanceIconDelay));
        }
        yield return(new WaitForSeconds(DanceIconEndDelay));

        SetState(DanceBattleQuestGameState.InputtingMoves);
    }
    private void SetState(DanceBattleQuestGameState newState)
    {
        Screens[(int)currentState].SetActive(value: false);
        Screens[(int)newState].SetActive(value: true);
        currentState = newState;
        switch (newState)
        {
        case DanceBattleQuestGameState.ShowingMoves:
            startTurnSequence();
            changeCameraController(getScreenCamera(), getScreenCameraTarget(), hideControls: true);
            break;

        case DanceBattleQuestGameState.InputtingMoves:
        {
            destroyMoveIcons();
            inputMovesList.Clear();
            InputMovesTimer.StartCountdown(InputTime);
            int currentMoveCount = getCurrentMoveCount();
            for (int i = 0; i < currentMoveCount; i++)
            {
                DanceBattleMoveIcon component = UnityEngine.Object.Instantiate(moveIconPrefab, MoveIconInputContainer.transform, worldPositionStays: false).GetComponent <DanceBattleMoveIcon>();
                component.SetState(DanceBattleMoveIcon.MoveIconState.BlankRed);
                moveIconList.Add(component);
            }
            CoroutineRunner.Start(setStateAfterDelay(InputTime, DanceBattleQuestGameState.Results), this, "");
            changeCameraController(getDanceCamera(), getDanceCameraTarget(), hideControls: false);
            break;
        }

        case DanceBattleQuestGameState.Results:
            InputMovesTimer.StopCountdown();
            CoroutineRunner.Start(showRoundResults(), this, "");
            changeCameraController(getDanceCamera(), getDanceCameraTarget(), hideControls: true);
            break;
        }
    }