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
}