using UnityEngine; namespace Invector.vCharacterController.AI.FSMBehaviour { public class vGetPlayerPositionSpiderBoss : vStateAction { public override string categoryName { get { return "Custom Example/"; } } public override string defaultName { get { return "Get Player Attack Position Spider Boss"; } } public AnimationCurve postionOffset = AnimationCurve.Linear(-1f, -1f, 1f, 1f); public string parameterName = ""; public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate) { if (!fsmBehaviour.aiController.currentTarget.transform) return; var targetPosition = fsmBehaviour.aiController.currentTarget.transform; float floatValue = fsmBehaviour.transform.InverseTransformPoint(targetPosition.position).x; if (!string.IsNullOrEmpty(parameterName)) { fsmBehaviour.aiController.animator.SetFloat(parameterName, postionOffset.Evaluate(floatValue)); } } } }