public void UpdateUI() { if (!useUI) { return; } content.ClearChildren(true); for (int i = 0; i < highscores.Length; i++) { Highscore score = highscores[i]; Transform item = Instantiate(template, content.transform); item.gameObject.SetActive(true); item.gameObject.name = score.username; Image image = item.GetComponent <Image>(); if (i == 0) { image.color = first; } else if (i == 1) { image.color = second; } else if (i == 2) { image.color = third; } else if (score.username == Options.username) { image.color = mine; } foreach (Text t in item.GetComponentsInChildren <Text>()) { if (t.gameObject.name == "Rank") { t.text = (i + 1).ToString("D3"); } else if (t.gameObject.name == "Username") { t.text = score.username; } else if (t.gameObject.name == "Version") { t.text = score.version.ToString(); t.color = (score.version == Highscore.Version.Full) ? Color.blue : Color.red; } else if (t.gameObject.name == "Score") { t.text = score.score.ToString("D3"); } } } content.ReCalculate(); ScrollToMe(); }
void UpdateOption(Option option) { AutoLayoutGroup selector = null; Sprite[] list = null; Dictionary <string, Button> buttons = new Dictionary <string, Button>(); string def = ""; switch (option) { case (Option.Skin): selector = skinSelector; def = defaultSkin; break; case (Option.Background): selector = backgroundSelector; def = defaultBackground; break; } list = Resources.LoadAll <Sprite>(option.ToString() + "s"); selector.ClearChildren(); foreach (Sprite sprite in list) { Image image = new GameObject(sprite.name).AddComponent <Image>(); image.sprite = sprite; image.color = Color.white; image.material = null; image.raycastTarget = true; image.type = Image.Type.Simple; image.preserveAspect = true; Animator animator = image.gameObject.AddComponent <Animator>(); animator.runtimeAnimatorController = optionButtonAnimatorController; animator.updateMode = AnimatorUpdateMode.UnscaledTime; Button button = image.gameObject.AddComponent <Button>(); button.onClick.AddListener(delegate() { ChooseSprite(option, sprite); }); button.transition = Selectable.Transition.Animation; button.image = image; UIAudio audio = image.gameObject.AddComponent <UIAudio>(); audio.element = UIAudio.Element.Button; buttons.Add(sprite.name, button); if (sprite.name == PlayerPrefs.GetString(option.ToString(), def)) { image.color = selectedColour; switch (option) { case (Option.Skin): skin = sprite; foreach (Image i in skinnedImages) { i.sprite = sprite; } break; case (Option.Background): background = sprite; Background.UpdateBackgrounds(); break; } } image.transform.SetParent(selector.transform); } switch (option) { case (Option.Skin): skins = list; skinButtons = buttons; break; case (Option.Background): backgrounds = list; backgroundButtons = buttons; break; } selector.ReCalculate(); }