private static ObjectPoolTouch GetObjectPoolTouch(RecycleTouch reference) { ObjectPoolTouch pool = null; if (touchesPool.ContainsKey(reference)) { pool = touchesPool [reference]; } else { var poolContainer = new GameObject(reference.gameObject.name + "ObjectPoolTouch"); pool = poolContainer.AddComponent <ObjectPoolTouch> (); pool.prefab = reference; touchesPool.Add(reference, pool); } return(pool); }
public RecycleTouch NextTouch(Vector3 position) { RecycleTouch instance = null; foreach (var gO in poolTouches) { if (gO.gameObject.activeSelf != true) { instance = gO; instance.transform.position = position; } } if (instance == null) { instance = CreateTouch(position); } instance.Restart(); return(instance); }