Added basic control panel
This commit is contained in:
84
dist/Main.js
vendored
84
dist/Main.js
vendored
@@ -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();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user