public void Despawn(GameObject go, bool isRemove = true) { UnUsed.Add(go); if (isRemove) { Used.Remove(go); } if (!IsActiveByPos) { go.SetActive(false); } else { go.transform.position = Const.VEC_FarawayPos; } }
public GameObject Spawn() { GameObject ret = null; if (UnUsed.Count > 0) { ret = UnUsed[0]; UnUsed.RemoveAt(0); } else { ret = GameObject.Instantiate(Prefab, Parent) as GameObject; } ret.transform.position = Prefab.transform.position; ret.transform.rotation = Prefab.transform.rotation; Used.Add(ret); ret.SetActive(true); return(ret); }
public void Despawn(GameObject go) { Used.Remove(go); UnUsed.Add(go); go.SetActive(false); }