private IEnumerator _Outro()
    {
        this._currentStateCoroutine = GolemBossStates.Outro;
        yield return(new WaitForSeconds(4));

        this._state = GolemBossStates.Dead;
    }
    //
    // States
    //

    private IEnumerator _Intro()
    {
        this._currentStateCoroutine = GolemBossStates.Intro;
        yield return(new WaitForSeconds(4));

        this._state = GolemBossStates.Phase1;
    }
 private IEnumerator _Phase3()
 {
     this._currentStateCoroutine = GolemBossStates.Phase3;
     while (this._damages < 3)
     {
         this._UpdatePhase3SubState();
         yield return(null);
     }
     this._state = GolemBossStates.Outro;
 }
 private IEnumerator _Phase1()
 {
     this._currentStateCoroutine = GolemBossStates.Phase1;
     while (this._damages < 1)
     {
         this._UpdatePhase1SubState();
         yield return(null);
     }
     this._state = GolemBossStates.Phase2;
 }