示例#1
0
 void   ReadRoleData()
 {
     DataDBSBagItem.Read(GetDataPath(GTDataKey.Data_BagItems), EDataKeyType.Pos);
     DataDBSEquip.Read(GetDataPath(GTDataKey.Data_Equips), EDataKeyType.Instance);
     DataDBSDressEquip.Read(GetDataPath(GTDataKey.Data_DressEquips), EDataKeyType.Pos);
     DataDBSMoney.Read(GetDataPath(GTDataKey.Data_Moneys), EDataKeyType.Id);
     DataDBSAction.Read(GetDataPath(GTDataKey.Data_Actions), EDataKeyType.Id);
     DataDBSSoul.Read(GetDataPath(GTDataKey.Data_Souls), EDataKeyType.Id);
     DataDBSBagGem.Read(GetDataPath(GTDataKey.Data_BagGems), EDataKeyType.Pos);
     DataDBSGem.Read(GetDataPath(GTDataKey.Data_Gems), EDataKeyType.Instance);
     DataDBSDressGem.Read(GetDataPath(GTDataKey.Data_DressGems), EDataKeyType.Pos);
     DataDBSBagChip.Read(GetDataPath(GTDataKey.Data_BagChips), EDataKeyType.Pos);
     DataDBSBagFashion.Read(GetDataPath(GTDataKey.Data_BagFashions), EDataKeyType.Pos);
     DataDBSBagRune.Read(GetDataPath(GTDataKey.Data_BagRunes), EDataKeyType.Pos);
     DataDBSDressRune.Read(GetDataPath(GTDataKey.Data_DressRunes), EDataKeyType.Pos);
     DataDBSDressFashion.Read(GetDataPath(GTDataKey.Data_DressFashions), EDataKeyType.Pos);
     DataDBSRune.Read(GetDataPath(GTDataKey.Data_Runes), EDataKeyType.Instance);
     DataDBSCopy.Read(GetDataPath(GTDataKey.Data_Copys), EDataKeyType.Id);
     DataDBSMainChapter.Read(GetDataPath(GTDataKey.Data_MainChapters), EDataKeyType.Id);
     DataDBSRaid.Read(GetDataPath(GTDataKey.Data_Raid), EDataKeyType.Id);
     DataDBSPartner.Read(GetDataPath(GTDataKey.Data_Partners), EDataKeyType.Id);
     DataDBSMount.Read(GetDataPath(GTDataKey.Data_Mounts), EDataKeyType.Id);
     DataDBSRelics.Read(GetDataPath(GTDataKey.Data_Relics), EDataKeyType.Id);
     DataDBSPet.Read(GetDataPath(GTDataKey.Data_Pets), EDataKeyType.Id);
     DataDBSGuide.Read(GetDataPath(GTDataKey.Data_Guides), EDataKeyType.Id);
     DataDBSThreadTask.Read(GetDataPath(GTDataKey.Data_MainTasks), EDataKeyType.Id);
     DataDBSBranchTask.Read(GetDataPath(GTDataKey.Data_BranchTasks), EDataKeyType.Id);
     DataDBSDailyTask.Read(GetDataPath(GTDataKey.Data_DailyTasks), EDataKeyType.Id);
 }
示例#2
0
    public bool CheckCopy(ECopyType copyType, int chapter, int copyID)
    {
        int    key = (int)copyType;
        DWorld db  = ReadCfgWorld.GetDataById(chapter);

        if (DataDBSRaid.ContainsKey(key))
        {
            XRaid raid = DataDBSRaid.GetDataById(key);
            if (chapter > raid.MaxChapter)
            {
                if (chapter != raid.MaxChapter + 1)
                {
                    GTItemHelper.ShowTip(string.Format("章节超出限制:{0}/{1}", chapter, raid.MaxChapter));
                    return(false);
                }
                if (copyID != db.Copys[0])
                {
                    GTItemHelper.ShowTip("非法CopyID" + copyID);
                    return(false);
                }
            }
            else if (chapter == raid.MaxChapter)
            {
                if (copyID > raid.MaxCopyId + 1)
                {
                    GTItemHelper.ShowTip("非法CopyID" + copyID);
                    return(false);
                }
            }
        }
        return(true);
    }
示例#3
0
    void   DumpRoleData()
    {
        DataDBSMoney.Clear();
        DataDBSAction.Clear();
        DataDBSSoul.Clear();

        DataDBSBagItem.Clear();
        DataDBSBagGem.Clear();
        DataDBSBagChip.Clear();
        DataDBSBagRune.Clear();
        DataDBSBagFashion.Clear();

        DataDBSDressEquip.Clear();
        DataDBSDressFashion.Clear();
        DataDBSDressGem.Clear();
        DataDBSDressRune.Clear();

        DataDBSEquip.Clear();
        DataDBSGem.Clear();
        DataDBSRune.Clear();
        DataDBSMainChapter.Clear();
        DataDBSCopy.Clear();
        DataDBSRaid.Clear();

        DataDBSRelics.Clear();
        DataDBSMount.Clear();
        DataDBSPartner.Clear();
        DataDBSPet.Clear();
        DataDBSGuide.Clear();

        DataDBSThreadTask.Clear();
        DataDBSBranchTask.Clear();
        DataDBSDailyTask.Clear();
    }
