35 lines
1.1 KiB
C#
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));
|
|
}
|
|
}
|
|
}
|
|
}
|