105 lines
2.4 KiB
JavaScript
105 lines
2.4 KiB
JavaScript
var BD = {};
|
|
|
|
BD.Private = {};
|
|
|
|
BD.Private.sendData = function(url, data) {
|
|
if (BD.Private.enabled) {
|
|
// Append time to data
|
|
data.time = Date.now() / 1000;
|
|
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.open("POST", url, true);
|
|
xhr.setRequestHeader("Content-type", "application/json;charset=UTF-8");
|
|
|
|
// xhr.onreadystatechange = function() {
|
|
// if(xhr.readyState == 4 && xhr.status == 200) {
|
|
// console.log(xhr.responseText);
|
|
// }
|
|
// }
|
|
|
|
xhr.send(JSON.stringify(data));
|
|
}
|
|
}
|
|
|
|
BD.Private.enabled = true;
|
|
|
|
BD.enable = function() {
|
|
BD.Private.enabled = true;
|
|
}
|
|
|
|
BD.disable = function() {
|
|
BD.Private.enabled = false;
|
|
}
|
|
|
|
BD.Private.compactCamera = function(camera) {
|
|
return {
|
|
position: {
|
|
x: camera.position.x,
|
|
y: camera.position.y,
|
|
z: camera.position.z
|
|
},
|
|
target: {
|
|
x: camera.target.x,
|
|
y: camera.target.y,
|
|
z: camera.target.z
|
|
}
|
|
};
|
|
}
|
|
|
|
BD.Event = {};
|
|
|
|
BD.Event.ArrowClicked = function() {};
|
|
BD.Event.ArrowClicked.prototype.send = function() {
|
|
var url = "/arrow-clicked";
|
|
var data = {arrow_id: this.arrow_id};
|
|
BD.Private.sendData(url, data);
|
|
}
|
|
|
|
BD.Event.CoinClicked = function() {};
|
|
BD.Event.CoinClicked.prototype.send = function() {
|
|
var url = "/coin-clicked";
|
|
var data = {coin_id: this.coin_id};
|
|
BD.Private.sendData(url, data);
|
|
}
|
|
|
|
BD.Event.KeyboardEvent = function() {};
|
|
BD.Event.KeyboardEvent.prototype.send = function() {
|
|
var url = "/keyboard-event";
|
|
|
|
var data = {
|
|
camera: BD.Private.compactCamera(this.camera)
|
|
}
|
|
|
|
BD.Private.sendData(url, data);
|
|
}
|
|
|
|
BD.Event.ResetClicked = function() {};
|
|
BD.Event.ResetClicked.prototype.send = function() {
|
|
var url = "/reset-clicked";
|
|
var data = {};
|
|
BD.Private.sendData(url, data);
|
|
}
|
|
|
|
BD.Event.PreviousNextClicked = function() {};
|
|
BD.Event.PreviousNextClicked.prototype.send = function() {
|
|
var url = "/previous-next-clicked";
|
|
var data = {
|
|
// casts previous to boolean
|
|
previous: this.previous,
|
|
camera: BD.Private.compactCamera(this.camera)
|
|
};
|
|
|
|
BD.Private.sendData(url, data);
|
|
}
|
|
|
|
BD.Event.Hovered = function() {};
|
|
BD.Event.Hovered.prototype.send = function() {
|
|
var url = "/hovered";
|
|
var data = {
|
|
start: this.start,
|
|
arrow_id: this.arrow_id
|
|
};
|
|
|
|
BD.Private.sendData(url, data);
|
|
}
|