50 lines
1.4 KiBLFS
JavaScript
50 lines
1.4 KiBLFS
JavaScript
mergeInto(LibraryManager.library, {
|
|
DownloadFile: function (path, objectName, callback, fallback) {
|
|
var parsedPath = UTF8ToString(path);
|
|
var parsedObjectName = UTF8ToString(objectName);
|
|
var parsedCallback = UTF8ToString(callback);
|
|
var parsedFallback = UTF8ToString(fallback);
|
|
|
|
try {
|
|
firebase
|
|
.storage()
|
|
.refFromURL(parsedPath)
|
|
.getDownloadURL()
|
|
.then(function (url) {
|
|
unityInstance.Module.SendMessage(
|
|
parsedObjectName,
|
|
parsedCallback,
|
|
JSON.stringify({
|
|
url: url,
|
|
// base64File: arrayBufferToBase64(data),
|
|
storagePath: parsedPath,
|
|
})
|
|
);
|
|
})
|
|
.catch(function (error) {
|
|
unityInstance.Module.SendMessage(
|
|
parsedObjectName,
|
|
parsedFallback,
|
|
JSON.stringify(error, Object.getOwnPropertyNames(error))
|
|
);
|
|
});
|
|
} catch (error) {
|
|
unityInstance.Module.SendMessage(
|
|
parsedObjectName,
|
|
parsedFallback,
|
|
JSON.stringify(error, Object.getOwnPropertyNames(error))
|
|
);
|
|
}
|
|
|
|
function arrayBufferToBase64(buffer) {
|
|
var binary = "";
|
|
var bytes = new Uint8Array(buffer);
|
|
var len = bytes.byteLength;
|
|
for (var i = 0; i < len; i++) {
|
|
binary += String.fromCharCode(bytes[i]);
|
|
}
|
|
return window.btoa(binary);
|
|
}
|
|
},
|
|
});
|