KF3_TranslationUpdater/UI/SettingsPanel.cs

86 lines
2.8 KiB
C#

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);
}
}