private void Update() { switch (currentState) { case EnemyAIstates.Wander: enemy.isStopped = false; if (!enemy.pathPending && enemy.remainingDistance < 0.5f) { wonder.NextPoint(); } break; case EnemyAIstates.Target: enemy.isStopped = false; enemy.destination = pursuit.Pursuit(); break; case EnemyAIstates.Attack: timer -= Time.deltaTime; if (timer <= 0.0f) { attack.Attacking(); enemy.isStopped = true; // enemy.destination = enemy.transform.position; Debug.Log("In Range: Attacking has initiated"); timer = attackInterval; } break; } SwitchStates(); }
private void Update() { switch (currentState) { case EnemyAIstates.Wander: enemy.destination = wonder.Wandering(); // Debug.Log("Player not seen: returning to wonder"); break; case EnemyAIstates.Target: enemy.destination = pursuit.Pursuit(); // Debug.Log("Out of Range: Target not reachable; Continuing pursuit"); break; case EnemyAIstates.Attack: attack.Attacking(); enemy.destination = transform.position; // Debug.Log("In Range: Attacking has initiated"); break; } SwitchStates(); Debug.DrawLine(enemy.destination, enemy.gameObject.transform.position, Color.blue); }