virtual protected void InitState() { State idleState = new IdleState(); State moveState = new MoveState(); State interactionState = new InteractionState(); idleState.Init(this); moveState.Init(this); interactionState.Init(this); _stateDic.Add(eState.IDLE, idleState); _stateDic.Add(eState.MOVE, moveState); _stateDic.Add(eState.INTERACTION, interactionState); }