public override void onMessage(AIMoveController obj, StateMsg <AIMoveController> msg) { AIMsg type = (AIMsg)msg.type; switch (type) { case AIMsg.findPathOk: obj.getSM().changeState(AIMoveState.Instance()); break; case AIMsg.catchByTrap: obj.getSM().changeState(AICatchByTrapState.Instance()); break; case AIMsg.catchPlayer: obj.getSM().changeState(AICatchPlayerState.Instance()); break; } }