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); }
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); }