Files
2024-11-20 15:21:28 +01:00

50 lines
1.6 KiB
C#

using UnityEngine;
namespace Invector.vCharacterController.AI.FSMBehaviour
{
public class vSetAnimatorParameter : vStateAction
{
public enum ParameterType { Float, Int, Bool, Trigger }
public override string categoryName
{
get { return "Custom Example/"; }
}
public override string defaultName
{
get { return "Set Animator Parameter"; }
}
public ParameterType parameterType = ParameterType.Bool;
public string parameterName = "";
[Space]
public float floatValue;
public int intValue;
public bool boolValue;
public override void DoAction(vIFSMBehaviourController fsmBehaviour, vFSMComponentExecutionType executionType = vFSMComponentExecutionType.OnStateUpdate)
{
if (!string.IsNullOrEmpty(parameterName))
{
switch (parameterType)
{
case ParameterType.Float:
fsmBehaviour.aiController.animator.SetFloat(parameterName, floatValue);
break;
case ParameterType.Int:
fsmBehaviour.aiController.animator.SetInteger(parameterName, intValue);
break;
case ParameterType.Bool:
fsmBehaviour.aiController.animator.SetBool(parameterName, boolValue);
break;
case ParameterType.Trigger:
fsmBehaviour.aiController.animator.SetTrigger(parameterName);
break;
}
}
}
}
}