diff a/Blacksmith/Assets/Script/PrefabPool.cs b/Blacksmith/Assets/Script/PrefabPool.cs (rejected hunks) @@ -34,6 +34,26 @@ obj.SetActive(true); action.Invoke(obj); } + public void LoadObj(string key,int i,Action action) + { + //如果池中没有该游戏物体或者游戏物体的队列中已经没有剩余的游戏对象时。 + //在这种情况下需要实例化一个新的物体,然后在判断是否需要在池中新加一个健值对还是直接放入队列中去 + //然后把新生成的放入池中。 + + if (!objDic.ContainsKey(key)||objDic[key].Count==0) { + AssetBundleManager.ins.LoadAsset(key, (GameObject obj) => + { + obj.name = key; + obj.SetActive(true); + action.Invoke(obj,i); + }); + return; + } + + var obj = objDic[key].Dequeue(); + obj.SetActive(true); + action.Invoke(obj,i); + } public void AddPond(string key,int num) {