Added basic control panel

This commit is contained in:
2026-03-11 16:46:06 +01:00
parent 7df210aaf2
commit c4eedfff1e
105 changed files with 21923 additions and 958 deletions

132
dist/Audio.js vendored Normal file
View File

@@ -0,0 +1,132 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AudioChecker = void 0;
var fs_extra_1 = require("fs-extra");
var path_1 = require("path");
var portAudio = require('naudiodon');
var PREFIX = '[Audio]';
var AudioChecker = /** @class */ (function () {
function AudioChecker(Main) {
this.deviceName = null;
this._Main = Main;
this.configPath = (0, path_1.join)(this._Main.dataPath, 'audio.json');
this.load();
}
AudioChecker.prototype.waitForDevice = function () {
var _a;
return __awaiter(this, void 0, void 0, function () {
var counter;
var _this = this;
return __generator(this, function (_b) {
if (((_a = this.deviceName) !== null && _a !== void 0 ? _a : '').trim().length == 0) {
console.log(PREFIX, 'No audio device configured, skipping audio check. Available devices:');
portAudio
.getDevices()
.filter(function (device) { return device.maxOutputChannels > 0; })
.forEach(function (device) {
console.log(" - ".concat(device.name));
});
return [2 /*return*/];
}
console.log(PREFIX, "Waiting for device \"".concat(this.deviceName, "\"..."));
counter = 0;
return [2 /*return*/, new Promise(function (resolve) {
var c = setInterval(function () {
var _a;
counter++;
var availableDevices = portAudio
.getDevices()
.filter(function (device) { return device.maxOutputChannels > 0; })
.map(function (device) { return device.name; });
if (!availableDevices.includes(_this.deviceName)) {
if (counter == 3) {
console.log(PREFIX, 'Trouble finding the correct device. Available devices:');
availableDevices.forEach(function (device) {
console.log(" - ".concat(device));
});
}
return;
}
var hostApis = portAudio.getHostAPIs();
var defaultOutputDeviceId = hostApis.HostAPIs[hostApis.defaultHostAPI].defaultOutput;
var defaultOutputDeviceName = (_a = portAudio
.getDevices()
.find(function (device) { return device.id === defaultOutputDeviceId; })) === null || _a === void 0 ? void 0 : _a.name;
if (defaultOutputDeviceName !== _this.deviceName) {
console.warn(PREFIX, "The configured device \"".concat(_this.deviceName, "\" is not set as the default output device. Please set it as the default output device to ensure proper functionality. Current default output device: \"").concat(defaultOutputDeviceName, "\"."));
_this._Main.Twilio.sendError('Audio', "The configured device \"".concat(_this.deviceName, "\" is not set as the default output device. Current default output device: \"").concat(defaultOutputDeviceName, "\"."));
return;
}
clearInterval(c);
resolve();
console.log(PREFIX, "Device \"".concat(_this.deviceName, "\" is ready!"));
}, 1000);
})];
});
});
};
AudioChecker.prototype.load = function () {
console.log(PREFIX, 'Loading audio configuration...');
var exists = (0, fs_extra_1.pathExistsSync)(this.configPath);
if (!exists)
return this.save();
var data = (0, fs_extra_1.readJSONSync)(this.configPath);
this.deviceName = data.deviceName;
};
AudioChecker.prototype.save = function () {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
if (this._save)
clearTimeout(this._save);
this._save = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
var _a;
return __generator(this, function (_b) {
(0, fs_extra_1.writeFile)(this.configPath, JSON.stringify({ deviceName: (_a = this.deviceName) !== null && _a !== void 0 ? _a : null }, null, 4));
return [2 /*return*/];
});
}); }, 1000);
return [2 /*return*/];
});
});
};
return AudioChecker;
}());
exports.AudioChecker = AudioChecker;
//# sourceMappingURL=Audio.js.map

1
dist/Audio.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Audio.js","sourceRoot":"","sources":["../src/Audio.ts"],"names":[],"mappings":"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"}

34
dist/CameraRunner.js vendored
View File

@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
@@ -36,9 +36,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CameraRunner = void 0;
exports.CameraProcessStateColors = exports.CameraPCStateColors = exports.CameraRunner = void 0;
var socket_io_client_1 = require("socket.io-client");
var Utils_1 = require("./Utils");
var Status_1 = require("./Status");
var PREFIX = "[CameraRunner]";
var CameraRunner = /** @class */ (function () {
function CameraRunner(Main) {
@@ -93,6 +94,11 @@ var CameraRunner = /** @class */ (function () {
this.message = message;
this.error = error;
this.state = state;
this._Main.Status.update(Status_1.StatusType.CameraPC, exports.CameraPCStateColors[this.state], message, {
reboot: state === 'FAILED' ||
state === 'DISCONNECTED' ||
state == 'CONNECTED',
});
this.broadcastState();
if (error != null &&
Date.now() - this.bootTime > this.errorTriggerStartupDelay)
@@ -117,6 +123,11 @@ var CameraRunner = /** @class */ (function () {
case 1:
data = _a.sent();
this.processStatus = data;
this._Main.Status.update(Status_1.StatusType.CameraProcess, exports.CameraProcessStateColors[this.processStatus.state], this.processStatus.message, {
reboot: this.processStatus.state === 'PROBLEM' ||
this.processStatus.state === 'STOPPED' ||
this.processStatus.state === 'RUNNING',
});
this.broadcastState();
return [2 /*return*/];
}
@@ -126,6 +137,11 @@ var CameraRunner = /** @class */ (function () {
_this.processStatus.state = simpleStatus.state;
_this.processStatus.message = simpleStatus.message;
_this.processStatus.error = simpleStatus.error;
_this._Main.Status.update(Status_1.StatusType.CameraProcess, exports.CameraProcessStateColors[_this.processStatus.state], _this.processStatus.message, {
reboot: _this.processStatus.state === 'PROBLEM' ||
_this.processStatus.state === 'STOPPED' ||
_this.processStatus.state === 'RUNNING',
});
_this.broadcastState();
});
clearInterval(this.pollClock);
@@ -218,4 +234,16 @@ var CameraRunner = /** @class */ (function () {
return CameraRunner;
}());
exports.CameraRunner = CameraRunner;
exports.CameraPCStateColors = {
CONNECTED: Status_1.State.Green,
DISCONNECTED: Status_1.State.Gray,
CONNECTING: Status_1.State.Yellow,
FAILED: Status_1.State.Red,
};
exports.CameraProcessStateColors = {
RUNNING: Status_1.State.Green,
STOPPED: Status_1.State.Gray,
STARTING: Status_1.State.Yellow,
PROBLEM: Status_1.State.Red,
};
//# sourceMappingURL=CameraRunner.js.map

File diff suppressed because one or more lines are too long

View File

@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");

View File

@@ -21,6 +21,7 @@ exports.DefaultConfiguration = {
},
heartbeatInterval: 1000,
calibrationImageInterval: 2000,
launchOnStartup: true,
},
cameraRunner: {
webSocket: {

View File

@@ -1 +1 @@
{"version":3,"file":"DefaultConfiguration.js","sourceRoot":"","sources":["../../src/Configuration/DefaultConfiguration.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAW;IAC3C,SAAS,EAAE;QACV,IAAI,EAAE,IAAI;KACV;IACD,MAAM,EAAE;QACP,EAAE,EAAE,EAAE;QACN,cAAc,EAAE,IAAI;KACpB;IACD,KAAK,EAAE;QACN,UAAU,EAAE;YACX,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;SAClB;QAED,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,iBAAiB,EAAE,IAAI;QACvB,wBAAwB,EAAE,IAAI;KAC9B;IACD,YAAY,EAAE;QACb,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,YAAY,EAAE,IAAI;KAClB;IACD,MAAM,EAAE;QACP,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,EAAE;KACrB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,cAAc;KACzB;CACD,CAAC"}
{"version":3,"file":"DefaultConfiguration.js","sourceRoot":"","sources":["../../src/Configuration/DefaultConfiguration.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAW;IAC3C,SAAS,EAAE;QACV,IAAI,EAAE,IAAI;KACV;IACD,MAAM,EAAE;QACP,EAAE,EAAE,EAAE;QACN,cAAc,EAAE,IAAI;KACpB;IACD,KAAK,EAAE;QACN,UAAU,EAAE;YACX,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,IAAI;SAClB;QAED,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,iBAAiB,EAAE,IAAI;QACvB,wBAAwB,EAAE,IAAI;QAC9B,eAAe,EAAE,IAAI;KACrB;IACD,YAAY,EAAE;QACb,SAAS,EAAE;YACV,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI;SACV;QAED,YAAY,EAAE,IAAI;KAClB;IACD,MAAM,EAAE;QACP,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,EAAE;KACrB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,cAAc;KACzB;CACD,CAAC"}

132
dist/Configuration/Timer copy.js vendored Normal file
View File

@@ -0,0 +1,132 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Timer = void 0;
var path_1 = require("path");
var fs_extra_1 = require("fs-extra");
var UnityRunner_1 = require("../Unity/UnityRunner");
var PREFIX = '[Main]';
var Timer = /** @class */ (function () {
function Timer(Main) {
this.start = {
hour: null,
minute: null,
};
this.end = {
hour: null,
minute: null,
};
this._Main = Main;
this.configPath = (0, path_1.join)(this._Main.dataPath, 'timer.json');
}
Timer.prototype.startClock = function () {
var _this = this;
setInterval(function () {
var startTime = new Date();
startTime.setHours(_this.start.hour, _this.start.minute, 0, 0);
var endTime = new Date();
endTime.setHours(_this.end.hour, _this.end.minute, 0, 0);
var shouldBeStarted = startTime <= new Date() && endTime > new Date();
if (shouldBeStarted) {
if (_this._Main.UnityRunner.state !== 'RUNNING' &&
_this._Main.UnityRunner.state !== 'STARTING') {
console.log(PREFIX, 'Starting Unity');
_this._Main.UnityRunner.start(UnityRunner_1.StartOrigin.Timer);
}
else if (_this._Main.UnityRunner.startOrigin !== UnityRunner_1.StartOrigin.Timer) {
console.log(PREFIX, 'Already running');
_this._Main.UnityRunner.startOrigin = UnityRunner_1.StartOrigin.Timer;
}
}
else {
if (_this._Main.UnityRunner.state === 'RUNNING' &&
_this._Main.UnityRunner.startOrigin === UnityRunner_1.StartOrigin.Timer) {
console.log(PREFIX, 'Stopping Unity');
_this._Main.UnityRunner.stop();
}
}
}, 5000);
};
Timer.prototype.load = function () {
return __awaiter(this, void 0, void 0, function () {
var exists, data;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
console.log(PREFIX, 'Loading timer configuration...');
return [4 /*yield*/, (0, fs_extra_1.pathExists)(this.configPath)];
case 1:
exists = _a.sent();
if (!exists) {
this.save();
return [2 /*return*/, this.startClock()];
}
return [4 /*yield*/, (0, fs_extra_1.readJSON)(this.configPath)];
case 2:
data = _a.sent();
this.start = data.start;
this.end = data.end;
this.startClock();
return [2 /*return*/];
}
});
});
};
Timer.prototype.save = function () {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
if (this._save)
clearTimeout(this._save);
this._save = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
(0, fs_extra_1.writeJSON)(this.configPath, {
start: this.start,
end: this.end,
});
return [2 /*return*/];
});
}); }, 1000);
return [2 /*return*/];
});
});
};
return Timer;
}());
exports.Timer = Timer;
//# sourceMappingURL=Timer%20copy.js.map

