Files
rougelike-demo/client/assets/scripts/Framework/FSM/BaseState.ts

54 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-12-14 22:38:43 +08:00
import { IState } from "./IState";
/**
*
*
*/
export abstract class BaseState implements IState {
/**
*
*/
protected _fsm: any;
/**
*
*/
public readonly name: string;
/**
*
* @param fsm
* @param name
*/
constructor(fsm: any, name: string) {
this._fsm = fsm;
this.name = name;
}
/**
*
*
* @param params
*/
onEnter(params?: any): void {
console.log(`[FSM] 进入状态: ${this.name}`, params || '');
}
/**
*
*
* @param dt ()
*/
onUpdate?(dt: number): void {
// 子类可选择实现
}
/**
* 退
*
*/
onExit(): void {
console.log(`[FSM] 退出状态: ${this.name}`);
}
}