private void OnAck_RoleLoginAck(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); RoleLoginAck ack = Serializer.Deserialize <RoleLoginAck>(ms); if (GTItemHelper.ShowNetworkError(ack.RetCode) == false) { return; } GTGlobal.CurPlayerCarrerID = ack.Carrer; GTGlobal.CurPlayerGUID = ack.RoleID; for (int i = 0; i < ack.Action.Count; i++) { int num = (int)ack.Action[i]; int id = i + 101; DataDBSAction.Update(id, new XAction() { Id = id, Num = num }); } GTDataTimer.Instance.Init(); GTWorld.Instance.EnterGuide(); GTWorld.Instance.Bie.UseGuide = GTLauncher.Instance.UseGuide; GTEventCenter.FireEvent(GTEventID.TYPE_LOGIN_ROLELOGIN); }
private void OnAck_AdvanceEquip(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckAdvanceEquip ack = Serializer.Deserialize <AckAdvanceEquip>(ms); XEquip equip = ack.TarEquip; List <XItem> list = ack.UseItems; DEquip equipDB = ReadCfgEquip.GetDataById(equip.Id); int advanceID = equipDB.Quality * 1000 + equip.AdvanceLevel + 1; DEquipAdvanceCost db = ReadCfgEquipAdvanceCost.GetDataById(advanceID); GTDataManager.Instance.UseMoney(db.CostMoneyId, db.CostMoneyNum); GTDataManager.Instance.UseItemById(db.CostItemId, db.CostItemNum); if (list != null) { for (int i = 0; i < list.Count; i++) { GTDataManager.Instance.DelBagEquip(list[i].Pos); } } equip.AdvanceLevel++; DataDBSEquip.Update(equip.Instance, equip); CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR); GTEventCenter.FireEvent(GTEventID.TYPE_ADVANCE_EQUIP); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }
private void OnReq_RoleLogin(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); RoleLoginReq req = Serializer.Deserialize <RoleLoginReq>(ms); foreach (var current in DataDBSCharacter.Dict) { XCharacter c = current.Value; if (c.GUID == req.RoleID) { RoleLoginAck ack = new RoleLoginAck(); ack.RoleID = c.GUID; ack.Name = c.Name; ack.Carrer = c.Carrer; ack.Level = c.Level; ack.Exp = c.CurExp; GTDataManager.Instance.LoadRoleData(c.Carrer); NetworkManager.Instance.Send(MessageID.MSG_ROLE_LOGIN_ACK, ack, 0, 0); NotifyIntoScene ntf = new NotifyIntoScene(); ntf.CopyID = GTGlobal.LastCityID; ntf.CopyGuid = 0; ntf.RoleID = c.GUID; ntf.ServerID = MLLogin.Instance.GetCurrServerID(); NetworkManager.Instance.Send(MessageID.MSG_NOTIFY_INTO_SCENE, ntf, 0, 0); break; } } }
private void OnAck_SelectServer(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); SelectServerAck ack = Serializer.Deserialize <SelectServerAck>(ms); if (GTItemHelper.ShowNetworkError(ack.RetCode) == false) { return; } GTEventCenter.FireEvent(GTEventID.TYPE_LOGIN_SELECTSERVER); if (GTGlobal.IsAlong) { GTLauncher.Instance.LoadScene(GTCopyKey.SCENE_Role); } else { NetworkManager.Instance.Close(); NetworkManager.Instance.ConnectGameServer(ack.ServerAddr, ack.ServerPort, () => { RoleListReq req = new RoleListReq(); req.AccountID = MLLogin.Instance.LastAccountID; req.LoginCode = ack.LoginCode; NetworkManager.Instance.Send(MessageID.MSG_ROLE_LIST_REQ, req); }); } }
private void OnAck_UseItem(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckUseItem ack = Serializer.Deserialize <AckUseItem>(ms); int pos = ack.Pos; int num = ack.Num; int id = ack.ID; XItem item = DataDBSBagItem.GetDataById(pos); DItem itemDB = ReadCfgItem.GetDataById(item.Id); switch (itemDB.ItemType) { case EItemType.DRUG: GTDataManager.Instance.AddNewItem(itemDB.Data2, itemDB.Data1 * num); GTDataManager.Instance.UseItemById(itemDB.Id, num); break; case EItemType.BOX: break; } GTEventCenter.FireEvent(GTEventID.TYPE_BAG_USE_ITEM, id, num); }
private void OnAck_ChangePartner(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckChangePartner ack = Serializer.Deserialize <AckChangePartner>(ms); XCharacter role = RoleModule.Instance.GetCurPlayer(); switch (ack.Pos) { case 1: role.Partner1 = ack.ID; break; case 2: role.Partner2 = ack.ID; break; } DataDBSRole.Update(role.Id, role); if (!DataDBSPartner.ContainsKey(ack.ID)) { XPartner xp = new XPartner(); xp.Id = ack.ID; xp.Level = 1; xp.Star = 0; xp.Wake = 0; xp.Advance = 1; xp.Exp = 0; DataDBSPartner.Insert(ack.ID, xp); } CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_PARTNER, ack.Pos, ack.ID); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }
public void Execute() { lock (m_RecvPackets) { if (m_RecvPackets.Count > 0) { for (int i = 0; i < m_RecvPackets.Count; i++) { MessageRecv recv = m_RecvPackets[i]; DispatchPacket(recv); } m_RecvPackets.Clear(); } } lock (m_SendPackets) { if (m_SendPackets.Count > 0) { for (int i = 0; i < m_SendPackets.Count; i++) { Send(m_SendPackets[i]); } m_SendPackets.Clear(); } } }
private void OnAck_AccountRegister(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AccountRegAck ack = Serializer.Deserialize <AccountRegAck>(ms); GTEventCenter.FireEvent(GTEventID.TYPE_REGISTER_CALLBACK); }
private void OnReq_GetServerList(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ClientServerListReq req = Serializer.Deserialize <ClientServerListReq>(ms); ClientServerListAck ack = new ClientServerListAck(); NetworkManager.Instance.Send(MessageID.MSG_SERVER_LIST_ACK, ack, 0, 0); }
private void OnReq_LoginServer(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); SelectServerReq req = Serializer.Deserialize <SelectServerReq>(ms); SelectServerAck ack = new SelectServerAck(); NetworkManager.Instance.Send(MessageID.MSG_SELECT_SERVER_ACK, ack, 0, 0); }
private void OnReq_Register(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AccountRegReq req = Serializer.Deserialize <AccountRegReq>(ms); AccountRegAck ack = new Protocol.AccountRegAck(); NetworkManager.Instance.Send(MessageID.MSG_ACCOUNT_REG_ACK, ack, 0, 0); }
private void OnReq_Login(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AccountLoginReq req = Serializer.Deserialize <AccountLoginReq>(ms); AccountLoginAck ack = new AccountLoginAck(); NetworkManager.Instance.Send(MessageID.MSG_ACCOUNT_LOGIN_ACK, ack, 0, 0); }
private void OnAck_EnterScene(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); EnterSceneAck ack = Serializer.Deserialize <EnterSceneAck>(ms); GTEventCenter.FireEvent(GTEventID.TYPE_ENTERGAME_CALLBACK); GTLauncher.Instance.LoadScene(GTGlobal.LAST_CITY_ID); }
private void OnAck_GetServerList(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ClientServerListAck ack = Serializer.Deserialize <ClientServerListAck>(ms); LoginModule.Instance.SetServerList(ack.SvrNode); GTEventCenter.FireEvent(GTEventID.TYPE_GETSERVERS_CALLBACK); }
private void OnAck_NotifyIntoScene(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); NotifyIntoScene ack = Serializer.Deserialize <NotifyIntoScene>(ms); EnterSceneReq req = new EnterSceneReq(); req.RoleID = ack.RoleID; NetworkManager.Instance.Send(MessageID.MSG_ENTER_SCENE_REQ, req, (UInt64)ack.CopyID, (UInt32)ack.ServerID); }
private void OnNty_EnterView(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); EnterViewNtf nty = Serializer.Deserialize <EnterViewNtf>(ms); for (int i = 0; i < nty.List.Count; i++) { Character cc = GTWorld.Instance.AddActorLocalSync(nty.List[i]); } }
private void OnReq_SetMount(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqSetMount req = Serializer.Deserialize <ReqSetMount>(ms); AckSetMount ack = new AckSetMount(); ack.MountID = req.MountID; NetworkManager.Instance.Send(MessageID.MSG_ACK_SETMOUNT, ack, 0, 0); }
private void OnReq_UpgradeRelics(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqUpgradeRelics req = Serializer.Deserialize <ReqUpgradeRelics>(ms); AckUpgradeRelics ack = new AckUpgradeRelics(); ack.RelicsID = req.RelicsID; NetworkManager.Instance.Send(MessageID.MSG_ACK_UPGRADE_RELICS, ack, 0, 0); }
private void OnReq_BattlePet(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqBattlePet req = Serializer.Deserialize <ReqBattlePet>(ms); AckBattlePet ack = new AckBattlePet(); ack.ID = req.ID; NetworkManager.Instance.Send(MessageID.MSG_ACK_BATTLE_PET, ack, 0, 0); }
private void OnReq_AdvancePartner(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqAdvancePartner req = Serializer.Deserialize <ReqAdvancePartner>(ms); AckAdvancePartner ack = new AckAdvancePartner(); ack.ID = req.ID; NetworkManager.Instance.Send(MessageID.MSG_ACK_ADVANVE_PARTNER, ack, 0, 0); }
private void OnNty_ObjectRemove(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ObjectRemoveNty Nty = Serializer.Deserialize <ObjectRemoveNty>(ms); for (int i = 0; i < Nty.RemoveList.Count; i++) { GTWorld.Instance.DelActor(Nty.RemoveList[i]); } }
private void OnReq_SortBag(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqSortBag req = Serializer.Deserialize <ReqSortBag>(ms); AckSortBag ack = new AckSortBag(); ack.BagType = req.BagType; NetworkManager.Instance.Send(MessageID.MSG_ACK_SORTBAG, ack, 0, 0); }
private void OnNty_LeaveView(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); LeaveViewNtf Nty = Serializer.Deserialize <LeaveViewNtf>(ms); for (int i = 0; i < Nty.List.Count; i++) { GTWorld.Instance.DelActor(Nty.List[i]); } }
private void OnAck_SetMount(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckSetMount ack = Serializer.Deserialize <AckSetMount>(ms); XCharacter role = GTGlobal.Main; role.Mount = ack.MountID; DataDBSCharacter.Update(role.Carrer, role); GTEventCenter.FireEvent(GTEventID.TYPE_MOUNT_DRESSMOUNT); }
private void OnAck_RoleLoginAck(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); RoleLoginAck ack = Serializer.Deserialize <RoleLoginAck>(ms); GTGlobal.CurPlayerID = (int)ack.RoleType; GTEventCenter.FireEvent(GTEventID.TYPE_ENTERGAME_CALLBACK); GTLauncher.Instance.LoadScene(GTGlobal.LAST_CITY_ID); }
static void DispatchPacket(MessageRecv recv) { MessageCallbackData d = null; m_MessageDispatchs.TryGetValue(recv.MsgID, out d); if (d != null) { d.Handler(recv); } }
static void DispatchPacket(MessageRecv recv) { NetworkHandler handle = null; m_MessageDispatchs.TryGetValue(recv.MsgID, out handle); if (handle != null) { handle.Invoke(recv); } }
private void OnReq_AddHeroExp(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqAddPlayerExp req = Serializer.Deserialize <ReqAddPlayerExp>(ms); AckAddPlayerExp ack = new AckAddPlayerExp(); ack.Exp = req.Exp; NetworkManager.Instance.Send(MessageID.MSG_ACK_ADDHERO_EXP, ack, 0, 0); }
private void OnAck_NotifyIntoScene(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); NotifyIntoScene ack = Serializer.Deserialize <NotifyIntoScene>(ms); GTLauncher.Instance.LoadScene(ack.CopyID, () => { GTNetworkSend.Instance.TryEnterScene(ack.RoleID, ack.CopyID, ack.CopyGuid, ack.ServerID); }); }
private void OnReq_UpStarEquip(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); ReqUpStarEquip req = Serializer.Deserialize <ReqUpStarEquip>(ms); AckUpStarEquip ack = new AckUpStarEquip(); ack.TarEquip = req.TarEquip; NetworkManager.Instance.Send(MessageID.MSG_ACK_UPSTAR_EQUIP, ack, 0, 0); }