using UnityEngine; using UnityEngine.UI; public class SettingsPanel : MonoBehaviour { public UpdateHandler Handler; public Dropdown DdRepository; public InputField InRepositoryUrl; public Text TextUpdaterVersion; public Text TextTranslatorVersion; public Text TextTranslationVersion; private bool _settingsChanged; public SettingsPanel Init(string updaterVersion) { _settingsChanged = false; TextUpdaterVersion.text = "Updater Version: " + updaterVersion; TextTranslatorVersion.text = "KF3TL Version:\n" + PlayerPrefs.GetString(UpdateHandler.TRANSLATOR_VER, "undefined"); TextTranslationVersion.text = "Translation Version:\n" + PlayerPrefs.GetString(UpdateHandler.TRANSLATION_VER, "undefined"); int mode = PlayerPrefs.GetInt(UpdateHandler.REPO_CUSTOM_NAME, 0); OnSourceDropdown(mode); DdRepository.SetValueWithoutNotify(mode); _settingsChanged = false; gameObject.SetActive(true); transform.SetAsLastSibling(); return this; } public void OnSourceDropdown(int choice) { switch (choice) { case 0: PlayerPrefs.SetInt(UpdateHandler.REPO_CUSTOM_NAME, 0); InRepositoryUrl.text = UpdateHandler.REPO_DEFAULT; InRepositoryUrl.interactable = false; break; case 1: PlayerPrefs.SetInt(UpdateHandler.REPO_CUSTOM_NAME, 1); InRepositoryUrl.text = PlayerPrefs.GetString(UpdateHandler.REPO_CUSTOM_URL, UpdateHandler.REPO_DEFAULT); InRepositoryUrl.interactable = true; break; } PlayerPrefs.Save(); _settingsChanged = true; } public void OnSourceEditFinished(string text) { PlayerPrefs.SetString(UpdateHandler.REPO_CUSTOM_URL, text); PlayerPrefs.Save(); _settingsChanged = true; } public void OnClearTranslatorButton() { PlayerPrefs.SetString(UpdateHandler.TRANSLATOR_VER, "undefined"); PlayerPrefs.Save(); TextTranslatorVersion.text = "KF3TL Version:\n" + PlayerPrefs.GetString(UpdateHandler.TRANSLATOR_VER, "undefined"); _settingsChanged = true; } public void OnClearTranslationButton() { PlayerPrefs.SetString(UpdateHandler.TRANSLATION_VER, "undefined"); PlayerPrefs.Save(); TextTranslationVersion.text = "Translation Version:\n" + PlayerPrefs.GetString(UpdateHandler.TRANSLATION_VER, "undefined"); _settingsChanged = true; } public void OnSettingsClose() { if (_settingsChanged) { Handler.StopAllCoroutines(); Destroy(Handler.gameObject); UpdateHandler.Create(); return; } gameObject.SetActive(false); } }