44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
|
|
window.PlayOnline = function( filePath = "", emulatorJsConfig = {} ){
|
||
|
|
|
||
|
|
return {
|
||
|
|
|
||
|
|
fileUrl: filePath,
|
||
|
|
emuConfig: emulatorJsConfig,
|
||
|
|
|
||
|
|
init(){
|
||
|
|
this.launchEmulatorJs();
|
||
|
|
},
|
||
|
|
|
||
|
|
cleanEmulatorJsVars() {
|
||
|
|
['EJS_player','EJS_core','EJS_gameUrl','EJS_pathtodata',
|
||
|
|
'EJS_startOnLoaded','EJS_threads']
|
||
|
|
.forEach(k => delete window[k]);
|
||
|
|
},
|
||
|
|
|
||
|
|
prepareEmulatorJs(){
|
||
|
|
window.EJS_player = '#game';
|
||
|
|
window.EJS_core = this.emuConfig.core;
|
||
|
|
window.EJS_gameUrl = this.filePath;
|
||
|
|
window.EJS_pathtodata = "https://cdn.emulatorjs.org/stable/data/";
|
||
|
|
window.EJS_startOnLoaded = true;
|
||
|
|
window.EJS_threads = this.emuConfig.threads ?? false;
|
||
|
|
},
|
||
|
|
|
||
|
|
launchEmulatorJs(){
|
||
|
|
|
||
|
|
this.cleanEmulatorJsVars();
|
||
|
|
this.prepareEmulatorJs();
|
||
|
|
|
||
|
|
const script = document.createElement('script');
|
||
|
|
script.id = 'ejs-loader';
|
||
|
|
script.src = 'https://cdn.emulatorjs.org/stable/data/loader.js';
|
||
|
|
document.body.appendChild(script);
|
||
|
|
|
||
|
|
this.launchGame = true;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|