/////////////////////////////////////////////// /// <summary> /// Restituisce l'oggetto con ID specificato settandogli il parent /// </summary> /// <typeparam name="T"></typeparam> /// <param name="_id"></param> /// <param name="_parent"></param> /// <returns></returns> public T GetFirstAvaiableObject <T>(string _id, Transform _parent) where T : PoolObjectBase { Pooler <PoolObjectBase> pool = GetPooler <T>(_id); T obj = (T)pool.GetFirstCollectable(); SetPoolObjectParent(obj, _parent); return(obj); }
/////////////////////////////////////////////// /// <summary> /// Restituisce l'oggetto con ID specificato settandogli la posizione /// </summary> /// <typeparam name="T"></typeparam> /// <param name="_id"></param> /// <param name="_position"></param> /// <returns></returns> public T GetFirstAvaiableObject <T>(string _id, Vector3 _position) where T : PoolObjectBase { Pooler <PoolObjectBase> pool = GetPooler <T>(_id); T obj = (T)pool.GetFirstCollectable(); SetPoolObjectPosition(obj, _position); return(obj); }
/// <summary> /// Fra tutti i pooler cerca quello che corrisponde al tipo e gli chiede il primo oggetto disponibile /// </summary> /// <typeparam name="T">Il tipo di PoolObject richiesto</typeparam> /// <returns>Restituisce un IPoollable che può essere castato con il valore passato al posto del tipo T</returns> public T GetFirstAvaiableObject <T>() where T : PoolObjectBase { Pooler <PoolObjectBase> pool = GetPooler <T>(); return((T)pool.GetFirstCollectable()); }