コード例 #1
0
    static void CalcAllEquipPropertys(Dictionary <EAttr, int> dict)
    {
        Dictionary <int, XItem> dressEquips = DataDBSDressEquip.Dict;

        Dictionary <int, XItem> .Enumerator em1 = dressEquips.GetEnumerator();
        while (em1.MoveNext())
        {
            if (em1.Current.Value.Instance == 0)
            {
                continue;
            }
            int instanceID = em1.Current.Value.Instance;
            if (!DataDBSEquip.ContainsKey(instanceID))
            {
                continue;
            }
            XEquip equip = DataDBSEquip.GetDataById(instanceID);
            Dictionary <EAttr, int> .Enumerator em2 = GetPropertys(equip).GetEnumerator();
            while (em2.MoveNext())
            {
                dict[em2.Current.Key] += em2.Current.Value;
            }
            em2.Dispose();
        }
        em1.Dispose();
    }
コード例 #2
0
    public int CompareBagItem(XItem x1, XItem x2)
    {
        DItem itemDB1 = ReadCfgItem.GetDataById(x1.Id);
        DItem itemDB2 = ReadCfgItem.GetDataById(x2.Id);

        if (itemDB1.ItemType != itemDB2.ItemType)
        {
            return(itemDB1.ItemType - itemDB2.ItemType);
        }
        if (itemDB1.Quality != itemDB2.Quality)
        {
            return(itemDB2.Quality - itemDB1.Quality);
        }
        if (itemDB1.ItemType == EItemType.EQUIP)
        {
            XEquip xe1 = DataDBSEquip.GetDataById(x1.Instance);
            XEquip xe2 = DataDBSEquip.GetDataById(x2.Instance);
            return(CompareBagEquip(xe1, xe2));
        }
        if (itemDB1.Id != itemDB2.Id)
        {
            return(itemDB2.Id - itemDB1.Id);
        }
        return(x1.Instance - x2.Instance);
    }
コード例 #3
0
ファイル: MLEquip.cs プロジェクト: zyb2013/GameProject3
    public bool IsCanAsMatToAutoAdd(XItem item)
    {
        XEquip equip   = DataDBSEquip.GetDataById(item.Instance);
        DEquip equipDB = ReadCfgEquip.GetDataById(equip.Id);

        return(equipDB.Quality < 3);
    }
コード例 #4
0
ファイル: MLEquip.cs プロジェクト: zyb2013/GameProject3
    public int CompareStrengthMat(XItem x1, XItem x2)
    {
        XEquip e1  = DataDBSEquip.GetDataById(x1.Instance);
        XEquip e2  = DataDBSEquip.GetDataById(x2.Instance);
        DEquip db1 = ReadCfgEquip.GetDataById(e1.Id);
        DEquip db2 = ReadCfgEquip.GetDataById(e2.Id);

        if (db1.Quality != db2.Quality)
        {
            return(db1.Quality - db2.Quality);
        }
        if (e1.StarLevel != e2.StarLevel)
        {
            return(e1.StarLevel - e2.StarLevel);
        }
        if (e1.AdvanceLevel != e2.AdvanceLevel)
        {
            return(e1.AdvanceLevel - e2.AdvanceLevel);
        }
        if (e1.StrengthenExp != e2.StrengthenExp)
        {
            return(e1.StrengthenExp - e2.StrengthenExp);
        }
        return(x2.Pos - x1.Pos);
    }
コード例 #5
0
ファイル: MLEquip.cs プロジェクト: zyb2013/GameProject3
    public int GetStrengthenExpByMatList(List <XItem> list)
    {
        if (list == null)
        {
            return(0);
        }
        int exp = 0;

        for (int i = 0; i < list.Count; i++)
        {
            if (list[i].PosType == (int)EPosType.RoleMoney)
            {
                exp += list[i].Num;
            }
            else
            {
                XItem  mat     = list[i];
                DEquip equipDB = ReadCfgEquip.GetDataById(mat.Id);
                XEquip equip   = DataDBSEquip.GetDataById(mat.Instance);
                exp += equipDB.DeComposeNum2;
                exp += equip.StrengthenExp;
                int lv = equip.StrengthenLevel;
                for (int j = lv; j > 0; j--)
                {
                    DEquipStrengLevel db = ReadCfgEquipStrengLevel.GetDataById(equipDB.Quality * 1000 + j);
                    exp += db.RequireExp;
                }
            }
        }
        return(exp);
    }
コード例 #6
0
ファイル: MLEquip.cs プロジェクト: zyb2013/GameProject3
    public List <XItem> GetBagSameEquipList(XEquip equip)
    {
        List <XItem> list = new List <XItem>();

        Dictionary <int, XItem> .Enumerator em = DataDBSBagItem.Dict.GetEnumerator();
        while (em.MoveNext())
        {
            XItem item   = em.Current.Value;
            DItem itemDB = ReadCfgItem.GetDataById(item.Id);
            if (itemDB.ItemType != EItemType.EQUIP)
            {
                continue;
            }
            XEquip e = DataDBSEquip.GetDataById(item.Instance);
            if (e.Id != equip.Id)
            {
                continue;
            }
            if (e.Instance == equip.Instance)
            {
                continue;
            }
            if (e.StarLevel > 0)
            {
                continue;
            }
            if (e.StrengthenLevel > 0)
            {
                continue;
            }
            if (e.StrengthenExp > 0)
            {
                continue;
            }
            if (e.AdvanceLevel > 0)
            {
                continue;
            }
            list.Add(item);
        }
        em.Dispose();
        return(list);
    }