Files
beyond/Assets/Scripts/Invector/vChangeFSM.cs
2024-11-20 15:21:28 +01:00

55 lines
1.4 KiB
C#

using Invector.vCharacterController.AI.FSMBehaviour;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Beyond
{
public class vChangeFSM : MonoBehaviour
{
public vFSMBehaviour newBehaviour;
private vFSMBehaviourController _vFSMBehaviourController;
private void Awake()
{
_vFSMBehaviourController = GetComponent<vFSMBehaviourController>();
}
/// <summary>
/// Change the behavior to data in the script.
/// </summary>
public void ChangeBehaviour()
{
OnChangeBehaviour(null);
}
/// <summary>
/// Change the behavior to vFSMBehaviour.
/// </summary>
/// <param name="vFSMBehaviour"></param>
public void ChangeBehaviour(vFSMBehaviour vFSMBehaviour)
{
OnChangeBehaviour(vFSMBehaviour);
}
private void OnChangeBehaviour(vFSMBehaviour behaviour)
{
if (_vFSMBehaviourController == null)
{
return;
}
if (behaviour != null)
{
_vFSMBehaviourController.ChangeBehaviour(behaviour);
}
else if (newBehaviour != null)
{
_vFSMBehaviourController.ChangeBehaviour(newBehaviour);
}
}
}
}