public void Initialize(int index) { level = PlayerData.GetLevelByIndex(index); if (level == null) { levelNumber.gameObject.SetActive(false); levelName.text = "???"; levelName.alignment = TextAlignmentOptions.Center; thumbnail.transform.parent.gameObject.SetActive(false); foreach (Image i in results) { i.transform.parent.gameObject.SetActive(false); } } else { levelNumber.gameObject.SetActive(true); levelNumber.text = level.levelNumber < 10 ? string.Format("#0{0}", level.levelNumber) : string.Format("#{0}", level.levelNumber); levelName.text = level.name; thumbnail.gameObject.SetActive(true); thumbnail.sprite = level.thumbnail; switch (level.outcome) { case LevelOutcome.binary: for (int i = 0; i < results.Count; i += 2) { if (level.resultsAchieved[i] == 1) { results[i].color = results[i].transform.parent.GetComponent <Image>().color; } else { results[i].color = Color.white; } } results[1].transform.parent.gameObject.SetActive(false); break; case LevelOutcome.tertiary: for (int i = 0; i < results.Count; ++i) { if (level.resultsAchieved[i] == 1) { results[i].color = results[i].transform.parent.GetComponent <Image>().color; } else { results[i].color = Color.white; } } break; } } }
public void Initialize(GalleryLevel level) { levelNum.text = level.levelNumber < 10 ? string.Format("#0{0}", level.levelNumber) : string.Format("#{0}", level.levelNumber); levelName.text = level.name; for (int i = 0; i < results.Count; ++i) { if (level.resultsAchieved[i] == 1) { results[i].SetActive(true); } else { results[i].SetActive(false); } } }
static void CompleteLevel(ResultType result, Level level) { int scene = SceneManager.GetActiveScene().buildIndex; if (!LevelsCompleted.ContainsKey(scene)) { GalleryLevel gl = new GalleryLevel(); gl.Initialize(level, SceneManager.GetSceneByBuildIndex(scene).name, scene); LevelsCompleted.Add(scene, gl); } LevelsCompleted[scene].resultsAchieved[(int)result] = 1; if (!GameManager.IsFromGallery() && !LevelsCompletedOnRun.ContainsKey(scene)) { GalleryLevel gl = new GalleryLevel(); gl.Initialize(level, SceneManager.GetSceneByBuildIndex(scene).name, scene); LevelsCompletedOnRun.Add(scene, gl); LevelsCompletedOnRun[scene].resultsAchieved[(int)result] = 1; } if (!OverallResults.ContainsKey(result)) { OverallResults.Add(result, 0); } OverallResults[result] += 1; if (!ResultsByLevelType.ContainsKey(level.GetLevelType())) { List <int> data = new List <int>(); data.Add(0); data.Add(0); data.Add(0); ResultsByLevelType.Add(level.GetLevelType(), data); } ResultsByLevelType[level.GetLevelType()][(int)result] += 1; }