/// <summary> /// 清空一个'抽屉'的游戏对象 /// </summary> /// <param name="resName">游戏对象名称/抽屉名称</param> public void Clear(string resName) { if (boxDic.ContainsKey(resName)) { PoolBox box = boxDic[resName]; boxDic.Remove(resName); box.Clear(); } }
/// <summary> /// 从缓存池取一个游戏对象, 不存在则自动创建, 取出时自动激活 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="resName">对象资源名, 相对于Resources目录的路径名</param> /// <param name="callback">对象处理回调</param> public void Get(string resName, UnityAction <GameObject> callback) { if (resName == null || callback == null) { throw new System.ArgumentNullException("Params cannot be null!"); } if (!boxDic.ContainsKey(resName)) { boxDic[resName] = new PoolBox(resName, pool); } boxDic[resName].Get(callback); }