Language selection.
Gulpfile
This commit is contained in:
parent
5b5f3d83c2
commit
5ed031cb6a
9 changed files with 135 additions and 32 deletions
62
Js/Main.js
62
Js/Main.js
|
@ -14,6 +14,7 @@ const languages = ["eng", "jpn"];
|
|||
let bodyLoaded = false;
|
||||
let utageLoaded = false;
|
||||
let selectedLang = "eng";
|
||||
let currentMission = undefined;
|
||||
let screenw = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
|
||||
let screenh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
|
||||
let screenSizeTimeout = undefined;
|
||||
|
@ -40,19 +41,7 @@ function onBodyLoaded() {
|
|||
(function checkIsLoaded() {
|
||||
if(bodyLoaded) {
|
||||
document.getElementById('loading-font').style.cssText = "display: none;";
|
||||
volume = localStorage.getItem('volume') || 0.5;
|
||||
volume = Number(volume);
|
||||
audio.changeVolume(volume);
|
||||
document.getElementById('volume-range').value = volume * 100;
|
||||
isMuted = localStorage.getItem('ismuted') || false;
|
||||
if(isMuted === "false") { isMuted = false; }
|
||||
else if(isMuted === "true") { isMuted = true; }
|
||||
audio.mute(isMuted);
|
||||
if(isMuted) {
|
||||
document.getElementById('mute-button').innerText = "🔇";
|
||||
} else {
|
||||
document.getElementById('mute-button').innerText = "🔊";
|
||||
}
|
||||
loadLocalStorage();
|
||||
}
|
||||
if(utageLoaded) {
|
||||
document.getElementById('loading-utage').style.cssText = "display: none;";
|
||||
|
@ -68,6 +57,7 @@ function onBodyLoaded() {
|
|||
function onAllLoaded(success) {
|
||||
textFunc.findTextElements();
|
||||
buildMissionSelectList();
|
||||
buildLanguageList();
|
||||
let appContainer = document.getElementById('app-container');
|
||||
appContainer.appendChild(pixiApp.app.view);
|
||||
setTimeout(() => {
|
||||
|
@ -77,6 +67,28 @@ function onAllLoaded(success) {
|
|||
}, 0);
|
||||
}
|
||||
|
||||
function loadLocalStorage() {
|
||||
//audio
|
||||
volume = localStorage.getItem('volume') || 0.5;
|
||||
volume = Number(volume);
|
||||
audio.changeVolume(volume);
|
||||
document.getElementById('volume-range').value = volume * 100;
|
||||
isMuted = localStorage.getItem('ismuted') || false;
|
||||
if(isMuted === "false") { isMuted = false; }
|
||||
else if(isMuted === "true") { isMuted = true; }
|
||||
audio.mute(isMuted);
|
||||
if(isMuted) {
|
||||
document.getElementById('mute-button').innerText = "🔇";
|
||||
} else {
|
||||
document.getElementById('mute-button').innerText = "🔊";
|
||||
}
|
||||
//language
|
||||
let lang = localStorage.getItem('language') || "eng";
|
||||
if(languages.includes(lang)) {
|
||||
selectedLang = lang;
|
||||
}
|
||||
}
|
||||
|
||||
function buildMissionSelectList() {
|
||||
let selectBox = document.getElementById('select-mission');
|
||||
selectBox.innerHTML = '';
|
||||
|
@ -97,13 +109,26 @@ function buildMissionSelectList() {
|
|||
}
|
||||
}
|
||||
|
||||
function buildLanguageList() {
|
||||
let selectBox = document.getElementById('select-language');
|
||||
selectBox.innerHTML = '';
|
||||
for(let i = 0; i < languages.length; ++i) {
|
||||
let opt = document.createElement('option');
|
||||
opt.setAttribute('value', languages[i]);
|
||||
opt.innerText = languages[i];
|
||||
selectBox.appendChild(opt);
|
||||
}
|
||||
selectBox.value = selectedLang;
|
||||
}
|
||||
|
||||
function missionChanged(event) {
|
||||
if(!event || !event.currentTarget || !event.currentTarget.value || event.currentTarget.value === '{Select}') { return; }
|
||||
|
||||
let newMission = utage.availableMissions[event.currentTarget.value.split('|')[0]];
|
||||
currentMission = newMission;
|
||||
let promises = [
|
||||
utage.parseMissionFile(`${utage.rootDirectory}XDUData/${newMission.Path.replace('Asset/', '').replace('.utage', '').replace('.tsv', '_t.tsv')}`),
|
||||
utage.loadMissionTranslation(`${utage.rootDirectory}XDUData/${newMission.Path.replace('Asset/', '').replace('.utage', '').replace('.tsv', `_translations_${selectedLang}.json`)}`),
|
||||
utage.loadMissionTranslation(`${utage.rootDirectory}XDUData/${newMission.Path.replace('Asset/', '').replace('.utage', '').replace('.tsv', `_translations_${selectedLang}.json`)}`, selectedLang),
|
||||
player.resetAll()
|
||||
];
|
||||
|
||||
|
@ -112,16 +137,25 @@ function missionChanged(event) {
|
|||
let res = player.playFile()
|
||||
.then((success) => {
|
||||
player.resetAll();
|
||||
currentMission = undefined;
|
||||
debugger;
|
||||
}, (failure) => {
|
||||
debugger;
|
||||
currentMission = undefined;
|
||||
console.log(failure);
|
||||
});
|
||||
}, (failure) => {
|
||||
currentMission = undefined;
|
||||
console.log(failure);
|
||||
});
|
||||
}
|
||||
|
||||
function languageChanged(event) {
|
||||
if(!event || !event.currentTarget || !event.currentTarget.value || event.currentTarget.value === '{Select}' || !languages.includes(event.currentTarget.value)) { return; }
|
||||
selectedLang = event.currentTarget.value;
|
||||
utage.loadMissionTranslation(`${utage.rootDirectory}XDUData/${currentMission.Path.replace('Asset/', '').replace('.utage', '').replace('.tsv', `_translations_${selectedLang}.json`)}`, selectedLang);
|
||||
}
|
||||
|
||||
function onMainClick(event) {
|
||||
player.onMainClick(event);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue