From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/TooltipButtonOperatePutOn.cs | 150 +++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/TooltipButtonOperatePutOn.cs (limited to 'Client/Assets/Scripts/XMainClient/TooltipButtonOperatePutOn.cs') diff --git a/Client/Assets/Scripts/XMainClient/TooltipButtonOperatePutOn.cs b/Client/Assets/Scripts/XMainClient/TooltipButtonOperatePutOn.cs new file mode 100644 index 00000000..5b87dbc9 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/TooltipButtonOperatePutOn.cs @@ -0,0 +1,150 @@ +using System; +using UILib; +using XMainClient.UI; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class TooltipButtonOperatePutOn : TooltipButtonOperateBase + { + public override string GetButtonText() + { + return XStringDefineProxy.GetString("PUTON"); + } + + public override bool HasRedPoint(XItem item) + { + XCharacterEquipDocument specificDocument = XDocuments.GetSpecificDocument(XCharacterEquipDocument.uuID); + EquipCompare mix = specificDocument.IsEquipMorePowerful(item.uid); + EquipCompare final = XCharacterEquipDocument.GetFinal(mix); + return final == EquipCompare.EC_MORE_POWERFUL; + } + + public override bool IsButtonVisible(XItem item) + { + return true; + } + + public override void OnButtonClick(ulong mainUID, ulong compareUID) + { + base.OnButtonClick(mainUID, compareUID); + XItem itemByUID = XSingleton.singleton.Doc.XBagDoc.GetItemByUID(this.mainItemUID); + bool flag = itemByUID == null || itemByUID.itemConf == null; + if (!flag) + { + ItemList.RowData itemConf = itemByUID.itemConf; + bool flag2 = !itemByUID.bBinding && itemConf.ItemQuality >= 3; + if (flag2) + { + XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("BINDING_CONFIRM"), XStringDefineProxy.GetString("COMMON_OK"), XStringDefineProxy.GetString("COMMON_CANCEL"), new ButtonClickEventHandler(this._Equip)); + } + else + { + bool flag3 = itemByUID.Type == ItemType.EQUIP; + if (flag3) + { + EquipFusionDocument.IsEquipDown = true; + } + XSingleton.singleton.Doc.XBagDoc.UseItem(itemByUID, 0u); + } + } + } + + private bool _Equip(IXUIButton btn) + { + XItem itemByUID = XSingleton.singleton.Doc.XBagDoc.GetItemByUID(this.mainItemUID); + bool flag = itemByUID != null; + if (flag) + { + bool flag2 = itemByUID.Type == ItemType.EQUIP; + if (flag2) + { + EquipFusionDocument.IsEquipDown = true; + } + XSingleton.singleton.Doc.XBagDoc.UseItem(itemByUID, 0u); + } + XSingleton.singleton.CloseModalDlg(); + return true; + } + + private bool _Equip0(IXUIButton btn) + { + XItem itemByUID = XSingleton.singleton.Doc.XBagDoc.GetItemByUID(this.mainItemUID); + bool flag = itemByUID != null; + if (flag) + { + XSingleton.singleton.Doc.XBagDoc.UseItem(itemByUID, 0u, 0u); + } + XSingleton.singleton.CloseModalDlg(); + return true; + } + + private bool _Equip1(IXUIButton btn) + { + XItem itemByUID = XSingleton.singleton.Doc.XBagDoc.GetItemByUID(this.mainItemUID); + bool flag = itemByUID != null; + if (flag) + { + XSingleton.singleton.Doc.XBagDoc.UseItem(itemByUID, 0u, 1u); + } + XSingleton.singleton.CloseModalDlg(); + return true; + } + + private bool IsNeedJadeTip(XEquipItem equip, XEquipItem equipedEquip) + { + bool flag = equip == null || equip.itemID == 0 || equipedEquip == null || equipedEquip.itemID == 0; + bool result; + if (flag) + { + result = false; + } + else + { + int num = 0; + foreach (uint num2 in equip.jadeInfo.AllSlots()) + { + XJadeItem xjadeItem = equip.jadeInfo.jades[num]; + bool flag2 = xjadeItem != null; + if (flag2) + { + return false; + } + num++; + } + XJadeDocument specificDocument = XDocuments.GetSpecificDocument(XJadeDocument.uuID); + num = 0; + foreach (uint num3 in equipedEquip.jadeInfo.AllSlots()) + { + XJadeItem xjadeItem = equipedEquip.jadeInfo.jades[num]; + bool flag3 = xjadeItem != null; + if (flag3) + { + JadeTable.RowData byJadeID = specificDocument.jadeTable.GetByJadeID((uint)xjadeItem.itemID); + bool flag4 = byJadeID == null || XSingleton.singleton.XPlayerData == null; + if (flag4) + { + continue; + } + int num4 = specificDocument.JadeLevelToMosaicLevel(byJadeID.JadeLevel); + bool flag5 = (ulong)XSingleton.singleton.XPlayerData.Level >= (ulong)((long)num4); + if (flag5) + { + foreach (uint num5 in equip.jadeInfo.AllSlots()) + { + bool flag6 = num5 == num3; + if (flag6) + { + return true; + } + } + } + } + num++; + } + result = false; + } + return result; + } + } +} -- cgit v1.1-26-g67d0