Exemple #1
0
    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);
        }
    }
Exemple #2
0
    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);
    }