24 lines
491 B
TypeScript
24 lines
491 B
TypeScript
import { _decorator, Component } from 'cc';
|
|
import { EntityStateEnum } from '../Enum';
|
|
import StateMachine from './StateMachine';
|
|
const { ccclass, property } = _decorator;
|
|
|
|
@ccclass('EntityManager')
|
|
export abstract class EntityManager extends Component {
|
|
fsm: StateMachine
|
|
private _state: EntityStateEnum
|
|
|
|
|
|
get state() {
|
|
return this._state
|
|
}
|
|
|
|
set state(newState) {
|
|
this._state = newState
|
|
this.fsm.setParams(newState, true)
|
|
}
|
|
|
|
abstract init(...args: any[]): void
|
|
}
|
|
|