protected virtual void Update() { //Debug.Log(State); CheckEnemy(); switch (State) { /*--Added this as a general AI practice--*/ case EnemyState.None: healthbar.color = Color.red; switch (moveDir) { case TargetDirection.None: healthbar.color = Color.cyan; break; case TargetDirection.Right: if (movement.facingMod != 1) { movement.Flip(); } if (!inMeleeRange) { State = EnemyState.Walking; } else { State = EnemyState.Attacking; } break; case TargetDirection.Left: if (movement.facingMod != -1) { movement.Flip(); } if (!inMeleeRange) { State = EnemyState.Walking; } else { State = EnemyState.Attacking; } break; default: break; } break; /*--End of added section*/ case EnemyState.Attacking: abilityManager.ActivateAbility(); State = EnemyState.None; break; case EnemyState.Walking: switch (moveDir) { case TargetDirection.None: break; case TargetDirection.Right: if (movement.facingMod != 1) { movement.Flip(); } if (!inMeleeRange) { State = EnemyState.Walking; } else { State = EnemyState.Attacking; } break; case TargetDirection.Left: if (movement.facingMod != -1) { movement.Flip(); } if (!inMeleeRange) { State = EnemyState.Walking; } else { State = EnemyState.Attacking; } break; default: break; } break; case EnemyState.Stunned: myAnim.SetTrigger("BackToIdle"); healthbar.color = Color.cyan; break; default: break; } }