public void Start()
        {
            instance = this;

            foreach (GameObject prefab in cachePrefabs)
            {
                if(prefab != null && !cacheObjDict.Keys.Contains(prefab))
                {
                    TemporaryObjectCache cache = new TemporaryObjectCache();
                    cache.prefabObject = prefab;
                    cache.freeObjects = new Stack<GameObject>();
                    cache.activeObjects = new List<GameObject>();

                    cacheObjDict.Add(cache.prefabObject, cache);
                }
            }
            activeObjDict = new Dictionary<Object, TemporaryObjectCache>();
        }
        public void Start()
        {
            instance = this;

            foreach (GameObject prefab in cachePrefabs)
            {
                if (prefab != null && !cacheObjDict.Keys.Contains(prefab))
                {
                    TemporaryObjectCache cache = new TemporaryObjectCache();
                    cache.prefabObject  = prefab;
                    cache.freeObjects   = new Stack <GameObject>();
                    cache.activeObjects = new List <GameObject>();

                    cacheObjDict.Add(cache.prefabObject, cache);
                }
            }
            activeObjDict = new Dictionary <Object, TemporaryObjectCache>();
        }