35 lines
1 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|