private void SpawnUI() { if (currentlySpawnablePrefabs.Count == 0) { return; } int spawnIndex = Random.Range(0, currentlySpawnablePrefabs.Count); GameObject currentSpawnablePrefab = currentlySpawnablePrefabs[spawnIndex]; var spawned = Instantiate <GameObject>(currentSpawnablePrefab, canvas.transform); ruleController.RandomizeObject(spawned); ElementAttributes eA = currentSpawnablePrefab.GetComponent <ElementAttributes>(); if (eA.IsUnique) { currentlySpawnablePrefabs.RemoveAt(spawnIndex); } if (eA.IsPersistent) { ++currentPresistentElements; if (currentPresistentElements >= GetLevelArrayValue(maxPersistentElement)) { PurgetPersistentElements(); } } }