/// <summary> /// 缓存池中将默认以资源的路径为唯一标识,通过资源唯一标识可以获致到对应的缓存池 /// </summary> /// <param name="name"></param> /// <returns></returns> public PoolGroup GetGroup(string name) { if (itemGroupDic.TryGetValue(name, out PoolGroup itemGroup)) { return(itemGroup); } PoolLogger.Warning(PoolUtill.LOG_TAG, "The pool is not found.name = " + name); return(null); }
/// <summary> /// 删除指定的缓存池 /// </summary> /// <param name="name">资源唯一标签,一般使用资源路径</param> public void DeleteGroup(string name) { PoolGroup itemGroup = GetGroup(name); if (itemGroup != null) { itemGroupDic.Remove(name); itemGroup.DoDestroy(); } else { PoolLogger.Warning(PoolUtill.LOG_TAG, "The pool is not found.name = " + name); } }
/// <summary> /// 使用给定的GameObject创建缓存池 /// </summary> /// <param name="itemName">资源唯一标签,一般使用资源路径</param> /// <param name="itemTemplate">模板GameObject</param> /// <returns></returns> public PoolGroup CreateGroup(string itemName, TemplateType itemType, GameObject itemTemplate) { if (itemTemplate == null) { PoolLogger.Error(PoolUtill.LOG_TAG, "Template is Null"); return(null); } if (!itemGroupDic.TryGetValue(itemName, out PoolGroup itemGroup)) { itemGroup = new PoolGroup(Name, categoryTransform, itemName, itemType, itemTemplate); itemGroupDic.Add(itemName, itemGroup); return(itemGroup); } PoolLogger.Warning(PoolUtill.LOG_TAG, "The pool has been created.uniqueName = " + itemName); return(null); }