public override void CotinueEvent()
    {
        switch (finalBossDialogueState)
        {
        default:
        case FinalBossDialogueState.INTRO:
            playerControl.levelGenerationDone = true;
            finalBossDialogueState            = FinalBossDialogueState.INTRO_NEXT;
            break;

        case FinalBossDialogueState.INTRO_NEXT:
            ContinueFinalBoss();
            break;

        case FinalBossDialogueState.INTRO_CONTINUED:
            playerControl.levelGenerationDone = true;
            finalBoss.cutScene = false;
            audioController.PlayIntenseBoss();
            finalBossDialogueState = FinalBossDialogueState.BOSS_FIGHT;
            break;

        case FinalBossDialogueState.BOSS_FIGHT:
            EndFinalBoss();
            break;

        case FinalBossDialogueState.BEAT_BOSS:
            GetExit();
            break;

        case FinalBossDialogueState.FIGHT_END:
            gameState.WinGame();
            break;
        }
    }
    void GetExit()
    {
        GameObject      exit         = Instantiate(gameExit, exitLocation, Quaternion.identity);
        ColliderTrigger exitCollider = exit.GetComponent <ColliderTrigger>();

        exitCollider.gameController = gameState.gameController;
        finalBossDialogueState      = FinalBossDialogueState.FIGHT_END;
    }
 void EndFinalBoss()
 {
     audioController.PlaySadMusic();
     finalBossEnd.TriggerDialogue();
     finalBossDialogueState = FinalBossDialogueState.BEAT_BOSS;
 }
 void ContinueFinalBoss()
 {
     playerControl.levelGenerationDone = false;
     finalBossContinued.TriggerDialogue();
     finalBossDialogueState = FinalBossDialogueState.INTRO_CONTINUED;
 }
 void StartFinalBoss()
 {
     playerControl.levelGenerationDone = false;
     finalBossIntro.TriggerDialogue();
     finalBossDialogueState = FinalBossDialogueState.INTRO;
 }