/// 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()); }
//获得当前升级装备 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); }
/// <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); }
/// <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); }
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 }
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 }
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 }
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 }
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空"); } }
public void SelectEquip(EquipViewData d) { curEquip = d; SetEquipInfo(ref d); }
/// <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 }