BITKit/Src/Core/Pool/IPoolService.cs

33 lines
944 B
C#

using System.Collections;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
namespace BITKit.Pool
{
/// <summary>
/// 对象池服务
/// </summary>
public interface IPoolService
{
/// <summary>
/// 生成对象
/// </summary>
/// <param name="path">可寻址路径</param>
/// <typeparam name="T">类型</typeparam>
/// <returns></returns>
UniTask<T> Spawn<T>(string path) where T : class;
/// <summary>
/// 回收对象
/// </summary>
/// <param name="obj">对象实例</param>
/// <param name="path">可寻址路径</param>
/// <typeparam name="T">类型</typeparam>
void Despawn<T>(T obj,string path) where T : class;
/// <summary>
/// 初始化,在此提前生成所有对象
/// </summary>
/// <returns></returns>
UniTask InitializeAsync();
}
}