예제 #1
0
    /// <summary>
    /// 遍历出下前级数的装备属性
    /// </summary>
    /// <param name="c"></param>
    /// <returns></returns>
    public EquipmentKitData GetEquipmentKitNextLevelByLevel(int c)
    {
        //目前最小的
        EquipmentKitData min = null;
        int id = 0;

        //遍历
        for (int i = 0; i < equipmentKitList.Count; i++)
        {
            if (equipmentKitList[i].level < c)
            {
                if (min == null)
                {
                    min = equipmentKitList[i];
                    id  = i;
                }
                else if (min.level < equipmentKitList[i].level)
                {
                    min = equipmentKitList[i];
                    id  = i;
                }
            }
        }
        if (min != null && id + 1 < equipmentKitList.Count)
        {
            return(equipmentKitList[id + 1]);
        }
        else
        {
            return(equipmentKitList[0]);
        }
        return(null);
    }
예제 #2
0
    ///
    public void RestTotalNum()
    {
        System.Collections.IDictionaryEnumerator enumerator = UserManager.Instance.equipTable.GetEnumerator();
        int p = 0;
        int d = 0;
        int c = 0;
        int y = 0;

        while (enumerator.MoveNext())
        {
            EquipViewData a = UserManager.Instance.equipTable[enumerator.Key] as EquipViewData;
            p += (int)a.data.levelData.attrArr[(int)Def.AttrType.FightPower];
            d += (int)a.data.levelData.attrArr[(int)Def.AttrType.Defense];
            c += (int)a.data.levelData.attrArr[(int)Def.AttrType.Crit];
            y += (int)a.data.levelData.attrArr[(int)Def.AttrType.Pray];
        }

        EquipmentKitData ekd = GameShared.Instance.GetEquipmentKitByLevel(curLevelEquip.level);

        if (ekd != null)
        {
            p += (int)ekd.attrArr[(int)Def.AttrType.FightPower];
            d += (int)ekd.attrArr[(int)Def.AttrType.Defense];
            c += (int)ekd.attrArr[(int)Def.AttrType.Crit];
            y += (int)ekd.attrArr[(int)Def.AttrType.Pray];
        }

        pop.SetTotalNum(p.ToString(), d.ToString(), c.ToString(), y.ToString());
    }
예제 #3
0
    /// <summary>
    /// 装备提升战斗力固定值
    /// </summary>
    /// <param name="attrtype"></param>
    /// <returns></returns>
    public float GetEquipAttrByType(int attrtype)
    {
        float num = 0;

        System.Collections.IDictionaryEnumerator enumerator = UserManager.Instance.equipTable.GetEnumerator();
        int level = 0;

        while (enumerator.MoveNext())
        {
            EquipViewData r = UserManager.Instance.equipTable[enumerator.Key] as EquipViewData;
            if (r.data.levelData != null)
            {
                num += r.data.levelData.attrArr[attrtype];
            }
            if (r.level == 0 || r.level > level)
            {
                level = r.level;
            }
        }
        EquipmentKitData ekd = GameShared.Instance.GetEquipmentKitByLevel(level);//套装效果

        if (ekd != null)
        {
            num += (int)ekd.attrArr[attrtype];
        }
        return(num);
    }
예제 #4
0
 public void InitEquipKitData()
 {
     for (int i = 0; i < equipmentKitList.Count; i++)
     {
         EquipmentKitData r  = equipmentKitList[i];
         BuffData         b1 = GameShared.Instance.GetBuffById(r.effect);
         b1.GetBuffAttr();
         r.attrArr     = b1.attrArr;
         r.additionArr = b1.additionArr;
     }
 }
예제 #5
0
 public void InitEquipKitTableData()
 {
     System.Collections.IDictionaryEnumerator enumerator = equipmentKitTable.GetEnumerator();
     while (enumerator.MoveNext())
     {
         EquipmentKitData r  = equipmentKitTable[enumerator.Key] as EquipmentKitData;
         BuffData         b1 = GameShared.Instance.GetBuffById(r.effect);
         b1.GetBuffAttr();
         r.attrArr     = b1.attrArr;
         r.additionArr = b1.additionArr;
     }
 }
