40 lines
854 B
JavaScript
40 lines
854 B
JavaScript
var HapticPlugin = {
|
|
patterns: {},
|
|
|
|
_Initialize: function() {
|
|
this.patterns = {};
|
|
},
|
|
|
|
_Play: function(duration) {
|
|
if (navigator.vibrate) {
|
|
navigator.vibrate(duration);
|
|
}
|
|
},
|
|
|
|
_RegisterPattern: function(idPtr, idLen, ptr, length) {
|
|
var id = UTF8ToString(idPtr, idLen);
|
|
|
|
var pattern = [];
|
|
for (var i = 0; i < length; i++) {
|
|
pattern.push(HEAP32[(ptr >> 2) + i]);
|
|
}
|
|
|
|
this.patterns[id] = {};
|
|
this.patterns[id] = pattern;
|
|
},
|
|
|
|
_PlayPattern: function(idPtr, idLen) {
|
|
var id = UTF8ToString(idPtr, idLen);
|
|
|
|
var pattern = this.patterns[id];
|
|
if (pattern) {
|
|
if (navigator.vibrate) {
|
|
navigator.vibrate(pattern);
|
|
}
|
|
} else {
|
|
console.error("Haptic pattern with ID '" + id + "' can't be found!");
|
|
}
|
|
}
|
|
};
|
|
|
|
mergeInto(LibraryManager.library, HapticPlugin); |