19 lines
522 B
TypeScript
19 lines
522 B
TypeScript
import { HeroView } from "./HeroView";
|
|
import { HeroAnimState } from "./HeroState";
|
|
|
|
/** 英雄动画状态机 */
|
|
export class HeroStateMachine {
|
|
private _currentState: HeroAnimState = HeroAnimState.IDLE;
|
|
|
|
/**
|
|
* 切换状态
|
|
* @param newState 新状态
|
|
* @param view 视图组件
|
|
*/
|
|
changeState(newState: HeroAnimState, view: HeroView) {
|
|
if (this._currentState !== newState) {
|
|
view.playAnimation(newState);
|
|
this._currentState = newState;
|
|
}
|
|
}
|
|
}
|