1
dist/Configuration/Timer copy.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Timer copy.js","sourceRoot":"","sources":["../../src/Configuration/Timer copy.ts"],"names":[],"mappings":"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"}

145
dist/Configuration/Timer.js vendored Normal file
View File

@@ -0,0 +1,145 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Timer = void 0;
var path_1 = require("path");
var fs_extra_1 = require("fs-extra");
var UnityRunner_1 = require("../Unity/UnityRunner");
var PREFIX = '[Main]';
var Timer = /** @class */ (function () {
function Timer(Main) {
this.start = {
hour: null,
minute: null,
};
this.end = {
hour: null,
minute: null,
};
this._Main = Main;
this.configPath = (0, path_1.join)(this._Main.dataPath, 'timer.json');
}
Timer.prototype.getState = function () {
return {
start: this.start,
end: this.end,
};
};
Timer.prototype.setStart = function (data) {
this.start = data;
this._Main.WebServer.socket.emit('timer', this.getState());
this.save();
};
Timer.prototype.setEnd = function (data) {
this.end = data;
this._Main.WebServer.socket.emit('timer', this.getState());
this.save();
};
Timer.prototype.startClock = function () {
var _this = this;
setInterval(function () {
var startTime = new Date();
startTime.setHours(_this.start.hour, _this.start.minute, 0, 0);
var endTime = new Date();
endTime.setHours(_this.end.hour, _this.end.minute, 0, 0);
var shouldBeStarted = startTime <= new Date() && endTime > new Date();
if (shouldBeStarted) {
if (_this._Main.UnityRunner.state !== 'RUNNING' &&
_this._Main.UnityRunner.state !== 'STARTING') {
console.log(PREFIX, 'Starting Unity');
_this._Main.UnityRunner.start(UnityRunner_1.StartOrigin.Timer);
}
else if (_this._Main.UnityRunner.startOrigin !== UnityRunner_1.StartOrigin.Timer) {
console.log(PREFIX, 'Already running');
_this._Main.UnityRunner.startOrigin = UnityRunner_1.StartOrigin.Timer;
}
}
else {
if (_this._Main.UnityRunner.state === 'RUNNING' &&
_this._Main.UnityRunner.startOrigin === UnityRunner_1.StartOrigin.Timer) {
console.log(PREFIX, 'Stopping Unity');
_this._Main.UnityRunner.stop();
}
}
}, 5000);
};
Timer.prototype.load = function () {
return __awaiter(this, void 0, void 0, function () {
var exists, data;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
console.log(PREFIX, 'Loading timer configuration...');
return [4 /*yield*/, (0, fs_extra_1.pathExists)(this.configPath)];
case 1:
exists = _a.sent();
if (!exists) {
this.save();
return [2 /*return*/, this.startClock()];
}
return [4 /*yield*/, (0, fs_extra_1.readJSON)(this.configPath)];
case 2:
data = _a.sent();
this.start = data.start;
this.end = data.end;
this.startClock();
return [2 /*return*/];
}
});
});
};
Timer.prototype.save = function () {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
if (this._save)
clearTimeout(this._save);
this._save = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
(0, fs_extra_1.writeFile)(this.configPath, JSON.stringify({ start: this.start, end: this.end }, null, 4));
return [2 /*return*/];
});
}); }, 1000);
return [2 /*return*/];
});
});
};
return Timer;
}());
exports.Timer = Timer;
//# sourceMappingURL=Timer.js.map

1
dist/Configuration/Timer.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Timer.js","sourceRoot":"","sources":["../../src/Configuration/Timer.ts"],"names":[],"mappings":"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"}

View File

@@ -1,138 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigurationManager = void 0;
var fs_extra_1 = require("fs-extra");
var path_1 = require("path");
var DefaultConfiguration_1 = require("./Defaults/DefaultConfiguration");
var PREFIX = '[ConfigurationManager]';
var ConfigurationManager = /** @class */ (function () {
function ConfigurationManager(Main) {
this._Main = Main;
}
ConfigurationManager.prototype.load = function () {
return __awaiter(this, void 0, void 0, function () {
var configPath, configExists, config, _a;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
console.log(PREFIX, 'Loading');
return [4 /*yield*/, (0, fs_extra_1.ensureDir)((0, path_1.join)(this._Main.dataPath))];
case 1:
_b.sent();
configPath = (0, path_1.join)(this._Main.dataPath, 'config.json');
return [4 /*yield*/, (0, fs_extra_1.pathExists)(configPath)];
case 2:
configExists = _b.sent();
if (!!configExists) return [3 /*break*/, 4];
return [4 /*yield*/, (0, fs_extra_1.writeFile)(configPath, JSON.stringify(DefaultConfiguration_1.DefaultConfiguration, null, 4))];
case 3:
_b.sent();
this._Main.Config = DefaultConfiguration_1.DefaultConfiguration;
console.log(PREFIX, 'Written default configuration');
return [3 /*break*/, 7];
case 4: return [4 /*yield*/, (0, fs_extra_1.readJSON)(configPath)];
case 5:
config = _b.sent();
_a = this._Main;
return [4 /*yield*/, this.validateConfig(config)];
case 6:
_a.Config = _b.sent();
console.log(PREFIX, 'Loaded configuration');
_b.label = 7;
case 7: return [2 /*return*/];
}
});
});
};
ConfigurationManager.prototype.validateConfig = function (config) {
return __awaiter(this, void 0, void 0, function () {
var normalizedConfig, hasChanges, configPath;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
normalizedConfig = this.normalizeConfig(config, DefaultConfiguration_1.DefaultConfiguration);
hasChanges = JSON.stringify(config) !== JSON.stringify(normalizedConfig);
if (!hasChanges) return [3 /*break*/, 2];
this._Main.Config = normalizedConfig;
configPath = (0, path_1.join)(this._Main.dataPath, 'config.json');
return [4 /*yield*/, (0, fs_extra_1.writeFile)(configPath, JSON.stringify(normalizedConfig, null, 4))];
case 1:
_a.sent();
console.log(PREFIX, 'Configuration updated and saved');
_a.label = 2;
case 2: return [2 /*return*/, normalizedConfig];
}
});
});
};
ConfigurationManager.prototype.normalizeConfig = function (current, template) {
var _this = this;
if (template === null || template === undefined) {
return template;
}
if (typeof template !== 'object' || Array.isArray(template)) {
if (current !== null &&
current !== undefined &&
typeof current === typeof template) {
if (Array.isArray(template) && Array.isArray(current)) {
if (template.length > 0 &&
typeof template[0] === 'object' &&
!Array.isArray(template[0])) {
return current.map(function (item) {
return _this.normalizeConfig(item, template[0]);
});
}
return current;
}
return current;
}
return template;
}
var result = {};
for (var key in template) {
if (template.hasOwnProperty(key)) {
result[key] = this.normalizeConfig(current === null || current === void 0 ? void 0 : current[key], template[key]);
}
}
return result;
};
return ConfigurationManager;
}());
exports.ConfigurationManager = ConfigurationManager;
//# sourceMappingURL=ConfigurationManager.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"ConfigurationManager.js","sourceRoot":"","sources":["../src/ConfigurationManager.ts"],"names":[],"mappings":"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"}

84
dist/Main.js vendored
View File

