Example #1
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());
    }
Example #2
0
    //获得当前升级装备
    public EquipViewData GetCurEquip(ref Hashtable table)
    {
#if Lua
        LuaFunction f   = l.GetFunction("GetCurEquip");
        object[]    obj = f.Call(table);
        curEquip = obj[0];
#else
        System.Collections.IDictionaryEnumerator enumerator = table.GetEnumerator();
        curLevelEquip = null;
        while (enumerator.MoveNext())
        {
            if (curLevelEquip != null)
            {
                EquipViewData a = table[enumerator.Key] as EquipViewData;
                if (a.level < curLevelEquip.level)
                {
                    curLevelEquip = a;
                }
            }
            else
            {
                curLevelEquip = table[enumerator.Key] as EquipViewData;
            }
        }
#endif
        return(curLevelEquip);
    }
Example #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);
    }
Example #4
0
    /// <summary>
    /// 装备提升百分比
    /// </summary>
    /// <param name="attrtype"></param>
    /// <returns></returns>
    public float GetEquipAdditionByType(int attrtype)
    {
        float num = 0;

        System.Collections.IDictionaryEnumerator enumerator = UserManager.Instance.equipTable.GetEnumerator();
        while (enumerator.MoveNext())
        {
            EquipViewData r = UserManager.Instance.equipTable[enumerator.Key] as EquipViewData;
            if (r.data.levelData != null)
            {
                num += r.data.levelData.additionArr[attrtype];
            }
        }
        return(num);
    }
Example #5
0
    public void EquipListClientCallback(C2sSprotoType.equipment_all.response resp)
    {
#if Lua
        LuaFunction f   = l.GetFunction("EquipListCallback");
        object[]    obj = f.Call(resp);
#else
        if (resp.l != null)
        {
            equipTable = UserManager.Instance.equipTable;
            pop.SetEquipList(equipTable);
            GetCurEquip(ref equipTable);
            SetEquipInfo(ref curLevelEquip);
            curEquip = curLevelEquip;
        }
#endif
    }
Example #6
0
    public void IntensifyCallback(C2sSprotoType.equipment_enhance.response resp)
    {
#if Lua
        LuaFunction f   = l.GetFunction("IntensifyCallback");
        object[]    obj = f.Call(resp);
#else
        Debug.Log(UserManager.Instance.level);
        pop.intensifyBtn.isEnabled = true;
        if (resp.errorcode == Def.Er_FailEquip)
        {
            MainUI.Instance.SetEffect(GameShared.Instance.GetSkeletonAssetByPath(Def.IntensifyFailAmin),
                                      (state, trackIndex) =>
            {
                MainUI.Instance.effect.gameObject.SetActive(false);
            });
            ToastManager.Instance.Show("装备强化失败");
        }
        else if (resp.errorcode == 1)
        {
            //升级
            curLevelEquip.level++;
            curLevelEquip.data.levelData = GetEquipLevelData(curLevelEquip.data.csv_id, curLevelEquip.level);
            UserManager.Instance.SubResByType(curLevelEquip.data.levelData.currency_type, curLevelEquip.data.levelData.currency_num);

            //EquipLevelData item = curEquip.data.levelData;
            //item.attrArr[(int)Def.AttrType.FightPower] = resp.e.combat;
            //item.attrArr[(int)Def.AttrType.Defense] = resp.e.defense;
            //item.attrArr[(int)Def.AttrType.Crit] = resp.e.critical_hit;
            //item.attrArr[(int)Def.AttrType.Pray] = resp.e.king;

            //item.additionArr[(int)Def.AttrType.FightPower] = resp.e.combat_probability;
            //item.additionArr[(int)Def.AttrType.Defense] = resp.e.defense_probability;
            //item.additionArr[(int)Def.AttrType.Crit] = resp.e.critical_hit_probability;
            //item.additionArr[(int)Def.AttrType.Pray] = resp.e.king_probability;
            //item.enhance_success_rate = (int)resp.e.enhance_success_rate;
            GetCurEquip(ref equipTable);
            curEquip = curLevelEquip;
            SetEquipInfo(ref curLevelEquip);
            RestTotalNum();
            MainUI.Instance.SetEffect(GameShared.Instance.GetSkeletonAssetByPath(Def.IntensifySuccessAmin),
                                      (state, trackIndex) =>
            {
                MainUI.Instance.effect.gameObject.SetActive(false);
            });
        }
#endif
    }
