public void ReturnObjToSpell(GameObject obj) { obj.SetActive(false); foreach (Transform child in obj.transform) { child.gameObject.SetActive(false); } if (returned) { //Debug.LogError("THIS IS WRONG"); ProjectileParentPool.Give(obj); foreach (Transform child in obj.transform) { child.parent = ProjectilePool.projectilePoolInstance.transform; ProjectilePool.Give(child.gameObject); } } else { openObjs[obj.GetComponent <ProjectileController>().spellSeg].Add(obj); } }
public void ReturnProj() { returned = true; foreach (KeyValuePair <SpellCreationSegment, List <GameObject> > entry in openObjs) { foreach (GameObject obj in entry.Value) { ProjectileParentPool.Give(obj); List <Transform> objectsToReparent = new List <Transform>(); foreach (Transform child in obj.transform) { objectsToReparent.Add(child); } foreach (Transform t in objectsToReparent) { t.parent = ProjectilePool.projectilePoolInstance.transform; ProjectilePool.Give(t.gameObject); } } } openObjs.Clear(); }