CapersProject/Assets/02.Scripts/DDD/BehaviorTree/Npc/Crew/Action/MoveToRandomPositionInRange.cs

32 lines
750 B
C#
Raw Normal View History

2024-10-14 11:13:08 +00:00
using BehaviorDesigner.Runtime.Tasks;
2025-02-10 02:13:46 +00:00
using DDD.Npcs.Crews;
2024-10-14 11:13:08 +00:00
2025-02-10 02:13:46 +00:00
namespace DDD.BehaviorTrees.Actions
2024-10-14 11:13:08 +00:00
{
2024-10-15 18:01:16 +00:00
[TaskCategory("Custom/Npc/Crew")]
2024-10-14 11:13:08 +00:00
public class MoveToRandomPositionInRange : Action
{
2024-10-15 18:01:16 +00:00
private Crew _crew;
2024-10-14 11:13:08 +00:00
public override void OnAwake()
{
2024-10-15 18:01:16 +00:00
_crew = GetComponent<Crew>();
2024-10-14 11:13:08 +00:00
}
public override void OnStart()
{
2024-10-15 18:01:16 +00:00
_crew.AIMovement.MoveToRandomPositionInRange(10f);
2024-10-14 11:13:08 +00:00
}
public override TaskStatus OnUpdate()
{
2024-10-15 18:01:16 +00:00
if (_crew.AIMovement.HasReachedDestination())
2024-10-14 11:13:08 +00:00
{
2024-10-15 18:01:16 +00:00
_crew.AIMovement.StopMove();
2024-10-14 11:13:08 +00:00
return TaskStatus.Success;
}
return TaskStatus.Running;
}
}
}