/// <summary> /// Returns a GameObject from object pool and enables it /// </summary> /// <param name="pos">New Position</param> /// <param name="rot">New Rotation</param> private GameObject GetFromPool(Vector3 pos, Quaternion rot) { if (PooledObjects.Count > 0) { GameObject g = PooledObjects.Pop(); g.transform.position = pos; g.transform.rotation = rot; g.SetActive(true); IPooled ip = g.GetComponent <IPooled>(); if (ip != null) { ip.OnSpawn(); } return(g); } return(null); }