void Start() { agent = GetComponent <NavMeshAgent>(); perception = GetComponent <EnemyPerception>(); lastAITargetPosition = transform.position; aiState = AIState.patrol; StartCoroutine(basicAI()); }
public static void MakeDecision(EnemyBrain brain) { Vector2Int playerPosition; if (EnemyPerception.IsPlayerVisible(brain.position, out playerPosition)) { Chase(brain, playerPosition); } else { Patrol(brain); } }
public void DoTurn() { if (isAsleep) { Vector2Int player; if (EnemyPerception.IsPlayerVisible(position, out player)) { int roll = Random.Range(0, 100); if (roll <= chance) { isAsleep = false; } } } else { MeleeAI.MakeDecision(this); } }
// Start is called before the first frame update void Start() { ep = GetComponent <EnemyPerception>(); rb = GetComponent <Rigidbody2D>(); hitBox = GetComponent <CircleCollider2D>(); }