/// Public methods ------------------------------------------------------------- // Maps data to UI objects public void SetUIData(LevelPackData data) { RefreshData(data); _name.text = data.Name; _locked.SetActive(!data.Unlocked); if (!data.Unlocked) { gameObject.GetComponent <Button>().interactable = false; } int total = 0; for (int i = 0; i < data.Progress; i++) { _progress[i].color = ColorUtil.HexToColor(PROGRESS_HEX); //ColorUtil.TROPHY_COLOR[data.Levels[i].Tier]; foreach (Transform child in _progress[i].transform) { if (!child.gameObject.activeSelf) { child.gameObject.SetActive(true); child.GetComponent <Image>().color = ColorUtil.TROPHY_COLOR[data.Levels[i].Tier]; total += data.Levels[i].Tier; } } } _trophies.text = total + " / 30"; }
/// Public methods ------------------------------------------------------------- // Loads levelpack data/progress on app startup public static void LoadLevelData() { TextAsset[] files = Resources.LoadAll <TextAsset>("Data/"); _levelPacks = new LevelPackData[files.Length]; for (int i = 0; i < files.Length; i++) { string data = files[i].text; JObject jo = JObject.Parse(data); LevelPackData lp = new LevelPackData(jo); _levelPacks[i] = lp; } }
// Update _levelPacks with given levelpackID private static void RefreshLevelPack(int levelpackID) { _levelPacks[levelpackID] = new LevelPackData(_levelPacks[levelpackID].LPData); }
public void RefreshData(LevelPackData data) { _data = data; }