private void SceneWasLoaded(UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode mode)
 {
     if (ReturnToCacheOnLevelLoad)
     {
         SpawningPool.RecycleActiveObjects();
     }
 }
 private void Awake()
 {
     if (awake)
     {
         return;
     }
     else if (instance == null)
     {
         awake    = true;
         instance = this;
         DontDestroyOnLoad(this);
         if (Prefabs != null)
         {
             foreach (var prefab in Prefabs)
             {
                 SpawningPool.AddPrefab(prefab.Key, prefab.Prefab);
             }
         }
         UnityEngine.SceneManagement.SceneManager.sceneLoaded += (scene, mode) =>
         {
             SpawningPool.RecycleActiveObjects();
         };
     }
     else
     {
         Object.Destroy(gameObject);
     }
 }
Beispiel #3
0
        private void Cleanup()
        {
            SpawningPool.RecycleActiveObjects();
            foreach (GameObject obj in regular)
            {
                GameObject.Destroy(obj);
            }
            regular.Clear();

            // note- to send just one object back to the cache, call SpawningPool.ReturnToCache. This is an extension method for GameObject.
        }