|
@@ -1,5 +1,6 @@
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
using ET;
|
|
|
using FairyGUI;
|
|
|
using UI.Bag;
|
|
@@ -123,6 +124,7 @@ namespace GFGGame
|
|
|
uiItemChild.m_loaIcon.onClick.Add(OnListSelectorItemClick);
|
|
|
uiItemChild.m_txtNum.text = itemChildArr[1].ToString();
|
|
|
uiItemChild.m_txtSelNum.text = "0";
|
|
|
+ uiItemChild.m_txtSelNum.onChanged.Add(OnChangedTxtSelNum);
|
|
|
uiItemChild.m_btnAdd.onClick.Add(OnBtnAddClick);
|
|
|
uiItemChild.m_btnReduce.onClick.Add(OnChildBtnReduceClick);
|
|
|
|
|
@@ -255,6 +257,60 @@ namespace GFGGame
|
|
|
SetSelAllNum();
|
|
|
}
|
|
|
|
|
|
+ //监控输入
|
|
|
+ private void OnChangedTxtSelNum(EventContext context)
|
|
|
+ {
|
|
|
+ GObject sender = context.sender as GObject;
|
|
|
+ GObject obj = sender.parent;
|
|
|
+ UI_ListSelectorItem listItem = UI_ListSelectorItem.Proxy(obj);
|
|
|
+
|
|
|
+ ItemCfg itemCfg = obj.data as ItemCfg;
|
|
|
+ UpdateSelNumSel(listItem, itemCfg);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void UpdateSelNumSel(UI_ListSelectorItem listItem, ItemCfg itemCfg)
|
|
|
+ {
|
|
|
+ if (string.IsNullOrEmpty(listItem.m_txtSelNum.text))
|
|
|
+ {
|
|
|
+ listItem.m_txtSelNum.text = "0";
|
|
|
+ }
|
|
|
+
|
|
|
+ var txtSelNum = Convert.ToInt32(listItem.m_txtSelNum.text);
|
|
|
+ if (txtSelNum < 0)
|
|
|
+ {
|
|
|
+ if (_selDic.TryGetValue(itemCfg.id, out int numx))
|
|
|
+ {
|
|
|
+ listItem.m_txtSelNum.text = numx.ToString();
|
|
|
+ }
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ _selDic.TryGetValue(itemCfg.id, out var snumx);
|
|
|
+ var snum = _selCount - snumx + txtSelNum;
|
|
|
+
|
|
|
+ if (snum > _count)
|
|
|
+ {
|
|
|
+ _selDic.TryGetValue(itemCfg.id, out var numx);
|
|
|
+ listItem.m_txtSelNum.text = numx.ToString();
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (_selDic.TryGetValue(itemCfg.id, out int num))
|
|
|
+ {
|
|
|
+ _selDic[itemCfg.id] = txtSelNum;
|
|
|
+ _selCount = _selDic.Values.Sum();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ _selDic[itemCfg.id] = txtSelNum;
|
|
|
+ _selCount = _selDic.Values.Sum();
|
|
|
+ }
|
|
|
+
|
|
|
+ SetSelAllNum();
|
|
|
+ }
|
|
|
+
|
|
|
private void SetSelAllNum()
|
|
|
{
|
|
|
_ui.m_txtSelRewardStr.text = $"已选奖励:{_selCount}/{_count}";
|