blob: 75d80cc4f6d974f78e29ad29ebd74b43331192b4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
using UnityEngine;
namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityVector3
{
[TaskCategory("Basic/Vector3")]
[TaskDescription("Move from the current position to the target position.")]
public class MoveTowards : Action
{
[Tooltip("The current position")]
public SharedVector3 currentPosition;
[Tooltip("The target position")]
public SharedVector3 targetPosition;
[Tooltip("The movement speed")]
public SharedFloat speed;
[Tooltip("The move resut")]
[RequiredField]
public SharedVector3 storeResult;
public override TaskStatus OnUpdate()
{
storeResult.Value = Vector3.MoveTowards(currentPosition.Value, targetPosition.Value, speed.Value * Time.deltaTime);
return TaskStatus.Success;
}
public override void OnReset()
{
currentPosition = targetPosition = storeResult = Vector3.zero;
speed = 0;
}
}
}
|