private void PopulatePool() { SpawnableBase newLazer = lazerFactory.GetItem(); newLazer.SetPool(lazerPool); newLazer.transform.SetParent(playerView.ShootPos); newLazer.gameObject.SetActive(false); lazerPool.SetInstance(newLazer); }
private void CreateLevels() { int levelNumber = 1; float durationIncrease = 0; for (int i = 0; i < Random.Range(levelGenerationData.MinLevelCount, levelGenerationData.MaxLevelCount); i++) { LevelData levelData = new LevelData(); levelData.Init(); levelData.levelName = "Level" + levelNumber; levelData.levelDuration = levelGenerationData.MinLevelDuration + durationIncrease; levelData.spawnRate = Random.Range(levelGenerationData.MinSpawnRate, levelGenerationData.MaxSpawnRate); levelData.levelStatus = LevelStatus.Closed; if (levelData.levelName.Equals(levelGenerationData.LevelOneName)) { levelData.levelStatus = LevelStatus.Open; } for (int j = 0; j < Random.Range(levelGenerationData.MinSpawnableCount, levelGenerationData.MaxSpawnableCount); j++) { levelData.spawnables.Add(levelGenerationData.SpawnableData.Spawnables[Random.Range(0, levelGenerationData.SpawnableData.Spawnables.Count)].name); } SaveData.Current.levelData.Add(levelData); LevelIconBase levelIcon = levelIconFactory.GetItem(); levelIcon.gameObject.SetActive(true); levelIcon.gameObject.transform.SetParent(mapView.LevelViewHolder); LevelBase level = new Level(levelController, levelData, levelIcon); levelHolder.Levels.AddLast(level); levelNumber++; durationIncrease += levelGenerationData.DurationIncreasePerLevel; } }