Shoot-N-Slash/Assets/Scripts/Entities/AutoControlledEntity.cs

35 lines
1 KiB
C#

using Core.Extensions;
using UnityEngine;
public class AutoControlledEntity : Entity
{
[Header("Movement AI")]
[SerializeField] protected float maxTargettingRange;
[SerializeField] protected float maxHeightDifference;
[SerializeField] protected float minTargetJumpDistance;
[SerializeField] protected Transform[] wallDetectors;
[SerializeField] protected LayerMask wallLayer;
protected bool DetectWalls()
{
foreach (Transform wallDetector in wallDetectors)
{
if (Physics2D.OverlapCircle(wallDetector.position, 0.05f, wallLayer))
{
return true;
}
}
return false;
}
private void Update()
{
if (closestEntity && !stats.abilitiesDisabled && !stats.isStalled)
{
stats.attackOriginCenter.Lookat2D(closestEntity.transform.position);
foreach (Ability ability in stats.abilities)
{
ability.TryAbility();
}
}
}
}