示例#4
0
    public int GetMaxCopyIdByCopyType(ECopyType copyType)
    {
        int   key  = (int)copyType;
        XRaid raid = DataDBSRaid.GetDataById(key);

        return(raid == null ? 0 : raid.MaxCopyId);
    }
示例#5
0
    public int GetMaxChapterByCopyType(ECopyType copyType)
    {
        int   key  = (int)copyType;
        XRaid raid = DataDBSRaid.GetDataById(key);

        return(raid == null ? DWorld.WORLD_ST_CHAPTER_ID : raid.MaxChapter);
    }
示例#6
0
    public int GetMaxCanEnterChapter(int difficulty)
    {
        int chapter = 0;

        if (DataDBSRaid.ContainsKey(difficulty))
        {
            XRaid            raid      = DataDBSRaid.GetDataById(difficulty);
            DCopyMainChapter chapterDB = ReadCfgCopyMainChapter.GetDataById(raid.MaxChapter);
            if (chapterDB.Copys[chapterDB.Copys.Length - 1] == raid.MaxCopyId)
            {
                chapter = GetNextChapter(raid.MaxChapter);
            }
            else
            {
                chapter = raid.MaxChapter;
            }
        }
        else
        {
            chapter = DCopyMainChapter.MAINCOPY_ST_CHAPTER_ID;
        }
        return(chapter);
    }
示例#7
0
    public int GetMaxCanEnterChapter(ECopyType copyType)
    {
        int key     = (int)copyType;
        int chapter = 0;

        if (DataDBSRaid.ContainsKey(key))
        {
            XRaid  raid      = DataDBSRaid.GetDataById(key);
            DWorld chapterDB = ReadCfgWorld.GetDataById(raid.MaxChapter);
            if (chapterDB.Copys[chapterDB.Copys.Length - 1] == raid.MaxCopyId)
            {
                chapter = GetNextChapter(raid.MaxChapter);
            }
            else
            {
                chapter = raid.MaxChapter;
            }
        }
        else
        {
            chapter = DWorld.WORLD_ST_CHAPTER_ID;
        }
        return(chapter);
    }
示例#8
0
    private void OnAck_PassCopy(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckPassCopy            ack = Serializer.Deserialize <AckPassCopy>(ms);
        int chapter  = ack.Chapter;
        int copyID   = ack.CopyID;
        int copyType = ack.CopyType;
        int starNum  = ack.StarNum;

        XCopy copy;

        if (!DataDBSCopy.ContainsKey(copyID))
        {
            copy         = new XCopy();
            copy.Id      = copyID;
            copy.StarNum = starNum;
        }
        else
        {
            copy = DataDBSCopy.GetDataById(copyID);
            if (copy.StarNum < starNum)
            {
                copy.StarNum = starNum;
            }
        }
        DataDBSCopy.Update(copyID, copy);
        DCopy copyDB = ReadCfgCopy.GetDataById(copyID);

        GTDataManager.Instance.UseAction(copyDB.CostActionId, copyDB.CostActionNum);
        int   key = (int)copyType;
        XRaid raid;

        if (!DataDBSRaid.ContainsKey(key))
        {
            raid = new XRaid();
        }
        else
        {
            raid = DataDBSRaid.GetDataById(key);
        }

        raid.MaxChapter = chapter;
        raid.MaxCopyId  = copyID;
        raid.Id         = key;
        DataDBSRaid.Update(key, raid);

        if (starNum > 0)
        {
            XCharacter role = RoleModule.Instance.GetCurPlayer();
            RoleService.Instance.TryAddRoleExp(copyDB.GetExpRatio * role.Level);

            GTDataManager.Instance.AddMoney(copyDB.GetMoneyId, copyDB.GetMoneyRatio * role.Level);
            GTDataManager.Instance.UseAction(copyDB.CostActionId, copyDB.CostActionNum);
            List <KStruct> list = AwardModule.Instance.GetAwardDataByID(copyDB.AwardId);
            if (list != null)
            {
                GTDataManager.Instance.AddNewItemList(list, false);
            }
        }

        GTEventCenter.FireEvent(GTEventID.TYPE_PASS_COPY);
    }
示例#9
0
    public int GetMaxCopyIDByDifficulty(int difficulty)
    {
        XRaid raid = DataDBSRaid.GetDataById(difficulty);

        return(raid == null ? 0 : raid.MaxCopyId);
    }
示例#10
0
    public int GetMaxChapterByDifficulty(int difficulty)
    {
        XRaid raid = DataDBSRaid.GetDataById(difficulty);

        return(raid == null ? DCopyMainChapter.MAINCOPY_ST_CHAPTER_ID : raid.MaxChapter);
    }