|
@@ -1,5 +1,4 @@
|
|
|
-
|
|
|
-using System;
|
|
|
+using System;
|
|
|
using System.Collections.Generic;
|
|
|
using ET;
|
|
|
using FairyGUI;
|
|
@@ -13,7 +12,8 @@ namespace GFGGame
|
|
|
{
|
|
|
private UI_GiftBoxSelectorUI _ui;
|
|
|
private int _itemId;
|
|
|
- private long _count;
|
|
|
+ private int _count;
|
|
|
+
|
|
|
public override void Dispose()
|
|
|
{
|
|
|
base.Dispose();
|
|
@@ -35,93 +35,78 @@ namespace GFGGame
|
|
|
this.viewCom.Center();
|
|
|
this.modal = true;
|
|
|
|
|
|
- _ui.m_.target.onClick.Add(OnBtnAddClick);
|
|
|
- _ui.m_btnMinus.target.onClick.Add(OnBtnMinusClick);
|
|
|
- _ui.m_btnMax.target.onClick.Add(OnBtnMaxClick);
|
|
|
- _ui.m_btnConfirm.onClick.Add(OnBtnConfirmClick);
|
|
|
- _ui.m_btnCancle.onClick.Add(OnBtnCancleClick);
|
|
|
-
|
|
|
+ _ui.m_btnCancel.onClick.Add(OnBtnCancelClick);
|
|
|
+ _ui.m_list.SetVirtual();
|
|
|
+ _ui.m_list.itemRenderer = ListItemRender;
|
|
|
+ _ui.m_list.onClickItem.Add(OnListSelectorItemClick);
|
|
|
}
|
|
|
+
|
|
|
protected override void AddEventListener()
|
|
|
{
|
|
|
base.AddEventListener();
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
protected override void OnShown()
|
|
|
{
|
|
|
base.OnShown();
|
|
|
_itemId = (int)this.viewData;
|
|
|
- _count = 1;
|
|
|
+ _count = (int)ItemDataManager.GetItemNum(_itemId);
|
|
|
|
|
|
UpdateView();
|
|
|
- UpdateUseView();
|
|
|
+ UpdateList();
|
|
|
}
|
|
|
|
|
|
protected override void OnHide()
|
|
|
{
|
|
|
+ if (_ui.m_list.numItems > 0)
|
|
|
+ {
|
|
|
+ _ui.m_list.ScrollToView(0);
|
|
|
+ }
|
|
|
|
|
|
+ _ui.m_list.numItems = 0;
|
|
|
base.OnHide();
|
|
|
}
|
|
|
+
|
|
|
protected override void RemoveEventListener()
|
|
|
{
|
|
|
base.RemoveEventListener();
|
|
|
- // EventAgent.RemoveEventListener(ConstMessage.ITEM_CHANGED, UpdateList);
|
|
|
}
|
|
|
|
|
|
private void UpdateView()
|
|
|
{
|
|
|
ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemId);
|
|
|
- _ui.m_txtName.text = itemCfg.name;
|
|
|
- _ui.m_txtOwned.SetVar("count", "" + ItemDataManager.GetItemNum(itemCfg.id)).FlushVars();
|
|
|
- _ui.m_txtDesc.text = string.IsNullOrEmpty(itemCfg.desc) ? "暂无描述" : itemCfg.desc;
|
|
|
_ui.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfg);
|
|
|
- RarityIconController.UpdateRarityIcon(_ui.m_loaRarity, itemCfg.id, false);
|
|
|
- _ui.m_loaRarity.visible = itemCfg.itemType == ConstItemType.DRESS_UP;
|
|
|
- _ui.m_txtExchangeCount.visible = false;
|
|
|
- _ui.m_comCost.target.visible = false;
|
|
|
-
|
|
|
+ _ui.m_txtName.text = itemCfg.name;
|
|
|
+ _ui.m_txtTotalNum.text = $"已拥有:{_count}";
|
|
|
+ _ui.m_txtItemDes.text = string.IsNullOrEmpty(itemCfg.desc) ? "暂无描述" : itemCfg.desc;
|
|
|
}
|
|
|
|
|
|
- private void UpdateUseView()
|
|
|
+ private void UpdateList()
|
|
|
{
|
|
|
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemId);
|
|
|
- _ui.m_txtCostCount.text = _count.ToString();
|
|
|
- _ui.m_btnMinus.m_c1.selectedIndex = _count == 1 ? 1 : 0;
|
|
|
- _ui.m_btnMinus.target.touchable = _count == 1 ? false : true;
|
|
|
- long hasCount = ItemDataManager.GetItemNum(_itemId);
|
|
|
- _ui.m_btnAdd.m_c1.selectedIndex = _count == hasCount ? 1 : 0;
|
|
|
- _ui.m_btnAdd.target.touchable = _count == hasCount ? false : true;
|
|
|
- _ui.m_btnMax.m_c1.selectedIndex = _count == hasCount ? 1 : 0;
|
|
|
- _ui.m_btnMax.target.touchable = _count == hasCount ? false : true;
|
|
|
-
|
|
|
- _ui.m_txtShow.text = "选择使用数量";
|
|
|
- _ui.m_txtTips.text = string.Format("是否使用{0}个{1}?", _count, itemCfg.name);
|
|
|
+ _ui.m_list.numItems = _count;
|
|
|
}
|
|
|
|
|
|
- private void OnBtnAddClick()
|
|
|
- {
|
|
|
- _count++;
|
|
|
- long hasCount = ItemDataManager.GetItemNum(_itemId);
|
|
|
- _count = Math.Min(hasCount, _count);
|
|
|
- UpdateUseView();
|
|
|
- }
|
|
|
- private void OnBtnMinusClick()
|
|
|
+ private void ListItemRender(int index, GObject obj)
|
|
|
{
|
|
|
- _count--;
|
|
|
- _count = Math.Max(1, _count);
|
|
|
- UpdateUseView();
|
|
|
- }
|
|
|
- private void OnBtnMaxClick()
|
|
|
- {
|
|
|
- _count = ItemDataManager.GetItemNum(_itemId);
|
|
|
- UpdateUseView();
|
|
|
+ ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemId);
|
|
|
+ UI_ListSelectorItem uiItemChild = UI_ListSelectorItem.Proxy(obj);
|
|
|
+
|
|
|
+ int[] itemChildArr = itemCfg.itemsArr[index];
|
|
|
+ ItemCfg itemCfgChild = ItemCfgArray.Instance.GetCfg(itemChildArr[0]);
|
|
|
+ uiItemChild.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfgChild);
|
|
|
+ uiItemChild.m_comItemNumBag.m_txtNum.text = itemChildArr[1].ToString();
|
|
|
+ uiItemChild.target.data = itemCfgChild;
|
|
|
}
|
|
|
- private void OnBtnConfirmClick()
|
|
|
+
|
|
|
+ private void OnListSelectorItemClick(EventContext context)
|
|
|
{
|
|
|
- ItemProxy.ReqUseItem(_itemId, _count).Coroutine();
|
|
|
- this.Hide();
|
|
|
+ GComponent comItem = (context.data as GComponent);
|
|
|
+ ItemCfg itemCfg = comItem.data as ItemCfg;
|
|
|
+
|
|
|
+ //弹出物品详细描述框
|
|
|
}
|
|
|
- private void OnBtnCancleClick()
|
|
|
+
|
|
|
+ private void OnBtnCancelClick()
|
|
|
{
|
|
|
this.Hide();
|
|
|
}
|