Add WebGLInput.jslib for WebGL JS interop plugin

This commit is contained in:
KoalaTrapLord authored and GitHub committed 2026-03-18 15:16:37 -04:00
1 parent 643529e874
commit 3fe3ba0e62
1 file changed
+38
@@ -0,0 +1,38 @@
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);