nui-commander
Version:
Based on block detect samples of webcam surface. nui commander support msgbox yes/no, ...
69 lines (53 loc) • 1.53 kB
JavaScript
export function BufferLoader(context, urlList, callback) {
this.context = context;
this.urlList = urlList;
this.onload = callback;
this.bufferList = new Array();
this.loadCount = 0;
}
BufferLoader.prototype.loadBuffer = function(url, index) {
// Load buffer asynchronously
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.responseType = "arraybuffer";
var loader = this;
request.onload = function() {
// Asynchronously decode the audio file data in request.response
loader.context.decodeAudioData(
request.response,
function(buffer) {
if (!buffer) {
alert('error decoding file data: ' + url);
return;
}
loader.bufferList[index] = buffer;
if (++loader.loadCount == loader.urlList.length)
loader.onload(loader.bufferList);
}
);
}
request.onerror = function() {
alert('BufferLoader: XHR error');
}
request.send();
}
BufferLoader.prototype.load = function() {
for (var i = 0; i < this.urlList.length; ++i)
this.loadBuffer(this.urlList[i], i);
}
export function modelBlock(x) {
this.index = x
this.status = false;
this.action = function() {
var localRoot = this;
setTimeout(function() {
localRoot.status = false;
}, 350)
if (localRoot.status == false) {
this.onAction();
this.status = true;
}
}
// For override
this.onAction = function() {}
}