Esempio n. 1
0
    private void Awake()
    {
        //Disable music
        if (Sound.instance != null)
        {
            Sound.instance.GetComponent <AudioSource>().enabled = false;
        }

        currentLevel = PlayerPrefsPersister.GetCurrentLevel();

        levelTimmings = RatingsManager.levelTimmings;
        if (levelTimmings == null || levelTimmings.Count == 0)
        {
            RatingsManager.FillLevels();
        }
        currentLevelTimmings = levelTimmings.Where(l => l.LevelId == currentLevel).FirstOrDefault();

        //add level prefab
        GameObject levelPrefab = Instantiate(levels[currentLevel]);

        levelPrefab.transform.SetParent(levelContainer);
        timerText.enabled = false;

        //if this is the last level -> hide "Next" button;
        if (currentLevel == levels.Count - 1)
        {
            NextBtn.GetComponent <Button>().interactable = false;
        }
    }
Esempio n. 2
0
    void SetLevelButton(GameObject levelButton, bool isUnblocked, RatingsManager.LevelTimmings level = null)
    {
        levelButton.transform.SetParent(levelsPanel);

        //Setting position && anchors
        RectTransform levelButtonRect = levelButton.GetComponent <RectTransform>();

        levelButtonRect.localPosition = new Vector3(0, 0, 0);

        levelButtonRect.anchorMax = new Vector2(offsetXmax, offsetYmax);
        levelButtonRect.anchorMin = new Vector2(offsetXmin, offsetYmin);

        levelButtonRect.offsetMax = new Vector2(0, 0);
        levelButtonRect.offsetMin = new Vector2(0, 0);

        levelButtonRect.localScale = new Vector3(1, 1, 1);

        x          += 170;
        offsetXmax += offsetXincrement;
        offsetXmin += offsetXincrement;

        if (isUnblocked)
        {
            FillListener(levelButton.GetComponentInChildren <Button>(), level.LevelId);
            levelButton.GetComponentInChildren <Text>().text = (level.LevelId + 1).ToString();

            levelBestTime = PlayerPrefsPersister.GetLevelBestTime(level.LevelId);
            stars         = levelButton.GetComponentsInChildren <Image>().Where(s => s.tag == "Star").ToArray();

            //if 'levelBestTime' != 0(to check if at least has been completed 1 time) set the amount of stars the user has got
            if (levelBestTime != 0)
            {
                RatingsManager.SetLevelStars(level.Timmings, stars, levelBestTime);
            }
        }
        else
        {
            levelButton.GetComponent <Button>().interactable = false;
        }
    }