完成快速选中相关内容

This commit is contained in:
2025-11-19 23:46:22 +08:00
parent dcd61c1a88
commit 4ac44848aa
13 changed files with 125 additions and 61 deletions

View File

@@ -18,6 +18,7 @@ namespace NBF
protected override void OnInit()
{
SlotList.onClickItem.Add(OnClickSlotItem);
}
protected override void OnShow()
@@ -41,26 +42,31 @@ namespace NBF
}
}
List.RemoveChildrenToPool();
List.itemRenderer = OnRenderItem;
List.numItems = _items.Count;
}
void OnRenderItem(int index, GObject obj)
{
var itemData = _items[index];
if (obj is BagItem bagItem)
List<object> items = _roleBag.GetItemListData();
List.SetListData(items);
var children = List.List.GetChildren();
foreach (var gObject in children)
{
bagItem.SetData(itemData);
bagItem.draggable = true;
gObject.draggable = true;
}
}
// void OnRenderItem(int index, GObject obj)
// {
// var itemData = _items[index];
// if (obj is BagItem bagItem)
// {
// bagItem.SetData(itemData);
// bagItem.draggable = true;
// }
// }
#endregion
#region
private int _lastSelectedItem;
private void SetSlotList()
{
SlotList.RemoveChildrenToPool();
@@ -86,6 +92,21 @@ namespace NBF
// SlotList.RefreshVirtualList();
}
private void OnClickSlotItem(EventContext context)
{
if (context.data is BagSlotItem bagSlotItem)
{
_lastSelectedItem = bagSlotItem.Index;
BagSelectPanel.Show(SelectCallback, ItemType.Rod, ItemType.Bobber, ItemType.Reel);
}
}
private void SelectCallback(long selectId)
{
if (selectId < 1) return;
_roleBag.SetSlot(_lastSelectedItem, selectId).OnCompleted(OnChangeSlotItemDone);
}
#endregion
private bool CanShow(ItemInfo itemInfo)