PoolManager.cs:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnityEngine; public class PoolManager : MonoSinglton<PoolManager> { public Dictionary<string,SmallPool> smallPools = new Dictionary<string, SmallPool>(); public GameObject TakeOut(string name) { foreach(var s in smallPools.Keys) { if (name == s) { return smallPools[s].TakeOut(); } } SmallPool sp = new SmallPool(); sp.ObjectName = name; smallPools.Add(name, sp); return sp.TakeOut(); } public void PutOn(string name, GameObject go) { foreach(var s in smallPools.Keys) { if (name == s) { smallPools[s].PutOn(go); } } } } using System; using System.Collect