@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
@@ -48,41 +48,57 @@ var Twilio_1 = require("./Twilio");
var Utils_1 = require("./Utils");
var ping = require("ping");
var Shutdown_1 = require("./Shutdown");
var Timer_1 = require("./Configuration/Timer");
var Status_1 = require("./Status");
var Audio_1 = require("./Audio");
var PREFIX = '[Main]';
var Main = /** @class */ (function () {
function Main() {
this.dataPath = (0, path_1.join)((0, os_1.homedir)(), 'MorphixProductions', 'NTSHControl');
this.ConfigurationManager = new ConfigurationManager_1.ConfigurationManager(this);
this.Timer = new Timer_1.Timer(this);
this.Status = new Status_1.Status(this);
this.WebServer = new WebServer_1.WebServer(this);
this.Twilio = new Twilio_1.TwilioHandler(this);
this.Audio = new Audio_1.AudioChecker(this);
this.CameraRunner = new CameraRunner_1.CameraRunner(this);
this.UnityRunner = new UnityRunner_1.UnityRunner(this);
this.UnityWebSocket = new UnityWebSocket_1.UnityWebSocket(this);
}
Main.prototype.start = function () {
var _a, _b;
return __awaiter(this, void 0, void 0, function () {
var _this = this;
var _a;
return __generator(this, function (_b) {
switch (_b.label) {
return __generator(this, function (_c) {
switch (_c.label) {
case 0: return [4 /*yield*/, this.ConfigurationManager.load()];
case 1:
_b.sent();
_c.sent();
return [4 /*yield*/, this.waitForRouter()];
case 2:
_b.sent();
_c.sent();
return [4 /*yield*/, this.WebServer.listen()];
case 3:
_b.sent();
_c.sent();
return [4 /*yield*/, this.Twilio.load()];
case 4:
_b.sent();
return [4 /*yield*/, this.CameraRunner.connect()];
_c.sent();
return [4 /*yield*/, this.Audio.waitForDevice()];
case 5:
_b.sent();
setTimeout(function () {
_this.UnityRunner.start();
}, (_a = this.Config.unity.executable.startUpDelay) !== null && _a !== void 0 ? _a : 0);
_c.sent();
return [4 /*yield*/, this.CameraRunner.connect()];
case 6:
_c.sent();
return [4 /*yield*/, this.Timer.load()];
case 7:
_c.sent();
if (((_a = this.Config.unity.launchOnStartup) !== null && _a !== void 0 ? _a : true) === true)
setTimeout(function () {
_this.UnityRunner.start(UnityRunner_1.StartOrigin.Startup);
}, (_b = this.Config.unity.executable.startUpDelay) !== null && _b !== void 0 ? _b : 0);
else {
this.UnityRunner.setInfo('Not set to launch on startup. Waiting for timer or manual start...', null, 'STOPPED');
}
return [2 /*return*/];
}
});
@@ -123,7 +139,7 @@ var Main = /** @class */ (function () {
case 3:
_a.sent();
console.log('Starting UnityRunner...');
return [4 /*yield*/, this.UnityRunner.start()];
return [4 /*yield*/, this.UnityRunner.start(this.UnityRunner.startOrigin)];
case 4:
_a.sent();
console.log('Restart complete.');
@@ -166,25 +182,27 @@ var Main = /** @class */ (function () {
return new Promise(function (resolve) {
var check = function () {
console.log(PREFIX, 'Waiting for router...');
ping.sys.probe(_this.Config.router.ip, function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
var alive = _b.alive;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
if (!alive) return [3 /*break*/, 2];
console.log(PREFIX, 'Router is online');
return [4 /*yield*/, (0, Utils_1.delay)(3000)];
case 1:
_c.sent();
return [2 /*return*/, resolve()];
case 2: return [4 /*yield*/, (0, Utils_1.delay)(1000)];
case 3:
_c.sent();
check();
return [2 /*return*/];
}
ping.sys.probe(_this.Config.router.ip, function (_a) {
var alive = _a.alive;
return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
if (!alive) return [3 /*break*/, 2];
console.log(PREFIX, 'Router is online');
return [4 /*yield*/, (0, Utils_1.delay)(3000)];
case 1:
_b.sent();
return [2 /*return*/, resolve()];
case 2: return [4 /*yield*/, (0, Utils_1.delay)(1000)];
case 3:
_b.sent();
check();
return [2 /*return*/];
}
});
});
}); });
});
};
check();
});

2
dist/Main.js.map vendored
View File

@@ -1 +1 @@
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../src/Main.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"Main.js","sourceRoot":"","sources":["../src/Main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA4B;AAC5B,mDAAkD;AAClD,yBAA6B;AAC7B,6EAG8C;AAC9C,+CAA8C;AAC9C,mDAA+D;AAC/D,yDAAwD;AACxD,mCAAyC;AACzC,iCAAgC;AAChC,2BAA6B;AAC7B,uCAAsC;AACtC,+CAA8C;AAC9C,mCAAkC;AAClC,iCAAuC;AAEvC,IAAM,MAAM,GAAG,QAAQ,CAAC;AACxB;IAAA;QACC,aAAQ,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAEhE,yBAAoB,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;QACtD,UAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;QACxB,WAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,cAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;QAChC,WAAM,GAAG,IAAI,sBAAa,CAAC,IAAI,CAAC,CAAC;QACjC,UAAK,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,CAAC;QAE/B,iBAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,CAAC;QACtC,gBAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;QACpC,mBAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;IAyG3C,CAAC;IArGM,oBAAK,GAAX;;;;;;4BACC,qBAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAA;;wBAAtC,SAAsC,CAAC;wBAEvC,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAE3B,qBAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAC9B,qBAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAA;;wBAAxB,SAAwB,CAAC;wBAEzB,qBAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAA;;wBAAhC,SAAgC,CAAC;wBAEjC,qBAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAA;;wBAAjC,SAAiC,CAAC;wBAElC,qBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAA;;wBAAvB,SAAuB,CAAC;wBAExB,IAAI,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,mCAAI,IAAI,CAAC,KAAK,IAAI;4BACvD,UAAU,CAAC;gCACV,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,yBAAW,CAAC,OAAO,CAAC,CAAC;4BAC7C,CAAC,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,mCAAI,CAAC,CAAC,CAAC;6BAC/C,CAAC;4BACL,IAAI,CAAC,WAAW,CAAC,OAAO,CACvB,oEAAoE,EACpE,IAAI,EACJ,SAAS,CACT,CAAC;wBACH,CAAC;;;;;KACD;IAEK,sBAAO,GAAb;;;;;;;wBACC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAExB,QAAQ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBACvD,OAAO,CAAC,GAAG,CAAC,UAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,qBAAkB,CAAC,CAAC;wBACxD,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO;gCACzC,KAAI,CAAC,YAAY,CAAC,WAAW,CAC5B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC/B,UAAC,QAAgD;oCAChD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wCACvB,OAAO,CAAC,KAAK,CACZ,gCAAgC,EAChC,QAAQ,CAAC,OAAO,CAChB,CAAC;wCACF,KAAI,CAAC,MAAM,CAAC,SAAS,CACpB,cAAc,EACd,yCAAkC,QAAQ,CAAC,OAAO,CAAE,CACpD,CAAC;wCACF,OAAO,CAAC,KAAK,CAAC,CAAC;oCAChB,CAAC;yCAAM,CAAC;wCACP,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;wCACnD,KAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;wCAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;oCACf,CAAC;gCACF,CAAC,CACD,CAAC;4BACH,CAAC,CAAC,EAAA;;wBArBI,OAAO,GAAG,SAqBd;wBACF,IAAI,CAAC,OAAO;4BAAE,sBAAO;wBAErB,qBAAM,IAAA,aAAK,EAAC,IAAI,CAAC,EAAA;;wBAAjB,SAAiB,CAAC;wBAElB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,qBAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAA;;wBAA1D,SAA0D,CAAC;wBAE3D,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;;;;;KACjC;IAEK,uBAAQ,GAAd;;;;;;wBACC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAA;;wBAA7B,SAA6B,CAAC;wBAExB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;4BACxD,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,CAAC;wBACR,IAAI,UAAU,EAAE,CAAC;4BAChB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;4BACvC,IAAA,mBAAQ,GAAE,CAAC;wBACZ,CAAC;6BAAM,CAAC;4BACP,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;wBAC5D,CAAC;wBAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;;;KAChB;IAED,4BAAa,GAAb;QAAA,iBAkBC;;QAjBA,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,cAAc,MAAK,IAAI;YAAE,OAAO;QACxD,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO;YAChC,IAAM,KAAK,GAAG;gBACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAO,EAAS;wBAAP,KAAK,WAAA;;;;;yCAC/C,KAAK,EAAL,wBAAK;oCACR,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;oCACxC,qBAAM,IAAA,aAAK,EAAC,IAAI,CAAC,EAAA;;oCAAjB,SAAiB,CAAC;oCAClB,sBAAO,OAAO,EAAE,EAAC;wCAGlB,qBAAM,IAAA,aAAK,EAAC,IAAI,CAAC,EAAA;;oCAAjB,SAAiB,CAAC;oCAClB,KAAK,EAAE,CAAC;;;;;iBACR,CAAC,CAAC;YACJ,CAAC,CAAC;YACF,KAAK,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,WAAC;AAAD,CAAC,AArHD,IAqHC;AArHY,oBAAI"}

30
dist/Reboot.js vendored
View File

@@ -1,30 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.shutdown = shutdown;
var child_process_1 = require("child_process");
function shutdown() {
if (process.platform === 'win32') {
return shutdownWindows();
}
return Promise.resolve({
succeed: false,
message: 'Platform not supported',
});
}
function shutdownWindows() {
return new Promise(function (resolve, reject) {
(0, child_process_1.exec)('shutdown /s /t 5', function (error, stdout, stderr) {
if (error) {
console.error("Error shutting down Windows: ".concat(error.message));
return resolve({ succeed: false, message: error.message });
}
if (stderr) {
console.error("Error shutting down Windows: ".concat(stderr));
return resolve({ succeed: false, message: stderr });
}
console.log("Windows shutdown command executed: ".concat(stdout));
resolve({ succeed: true });
});
});
}
//# sourceMappingURL=Reboot.js.map

1
dist/Reboot.js.map vendored
View File

@@ -1 +0,0 @@
{"version":3,"file":"Reboot.js","sourceRoot":"","sources":["../src/Reboot.ts"],"names":[],"mappings":";;AAEA,4BASC;AAXD,+CAAqC;AAErC,SAAgB,QAAQ;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC;QACtB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,wBAAwB;KACjC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACvB,OAAO,IAAI,OAAO,CACjB,UAAC,OAAO,EAAE,MAAM;QACf,IAAA,oBAAI,EAAC,kBAAkB,EAAE,UAAC,KAAK,EAAE,MAAM,EAAE,MAAM;YAC9C,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CACZ,uCAAgC,KAAK,CAAC,OAAO,CAAE,CAC/C,CAAC;gBACF,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,uCAAgC,MAAM,CAAE,CAAC,CAAC;gBACxD,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,6CAAsC,MAAM,CAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC,CACD,CAAC;AACH,CAAC"}

3
dist/Shutdown.js vendored
View File

@@ -1,6 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.shutdown = shutdown;
exports.shutdown = void 0;
var child_process_1 = require("child_process");
function shutdown() {
if (process.platform === 'win32') {
@@ -11,6 +11,7 @@ function shutdown() {
message: 'Platform not supported',
});
}
exports.shutdown = shutdown;
function shutdownWindows() {
return new Promise(function (resolve, reject) {
(0, child_process_1.exec)('shutdown /s /t 5', function (error, stdout, stderr) {

View File

@@ -1 +1 @@
{"version":3,"file":"Shutdown.js","sourceRoot":"","sources":["../src/Shutdown.ts"],"names":[],"mappings":";;AAEA,4BASC;AAXD,+CAAqC;AAErC,SAAgB,QAAQ;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC;QACtB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,wBAAwB;KACjC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACvB,OAAO,IAAI,OAAO,CACjB,UAAC,OAAO,EAAE,MAAM;QACf,IAAA,oBAAI,EAAC,kBAAkB,EAAE,UAAC,KAAK,EAAE,MAAM,EAAE,MAAM;YAC9C,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CACZ,uCAAgC,KAAK,CAAC,OAAO,CAAE,CAC/C,CAAC;gBACF,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,uCAAgC,MAAM,CAAE,CAAC,CAAC;gBACxD,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,6CAAsC,MAAM,CAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC,CACD,CAAC;AACH,CAAC"}
{"version":3,"file":"Shutdown.js","sourceRoot":"","sources":["../src/Shutdown.ts"],"names":[],"mappings":";;;AAAA,+CAAqC;AAErC,SAAgB,QAAQ;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC;QACtB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,wBAAwB;KACjC,CAAC,CAAC;AACJ,CAAC;AATD,4BASC;AAED,SAAS,eAAe;IACvB,OAAO,IAAI,OAAO,CACjB,UAAC,OAAO,EAAE,MAAM;QACf,IAAA,oBAAI,EAAC,kBAAkB,EAAE,UAAC,KAAK,EAAE,MAAM,EAAE,MAAM;YAC9C,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CACZ,uCAAgC,KAAK,CAAC,OAAO,CAAE,CAC/C,CAAC;gBACF,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,uCAAgC,MAAM,CAAE,CAAC,CAAC;gBACxD,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,6CAAsC,MAAM,CAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC,CACD,CAAC;AACH,CAAC"}

120
dist/Status.js vendored Normal file
View File

@@ -0,0 +1,120 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.StatusType = exports.State = exports.Status = void 0;
var UnityRunner_1 = require("./Unity/UnityRunner");
var Status = /** @class */ (function () {
function Status(Main) {
this.states = new Map();
this._Main = Main;
this.ensure();
this.startClock();
}
Status.prototype.update = function (type, state, message, buttons) {
this.states.set(type, { state: state, message: message, buttons: buttons });
this._Main.WebServer.socket.emit('status', this.getState());
};
Status.prototype.reboot = function (type) {
switch (type) {
case StatusType.CameraPC: {
this._Main.CameraRunner.sendCommand('reboot', function (response) {
console.log('CameraRunner reboot response:', response);
});
}
case StatusType.CameraProcess: {
this._Main.CameraRunner.sendCommand('restart', function (response) {
console.log('CameraRunner restart response:', response);
});
}
case StatusType.CameraUnityStream: {
this._Main.CameraRunner.sendCommand('restart', function (response) {
console.log('CameraRunner restart response:', response);
});
this._Main.UnityRunner.restart(UnityRunner_1.StartOrigin.Manual);
}
case StatusType.UnityBuild: {
this._Main.UnityRunner.restart(UnityRunner_1.StartOrigin.Manual);
}
case StatusType.ReplayFunction: {
console.log('ReplayFunction reboot requested. Not implemented.');
}
}
};
Status.prototype.start = function (type) {
switch (type) {
case StatusType.UnityBuild: {
this._Main.UnityRunner.requestStart(UnityRunner_1.StartOrigin.Manual);
}
}
};
Status.prototype.stop = function (type) {
switch (type) {
case StatusType.UnityBuild: {
this._Main.UnityRunner.requestStop();
}
}
};
Status.prototype.getState = function () {
var state = {};
this.states.forEach(function (value, key) {
state[key] = value;
});
return state;
};
Status.prototype.startClock = function () {
var _this = this;
var hadInvalidLastRound = false;
setInterval(function () {
var hasInvalid = false;
_this.states.forEach(function (state, key) {
if (state.state === State.Red)
hasInvalid = true;
});
if (hasInvalid && !hadInvalidLastRound) {
hadInvalidLastRound = true;
console.warn('One ore more status entries are invalid, waiting to see if they recover...');
}
else if (hasInvalid && hadInvalidLastRound) {
console.error('One ore more status entries are still invalid after 5 seconds, restarting system.');
_this._Main.Twilio.sendError('Status', 'One ore more status entries are still invalid after 5 seconds, restarting system.');
_this._Main.restart();
}
else {
_this._Main.Twilio.sendError('Status', null);
hadInvalidLastRound = false;
}
}, 5000);
};
Status.prototype.ensure = function () {
for (var type in StatusType) {
if (!this.states.has(StatusType[type]))
this.states.set(StatusType[type], {
state: State.Gray,
message: 'Loading...',
});
}
};
Status.prototype.doLog = function () {
console.clear();
this.states.forEach(function (state, key) {
console.log("[".concat(key, "] ").concat(state.state, " - ").concat(state.message));
});
};
return Status;
}());
exports.Status = Status;
var State;
(function (State) {
State["Green"] = "GREEN";
State["Yellow"] = "YELLOW";
State["Red"] = "RED";
State["Gray"] = "GRAY";
})(State || (exports.State = State = {}));
var StatusType;
(function (StatusType) {
StatusType["CameraPC"] = "CAMERAPC";
StatusType["CameraProcess"] = "CAMERAPROCESS";
StatusType["CameraUnityStream"] = "CAMERAUNITYSTREAM";
StatusType["UnityBuild"] = "UNITYBUILD";
StatusType["ReplayFunction"] = "REPLAYFUNCTION";
})(StatusType || (exports.StatusType = StatusType = {}));
//# sourceMappingURL=Status.js.map

1
dist/Status.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"Status.js","sourceRoot":"","sources":["../src/Status.ts"],"names":[],"mappings":"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"}

5
dist/Twilio.js vendored
View File

@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
@@ -148,7 +148,6 @@ var TwilioHandler = /** @class */ (function () {
};
TwilioHandler.prototype.sendMessage = function (to, message) {
var _this = this;
return;
return new Promise(function (resolve) {
_this.client.messages
.create({

2
dist/Twilio.js.map vendored
View File

@@ -1 +1 @@
{"version":3,"file":"Twilio.js","sourceRoot":"","sources":["../src/Twilio.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"Twilio.js","sourceRoot":"","sources":["../src/Twilio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA4B;AAE5B,qCAA2D;AAE3D,IAAM,MAAM,GAAG,UAAU,CAAC;AAC1B;IAaC,uBAAY,IAAU;QAVtB,YAAO,GAGH;YACH,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAC5C,KAAK,EAAE,CAAC;SACR,CAAC;QAyCM,eAAU,GAAkC,IAAI,GAAG,EAAE,CAAC;QACtD,aAAQ,GAAa,EAAE,CAAC;QArC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sCAAc,GAAd;QACC,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC;IACzC,CAAC;IAEK,wCAAgB,GAAtB;;;;;;wBACO,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;wBACrD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;4BACjC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;4BAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;wBACxB,CAAC;wBACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBACrB,qBAAM,IAAA,oBAAS,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAAvE,SAAuE,CAAC;;;;;KACxE;IAEK,4BAAI,GAAV;;;;;;wBACO,gBAAgB,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;wBACvC,qBAAM,IAAA,qBAAU,EAAC,gBAAgB,CAAC,EAAA;;wBAAvD,kBAAkB,GAAG,SAAkC;6BACzD,kBAAkB,EAAlB,wBAAkB;wBACrB,KAAA,IAAI,CAAA;wBAAW,qBAAM,IAAA,mBAAQ,EAAC,gBAAgB,CAAC,EAAA;;wBAA/C,GAAK,OAAO,GAAG,SAAgC,CAAC;;;wBAGjD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAClC,CAAC;;;;;KACF;IAEK,kCAAU,GAAhB,UAAiB,QAA0B;;;gBAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,sBAAO;gBAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;;;;KACjC;IAKK,iCAAS,GAAf,UAAgB,QAA0B,EAAE,KAAa;;;;gBACxD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK;oBAAE,sBAAO;gBAEpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACrC,IAAI,KAAK,IAAI,IAAI;oBAAE,sBAAO;gBAE1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAG,QAAQ,eAAK,KAAK,CAAE,CAAC,CAAC;gBAC5C,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;;;;;;gCACxB,YAAY,GAAG,IAAI,CAAC,QAAQ;qCAChC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,YAAK,KAAK,CAAE,EAAZ,CAAY,CAAC;qCAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;gCACb,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gCAEnB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oCACzB,sBAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,8BAA8B,CAAC,EAAC;gCAC5D,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAA;;gCAA7B,SAA6B,CAAC;gCAE9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAAC;gCAEpD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CACtD,UAAC,QAAQ,IAAK,OAAA,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAxC,CAAwC,CACtD,CAAC;gCACF,qBAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;gCAA3B,SAA2B,CAAC;;;;qBAC5B,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;;;;KAC9C;IAED,mCAAW,GAAX,UAAY,EAAU,EAAE,OAAe;QAAvC,iBAiBC;QAhBA,OAAO,IAAI,OAAO,CAAU,UAAC,OAAO;YACnC,KAAI,CAAC,MAAM,CAAC,QAAQ;iBAClB,MAAM,CAAC;gBACP,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAG,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAE;gBAC9C,EAAE,EAAE,EAAE;aACN,CAAC;iBACD,IAAI,CAAC,UAAC,OAAY;gBAClB,OAAO,CAAC,GAAG,CAAC,wCAAiC,OAAO,CAAC,GAAG,CAAE,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;iBACD,KAAK,CAAC,UAAC,KAAU;gBACjB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBACtD,OAAO,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,oBAAC;AAAD,CAAC,AAlGD,IAkGC;AAlGY,sCAAa"}

View File

@@ -1,214 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CameraRunner = void 0;
var socket_io_client_1 = require("socket.io-client");
var Utils_1 = require("../Utils");
var PREFIX = "[CameraRunner]";
var CameraRunner = /** @class */ (function () {
function CameraRunner(Main) {
this.state = 'DISCONNECTED';
this.processStatus = {
state: 'STOPPED',
startTime: -1,
output: { current: [], last: [] },
};
this._Main = Main;
}
CameraRunner.prototype.handle = function (command) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
switch (command) {
case 'restart':
case 'reboot':
var callback = args[0];
if (typeof callback !== 'function')
return;
this.sendCommand(command, callback);
break;
}
};
CameraRunner.prototype.sendCommand = function (command, callback) {
if (this.socket == null || !this.socket.connected)
return callback({
succeed: false,
message: 'Not connected to CameraRunner',
});
this.socket.emit(command, function (response) {
callback(response);
});
};
CameraRunner.prototype.broadcastState = function () {
this._Main.WebServer.socket.emit('cameraRunnerState', this.getState());
};
CameraRunner.prototype.getState = function () {
return {
state: this.state,
message: this.message,
error: this.error,
processStatus: this.processStatus,
};
};
CameraRunner.prototype.setInfo = function (message, error, state) {
if (state === void 0) { state = 'FAILED'; }
this.message = message;
this.error = error;
this.state = state;
this.broadcastState();
if (state == 'FAILED' || state == 'DISCONNECTED')
console.warn(PREFIX, message !== null && message !== void 0 ? message : error);
else
console.log(PREFIX, message !== null && message !== void 0 ? message : error);
};
CameraRunner.prototype.startPollClock = function () {
var _this = this;
var poll = function () { return __awaiter(_this, void 0, void 0, function () {
var data;
var _this = this;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, new Promise(function (resolve) {
_this.socket.emit('getStatus', function (response) {
return resolve(response);
});
})];
case 1:
data = _a.sent();
this.processStatus = data;
this.broadcastState();
return [2 /*return*/];
}
});
}); };
this.socket.on('simpleStatus', function (simpleStatus) {
_this.processStatus.state = simpleStatus.state;
_this.processStatus.message = simpleStatus.message;
_this.processStatus.error = simpleStatus.error;
_this.broadcastState();
});
clearInterval(this.pollClock);
this.pollClock = setInterval(function () { return poll(); }, this._Main.Config.cameraRunner.pollInterval);
poll();
};
CameraRunner.prototype.reconnect = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
clearInterval(this.pollClock);
if (this.socket != null) {
this.socket.disconnect();
this.socket.close();
this.socket = null;
}
return [4 /*yield*/, (0, Utils_1.delay)(500)];
case 1:
_a.sent();
this.setInfo("Reconnecting to CameraRunner in 5 seconds...", null, 'CONNECTING');
return [4 /*yield*/, (0, Utils_1.delay)(5000)];
case 2:
_a.sent();
return [4 /*yield*/, this.connect()];
case 3:
_a.sent();
return [2 /*return*/];
}
});
});
};
CameraRunner.prototype.connect = function () {
return __awaiter(this, void 0, void 0, function () {
var ip, port;
var _this = this;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this.setInfo('Connecting to CameraRunner', null, 'CONNECTING');
return [4 /*yield*/, (0, Utils_1.delay)(1000)];
case 1:
_a.sent();
ip = this._Main.Config.cameraRunner.webSocket.ip;
port = this._Main.Config.cameraRunner.webSocket.port;
if (ip == null || port == null) {
return [2 /*return*/, this.setInfo('Connection problem', 'Camera Runner WebSocket IP or port is not configured.')];
}
this.socket = (0, socket_io_client_1.io)("ws://".concat(ip, ":").concat(port), {
reconnectionAttempts: 0,
reconnectionDelay: 2000,
});
this.socket.on('connect', function () {
_this.setInfo('Connected', null, 'CONNECTED');
_this.startPollClock();
});
this.socket.on('disconnect', function () {
_this.setInfo('Disconnected', null, 'DISCONNECTED');
_this.reconnect();
});
this.socket.on('reconnect', function () {
_this.setInfo('Connected (reconnection)', null, 'CONNECTED');
});
this.socket.on('connect_error', function (err) {
_this.setInfo('Connection problem', "Connection error: ".concat(err));
_this.reconnect();
});
this.socket.on('error', function (err) {
_this.setInfo('Connection problem', "Socket error: ".concat(err));
_this.reconnect();
});
this.socket.on('reconnect_attempt', function () {
_this.setInfo('Reconnecting', null, 'CONNECTING');
});
this.socket.on('reconnect_failed', function () {
_this.setInfo('Connection problem', 'Reconnection failed');
_this.reconnect();
});
this.socket.on('close', function () {
_this.setInfo('Disconnected', null, 'DISCONNECTED');
_this.reconnect();
});
return [2 /*return*/];
}
});
});
};
return CameraRunner;
}());
exports.CameraRunner = CameraRunner;
//# sourceMappingURL=CameraRunner.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"CameraRunner.js","sourceRoot":"","sources":["../../src/Unity/CameraRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA8C;AAE9C,kCAA+C;AAE/C,IAAM,MAAM,GAAG,gBAAgB,CAAC;AAChC;IAgBC,sBAAY,IAAU;QAXtB,UAAK,GAAiB,cAAc,CAAC;QAIrC,kBAAa,GAAkB;YAC9B,KAAK,EAAE,SAAS;YAEhB,SAAS,EAAE,CAAC,CAAC;YACb,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;SACjC,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,6BAAM,GAAN,UAAO,OAAe;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QACrC,QAAQ,OAAO,EAAE,CAAC;YACjB,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ;gBACZ,IAAM,QAAQ,GAGD,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,OAAO,QAAQ,KAAK,UAAU;oBAAE,OAAO;gBAE3C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACpC,MAAM;QACR,CAAC;IACF,CAAC;IAED,kCAAW,GAAX,UACC,OAAe,EACf,QAAoE;QAEpE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;YAChD,OAAO,QAAQ,CAAC;gBACf,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,+BAA+B;aACxC,CAAC,CAAC;QAEJ,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,OAAO,EACP,UAAC,QAAgD;YAChD,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CACD,CAAC;IACH,CAAC;IAED,qCAAc,GAAd;QACC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,+BAAQ,GAAR;QACC,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YAEjB,aAAa,EAAE,IAAI,CAAC,aAAa;SACjC,CAAC;IACH,CAAC;IAED,8BAAO,GAAP,UAAQ,OAAe,EAAE,KAAa,EAAE,KAA8B;QAA9B,sBAAA,EAAA,gBAA8B;QACrE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,cAAc;YAC/C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,KAAK,CAAC,CAAC;;YACnC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,KAAK,CAAC,CAAC;IAC5C,CAAC;IAGD,qCAAc,GAAd;QAAA,iBAyBC;QAxBA,IAAM,IAAI,GAAG;;;;;4BACgB,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO;4BACrD,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,UAAC,QAAuB;gCACrD,OAAA,OAAO,CAAC,QAAQ,CAAC;4BAAjB,CAAiB,CACjB,CAAC;wBACH,CAAC,CAAC,EAAA;;wBAJI,IAAI,GAAkB,SAI1B;wBAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;;;;aACtB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAC,YAAiC;YAChE,KAAI,CAAC,aAAa,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YAC9C,KAAI,CAAC,aAAa,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;YAClD,KAAI,CAAC,aAAa,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;YAC9C,KAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,WAAW,CAC3B,cAAM,OAAA,IAAI,EAAE,EAAN,CAAM,EACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAC3C,CAAC;QACF,IAAI,EAAE,CAAC;IACR,CAAC;IAEK,gCAAS,GAAf;;;;;wBACC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;4BACzB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;4BACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;wBACpB,CAAC;wBAED,qBAAM,IAAA,aAAK,EAAC,GAAG,CAAC,EAAA;;wBAAhB,SAAgB,CAAC;wBAEjB,IAAI,CAAC,OAAO,CACX,8CAA8C,EAC9C,IAAI,EACJ,YAAY,CACZ,CAAC;wBAEF,qBAAM,IAAA,aAAK,EAAC,IAAI,CAAC,EAAA;;wBAAjB,SAAiB,CAAC;wBAClB,qBAAM,IAAI,CAAC,OAAO,EAAE,EAAA;;wBAApB,SAAoB,CAAC;;;;;KACrB;IAEK,8BAAO,GAAb;;;;;;;wBACC,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;wBAE/D,qBAAM,IAAA,aAAK,EAAC,IAAI,CAAC,EAAA;;wBAAjB,SAAiB,CAAC;wBAEZ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;wBACjD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC;wBAE3D,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;4BAChC,sBAAO,IAAI,CAAC,OAAO,CAClB,oBAAoB,EACpB,uDAAuD,CACvD,EAAC;wBACH,CAAC;wBAED,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAE,EAAC,eAAQ,EAAE,cAAI,IAAI,CAAE,EAAE;4BACtC,oBAAoB,EAAE,CAAC;4BACvB,iBAAiB,EAAE,IAAI;yBACvB,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE;4BACzB,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;4BAC7C,KAAI,CAAC,cAAc,EAAE,CAAC;wBACvB,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE;4BAC5B,KAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;4BACnD,KAAI,CAAC,SAAS,EAAE,CAAC;wBAClB,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;4BAC3B,KAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;wBAC7D,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,UAAC,GAAG;4BACnC,KAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,4BAAqB,GAAG,CAAE,CAAC,CAAC;4BAC/D,KAAI,CAAC,SAAS,EAAE,CAAC;wBAClB,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,GAAG;4BAC3B,KAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,wBAAiB,GAAG,CAAE,CAAC,CAAC;4BAC3D,KAAI,CAAC,SAAS,EAAE,CAAC;wBAClB,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE;4BACnC,KAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;wBAClD,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE;4BAClC,KAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;4BAC1D,KAAI,CAAC,SAAS,EAAE,CAAC;wBAClB,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;4BACvB,KAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;4BACnD,KAAI,CAAC,SAAS,EAAE,CAAC;wBAClB,CAAC,CAAC,CAAC;;;;;KACH;IACF,mBAAC;AAAD,CAAC,AAxLD,IAwLC;AAxLY,oCAAY"}

117
dist/Unity/Unity.js vendored
View File

@@ -1,117 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Unity = void 0;
var ws_1 = require("ws");
var Utils_1 = require("../Utils");
var PREFIX = '[Unity]';
var Unity = /** @class */ (function () {
function Unity(Main) {
this.state = 'DISCONNECTED';
this.restartRequested = false;
this._Main = Main;
}
Unity.prototype.broadcastState = function () {
this._Main.WebServer.socket.emit('unityState', this.getState());
};
Unity.prototype.setInfo = function (message, error, state) {
if (state === void 0) { state = 'FAILED'; }
this.message = message;
this.error = error;
this.state = state;
this.broadcastState();
if (state == 'FAILED' || state == 'DISCONNECTED')
console.warn(PREFIX, message !== null && message !== void 0 ? message : error);
else
console.log(PREFIX, message !== null && message !== void 0 ? message : error);
};
Unity.prototype.reconnect = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (this.restartRequested)
return [2 /*return*/];
this.restartRequested = true;
if (this.socket != null) {
this.socket.close();
this.socket = null;
}
return [4 /*yield*/, (0, Utils_1.delay)(500)];
case 1:
_a.sent();
this.setInfo("Reconnecting to Unity in 5 seconds...", null, 'CONNECTING');
return [4 /*yield*/, (0, Utils_1.delay)(5000)];
case 2:
_a.sent();
return [4 /*yield*/, this.connect()];
case 3:
_a.sent();
return [2 /*return*/];
}
});
});
};
Unity.prototype.connect = function () {
var _this = this;
var ws = new ws_1.WebSocket("ws://".concat(this._Main.Config.unity.webSocket.ip, ":").concat(this._Main.Config.unity.webSocket.port));
ws.on('error', function (error) {
_this.setInfo('Connection error', "Could not connect: ".concat(error.message), 'FAILED');
_this.reconnect();
});
ws.on('open', function () {
_this.setInfo('Connected', null, 'CONNECTED');
});
ws.on('close', function () {
if (_this.restartRequested)
return;
_this.setInfo('Disconnected', 'Unity was disconnected unexpectedly', 'DISCONNECTED');
_this.reconnect();
});
};
Unity.prototype.getState = function () {
return {
state: this.state,
message: this.message,
error: this.error,
};
};
return Unity;
}());
exports.Unity = Unity;
//# sourceMappingURL=Unity.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"Unity.js","sourceRoot":"","sources":["../../src/Unity/Unity.ts"],"names":[],"mappings":"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"}

