private void SpawnParts() { if (!spawnTimer.IsLocked()) { spawnTimer.SetLock(true); spawnTimer.SetTimer(spawnTime); } if (spawnTimer.IsLocked()) { spawnTimer.RecordTime(Time.deltaTime); } if (spawnTimer.IsDone()) { spawnTimer.SetLock(false); puzzlesToSpawnPool = Shuffle(puzzlesToSpawnPool); PuzzleController spawn = puzzlesToSpawnPool[0]; if (isSpawningLeft && spawn.IsLeftSide()) { puzzlesInPlayPool.Add(spawn); spawn.SetVisable(true); spawn.SetActive(true); puzzlesToSpawnPool.Remove(spawn); } if (isSpawningRight && !spawn.IsLeftSide()) { puzzlesInPlayPool.Add(spawn); spawn.SetVisable(true); spawn.SetActive(true); puzzlesToSpawnPool.Remove(spawn); } } }