public static SimplePool GetPool(string prefabPath, int preload = 0, bool persistent = false) { if (!AllPools.ContainsKey(prefabPath)) { var prefab = BaseUtils.LoadPrefab(prefabPath); if (prefab == null) { Debug.LogError("SimplePool::GetPool cannot load prefab " + prefabPath); return(null); } var go = new GameObject(prefabPath + " Pool"); go.SetActive(false); var pool = go.AddComponent <SimplePool> (); pool.prefab = prefab; pool.preload = preload; pool.prefabPath = prefabPath; go.SetActive(true); if (persistent) { pool.gameObject.AddComponent <DontDestroy> (); } AllPools [prefabPath] = pool; return(pool); } return(AllPools [prefabPath]); }
public static GameObject Instantiate(string path, Vector3 position = default(Vector3), Quaternion rotation = default(Quaternion)) { return(UnityEngine.Object.Instantiate(BaseUtils.LoadPrefab(path), position, rotation) as GameObject); }