Exemple #1
0
    public int GetChapterRewardStateByAwardIndex(int chapter, int index)
    {
        if (!DataDBSMainChapter.ContainsKey(chapter))
        {
            return(ERewardState.NOT_RECEIVE);
        }
        XMainChapter vo      = DataDBSMainChapter.GetDataById(chapter);
        DWorld       db      = ReadCfgWorld.GetDataById(chapter);
        int          starNum = GetChapterStarNumByChapter(chapter);

        if (starNum < db.Stars[index])
        {
            return(ERewardState.NOT_RECEIVE);
        }
        int s = 0;

        switch (index)
        {
        case 0:
            s = vo.Award1;
            break;

        case 1:
            s = vo.Award2;
            break;

        case 2:
            s = vo.Award3;
            break;
        }
        return(s == 1 ? ERewardState.HAS_RECEIVE : ERewardState.CAN_RECEIVE);
    }
Exemple #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);
    }