public void Init(List <LevelSelectButtonData> buttonData) { ClearExistingButtons(); m_levelButtons = new LevelButton[buttonData.Count]; int number = 1; foreach (LevelSelectButtonData lbd in buttonData) { GameObject button = Instantiate(m_buttonPrefab, transform); LevelButton levelButton = button.GetComponent <LevelButton>(); m_levelButtons[number - 1] = levelButton; levelButton.Init(number++, lbd.m_levelNum, lbd.m_name, lbd.m_callback, lbd.m_isButtonActive); if (!lbd.m_isLevel) { // this is a button for a question - show it as either completed or not if (lbd.m_completionScore > 0) { levelButton.HideCompletionCount(false); levelButton.SetCompletedCount(1, 1); } else { levelButton.HideCompletionCount(true); } } else { // this is a button for a quiz. Show the number of questions completed. levelButton.SetCompletedCount(lbd.m_completionScore, lbd.m_maxCompletion); if (lbd.m_completionScore == 0 && lbd.m_isButtonActive) { // we've only just unlocked it. Flash it. UnityStandardAssets._2D.Visibility vis = button.GetComponentInChildren <UnityStandardAssets._2D.Visibility>(true); vis.Flash(5, 0.1f, 0.1f, true); } } } }