예제 #6
0
    public List <EquipmentKitData> QueryEquipmentKitList()
    {
        InitDB();
        SqliteDataReader        sqReader = db.ReadFullTable("equipment_kit");
        List <EquipmentKitData> list     = new List <EquipmentKitData>();

        while (sqReader.Read())
        {
            EquipmentKitData item = new EquipmentKitData();
            item.effect = sqReader.GetInt32(sqReader.GetOrdinal("effect"));
            item.level  = sqReader.GetInt32(sqReader.GetOrdinal("level"));
            list.Add(item);
        }
        return(list);
    }
예제 #7
0
    public Hashtable QueryEquipmentKitTable()
    {
        InitDB();
        SqliteDataReader sqReader = db.ReadFullTable("equipment_kit");
        Hashtable        table    = new Hashtable();

        while (sqReader.Read())
        {
            EquipmentKitData item = new EquipmentKitData();
            item.effect = sqReader.GetInt32(sqReader.GetOrdinal("effect"));
            item.level  = sqReader.GetInt32(sqReader.GetOrdinal("level"));
            table.Add(item.level, item);
        }
        return(table);
    }
예제 #8
0
    /// <summary>
    /// 遍历出当前级数的装备属性
    /// </summary>
    /// <param name="c"></param>
    /// <returns></returns>
    public EquipmentKitData GetEquipmentKitByLevel(int c)
    {
        //目前最小的
        EquipmentKitData min = null;

        //遍历
        for (int i = 0; i < equipmentKitList.Count; i++)
        {
            if (equipmentKitList[i].level <= c)
            {
                if (min == null)
                {
                    min = equipmentKitList[i];
                }
                else if (min.level <= equipmentKitList[i].level)
                {
                    min = equipmentKitList[i];
                }
            }
        }
        return(min);
    }
예제 #9
0
    public void KitDescShow()
    {
        if (MainUI.Instance.GetPopState(MainUI.PopType.EquipKit) != true)
        {
            GameObject obj = Instantiate(pop.kit);
            obj.SetActive(true);
            kitPop = obj.GetComponent <EquipKitPop>();
            //计算
            //取得
            EquipmentKitData d1 = GameShared.Instance.GetEquipmentKitByLevel(curLevelEquip.level);
            EquipmentKitData d2 = GameShared.Instance.GetEquipmentKitNextLevelByLevel(curLevelEquip.level);

            List <string> l = new List <string>();
            for (int i = 1; i < 4; i++)
            {
                string s  = "";
                string sa = "";
                switch (i)
                {
                case 1:
                    s += "战力";
                    break;

                case 2:
                    s += "防御";
                    break;

                case 3:
                    s += "暴击";
                    break;

                case 4:
                    s += "祈祷";
                    break;
                }
                sa += s;
                if (d1 != null)
                {
                    s  += d1.attrArr[i] + ">";
                    sa += d1.additionArr[i];
                }
                if (d2 != null)
                {
                    s  += d2.attrArr[i];
                    sa += d2.additionArr[i];
                }
                if (!s.Equals("0"))
                {
                    l.Add(s);
                }
                if (!sa.Equals("0"))
                {
                    l.Add(sa);
                }
            }

            kitPop.SetInfo(l);
            kitPop.transform.parent        = pop.transform.parent;
            kitPop.transform.localScale    = Vector3.one;
            kitPop.transform.localPosition = Vector3.zero;
            MainUI.Instance.SetPopState(MainUI.PopType.EquipKit, true);
        }
        else
        {
            if (kitPop != null)
            {
                MainUI.Instance.SetPopState(MainUI.PopType.EquipKit, false);
                kitPop.gameObject.SetActive(false);
                Destroy(kitPop);
            }
        }
    }