Files
beyond/Assets/ThirdParty/Invector-AIController/Scripts/AI/Examples/vGetPlayerPositionSpiderBoss.cs
2024-11-20 15:21:28 +01:00

35 lines
1.1 KiB
C#

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));
}
}
}
}