Example #7
0
    public void EquipListCallback(C2sSprotoType.equipment_all.response resp)
    {
#if Lua
        LuaFunction f   = l.GetFunction("EquipListCallback");
        object[]    obj = f.Call(resp);
#else
        if (resp.l != null)
        {
            GetEquipList(resp.l);
            pop.SetEquipList(equipTable);
            GetCurEquip(ref equipTable);
            SetEquipInfo(ref curLevelEquip);
            RestTotalNum();
            curEquip = curLevelEquip;
        }
#endif
    }
Example #8
0
    public void GetEquipList(List <C2sSprotoType.equipment> list)
    {
        equipTable = new Hashtable();
#if Lua
        LuaFunction f   = l.GetFunction("GetEquipList");
        object[]    obj = f.Call(list, equipTable);
#else
        for (int i = 0; i < list.Count; i++)
        {
            EquipViewData e  = new EquipViewData();
            int           id = (int)list[i].csv_id;
            e.level = (int)list[i].level;
            if (id > 999)
            {
                id = id / 1000;
            }
            e.data           = GameShared.Instance.GetEquipmentById(id);
            e.data.levelData = GetEquipLevelData(e.data.csv_id, e.level);

            Debug.Log("id" + list[i].csv_id + "power" + list[i].combat + "powerp" + list[i].combat_probability);

            EquipLevelData item = e.data.levelData;
            item.attrArr[(int)Def.AttrType.FightPower] = list[i].combat;
            item.attrArr[(int)Def.AttrType.Defense]    = list[i].defense;
            item.attrArr[(int)Def.AttrType.Crit]       = list[i].critical_hit;
            item.attrArr[(int)Def.AttrType.Pray]       = list[i].king;

            item.additionArr[(int)Def.AttrType.FightPower] = list[i].combat_probability;
            item.additionArr[(int)Def.AttrType.Defense]    = list[i].defense_probability;
            item.additionArr[(int)Def.AttrType.Crit]       = list[i].critical_hit_probability;
            item.additionArr[(int)Def.AttrType.Pray]       = list[i].king_probability;
            item.enhance_success_rate = (int)list[i].enhance_success_rate;

            equipTable.Add(e.data.csv_id, e);
            if (UserManager.Instance.equipTable.Contains(e.data.csv_id))
            {
                UserManager.Instance.equipTable[e.data.csv_id] = e;
            }
            else
            {
                UserManager.Instance.equipTable.Add(e.data.csv_id, e);
            }
        }
#endif
    }
Example #9
0
    public void InitEquipData(C2sSprotoType.user u)
    {
        System.Collections.IDictionaryEnumerator enumerator = GameShared.Instance.equipmentTable.GetEnumerator();
        while (enumerator.MoveNext())
        {
            EquipViewData v = new EquipViewData();
            v.level = 1;
            EquipData r = GameShared.Instance.equipmentTable[enumerator.Key] as EquipData;
            v.data = r;
            int id = (r.csv_id * 1000) + v.level;
            r.levelData = GameShared.Instance.GetEquipmentIntensifyById(id);
            equipTable.Add(v.data.csv_id, v);
        }
        if (u.equipment_list != null)
        {
            for (int i = 0; i < u.equipment_list.Count; i++)
            {
                EquipViewData e = new EquipViewData();
                if (u.equipment_list[i].csv_id != 0)
                {
                    int id = (int)u.equipment_list[i].csv_id;
                    e.level = (int)u.equipment_list[i].level;
                    if (id > 999)
                    {
                        id = id / 1000;
                    }
                    e.data           = GameShared.Instance.GetEquipmentById(id);
                    e.data.levelData = EquipmentMgr.Instance.GetEquipLevelData(e.data.csv_id, e.level);

                    if (UserManager.Instance.equipTable.Contains(e.data.csv_id))
                    {
                        equipTable[e.data.csv_id] = e;
                    }
                    else
                    {
                        equipTable.Add(e.data.csv_id, e);
                    }
                }
            }
        }
        else
        {
            Debug.Log("equipment_list空");
        }
    }
