Joker 【Fantasy - 地图传送】 配置不同的地图。 我是直接继续发送 C2G_EnterMapRequest。 通过 gateRole.IsInMap() 判断是否已经存在于某个地图中。 gateRole.IsInMap() == true,如果正在地图中,且不等于目标地图,则开始地图传送: 删除 AddressableRouteComponent 组件。 发送 MessageHelper.SendAddressable(session.Scene, gateAccount.SelectRoleId, new G2M_SessionDisconnectMsg { }); 网关告诉地图,退出当前地图。 (G2M_SessionDisconnectHandler) 执行: unitManager.QuitMap(unit); unit退出所在地图。 执行进入新地图过程,同正常进入地图流程,发消寻址消息在新地图创建unit,添加unit组件,注册Addressable,返回新unitId。 网关session绑定新的AddressableId