using System;
namespace SK.Framework
{
///
/// 状态接口
///
public interface IState
{
///
/// 状态名称
///
string Name { get; set; }
///
/// 状态初始化事件
///
void OnInitialization();
///
/// 状态进入事件
///
void OnEnter();
///
/// 状态停留事件(Update)
///
void OnStay();
///
/// 状态退出事件
///
void OnExit();
///
/// 状态终止事件
///
void OnTermination();
///
/// 状态切换条件
///
/// 切换条件
/// 目标状态名称
void SwitchWhen(Func predicate, string targetStateName);
}
}