// transform used object to free public void SetObjectUsed(PoolObject poolObject, Vector3 position) { if (freeObjects.Contains(poolObject)) { freeObjects.Remove(poolObject); } poolObject.InitPoolObject(position); usedObjects.Add(poolObject); }