'use strict'; const pixiApp = { app: new PIXI.Application(baseDimensions), loader: PIXI.loader }; const utage = new UtageInfo(); const textFunc = new TextFunctions(); const audio = new audioController(); const player = new Player(pixiApp, utage, textFunc, audio); const context = new (window.AudioContext || window.webkitAudioContext)(); const languages = ["eng", "jpn"]; let bodyLoaded = false; let utageLoaded = false; let selectedLang = "eng"; let screenw = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); let screenh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); let screenSizeTimeout = undefined; function onBodyLoaded() { bodyLoaded = true; } (function startLoad() { let promises = [ utage.loadUtageSettings() ]; Promise.all(promises) .then((success) => { utageLoaded = true; }, (failure) => { console.log(failure); }); })(); (function checkIsLoaded() { if(bodyLoaded) { document.getElementById('loading-font').style.cssText = "display: none;"; } if(utageLoaded) { document.getElementById('loading-utage').style.cssText = "display: none;"; } if(bodyLoaded && utageLoaded) { document.getElementById('loading-container').style.cssText = "opacity: 0;"; onAllLoaded(); } else { setTimeout(checkIsLoaded, 300); } })(); function onAllLoaded(success) { textFunc.findTextElements(); buildMissionSelectList(); let appContainer = document.getElementById('app-container'); appContainer.appendChild(pixiApp.app.view); setTimeout(() => { document.getElementById('parent-container').style.cssText = "opacity: 1;"; onWindowResize(); window.addEventListener("resize", onWindowResize); }, 0); } function buildMissionSelectList() { let selectBox = document.getElementById('select-mission'); selectBox.innerHTML = ''; for(let i = -1; i < utage.missionsList.length; ++i) { let opt = document.createElement('option'); if(i === -1) { opt.setAttribute('value', '{Select}'); opt.innerText = 'Select Mission'; } else { let m = utage.missionsList[i]; //if(m.includes('MA1-') || m.includes('MA2-')|| m.includes('MA3-')) { // continue; //} opt.setAttribute('value', m); opt.innerText = m.replace('|', ' - '); } selectBox.appendChild(opt); } } function missionChanged(event) { if(!event || !event.currentTarget || !event.currentTarget.value || event.currentTarget.value === '{Select}') { return; } let newMission = utage.availableMissions[event.currentTarget.value.split('|')[0]]; 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`)}`), player.resetAll() ]; Promise.all(promises) .then((success) => { let res = player.playFile() .then((success) => { player.resetAll(); debugger; }, (failure) => { debugger; console.log(failure); }); }, (failure) => { console.log(failure); }); } function onMainClick(event) { player.onMainClick(event); } function hideUiClicked(event) { player.hideUiClicked(event); } function onWindowResize(event) { if(screenSizeTimeout) { clearTimeout(screenSizeTimeout); screenSizeTimeout = undefined; } screenSizeTimeout = setTimeout(() => { screenw = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); screenh = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); let topContainerHeight = document.getElementById('other-controls-container').offsetHeight + 6; let res = commonFunctions.getNewResolution(baseDimensions, screenw, screenh, topContainerHeight); player.updateResolution(res); document.getElementById('app-container').style.cssText = `width: ${res.width}px; height: ${res.height}px;`; }, 400); }