Files
BH3/Assets/Scripts/Assembly-CSharp/MoleMole/GetDistance.cs
2025-08-13 09:26:42 +08:00

43 lines
932 B
C#

using BehaviorDesigner.Runtime;
using BehaviorDesigner.Runtime.Tasks;
using UnityEngine;
namespace MoleMole
{
public class GetDistance : Action
{
public SharedFloat Distance;
private IAIEntity _aiEntity;
public override void OnAwake()
{
BaseMonoAnimatorEntity component = GetComponent<BaseMonoAnimatorEntity>();
if (component is BaseMonoAvatar)
{
_aiEntity = (BaseMonoAvatar)component;
}
else if (component is BaseMonoMonster)
{
_aiEntity = (BaseMonoMonster)component;
}
}
public override void OnStart()
{
}
public override TaskStatus OnUpdate()
{
if (_aiEntity.AttackTarget == null || !_aiEntity.AttackTarget.IsActive())
{
return TaskStatus.Success;
}
Vector3 xZPosition = _aiEntity.XZPosition;
Vector3 xZPosition2 = _aiEntity.AttackTarget.XZPosition;
Distance.SetValue(Vector3.Distance(xZPosition, xZPosition2));
return TaskStatus.Success;
}
}
}