public static PoolGameObject RequestPoolGameObject(GameObject prefab, Vector3 pos) { Instance.CreatePool(); PoolGameObject temp = GetFromPool(prefab.name); if (temp == null) { GameObject go = GameObject.Instantiate(prefab); if (!go.HadComponent <PoolGameObject>()) { temp = go.AddComponent <PoolGameObject>(); } else { temp = go.GetComponent <PoolGameObject>(); } temp.transform.position = pos; temp.SetParent(Instance.pool.transform); } Instance.SavePoolGameObject(prefab.name, temp); return(temp); }
public static PoolGameObject RequestPoolGameObject(GameObject prefab, Vector3 pos) { Instance.CreatePool(); PoolGameObject temp = GetFromPool(prefab.name); if (temp == null) { GameObject go = GameObject.Instantiate(prefab); if (!go.HadComponent <PoolGameObject>()) { temp = go.AddComponent <PoolGameObject>(); } else { temp = go.GetComponent <PoolGameObject>(); } temp.transform.position = pos; temp.SetParent(Instance.pool.transform); if (!Instance.mPool.ContainsKey(prefab.name)) { Instance.mPool.Add(prefab.name, new Queue <PoolGameObject>()); } } if (Instance.mPool[prefab.name].Count < Config.PoolCount) { Instance.mPool[prefab.name].Enqueue(temp); } else { Debug.LogWarning("The Pool is Less then PoolCount.Don't Save it."); } return(temp); }
public PoolGameObject RequestPoolGameObject(GameObject prefab, Vector3 pos) { CreatePool(); PoolGameObject temp = GetFromPool(prefab.name); if (temp == null) { GameObject go = GameObject.Instantiate(prefab); if (!go.HadComponent <PoolGameObject>()) { temp = go.AddComponent <PoolGameObject>(); } else { temp = go.GetComponent <PoolGameObject>(); } temp.transform.position = pos; temp.SetParent(pool.transform); if (!mPool.ContainsKey(prefab.name)) { mPool.Add(prefab.name, new Queue <PoolGameObject>()); } } if (mPool[prefab.name].Count < Config.PoolCount) { mPool[prefab.name].Enqueue(temp); } else { Debug.Log(); } return(temp); }
public static void SavePoolGameObject(string name, PoolGameObject poolGameObject) { if (!Instance.mPool.ContainsKey(name)) { } }
public static void SavePoolGameObject(string name, PoolGameObject poolGameObject) { }
/// <summary> /// 移除对象 /// </summary> public void RemoveObject(PoolGameObject obj) { }
public static void SetParent(this PoolGameObject poolGameObject, Transform parent) { poolGameObject.gameObject.SetParent(parent); }
public static void Reset(this PoolGameObject poolGameObject) { poolGameObject.gameObject.Reset(); }
public static void Hide(this PoolGameObject poolGameObject) { poolGameObject.gameObject.Hide(); }
public static void Show(this PoolGameObject poolGameObject) { poolGameObject.gameObject.Show(); }
public void SaveGameObject(PoolGameObject poolGameObject) { }