示例#1
0
    private void OnReq_GetChapterAward(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        ReqGetChapterAward     req = Serializer.Deserialize <ReqGetChapterAward>(ms);

        AckGetChapterAward ack = new AckGetChapterAward();

        ack.CopyType = req.CopyType;
        ack.Chapter  = req.Chapter;
        ack.Index    = req.Index;
        NetworkManager.Instance.Send(MessageID.MSG_ACK_GET_CHAPTERAWARD, ack, 0, 0);
    }
示例#2
0
    private void OnAck_GetChapterAward(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckGetChapterAward     ack = Serializer.Deserialize <AckGetChapterAward>(ms);
        int chapter    = ack.Chapter;
        int awardIndex = ack.Index;

        DWorld       db = ReadCfgWorld.GetDataById(chapter);
        XMainChapter xc;

        if (!DataDBSMainChapter.ContainsKey(chapter))
        {
            xc    = new XMainChapter();
            xc.Id = chapter;
        }
        else
        {
            xc = DataDBSMainChapter.GetDataById(chapter);
        }

        switch (awardIndex)
        {
        case 0:
            xc.Award1 = 1;
            break;

        case 1:
            xc.Award2 = 1;
            break;

        case 3:
            xc.Award3 = 1;
            break;
        }

        DataDBSMainChapter.Update(chapter, xc);

        int            awardID = db.Awards[awardIndex];
        List <KStruct> list    = AwardModule.Instance.GetAwardDataByID(awardID);

        for (int i = 0; i < list.Count; i++)
        {
            GTDataManager.Instance.AddNewItem(list[i].Id, list[i].Num);
        }

        GTEventCenter.FireEvent(GTEventID.TYPE_GET_CHAPTERAWARD);
    }