2025-03-31 11:23:20 +08:00
|
|
|
|
using System.Collections;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Stary.Evo.FiniteStateMachine
|
|
|
|
|
|
{
|
2025-04-10 11:20:22 +08:00
|
|
|
|
public interface IFSMIState
|
2025-03-31 11:23:20 +08:00
|
|
|
|
{
|
2025-04-10 11:46:42 +08:00
|
|
|
|
IFsmSystem IfsmSystem { get; }
|
2025-04-10 11:20:22 +08:00
|
|
|
|
string Name { get; }
|
2025-03-31 11:23:20 +08:00
|
|
|
|
public void OnEnter();
|
|
|
|
|
|
public void OnExit();
|
|
|
|
|
|
public void Update();
|
|
|
|
|
|
public void FixedUpdate();
|
|
|
|
|
|
public void OnDestory();
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-04-10 11:20:22 +08:00
|
|
|
|
public abstract class AbstractState : IFSMIState
|
2025-03-31 11:23:20 +08:00
|
|
|
|
{
|
2025-04-10 11:46:42 +08:00
|
|
|
|
public IFsmSystem IfsmSystem { get; }
|
2025-04-10 11:20:22 +08:00
|
|
|
|
public string Name { get; }
|
2025-03-31 11:23:20 +08:00
|
|
|
|
public abstract void OnEnter();
|
|
|
|
|
|
public abstract void OnExit();
|
|
|
|
|
|
public abstract void Update();
|
|
|
|
|
|
public abstract void FixedUpdate();
|
|
|
|
|
|
public abstract void OnDestory();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|