public void Player_attack_States() { if (PlayerAttack) { switch (state) { case State.Attack: timer += Time.deltaTime; player_base.SetPlayerAttack(); if (timer >= 1.7f) { timer = 0; state = State.Turning; reached_enemy = false; } break; case State.Turning: p_control.Backwards_Movement(); if (encounter) { state = State.Busy; } break; case State.Busy: if (encounter) { PlayerAttack = false; PlayerAttackEnded = true; player_base.SetPlayerWait(); } break; case State.Marching: p_control.Forward_Movement(); if (reached_enemy) { state = State.Attack; } break; } } }