View File

@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
@@ -45,10 +45,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnityRunner = void 0;
exports.StartOrigin = exports.UnityBuildStateColors = exports.UnityRunner = void 0;
var fs_extra_1 = require("fs-extra");
var child_process_1 = require("child_process");
var Utils_1 = require("../Utils");
var Status_1 = require("../Status");
var PREFIX = '[UnityRunner]';
var LOG_OUTPUT = !process.argv.includes('--no-output-log');
var UnityRunner = /** @class */ (function () {
@@ -70,11 +71,11 @@ var UnityRunner = /** @class */ (function () {
return;
switch (command) {
case 'restart':
return callback(this.requestRestart());
return callback(this.requestRestart(StartOrigin.Manual));
case 'stop':
return callback(this.requestStop());
case 'start':
return callback(this.requestStart());
return callback(this.requestStart(StartOrigin.Manual));
}
};
UnityRunner.prototype.startStatusClock = function () {
@@ -84,13 +85,13 @@ var UnityRunner = /** @class */ (function () {
_this.broadcastState();
}, 3000);
};
UnityRunner.prototype.requestRestart = function () {
UnityRunner.prototype.requestRestart = function (startOrigin) {
if (this.state !== 'RUNNING')
return {
succeed: false,
message: 'Cannot restart when process is not running. It is probably restarting already.',
};
this.restart(true);
this.restart(startOrigin, true);
return { succeed: true };
};
UnityRunner.prototype.requestStop = function () {
@@ -102,23 +103,29 @@ var UnityRunner = /** @class */ (function () {
this.stop();
return { succeed: true };
};
UnityRunner.prototype.requestStart = function () {
UnityRunner.prototype.requestStart = function (startOrigin) {
if (this.state !== 'STOPPED')
return {
succeed: false,
message: 'Cannot start when process is already running.',
};
this.start();
this.start(startOrigin);
return { succeed: true };
};
UnityRunner.prototype.broadcastState = function () {
this._Main.WebServer.socket.emit('unityRunnerState', this.getStatus());
};
UnityRunner.prototype.setInfo = function (message, error, state) {
var _a;
if (state === void 0) { state = 'PROBLEM'; }
this.message = message;
this.error = error;
this.state = state;
this._Main.Status.update(Status_1.StatusType.UnityBuild, exports.UnityBuildStateColors[state], (_a = message !== null && message !== void 0 ? message : error) !== null && _a !== void 0 ? _a : '', {
reboot: state === 'PROBLEM' || state === 'RUNNING',
start: state === 'STOPPED',
stop: state === 'RUNNING',
});
this.broadcastState();
if (error != null)
this._Main.Twilio.sendError('UnityRunner', error);
@@ -174,9 +181,9 @@ var UnityRunner = /** @class */ (function () {
});
});
};
UnityRunner.prototype.restart = function () {
return __awaiter(this, arguments, void 0, function (instant) {
if (instant === void 0) { instant = false; }
UnityRunner.prototype.restart = function (origin, instant) {
if (instant === void 0) { instant = false; }
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
@@ -186,6 +193,7 @@ var UnityRunner = /** @class */ (function () {
this._Main.WebServer.Calibration.hasCalibrationImage = false;
clearInterval(this.statusClock);
this.startTime = -1;
this.startOrigin = null;
this.broadcastState();
if (!!instant) return [3 /*break*/, 2];
return [4 /*yield*/, (0, Utils_1.delay)(2000)];
@@ -216,7 +224,7 @@ var UnityRunner = /** @class */ (function () {
case 7:
_a.sent();
_a.label = 8;
case 8: return [4 /*yield*/, this.start()];
case 8: return [4 /*yield*/, this.start(this.startOrigin)];
case 9:
_a.sent();
return [2 /*return*/];
@@ -224,11 +232,11 @@ var UnityRunner = /** @class */ (function () {
});
});
};
UnityRunner.prototype.start = function () {
UnityRunner.prototype.start = function (origin) {
var _a, _b, _c;
return __awaiter(this, void 0, void 0, function () {
var path, fileName;
var _this = this;
var _a, _b, _c;
return __generator(this, function (_d) {
switch (_d.label) {
case 0:
@@ -285,11 +293,11 @@ var UnityRunner = /** @class */ (function () {
if (_this.restartTriggered)
return;
_this.setInfo('Process exited', "Process exited with code ".concat(code, " and signal ").concat(signal), 'PROBLEM');
_this.restart();
_this.restart(_this.startOrigin);
});
this.process.on('error', function (err) {
_this.setInfo('Process error', err.message);
_this.restart();
_this.restart(_this.startOrigin);
});
(_b = this.process.stdout) === null || _b === void 0 ? void 0 : _b.on('data', function (data) {
var lines = data
@@ -317,6 +325,7 @@ var UnityRunner = /** @class */ (function () {
_this.output.current.push(formattedLine);
});
});
this.startOrigin = origin;
this.startStatusClock();
setTimeout(function () {
var _a, _b;
@@ -346,4 +355,23 @@ var UnityRunner = /** @class */ (function () {
return UnityRunner;
}());
exports.UnityRunner = UnityRunner;
var State;
(function (State) {
State["Green"] = "GREEN";
State["Yellow"] = "YELLOW";
State["Red"] = "RED";
State["Gray"] = "GRAY";
})(State || (State = {}));
exports.UnityBuildStateColors = {
RUNNING: State.Green,
STOPPED: State.Gray,
STARTING: State.Yellow,
PROBLEM: State.Red,
};
var StartOrigin;
(function (StartOrigin) {
StartOrigin["Timer"] = "TIMER";
StartOrigin["Manual"] = "MANUAL";
StartOrigin["Startup"] = "STARTUP";
})(StartOrigin || (exports.StartOrigin = StartOrigin = {}));
//# sourceMappingURL=UnityRunner.js.map

File diff suppressed because one or more lines are too long

View File

@@ -20,8 +20,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
@@ -47,9 +47,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnityWebSocket = void 0;
exports.CameraUnityStateColors = exports.UnityWebSocket = void 0;
var ws_1 = require("ws");
var Utils_1 = require("../Utils");
var Status_1 = require("../Status");
var PREFIX = '[Unity]';
var UnityWebSocket = /** @class */ (function () {
function UnityWebSocket(Main) {
@@ -71,6 +72,7 @@ var UnityWebSocket = /** @class */ (function () {
this.disconnected = false;
this.restartRequested = false;
this._Main = Main;
this.updateStatus();
}
UnityWebSocket.prototype.handle = function (command) {
var args = [];
@@ -150,11 +152,27 @@ var UnityWebSocket = /** @class */ (function () {
UnityWebSocket.prototype.broadcastState = function () {
this._Main.WebServer.socket.emit('unityWebSocketState', this.getState());
};
UnityWebSocket.prototype.updateStatus = function () {
if (this.state != 'CONNECTED') {
this._Main.Status.update(Status_1.StatusType.CameraUnityStream, exports.CameraUnityStateColors[this.state], this.message, {
reboot: this.state === 'FAILED',
});
}
else {
var status_1 = !this.parameters.zedReady
? 'Waiting for ZED stream'
: this.message;
this._Main.Status.update(Status_1.StatusType.CameraUnityStream, this.parameters.zedReady ? Status_1.State.Green : Status_1.State.Yellow, status_1, {
reboot: this.parameters.zedReady,
});
}
};
UnityWebSocket.prototype.setInfo = function (message, error, state) {
if (state === void 0) { state = 'FAILED'; }
this.message = message;
this.error = error;
this.state = state;
this.updateStatus();
this.broadcastState();
if (error != null)
this._Main.Twilio.sendError('UnityWebSocket', error);
@@ -204,6 +222,7 @@ var UnityWebSocket = /** @class */ (function () {
? 2
: null });
});
this.updateStatus();
this.broadcastState();
break;
case 'response_camera_frame':
@@ -302,7 +321,10 @@ var UnityWebSocket = /** @class */ (function () {
};
UnityWebSocket.prototype.startFetchClocks = function () {
var _this = this;
this.socket.send(JSON.stringify({ type: 'set_heartbeat_auto_send', autoSend: false }));
this.socket.send(JSON.stringify({
type: 'set_heartbeat_auto_send',
autoSend: false,
}));
this.heartbeatClock = setInterval(function () {
if (_this.socket == null ||
_this.socket.readyState !== ws_1.WebSocket.OPEN)
@@ -327,4 +349,10 @@ var UnityWebSocket = /** @class */ (function () {
return UnityWebSocket;
}());
exports.UnityWebSocket = UnityWebSocket;
exports.CameraUnityStateColors = {
CONNECTED: Status_1.State.Green,
DISCONNECTED: Status_1.State.Gray,
CONNECTING: Status_1.State.Yellow,
FAILED: Status_1.State.Red,
};
//# sourceMappingURL=UnityWebSocket.js.map

File diff suppressed because one or more lines are too long

207
dist/UnityRunner.js vendored
View File

@@ -1,207 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UnityRunner = void 0;
var fs_extra_1 = require("fs-extra");
var child_process_1 = require("child_process");
var Utils_1 = require("./Utils");
var PREFIX = '[UnityRunner]';
var LOG_OUTPUT = !process.argv.includes('--no-output-log');
var UnityRunner = /** @class */ (function () {
function UnityRunner(Main) {
this.state = 'STOPPED';
this.startTime = null;
this.output = { current: [], last: [] };
this.restartTriggered = false;
this._Main = Main;
}
UnityRunner.prototype.requestRestart = function () {
if (this.state !== 'RUNNING')
return {
succeed: false,
message: 'Cannot restart when process is not running. It is probably restarting already.',
};
this.restart(true);
return { succeed: true };
};
UnityRunner.prototype.broadcastState = function () {
this._Main.WebServer.socket.emit('unityRunnerState', this.getStatus());
};
UnityRunner.prototype.setInfo = function (message, error, state) {
if (state === void 0) { state = 'PROBLEM'; }
this.message = message;
this.error = error;
this.state = state;
this.broadcastState();
this.output.current.push("[".concat(new Date().toLocaleTimeString('nl-NL'), "] [System] [").concat(state, "] ").concat(message !== null && message !== void 0 ? message : error));
if (state == 'PROBLEM' || state == 'STOPPED')
console.warn(PREFIX, message !== null && message !== void 0 ? message : error);
else
console.log(PREFIX, message !== null && message !== void 0 ? message : error);
};
UnityRunner.prototype.restart = function () {
return __awaiter(this, arguments, void 0, function (instant) {
if (instant === void 0) { instant = false; }
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (this.restartTriggered)
return [2 /*return*/];
if (this.output.current.length > 0) {
this.output.last = __spreadArray([], this.output.current, true);
this.output.current = [];
}
this.restartTriggered = true;
this.startTime = -1;
this.broadcastState();
if (instant)
this.setInfo('Process will restart shortly...', null, 'STOPPED');
if (!(this.process != null)) return [3 /*break*/, 2];
this.process.kill('SIGTERM');
return [4 /*yield*/, (0, Utils_1.delay)(3000)];
case 1:
_a.sent();
if (!this.process.killed && this.process.exitCode === null) {
this.process.kill('SIGKILL');
console.log(PREFIX, 'Sent SIGKILL to process.');
}
_a.label = 2;
case 2:
this.startTime = -1;
if (!!instant) return [3 /*break*/, 4];
this.setInfo("Restarting process in 5 seconds...", null, 'STOPPED');
return [4 /*yield*/, (0, Utils_1.delay)(5000)];
case 3:
_a.sent();
_a.label = 4;
case 4: return [4 /*yield*/, this.start()];
case 5:
_a.sent();
return [2 /*return*/];
}
});
});
};
UnityRunner.prototype.start = function () {
var _this = this;
var _a, _b;
if (this.output.current.length > 0) {
this.output.last = __spreadArray([], this.output.current, true);
this.output.current = [];
}
this.startTime = Date.now();
this.restartTriggered = false;
this.broadcastState();
var path = this._Main.Config.unity.executable.path;
if (path == null || !(0, fs_extra_1.pathExistsSync)(path)) {
this.setInfo('Executable problem', "Executable path is not set or does not exist: ".concat(path));
return;
}
var fileName = path.split(/(\/|\\)/).pop();
this.setInfo("Starting executable: ".concat(fileName), null, 'STARTING');
this.process = (0, child_process_1.spawn)(path, this._Main.Config.unity.executable.arguments, {
stdio: 'pipe',
});
this.process.on('exit', function (code, signal) {
if (_this.restartTriggered)
return;
_this.setInfo('Process exited', "Process exited with code ".concat(code, " and signal ").concat(signal), 'STOPPED');
_this.restart();
});
this.process.on('error', function (err) {
_this.setInfo('Process error', err.message);
_this.restart();
});
(_a = this.process.stdout) === null || _a === void 0 ? void 0 : _a.on('data', function (data) {
var lines = data
.toString()
.trim()
.split('\n')
.filter(function (line) { return line.length > 0; });
lines.forEach(function (line) {
var formattedLine = "[".concat(new Date().toLocaleTimeString('nl-NL'), "] [").concat(fileName, "] ").concat(line);
if (LOG_OUTPUT)
console.log(PREFIX, formattedLine);
_this.output.current.push(formattedLine);
});
});
(_b = this.process.stderr) === null || _b === void 0 ? void 0 : _b.on('data', function (data) {
var lines = data
.toString()
.trim()
.split('\n')
.filter(function (line) { return line.length > 0; });
lines.forEach(function (line) {
var formattedLine = "[".concat(new Date().toLocaleTimeString('nl-NL'), "] [").concat(fileName, "] [ERROR] ").concat(line);
if (LOG_OUTPUT)
console.error(PREFIX, formattedLine);
_this.output.current.push(formattedLine);
});
});
setTimeout(function () {
var _a, _b;
if (_this.process == null ||
((_a = _this.process) === null || _a === void 0 ? void 0 : _a.killed) ||
((_b = _this.process) === null || _b === void 0 ? void 0 : _b.exitCode) != null ||
_this.restartTriggered)
return;
_this.setInfo('Running', '', 'RUNNING');
}, 5000);
};
UnityRunner.prototype.getStatus = function () {
return {
state: this.state,
message: this.message,
error: this.error,
startTime: this.startTime,
output: this.output,
};
};
return UnityRunner;
}());
exports.UnityRunner = UnityRunner;
//# sourceMappingURL=UnityRunner.js.map

File diff suppressed because one or more lines are too long

3
dist/Utils.js vendored
View File

@@ -1,7 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.delay = delay;
exports.delay = void 0;
function delay(duration) {
return new Promise(function (resolve) { return setTimeout(resolve, duration); });
}
exports.delay = delay;
//# sourceMappingURL=Utils.js.map

2
dist/Utils.js.map vendored
View File

@@ -1 +1 @@
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":";;AAMA,sBAEC;AAFD,SAAgB,KAAK,CAAC,QAAgB;IACrC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAA7B,CAA6B,CAAC,CAAC;AAChE,CAAC"}
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":";;;AAMA,SAAgB,KAAK,CAAC,QAAgB;IACrC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAA7B,CAA6B,CAAC,CAAC;AAChE,CAAC;AAFD,sBAEC"}

31
dist/WebServer.js vendored
View File

@@ -1,31 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebServer = void 0;
var express = require("express");
var socket_io_1 = require("socket.io");
var http_1 = require("http");
var PREFIX = '[WebServer]';
var WebServer = /** @class */ (function () {
function WebServer(Main) {
this._Main = Main;
this.prepare();
}
WebServer.prototype.prepare = function () {
this.app = express();
this.httpServer = (0, http_1.createServer)(this.app);
this.socket = new socket_io_1.Server(this.httpServer);
};
WebServer.prototype.listen = function () {
var _this = this;
return new Promise(function (resolve) {
var port = _this._Main.Config.webServer.port;
_this.httpServer.listen(port, function () {
console.log(PREFIX, "Listening on port http://127.0.0.1:".concat(port));
resolve();
});
});
};
return WebServer;
}());
exports.WebServer = WebServer;
//# sourceMappingURL=WebServer.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"WebServer.js","sourceRoot":"","sources":["../src/WebServer.ts"],"names":[],"mappings":";;;AACA,iCAAmC;AACnC,uCAAqD;AACrD,6BAA0D;AAG1D,IAAM,MAAM,GAAG,aAAa,CAAC;AAC7B;IAOC,mBAAY,IAAU;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAEO,2BAAO,GAAf;QACC,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,0BAAM,GAAN;QAAA,iBAWC;QAVA,OAAO,IAAI,OAAO,CAAO,UAAC,OAAO;YAChC,IAAM,IAAI,GAAG,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YAC9C,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE;gBAC5B,OAAO,CAAC,GAAG,CACV,MAAM,EACN,6CAAsC,IAAI,CAAE,CAC5C,CAAC;gBACF,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,gBAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BY,8BAAS"}

View File

@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");

View File

@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
@@ -36,22 +36,22 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardRouter = void 0;
exports.ControlRouter = void 0;
var express_1 = require("express");
var path_1 = require("path");
var fs_extra_1 = require("fs-extra");
var DashboardRouter = /** @class */ (function () {
function DashboardRouter(Main) {
var ControlRouter = /** @class */ (function () {
function ControlRouter(Main) {
this._Main = Main;
this.Router = (0, express_1.Router)();
this.path = (0, path_1.join)(__filename, '..', '..', '..', 'frontend', 'views', 'dashboard');
this.path = (0, path_1.join)(__filename, '..', '..', '..', 'frontend', 'views', 'control');
this.registerRoutes();
}
DashboardRouter.prototype.registerRoutes = function () {
ControlRouter.prototype.registerRoutes = function () {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
this.Router.get(['/', '/dashboard'], function (req, res) { return __awaiter(_this, void 0, void 0, function () {
this.Router.get('/', function (req, res) { return __awaiter(_this, void 0, void 0, function () {
var htmlContent;
return __generator(this, function (_a) {
switch (_a.label) {
@@ -94,7 +94,7 @@ var DashboardRouter = /** @class */ (function () {
});
});
};
return DashboardRouter;
return ControlRouter;
}());
exports.DashboardRouter = DashboardRouter;
//# sourceMappingURL=DahboardRouter.js.map
exports.ControlRouter = ControlRouter;
//# sourceMappingURL=ControlRouter.js.map

1
dist/WebServer/ControlRouter.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"ControlRouter.js","sourceRoot":"","sources":["../../src/WebServer/ControlRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiC;AAEjC,6BAA4B;AAC5B,qCAAiE;AAEjE;IAMC,uBAAY,IAAU;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAA,WAAI,EACf,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,OAAO,EACP,SAAS,CACT,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAEK,sCAAc,GAApB;;;;gBACC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCACf,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,EAAA;;gCAA3D,WAAW,GAAG,SAA6C;gCACjE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gCAC3C,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;;;qBACtB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCACvB,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAA;;gCAA3D,YAAY,GAAG,SAA4C;gCACjE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gCAC1C,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;;;qBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCACtB,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAA;;gCAA5D,aAAa,GAAG,SAA4C;gCAClE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;gCACxD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;;;qBACxB,CAAC,CAAC;;;;KACH;IACF,oBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,sCAAa"}

View File

@@ -1 +0,0 @@
{"version":3,"file":"DahboardRouter.js","sourceRoot":"","sources":["../../src/WebServer/DahboardRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiC;AAEjC,6BAA4B;AAC5B,qCAAiE;AAEjE;IAMC,yBAAY,IAAU;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAA,WAAI,EACf,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,OAAO,EACP,WAAW,CACX,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAEK,wCAAc,GAApB;;;;gBACC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCAC/B,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,EAAA;;gCAA3D,WAAW,GAAG,SAA6C;gCACjE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gCAC3C,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;;;qBACtB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCACvB,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAA;;gCAA3D,YAAY,GAAG,SAA4C;gCACjE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gCAC1C,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;;;qBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCACtB,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAA;;gCAA5D,aAAa,GAAG,SAA4C;gCAClE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;gCACxD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;;;qBACxB,CAAC,CAAC;;;;KACH;IACF,sBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,0CAAe"}

View File

@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
@@ -51,7 +51,7 @@ var DashboardRouter = /** @class */ (function () {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
this.Router.get(['/', '/dashboard', '/calibration', '/cameralogs', '/unitylogs'], function (req, res) { return __awaiter(_this, void 0, void 0, function () {
this.Router.get(['/dashboard', '/calibration', '/cameralogs', '/unitylogs'], function (req, res) { return __awaiter(_this, void 0, void 0, function () {
var htmlContent;
return __generator(this, function (_a) {
switch (_a.label) {
@@ -64,7 +64,7 @@ var DashboardRouter = /** @class */ (function () {
}
});
}); });
this.Router.get('/style.css', function (req, res) { return __awaiter(_this, void 0, void 0, function () {
this.Router.get('/dashboard/style.css', function (req, res) { return __awaiter(_this, void 0, void 0, function () {
var styleContent;
return __generator(this, function (_a) {
switch (_a.label) {
@@ -77,7 +77,7 @@ var DashboardRouter = /** @class */ (function () {
}
});
}); });
this.Router.get('/script.js', function (req, res) { return __awaiter(_this, void 0, void 0, function () {
this.Router.get('/dashboard/script.js', function (req, res) { return __awaiter(_this, void 0, void 0, function () {
var scriptContent;
return __generator(this, function (_a) {
switch (_a.label) {

View File

@@ -1 +1 @@
{"version":3,"file":"DashboardRouter.js","sourceRoot":"","sources":["../../src/WebServer/DashboardRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiC;AAEjC,6BAA4B;AAC5B,qCAAiE;AAEjE;IAMC,yBAAY,IAAU;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAA,WAAI,EACf,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,OAAO,EACP,WAAW,CACX,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAEK,wCAAc,GAApB;;;;gBACC,IAAI,CAAC,MAAM,CAAC,GAAG,CACd,CAAC,GAAG,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC,EAChE,UAAO,GAAG,EAAE,GAAG;;;;oCACM,qBAAM,IAAA,mBAAQ,EACjC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAC7B,EAAA;;gCAFK,WAAW,GAAG,SAEnB;gCACD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gCAC3C,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;;;qBACtB,CACD,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCACvB,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAA;;gCAA3D,YAAY,GAAG,SAA4C;gCACjE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gCAC1C,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;;;qBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCACtB,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAA;;gCAA5D,aAAa,GAAG,SAA4C;gCAClE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;gCACxD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;;;qBACxB,CAAC,CAAC;;;;KACH;IACF,sBAAC;AAAD,CAAC,AA7CD,IA6CC;AA7CY,0CAAe"}
{"version":3,"file":"DashboardRouter.js","sourceRoot":"","sources":["../../src/WebServer/DashboardRouter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiC;AAEjC,6BAA4B;AAC5B,qCAAiE;AAEjE;IAMC,yBAAY,IAAU;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAA,WAAI,EACf,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,OAAO,EACP,WAAW,CACX,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAEK,wCAAc,GAApB;;;;gBACC,IAAI,CAAC,MAAM,CAAC,GAAG,CACd,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC,EAC3D,UAAO,GAAG,EAAE,GAAG;;;;oCACM,qBAAM,IAAA,mBAAQ,EACjC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAC7B,EAAA;;gCAFK,WAAW,GAAG,SAEnB;gCACD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gCAC3C,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;;;qBACtB,CACD,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCACjC,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAA;;gCAA3D,YAAY,GAAG,SAA4C;gCACjE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gCAC1C,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;;;qBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAO,GAAG,EAAE,GAAG;;;;oCAChC,qBAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAA;;gCAA5D,aAAa,GAAG,SAA4C;gCAClE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;gCACxD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;;;qBACxB,CAAC,CAAC;;;;KACH;IACF,sBAAC;AAAD,CAAC,AA7CD,IA6CC;AA7CY,0CAAe"}

View File

@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
@@ -53,12 +53,14 @@ var DashboardRouter_1 = require("./DashboardRouter");
var path_1 = require("path");
var CalibrationRouter_1 = require("./CalibrationRouter");
var Utils_1 = require("../Utils");
var ControlRouter_1 = require("./ControlRouter");
var PREFIX = '[WebServer]';
var WebServer = /** @class */ (function () {
function WebServer(Main) {
this._Main = Main;
this.Dashboard = new DashboardRouter_1.DashboardRouter(this._Main);
this.Calibration = new CalibrationRouter_1.CalibrationRouter(this._Main);
this.Control = new ControlRouter_1.ControlRouter(this._Main);
this.prepare();
}
WebServer.prototype.prepare = function () {
@@ -68,8 +70,11 @@ var WebServer = /** @class */ (function () {
this.socket = new socket_io_1.Server(this.httpServer);
this.app.use(express.static((0, path_1.join)(__filename, '..', '..', '..', 'frontend', 'static')));
this.app.use(this.Dashboard.Router);
this.app.use(this.Control.Router);
this.app.use(this.Calibration.Router);
this.socket.on('connection', function (socket) {
socket.emit('status', _this._Main.Status.getState());
socket.emit('timer', _this._Main.Timer.getState());
socket.emit('cameraRunnerState', _this._Main.CameraRunner.getState());
socket.emit('unityRunnerState', _this._Main.UnityRunner.getStatus());
socket.emit('unityWebSocketState', _this._Main.UnityWebSocket.getState());
@@ -119,6 +124,24 @@ var WebServer = /** @class */ (function () {
}
return (_a = _this._Main.UnityWebSocket).handle.apply(_a, __spreadArray([command], args, false));
});
socket.on('status', function (action, type) {
switch (action) {
case 'fullreboot':
return _this._Main.restart();
case 'reboot':
return _this._Main.Status.reboot(type);
case 'start':
return _this._Main.Status.start(type);
case 'stop':
return _this._Main.Status.stop(type);
}
});
socket.on('setTimerStart', function (data) {
_this._Main.Timer.setStart(data);
});
socket.on('setTimerEnd', function (data) {
_this._Main.Timer.setEnd(data);
});
});
};
WebServer.prototype.listen = function () {

View File

@@ -1 +1 @@
{"version":3,"file":"WebServer.js","sourceRoot":"","sources":["../../src/WebServer/WebServer.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"WebServer.js","sourceRoot":"","sources":["../../src/WebServer/WebServer.ts"],"names":[],"mappings":"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"}