diff options
author | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-03-10 14:07:40 +0800 |
commit | 22891bf59032ba88262824255a706d652031384b (patch) | |
tree | 7595439ba9966c9402d37e37cee5e8cf098757d5 /Assets/ThirdParty/Behavior Designer/Runtime/Basic Tasks/Transform/GetAngleToTarget.cs | |
parent | 8b04ea73e540067f83870b61d89db4868fea5e8a (diff) |
* move folder
Diffstat (limited to 'Assets/ThirdParty/Behavior Designer/Runtime/Basic Tasks/Transform/GetAngleToTarget.cs')
-rw-r--r-- | Assets/ThirdParty/Behavior Designer/Runtime/Basic Tasks/Transform/GetAngleToTarget.cs | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/Assets/ThirdParty/Behavior Designer/Runtime/Basic Tasks/Transform/GetAngleToTarget.cs b/Assets/ThirdParty/Behavior Designer/Runtime/Basic Tasks/Transform/GetAngleToTarget.cs deleted file mode 100644 index cee67ccb..00000000 --- a/Assets/ThirdParty/Behavior Designer/Runtime/Basic Tasks/Transform/GetAngleToTarget.cs +++ /dev/null @@ -1,66 +0,0 @@ -using UnityEngine;
-
-namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityTransform
-{
- [TaskCategory("Basic/Transform")]
- [TaskDescription("Gets the Angle between a GameObject's forward direction and a target. Returns Success.")]
- public class GetAngleToTarget : Action
- {
- [Tooltip("The GameObject that the task operates on. If null the task GameObject is used.")]
- public SharedGameObject targetGameObject;
- [Tooltip("The target object to measure the angle to. If null the targetPosition will be used.")]
- public SharedGameObject targetObject;
- [Tooltip("The world position to measure an angle to. If the targetObject is also not null, this value is used as an offset from that object's position.")]
- public SharedVector3 targetPosition;
- [Tooltip("Ignore height differences when calculating the angle?")]
- public SharedBool ignoreHeight = true;
- [Tooltip("The angle to the target")]
- [RequiredField]
- public SharedFloat storeValue;
-
- private Transform targetTransform;
- private GameObject prevGameObject;
-
- public override void OnStart()
- {
- var currentGameObject = GetDefaultGameObject(targetGameObject.Value);
- if (currentGameObject != prevGameObject) {
- targetTransform = currentGameObject.GetComponent<Transform>();
- prevGameObject = currentGameObject;
- }
- }
-
- public override TaskStatus OnUpdate()
- {
- if (targetTransform == null) {
- Debug.LogWarning("Transform is null");
- return TaskStatus.Failure;
- }
-
- Vector3 targetPos;
- if (targetObject.Value != null) {
- targetPos = targetObject.Value.transform.InverseTransformPoint(targetPosition.Value);
- } else {
- targetPos = targetPosition.Value;
- }
-
- if (ignoreHeight.Value) {
- targetPos.y = targetTransform.position.y;
- }
-
- var targetDir = targetPos - targetTransform.position;
- storeValue.Value = Vector3.Angle(targetDir, targetTransform.forward);
-
- return TaskStatus.Success;
- }
-
- public override void OnReset()
- {
- targetGameObject = null;
- targetObject = null;
- targetPosition = Vector3.zero;
- ignoreHeight = true;
- storeValue = 0;
- }
- }
-}
\ No newline at end of file |