From e9ea621b93fbb58d9edfca8375918791637bbd52 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 30 Dec 2020 20:59:04 +0800 Subject: +init --- Client/Assembly-CSharp/LanguageSetter.cs | 50 ++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Client/Assembly-CSharp/LanguageSetter.cs (limited to 'Client/Assembly-CSharp/LanguageSetter.cs') diff --git a/Client/Assembly-CSharp/LanguageSetter.cs b/Client/Assembly-CSharp/LanguageSetter.cs new file mode 100644 index 0000000..e5ccac7 --- /dev/null +++ b/Client/Assembly-CSharp/LanguageSetter.cs @@ -0,0 +1,50 @@ +using System; +using UnityEngine; + +public class LanguageSetter : MonoBehaviour +{ + public LanguageButton ButtonPrefab; + + public Scroller ButtonParent; + + public float ButtonStart = 0.5f; + + public float ButtonHeight = 0.5f; + + private LanguageButton[] AllButtons; + + public void Start() + { + TextAsset[] languages = DestroyableSingleton.Instance.Languages; + Vector3 vector = new Vector3(0f, this.ButtonStart, -1f); + this.AllButtons = new LanguageButton[languages.Length]; + for (int i = 0; i < languages.Length; i++) + { + LanguageButton button = UnityEngine.Object.Instantiate(this.ButtonPrefab, this.ButtonParent.Inner); + this.AllButtons[i] = button; + button.Language = languages[i]; + button.Title.Text = languages[i].name; + if ((long)i == (long)((ulong)SaveManager.LastLanguage)) + { + button.Title.Color = Color.green; + } + button.Button.OnClick.AddListener(delegate() + { + this.SetLanguage(button); + }); + button.transform.localPosition = vector; + vector.y -= this.ButtonHeight; + } + this.ButtonParent.YBounds.max = Mathf.Max(0f, -vector.y - this.ButtonStart * 2f); + } + + public void SetLanguage(LanguageButton selected) + { + for (int i = 0; i < this.AllButtons.Length; i++) + { + this.AllButtons[i].Title.Color = Color.white; + } + selected.Title.Color = Color.green; + DestroyableSingleton.Instance.SetLanguage(selected.Language); + } +} -- cgit v1.1-26-g67d0