/// <summary> /// 展示法宝装备Tips /// </summary> /// <returns></returns> public static void ShowMagicEquipTipsWindow(GoodsMagicEquip equip, string showType, uint magicId) { // 经验道具部位Id uint expPos = xc.GameConstHelper.GetUint("GAME_MAGIC_EQUIP_EXP_POS"); if (equip.PosId == expPos) { UIManager.Instance.ShowWindow("UIGoodsTipsWindow", equip, showType); } else { UIManager.Instance.ShowWindow("UIMagicWeaponTipsWindow", equip, showType, magicId); } }
/// <summary> /// 根据typeId返回法宝装备背包总数量 /// </summary> public static ulong GetGoodsNumForMagicEquipBagByTypeId(uint eid) { GoodsMagicEquip goods1 = null; List <ulong> oids = null; ulong num = 0; if (ItemManager.Instance.MagicEquipTypeIdAndOids.TryGetValue(eid, out oids) == true) { foreach (ulong oid in oids) { if (ItemManager.Instance.MagicEquipGoodsOids.TryGetValue(oid, out goods1) == true) { num = num + goods1.num; } } } return(num); }
/// <summary> /// 获取法宝装备强化属性 /// </summary> public static ActorAttribute GetStrengthAttr(uint strengthLv, GoodsMagicEquip equip) { ActorAttribute ret = new ActorAttribute(); uint lv = strengthLv; if (lv > equip.MaxStrengthLv) { lv = equip.MaxStrengthLv; } string key = string.Format("{0}_{1}", (uint)equip.PosId, lv); List <string> rec = DBManager.Instance.QuerySqliteField <string>(GlobalConfig.DBFile, "data_magic_goods_str", "csv_id", key, "str_attrs"); if (rec.Count == 0) { return(ret); } string raw = rec[0]; raw = raw.Replace(" ", ""); var matchs = Regex.Matches(raw, @"\{(\d+),(\d+)\}"); foreach (Match _match in matchs) { if (_match.Success) { uint attrId = (DBTextResource.ParseUI(_match.Groups[1].Value)); uint attrValue = DBTextResource.ParseUI(_match.Groups[2].Value); ret.Add(attrId, attrValue); } } return(ret); }