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; } }
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; } }