Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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;
            }
        }
    }
Ejemplo n.º 4
0
    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);
            });
        }
    }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 6
0
    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);
    }
Ejemplo n.º 7
0
 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();
         }
     }
 }
Ejemplo n.º 8
0
    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);
    }
Ejemplo n.º 9
0
    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);
    }
Ejemplo n.º 10
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);
    }
Ejemplo n.º 11
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);
    }
Ejemplo n.º 12
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);
    }
Ejemplo n.º 13
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);
    }
Ejemplo n.º 14
0
    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);
    }
Ejemplo n.º 15
0
    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);
    }
Ejemplo n.º 16
0
    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]);
        }
    }
Ejemplo n.º 17
0
    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);
    }
Ejemplo n.º 18
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);
    }
Ejemplo n.º 19
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);
    }
Ejemplo n.º 20
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);
    }
Ejemplo n.º 21
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]);
        }
    }
Ejemplo n.º 22
0
    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);
    }
Ejemplo n.º 23
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]);
        }
    }
Ejemplo n.º 24
0
    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);
    }
Ejemplo n.º 25
0
    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);
    }
Ejemplo n.º 26
0
    static void DispatchPacket(MessageRecv recv)
    {
        MessageCallbackData d = null;

        m_MessageDispatchs.TryGetValue(recv.MsgID, out d);
        if (d != null)
        {
            d.Handler(recv);
        }
    }
Ejemplo n.º 27
0
    static void DispatchPacket(MessageRecv recv)
    {
        NetworkHandler handle = null;

        m_MessageDispatchs.TryGetValue(recv.MsgID, out handle);
        if (handle != null)
        {
            handle.Invoke(recv);
        }
    }
Ejemplo n.º 28
0
    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);
    }
Ejemplo n.º 29
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);
        });
    }
Ejemplo n.º 30
0
    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);
    }