public void OnResponse_MSG_GC_ENTER_ZONE(MemoryStream stream) { MSG_GC_ENTER_ZONE MSG_GC_ENTER_ZONE = MessagePacker.ProtobufHelper.Deserialize <MSG_GC_ENTER_ZONE>(stream); player.MapTransforming = true; player.CharInfo.InstanceId = MSG_GC_ENTER_ZONE.InstanceId; player.CurrentCharacterId = MSG_GC_ENTER_ZONE.InstanceId; player.CharInfo.PosX = MSG_GC_ENTER_ZONE.PosX; player.CharInfo.PosY = MSG_GC_ENTER_ZONE.PosY; player.IsChangeChannel = false; if (player.Channel != 0 && player.Channel != MSG_GC_ENTER_ZONE.Channel) { //判断是否切线,是则不load场景 不清除NPC和采集物 TODO player.IsChangeChannel = true; } player.Channel = MSG_GC_ENTER_ZONE.Channel; player.MinChannel = MSG_GC_ENTER_ZONE.MinChannel; player.MaxChannel = MSG_GC_ENTER_ZONE.MaxChannel; //if (PLAYER.BattleType < (int)BattleType.MatchNormal) //{//非战场 if (!player.IsChangeChannel) {//非切线 //CharacterManager.inst.ClearQueue(); //CharacterManager.inst.BindPlayer(PLAYER.CharInfo); //MapManager.inst.LoadMap(MSG_GC_ENTER_ZONE.mapId); //foreach (MSG_ZGC_NPC_INFO info in MSG_GC_ENTER_ZONE.NpcList) //{ // CharacterManager.inst.BindNPC(info); //} //foreach (MSG_ZGC_GOODS_INFO item in MSG_GC_ENTER_ZONE.GoodsList) //{ // CharacterManager.inst.BindNPCItem(item); //} Login_Request_MSG_CG_MAP_LOADING_DONE(MSG_GC_ENTER_ZONE.MapId, player.Channel); } else {//切线 清除场景中玩家 //CharacterManager.inst.ClearOtherPlayer(); //// CharacterManager.inst.ClearQueue(); //CharacterManager.inst.BindPlayer(PLAYER.CharInfo); //UI.CloseWait(OnCloseWait(), 3f, "system_changechannelsuccess"); Login_Request_MSG_CG_MAP_LOADING_DONE(MSG_GC_ENTER_ZONE.MapId, player.Channel); player.MapTransforming = false; } }
public void OnResponse_MSG_GC_ENTER_ZONE(MemoryStream stream) { MSG_GC_ENTER_ZONE MSG_GC_ENTER_ZONE = ProtoBuf.Serializer.Deserialize <MSG_GC_ENTER_ZONE>(stream); player.MapTransforming = true; player.CharInfo.InstanceId = MSG_GC_ENTER_ZONE.instanceId; player.CurrentCharacterId = MSG_GC_ENTER_ZONE.instanceId; player.CharInfo.PosX = MSG_GC_ENTER_ZONE.posX; player.CharInfo.PosY = MSG_GC_ENTER_ZONE.posY; player.IsChangeChannel = false; if (player.Channel != 0 && player.Channel != MSG_GC_ENTER_ZONE.channel) { //判断是否切线,是则不load场景 不清除NPC和采集物 TODO player.IsChangeChannel = true; } player.Channel = MSG_GC_ENTER_ZONE.channel; player.MinChannel = MSG_GC_ENTER_ZONE.minChannel; player.MaxChannel = MSG_GC_ENTER_ZONE.maxChannel; Request_MSG_CG_MAP_LOADING_DONE(MSG_GC_ENTER_ZONE.mapId, player.Channel); }