2024-06-03 19:57:47 -04:00
|
|
|
import BattleScene from "../../battle-scene";
|
|
|
|
import { Mode } from "../ui";
|
|
|
|
"#app/inputs-controller.js";
|
|
|
|
import AbstractSettingsUiHandler from "./abstract-settings-ui-handler";
|
2024-06-08 23:15:53 +09:00
|
|
|
import { Setting, SettingKeys, SettingType } from "#app/system/settings/settings";
|
2024-06-03 19:57:47 -04:00
|
|
|
|
2024-06-06 10:38:54 -04:00
|
|
|
export default class SettingsDisplayUiHandler extends AbstractSettingsUiHandler {
|
2024-06-03 19:57:47 -04:00
|
|
|
/**
|
|
|
|
* Creates an instance of SettingsGamepadUiHandler.
|
|
|
|
*
|
|
|
|
* @param scene - The BattleScene instance.
|
|
|
|
* @param mode - The UI mode, optional.
|
|
|
|
*/
|
|
|
|
constructor(scene: BattleScene, mode?: Mode) {
|
|
|
|
super(scene, mode);
|
2024-06-06 10:38:54 -04:00
|
|
|
this.title = "Display";
|
|
|
|
this.settings = Setting.filter(s => s.type === SettingType.DISPLAY);
|
2024-06-08 23:15:53 +09:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Update to current language from default value.
|
|
|
|
* - default value is 'English'
|
|
|
|
*/
|
|
|
|
const languageIndex = this.settings.findIndex(s => s.key === SettingKeys.Language);
|
|
|
|
if (languageIndex >= 0) {
|
|
|
|
const currentLocale = localStorage.getItem("prLang");
|
|
|
|
switch (currentLocale) {
|
|
|
|
case "en":
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "English",
|
|
|
|
label: "English",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
|
|
|
case "es":
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "Español",
|
|
|
|
label: "Español",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
|
|
|
case "it":
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "Italiano",
|
|
|
|
label: "Italiano",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
|
|
|
case "fr":
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "Français",
|
|
|
|
label: "Français",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
|
|
|
case "de":
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "Deutsch",
|
|
|
|
label: "Deutsch",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
|
|
|
case "pt-BR":
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "Português (BR)",
|
|
|
|
label: "Português (BR)",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
|
|
|
case "zh-CN":
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "简体中文",
|
|
|
|
label: "简体中文",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
|
|
|
case "zh-TW":
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "繁體中文",
|
|
|
|
label: "繁體中文",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
|
|
|
case "ko":
|
2024-06-21 23:50:35 +09:00
|
|
|
case "ko-KR":
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "한국어",
|
|
|
|
label: "한국어",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
2024-08-06 20:36:07 -04:00
|
|
|
case "ja":
|
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "日本語",
|
|
|
|
label: "日本語",
|
|
|
|
};
|
|
|
|
break;
|
2024-08-07 10:45:29 +02:00
|
|
|
case "ca-ES":
|
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "Català",
|
|
|
|
label: "Català",
|
|
|
|
};
|
|
|
|
break;
|
2024-06-08 23:15:53 +09:00
|
|
|
default:
|
2024-06-17 15:47:22 +02:00
|
|
|
this.settings[languageIndex].options[0] = {
|
|
|
|
value: "English",
|
|
|
|
label: "English",
|
|
|
|
};
|
2024-06-08 23:15:53 +09:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-06-03 19:57:47 -04:00
|
|
|
this.localStorageKey = "settings";
|
|
|
|
}
|
|
|
|
}
|