39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
var WebGLInput = {
|
|
GetURLParam: function(keyPtr) {
|
|
var key = UTF8ToString(keyPtr);
|
|
var params = new URLSearchParams(window.location.search);
|
|
var value = params.get(key) || '';
|
|
var bufferSize = lengthBytesUTF8(value) + 1;
|
|
var buffer = _malloc(bufferSize);
|
|
stringToUTF8(value, buffer, bufferSize);
|
|
return buffer;
|
|
},
|
|
|
|
OpenFileDialog: function(acceptPtr, callbackObjPtr, callbackMethodPtr) {
|
|
var accept = UTF8ToString(acceptPtr);
|
|
var callbackObj = UTF8ToString(callbackObjPtr);
|
|
var callbackMethod = UTF8ToString(callbackMethodPtr);
|
|
var input = document.createElement('input');
|
|
input.type = 'file';
|
|
input.accept = accept;
|
|
input.onchange = function(e) {
|
|
var file = e.target.files[0];
|
|
if (!file) return;
|
|
var reader = new FileReader();
|
|
reader.onload = function(ev) {
|
|
var base64 = ev.target.result.split(',')[1];
|
|
SendMessage(callbackObj, callbackMethod, base64);
|
|
};
|
|
reader.readAsDataURL(file);
|
|
};
|
|
input.click();
|
|
},
|
|
|
|
SetLoadingProgress: function(progress) {
|
|
var bar = document.getElementById('unity-progress-bar-full');
|
|
if (bar) bar.style.width = (progress * 100) + '%';
|
|
}
|
|
};
|
|
|
|
mergeInto(LibraryManager.library, WebGLInput);
|