31 lines
653 B
TypeScript
31 lines
653 B
TypeScript
/**
|
|
* 状态接口
|
|
* 定义状态机中状态的标准接口
|
|
*/
|
|
export interface IState {
|
|
/**
|
|
* 状态名称
|
|
* 用于标识和切换状态
|
|
*/
|
|
readonly name: string;
|
|
|
|
/**
|
|
* 进入状态时调用
|
|
* @param params 可选参数,用于传递状态切换时的数据
|
|
*/
|
|
onEnter(params?: any): void;
|
|
|
|
/**
|
|
* 更新状态(可选)
|
|
* 如果状态需要每帧更新,可以实现此方法
|
|
* @param dt 距离上一帧的时间增量(秒)
|
|
*/
|
|
onUpdate?(dt: number): void;
|
|
|
|
/**
|
|
* 退出状态时调用
|
|
* 用于清理状态相关的资源
|
|
*/
|
|
onExit(): void;
|
|
}
|