public virtual void InitializeLevels() { if (levelSelectorPrefab == null || levelSelectionHolder == null || isActiveAndEnabled == false) { return; } if (levelSelectionHolder.childCount > 0) { for (int i = levelSelectionHolder.childCount - 1; i >= 0; i--) { Destroy(levelSelectionHolder.GetChild(i).gameObject); } } List <string> levelNames = LevelManager.Instance.Chapters[chapterNumber].levels; // Cleanup the levelNames list, to make sure we do not accidentally create a button for a unloadable level for (int i = LevelManager.Instance.Chapters[chapterNumber].LevelsCount - 1; i >= 0; i--) { if (!string.IsNullOrEmpty(levelNames[i])) { continue; } levelNames.RemoveAt(i); } for (int i = 0; i < LevelManager.Instance.Chapters[chapterNumber].LevelsCount; i++) { LevelSelector selector = Instantiate(levelSelectorPrefab, levelSelectionHolder); bool isUnlocked = true; bool isCompleted = LevelManager.Instance.GetLevelCompletionStatus(levelNames[i]); if (i > 0) { if (LevelManager.Instance.GetLevelCompletionStatus(levelNames[i - 1]) == false) { isUnlocked = false; } } selector.Initialize((i + 1).ToString(), levelNames[i], isUnlocked, isCompleted, mainMenuHelper); } }
public void Initialize() { Debug.Log("Menu Initializing"); Transform customizeHolder = transform.Find("Customize"); //Create Runner Assert.That(_dataBase.RunnerList.Count > 0, "Runner database not set"); _runner = new RunnerSelector(customizeHolder); _runner.Initialize(_dataBase); //Create Equipment Assert.That(_dataBase.EquipmentList.Count > 0, "Equipment database not set"); _equipment = new EquipmentSelector(customizeHolder); _equipment.Initialize(_dataBase); //Create Level Assert.That(_dataBase.LevelList.Count > 0, "Level database not set"); _level = new LevelSelector(customizeHolder); _level.Initialize(_dataBase); }