Example #10
0
 public void SelectEquip(EquipViewData d)
 {
     curEquip = d;
     SetEquipInfo(ref d);
 }
Example #11
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="d1">当前</param>
    /// <param name="d2">下一</param>
    public void SetEquipInfo(ref EquipViewData d1)
    {
        #if Lua
        LuaFunction f   = l.GetFunction("SetEquipInfo");
        object[]    obj = f.Call(d1);
        curEquip = obj[0];
#else
        EquipLevelData d2  = null;
        EquipViewData  aaa = UserManager.Instance.equipTable[(int)EquipData.EquipType.Boxing] as EquipViewData;
        EquipViewData  bbb = UserManager.Instance.equipTable[(int)EquipData.EquipType.Cloth] as EquipViewData;
        EquipViewData  ccc = UserManager.Instance.equipTable[(int)EquipData.EquipType.Belt] as EquipViewData;
        EquipViewData  ddd = UserManager.Instance.equipTable[(int)EquipData.EquipType.Shoe] as EquipViewData;
        Debug.Log("a" + aaa.data.levelData.currency_num + "b" + bbb.data.levelData.currency_num + "c" + ccc.data.levelData.currency_num + "d" + ddd.data.levelData.currency_num);

        if (d1.level < Def.EquipLevelMax)
        {
            int id = d1.data.csv_id + 1 % 4;
            d2 = GetEquipLevelData(d1.data.csv_id, d1.level + 1);
        }

        pop.level.text = d1.level + "/" + Def.EquipLevelMax;
        pop.name.text  = d1.data.levelData.name;
        if (d1.data.levelData.path != null)
        {
            pop.itemView.spriteName = d1.data.levelData.path;
        }

        string str = "";
        string num = "";
        if (d2 != null)
        {
            for (int i = 0; i < d1.data.levelData.attrArr.Length; i++)
            {
                if (d1.data.levelData.attrArr[i] > 0)
                {
                    switch (i)
                    {
                    case 1:
                        str += "战力";
                        break;

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

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

                    case 4:
                        str += "王者";
                        break;
                    }
                    pop.attrType.text = str + "提升";
                    num += d1.data.levelData.attrArr[i] + "-" + d2.attrArr[i];
                }
            }
        }

        if (d1 != null)
        {
            pop.intensifylevel.text = d1.level + "-" + (d1.level + 1);
            string ss = "";
            switch (d1.data.levelData.currency_type)
            {
            case 2:
                ss = "金币";
                break;

            case 3:
                ss = "钻石";
                break;
            }

            if (!UserManager.Instance.ResByType(curLevelEquip.data.levelData.currency_type, curLevelEquip.data.levelData.currency_num))
            {
                pop.use.text  = "[FF0000]" + d2.currency_num.ToString() + ss + "[-]";
                pop.use.color = new Color(255, 0, 0);
            }
            else
            {
                pop.use.text  = "[00FF00]" + d2.currency_num.ToString() + ss + "[-]";
                pop.use.color = new Color(0, 255, 0);
            }

            pop.pre.text  = (d2.enhance_success_rate + UserManager.Instance.curVipdata.equipment_enhance_success_rate_up_p).ToString() + "%";
            pop.attr.text = num;
        }
        else
        {
            pop.intensifylevel.text = d1.level.ToString();
            pop.use.text            = "";
            pop.pre.text            = "";
            pop.attr.text           = num;
        }
        int temp = 0;
        temp = BagMgr.Instance.GetItemNumById(d1.data.levelData.currency_type);
#endif
    }