Files
JJBB/Assets/Project/Script/Common/Utilities/UIItemPool.cs
2024-08-23 15:49:34 +08:00

28 lines
916 B
C#

using UnityEngine;
using UnityEngine.Events;
/// <summary>
/// 带标签的物体池
/// </summary>
public class UiItemPool<TItem, TLoadData, TLoadTask> : AutoLoadPool<TItem, TLoadData, TLoadTask> where TItem : Component where TLoadData : BaseLoadData<TItem, TLoadData> where TLoadTask : BaseLoadTask<TItem, TLoadData, TLoadTask>, new()
{
public UiItemPool(Transform root) : base(root, true, null)
{
}
public void PullItem(TLoadData taskStarter, UIPathData pathData)
{
PullItem(taskStarter, pathData.path, pathData.name);
}
/// <summary>
/// 将物品退回到物品池中
/// </summary>
/// <param name="bundleName">资源包名称</param>
/// <param name="prefabName">物体名称</param>
/// <param name="item">物体</param>
public void PushItem(UIPathData pathData, TItem item)
{
PushItem(pathData.path, pathData.name, item);
}
}