summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/TooltipButtonOperateCompose.cs
blob: 06eaa36df722b75d42c2e59a97b6fe8c5a7398cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
using System;
using UILib;
using XMainClient.UI;
using XUtliPoolLib;

namespace XMainClient
{
	internal class TooltipButtonOperateCompose : TooltipButtonOperateBase
	{
		private int m_composeDividend = 1;

		private int m_level = 1;

		private string m_composeName = "";

		private ItemList.RowData itemRowData = null;

		public override string GetButtonText()
		{
			return XStringDefineProxy.GetString("UPGRADE");
		}

		public override bool HasRedPoint(XItem item)
		{
			return false;
		}

		public override bool IsButtonVisible(XItem item)
		{
			bool flag = item == null;
			bool result;
			if (flag)
			{
				result = false;
			}
			else
			{
				bool flag2 = XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_Item_Compose);
				bool flag3 = !flag2;
				if (flag3)
				{
					result = false;
				}
				else
				{
					XEquipCreateDocument doc = XEquipCreateDocument.Doc;
					ItemComposeTable.RowData itemCoomposeRow = doc.GetItemCoomposeRow(item.itemID);
					bool flag4 = itemCoomposeRow == null;
					if (flag4)
					{
						result = false;
					}
					else
					{
						this.itemRowData = XBagDocument.GetItemConf(itemCoomposeRow.ItemID);
						bool flag5 = this.itemRowData == null;
						if (flag5)
						{
							result = false;
						}
						else
						{
							this.m_composeName = XSingleton<UiUtility>.singleton.ChooseProfString(this.itemRowData.ItemName, 0u);
							this.m_composeDividend = itemCoomposeRow.SrcItem1[1];
							this.m_level = itemCoomposeRow.Level;
							result = true;
						}
					}
				}
			}
			return result;
		}

		public override void OnButtonClick(ulong mainUID, ulong compareUID)
		{
			base.OnButtonClick(mainUID, compareUID);
			bool flag = XSingleton<XAttributeMgr>.singleton.XPlayerData != null;
			if (flag)
			{
				bool flag2 = (ulong)XSingleton<XAttributeMgr>.singleton.XPlayerData.Level < (ulong)((long)this.m_level);
				if (flag2)
				{
					string text = string.Format(XSingleton<XStringTable>.singleton.GetString("CannotCompose"), this.m_level);
					XSingleton<UiUtility>.singleton.ShowSystemTip(text, "fece00");
					return;
				}
			}
			XItem itemByUID = XBagDocument.BagDoc.GetItemByUID(this.mainItemUID);
			bool flag3 = itemByUID == null;
			if (!flag3)
			{
				int itemCount = itemByUID.itemCount;
				string text2 = XSingleton<UiUtility>.singleton.ChooseProfString(itemByUID.itemConf.ItemName, 0u);
				bool flag4 = itemCount >= this.m_composeDividend;
				if (flag4)
				{
					int num = itemCount / this.m_composeDividend;
					int num2 = num * this.m_composeDividend;
					string text3 = XSingleton<UiUtility>.singleton.ReplaceReturn(XSingleton<XStringTable>.singleton.GetString("ItemComposeTips1"));
					text3 = string.Format(text3, new object[]
					{
						num2,
						text2,
						num,
						this.m_composeName,
						this.m_composeDividend
					});
					XSingleton<UiUtility>.singleton.ShowModalDialog(text3, XStringDefineProxy.GetString(XStringDefine.COMMON_OK), XStringDefineProxy.GetString(XStringDefine.COMMON_CANCEL), new ButtonClickEventHandler(this._OnComposeClicked));
				}
				else
				{
					string text4 = string.Format(XSingleton<XStringTable>.singleton.GetString("ItemComposeTips2"), this.m_composeDividend);
					XSingleton<UiUtility>.singleton.ShowSystemTip(text4, "fece00");
				}
			}
		}

		private bool _OnComposeClicked(IXUIButton btn)
		{
			XSingleton<UiUtility>.singleton.CloseModalDlg();
			XSingleton<XGame>.singleton.Doc.XBagDoc.ReqItemCompose(this.mainItemUID);
			return true;
		}
	}
}