41 lines
836 B
C#
41 lines
836 B
C#
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
//============================================================
|
||
//支持中文,文件使用UTF-8编码
|
||
//@author JiphuTzu
|
||
//@create 20220910
|
||
//@company Umawerse
|
||
//
|
||
//@description:
|
||
//============================================================
|
||
namespace Umawerse.FiniteStateMachines
|
||
{
|
||
public abstract class FiniteState
|
||
{
|
||
public StateName name { get; }
|
||
|
||
public FiniteState(StateName name)
|
||
{
|
||
this.name = name;
|
||
}
|
||
|
||
public abstract void Enter();
|
||
|
||
public virtual StateName Update()
|
||
{
|
||
return name;
|
||
}
|
||
public abstract void Exit();
|
||
}
|
||
public abstract class FiniteState<T>:FiniteState where T:MonoBehaviour
|
||
{
|
||
protected T root { get; }
|
||
public FiniteState(T root,StateName name):base(name)
|
||
{
|
||
this.root = root;
|
||
}
|
||
}
|
||
}
|