public static bool TryGet(int id, out RefineMaterial refineMaterial) { int typ = int.Parse(DateFile.instance.GetItemDate(id, 51, false)); if (typ >= 101 && typ <= 108) { int grade = int.Parse(DateFile.instance.GetItemDate(id, 8, false)); refineMaterial = new RefineMaterial(typ, grade); return(true); } refineMaterial = new RefineMaterial(); return(false); }
static void Postfix(WindowManage __instance, int itemId, bool setName) { if (!Main.enabled) { return; } if (setName && Main.settings.clickLock && MyModDate.Locked(itemId)) { __instance.informationName.text = DateFile.instance.SetColoer(10004, "已锁定[简化精制]") + "\n" + __instance.informationName.text; } if (Main.settings.showProduct) { RefineMaterial rm; string newText; bool isRM = RefineMaterial.TryGet(itemId, out rm); if (isRM) { string title = DateFile.instance.SetColoer(10002, "【精制效果】"); newText = $"{title}\n"; newText += $"·{rm.onWeapon} || {rm.onArmor} || {rm.onJewelry}\n"; } else { int productId = int.Parse(DateFile.instance.GetItemDate(itemId, 52, false)); bool haveProduct = productId > 0 && DateFile.instance.GetItemDate(itemId, 50, false) == "1"; if (!haveProduct) { return; } productId += 2;//满精制 string title = DateFile.instance.SetColoer(10002, "【满精制拆解产物】"); string name = Func.GetItemName(productId); newText = $"{title}\n·{name}\n"; bool hasEffect = RefineMaterial.TryGet(productId, out rm); if (hasEffect) { newText += $"·{rm.onWeapon} || {rm.onArmor} || {rm.onJewelry}\n"; } } __instance.informationMassage.text += newText + "\n"; typeof(WindowManage).GetField("baseWeaponMassage", BindingFlags.NonPublic | BindingFlags.Instance) .SetValue(__instance, __instance.informationMassage.text); } }