Example #1
0
        /// <summary>
        /// Creates a button for each level and adds to the level selection menu.
        /// </summary>
        /// <param name="menuControl">An object that can load a new level. Used when a level selection button is pressed.</param>
        public void BuildLevelSelectScreen(IMainMenuControl menuControl)
        {
            levelSelectMenu.gameObject.SetActive(true);

            var levels = levelManager.levels;

            for (int i = 0; i < levels.Length; i++)
            {
                LevelSelectionButton button = null;

                if (m_Buttons[i] == null)
                {
                    button       = Instantiate(buttonPrefab).GetComponent <LevelSelectionButton>();
                    m_Buttons[i] = button;
                }
                else
                {
                    button = m_Buttons[i];
                    button.gameObject.SetActive(true);
                }


                button.Initialise(menuControl, levelManager, levels[i]);
                button.transform.SetParent(levelSelectMenu, false);
            }
        }
Example #2
0
        /// <summary>
        /// Initialises button.
        /// </summary>
        /// <param name="mainMenuControl"></param>
        /// <param name="levelManager"></param>
        /// <param name="level"></param>
        public void Initialise(IMainMenuControl mainMenuControl, ILevelManager levelManager, Level level)
        {
            m_LevelManager = levelManager;
            m_Level        = level;
            m_MenuControl  = mainMenuControl;

            SetTextToLevelID();

            SetTextColour();

            if (ShouldLevelBeSelectable())
            {
                EnableButtonInteraction();
            }
            else
            {
                DisableButtonInteraction();
            }

            m_Initialised = true;
        }