diff options
Diffstat (limited to 'Client/Assembly-CSharp/LanguageSetter.cs')
-rw-r--r-- | Client/Assembly-CSharp/LanguageSetter.cs | 50 |
1 files changed, 50 insertions, 0 deletions
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<TranslationController>.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<LanguageButton>(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<TranslationController>.Instance.SetLanguage(selected.Language); + } +} |