private void Start() { try { sceneController = GameObject.FindGameObjectWithTag("SceneController").GetComponent <SceneController>(); } catch (System.Exception e) { sceneController = Instantiate(sceneControllerObj).GetComponent <SceneController>(); } uiLevels = new List <UILevel>(); for (int i = 0; i < sceneController.levels.Length; i++) { UILevel level = Instantiate(levelObj, main.transform).GetComponent <UILevel>(); level.GetComponent <RectTransform>().anchoredPosition = new Vector2(i * 200f, 0f); level.Initialize(sceneController.levels[i], this, (i + 1)); uiLevels.Add(level); } currentLevel = PlayerPrefs.GetInt("CurrentLevel", 1); if (currentLevel > sceneController.levels.Length) { currentLevel = sceneController.levels.Length; } focus = uiLevels[currentLevel - 1]; }
private void BuildLevelPage(int page) { if (page >= 0 && page <= maxPage) { RemoveItemsFromPage(); currentPage = page; List <UILevel> pageList = levelList.Skip(page * pageSize).Take(pageSize).ToList(); for (int i = 0; i < pageList.Count; i++) { Level level = LevelController.instance.levels[(page * pageSize) + i]; UILevel instance = Instantiate(pageList[i]); instance.SetStars(level.Stars); instance.transform.SetParent(levelSelectPanel); instance.transform.localScale = new Vector3(1f, 1f, 1f); instance.GetComponent <Button>().onClick.AddListener(() => SelectLevel(level)); if (!level.Locked) { instance.lockImage.SetActive(false); instance.levelIDText.text = (level.ID + 1).ToString(); } else { instance.lockImage.SetActive(true); instance.levelIDText.text = ""; } } } }