Example #1
0
    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];
    }
Example #2
0
    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 = "";
                }
            }
        }
    }