public CharacterComponent Spawn() { CharacterComponent t = null; if (RecycledObjects.Count == 0) { t = Instantiate(CharacterPrefab) as CharacterComponent; t.SetPool(this); } else { t = RecycledObjects.Pop(); t.gameObject.SetActive(true); t.transform.parent = null; } ActiveObjects.Add(t); return t; }