MIF_E31221263/Assets/Scripts/Enemy/FSM/Decisions/DecisionDetectPlayer.cs

45 lines
964 B
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DecisionDetectPlayer : FSMDecision
{
[Header("Config")]
[SerializeField] private float range;
[SerializeField] private LayerMask playerMask;
private EnemyBrain enemy;
private void Awake()
{
enemy = GetComponent<EnemyBrain>();
}
public override bool Decide()
{
return DetectPlayer();
}
private bool DetectPlayer()
{
Collider2D playerCollider =
Physics2D.OverlapCircle(enemy.transform.position,
range, playerMask);
if (playerCollider != null)
{
enemy.Player = playerCollider.transform;
return true;
}
enemy.Player = null;
return false;
}
private void OnDrawGizmosSelected()
{
Gizmos.color = Color.red;
Gizmos.DrawWireSphere(transform.position, range);
}
}