remoterigs-raspberrypi 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/common/signalr.js +7 -6
- package/src/component/component.js +25 -1
- package/src/component/status/status.js +13 -0
- package/src/models/models.js +13 -0
- package/src/src/common/code.js +0 -62
- package/src/src/common/debug.js +0 -75
- package/src/src/common/signalr.js +0 -189
- package/src/src/common/webrtc-streamer-wrapper.js +0 -483
- package/src/src/component/component.js +0 -358
- package/src/src/component/pin/pin.js +0 -92
- package/src/src/component/status/status-number.js +0 -7
- package/src/src/component/status/status-state.js +0 -27
- package/src/src/component/status/status.js +0 -41
- package/src/src/rig.js +0 -68
- package/src/src/server.js +0 -74
package/package.json
CHANGED
package/src/common/signalr.js
CHANGED
|
@@ -76,6 +76,7 @@ export default class SignalR {
|
|
|
76
76
|
}
|
|
77
77
|
static ScheduleReconnect() {
|
|
78
78
|
if (SignalR.intentionalStop) {
|
|
79
|
+
1;
|
|
79
80
|
return;
|
|
80
81
|
}
|
|
81
82
|
if (SignalR.reconnectTimer != null) {
|
|
@@ -100,10 +101,10 @@ export default class SignalR {
|
|
|
100
101
|
if (SignalR.hubConnection) {
|
|
101
102
|
SignalR.hubConnection.stop()
|
|
102
103
|
.then(() => {
|
|
103
|
-
Debug.
|
|
104
|
+
Debug.LogAlways(SignalR.GetName(), 'hub connection stopped', false);
|
|
104
105
|
})
|
|
105
106
|
.catch((err) => {
|
|
106
|
-
Debug.
|
|
107
|
+
Debug.LogAlways(SignalR.GetName(), "StopConnection err: '" + err + "'", false);
|
|
107
108
|
});
|
|
108
109
|
}
|
|
109
110
|
}
|
|
@@ -132,7 +133,7 @@ export default class SignalR {
|
|
|
132
133
|
});
|
|
133
134
|
}
|
|
134
135
|
else {
|
|
135
|
-
Debug.
|
|
136
|
+
Debug.LogAlways(SignalR.GetName(), "sign in canceled: no hub connection", false);
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
static UpdateStatus(pStatusModel) {
|
|
@@ -151,7 +152,7 @@ export default class SignalR {
|
|
|
151
152
|
});
|
|
152
153
|
}
|
|
153
154
|
else {
|
|
154
|
-
Debug.
|
|
155
|
+
Debug.LogAlways(SignalR.GetName(), "outgoing UpdateStatus: no hub connection", false);
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
static SendWebRTCMessage(message) {
|
|
@@ -166,7 +167,7 @@ export default class SignalR {
|
|
|
166
167
|
});
|
|
167
168
|
}
|
|
168
169
|
else {
|
|
169
|
-
Debug.
|
|
170
|
+
Debug.LogAlways(SignalR.GetName(), "SendWebRTCMessage: no hub connection", false);
|
|
170
171
|
}
|
|
171
172
|
}
|
|
172
173
|
static AddHighScorePoints(message) {
|
|
@@ -181,7 +182,7 @@ export default class SignalR {
|
|
|
181
182
|
});
|
|
182
183
|
}
|
|
183
184
|
else {
|
|
184
|
-
Debug.
|
|
185
|
+
Debug.LogAlways(SignalR.GetName(), "outgoing AddHighScorePoints: no hub connection", false);
|
|
185
186
|
}
|
|
186
187
|
}
|
|
187
188
|
}
|
|
@@ -61,6 +61,7 @@ export default class Component {
|
|
|
61
61
|
}
|
|
62
62
|
this.Log("status: '" + this.component.status[i].name.toLowerCase() + "'");
|
|
63
63
|
}
|
|
64
|
+
this.LoadStoredStatuses();
|
|
64
65
|
for (var i = 0; i < this.component.codeBlocks.length; i++) {
|
|
65
66
|
if (this.component.codeBlocks[i].type == CodeBlockType.Function) {
|
|
66
67
|
try {
|
|
@@ -232,6 +233,29 @@ export default class Component {
|
|
|
232
233
|
}
|
|
233
234
|
}
|
|
234
235
|
}
|
|
236
|
+
LoadStoredStatuses() {
|
|
237
|
+
var componentStatuses = this.rig.rig.componentStatuses;
|
|
238
|
+
if (componentStatuses == undefined) {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
for (const key in this.status) {
|
|
242
|
+
var status = this.status[key];
|
|
243
|
+
if (!status.IsStored()) {
|
|
244
|
+
continue;
|
|
245
|
+
}
|
|
246
|
+
for (var i = 0; i < componentStatuses.length; i++) {
|
|
247
|
+
var stored = componentStatuses[i].value;
|
|
248
|
+
if (stored != undefined &&
|
|
249
|
+
stored.componentId == this.component.id &&
|
|
250
|
+
stored.statusId == status.GetStatusId() &&
|
|
251
|
+
stored.value != undefined && stored.value != null) {
|
|
252
|
+
status.LoadStoredValue(stored.value);
|
|
253
|
+
this.Log("stored status loaded: '" + key + "' = " + stored.value + (stored.valueStr ? " (" + stored.valueStr + ")" : ""));
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
235
259
|
SetCallback(callback) {
|
|
236
260
|
this.callback = callback;
|
|
237
261
|
}
|
|
@@ -262,7 +286,7 @@ export default class Component {
|
|
|
262
286
|
}
|
|
263
287
|
GetStatusState(status) {
|
|
264
288
|
if (this.status.hasOwnProperty(status.toLowerCase())) {
|
|
265
|
-
this.status[status.toLowerCase()].GetValueStr();
|
|
289
|
+
return this.status[status.toLowerCase()].GetValueStr();
|
|
266
290
|
}
|
|
267
291
|
return "";
|
|
268
292
|
}
|
|
@@ -13,6 +13,19 @@ export default class Status {
|
|
|
13
13
|
this.SendUpdateStatus(value);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Restore the last value stored on the server (only for statuses with 'store' enabled).
|
|
18
|
+
* Does not send an update; SendCurrent() will report it to the server.
|
|
19
|
+
*/
|
|
20
|
+
LoadStoredValue(value) {
|
|
21
|
+
this.last_value = value;
|
|
22
|
+
}
|
|
23
|
+
IsStored() {
|
|
24
|
+
return this.status.store == true;
|
|
25
|
+
}
|
|
26
|
+
GetStatusId() {
|
|
27
|
+
return this.status.id;
|
|
28
|
+
}
|
|
16
29
|
SendCurrent() {
|
|
17
30
|
if (this.last_value != null) {
|
|
18
31
|
this.SendUpdateStatus(this.last_value);
|
package/src/models/models.js
CHANGED
|
@@ -29,6 +29,7 @@ export class ComponentStatusViewModel {
|
|
|
29
29
|
this.componentId = _data["componentId"];
|
|
30
30
|
this.name = _data["name"];
|
|
31
31
|
this.type = _data["type"];
|
|
32
|
+
this.store = _data["store"];
|
|
32
33
|
if (Array.isArray(_data["states"])) {
|
|
33
34
|
this.states = [];
|
|
34
35
|
for (let item of _data["states"])
|
|
@@ -48,6 +49,7 @@ export class ComponentStatusViewModel {
|
|
|
48
49
|
data["componentId"] = this.componentId;
|
|
49
50
|
data["name"] = this.name;
|
|
50
51
|
data["type"] = this.type;
|
|
52
|
+
data["store"] = this.store;
|
|
51
53
|
if (Array.isArray(this.states)) {
|
|
52
54
|
data["states"] = [];
|
|
53
55
|
for (let item of this.states)
|
|
@@ -308,6 +310,7 @@ export class RigClientViewModel {
|
|
|
308
310
|
if (!data) {
|
|
309
311
|
this.rigModelViewModel = new RigModelViewModel();
|
|
310
312
|
this.logSettings = [];
|
|
313
|
+
this.componentStatuses = [];
|
|
311
314
|
}
|
|
312
315
|
}
|
|
313
316
|
init(_data) {
|
|
@@ -323,6 +326,11 @@ export class RigClientViewModel {
|
|
|
323
326
|
for (let item of _data["logSettings"])
|
|
324
327
|
this.logSettings.push(LogSettingViewModel.fromJS(item));
|
|
325
328
|
}
|
|
329
|
+
if (Array.isArray(_data["componentStatuses"])) {
|
|
330
|
+
this.componentStatuses = [];
|
|
331
|
+
for (let item of _data["componentStatuses"])
|
|
332
|
+
this.componentStatuses.push(StatusModel.fromJS(item));
|
|
333
|
+
}
|
|
326
334
|
}
|
|
327
335
|
}
|
|
328
336
|
static fromJS(data) {
|
|
@@ -344,6 +352,11 @@ export class RigClientViewModel {
|
|
|
344
352
|
for (let item of this.logSettings)
|
|
345
353
|
data["logSettings"].push(item ? item.toJSON() : undefined);
|
|
346
354
|
}
|
|
355
|
+
if (Array.isArray(this.componentStatuses)) {
|
|
356
|
+
data["componentStatuses"] = [];
|
|
357
|
+
for (let item of this.componentStatuses)
|
|
358
|
+
data["componentStatuses"].push(item ? item.toJSON() : undefined);
|
|
359
|
+
}
|
|
347
360
|
return data;
|
|
348
361
|
}
|
|
349
362
|
}
|
package/src/src/common/code.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import vm from "vm";
|
|
2
|
-
import SignalR from "./signalr.js";
|
|
3
|
-
export default class Code {
|
|
4
|
-
static GetComponentContext(component) {
|
|
5
|
-
return {
|
|
6
|
-
SetCallback: component.SetCallback,
|
|
7
|
-
SetStatus: component.SetStatus,
|
|
8
|
-
SetStatusState: component.SetStatusState,
|
|
9
|
-
GetStatus: component.GetStatus,
|
|
10
|
-
GetStatusState: component.GetStatusState,
|
|
11
|
-
GetName: component.GetName,
|
|
12
|
-
GetStorageName: component.GetStorageName,
|
|
13
|
-
GetChild: component.GetChild,
|
|
14
|
-
Log: component.Log,
|
|
15
|
-
LogAlways: component.LogAlways,
|
|
16
|
-
Error: component.Error,
|
|
17
|
-
GetProperty: component.GetProperty,
|
|
18
|
-
GetPropertyNumber: component.GetPropertyNumber,
|
|
19
|
-
SetTimeOut: component.SetTimeOut,
|
|
20
|
-
ResetTimeOut: component.ResetTimeOut,
|
|
21
|
-
IsEventInput: component.IsEventInput,
|
|
22
|
-
child: component.child,
|
|
23
|
-
property: component.property,
|
|
24
|
-
input: component.input,
|
|
25
|
-
component: component.component,
|
|
26
|
-
pin: component.pin,
|
|
27
|
-
status: component.status,
|
|
28
|
-
boolean: component.boolean,
|
|
29
|
-
number: component.number,
|
|
30
|
-
string: component.string,
|
|
31
|
-
timeout: component.timeout,
|
|
32
|
-
streamer: component.streamer,
|
|
33
|
-
callback: component.callback
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/* (code: string, sandboxVars: SandboxVars): any {*/
|
|
37
|
-
/**
|
|
38
|
-
* Voert dynamische code uit in een veilige VM-sandbox.
|
|
39
|
-
* Geeft nette foutmeldingen met regelnummers.
|
|
40
|
-
*
|
|
41
|
-
* @param code - De code die moet worden uitgevoerd.
|
|
42
|
-
* @param contextVars - Variabelen die zichtbaar moeten zijn in de sandbox.
|
|
43
|
-
*/
|
|
44
|
-
static runSandboxed(code, contextVars = {}) {
|
|
45
|
-
const sandbox = {
|
|
46
|
-
SignalR: SignalR,
|
|
47
|
-
console,
|
|
48
|
-
...contextVars,
|
|
49
|
-
};
|
|
50
|
-
const context = vm.createContext(sandbox);
|
|
51
|
-
try {
|
|
52
|
-
return vm.runInContext(code, context, {
|
|
53
|
-
filename: "dynamic.js",
|
|
54
|
-
displayErrors: true,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
throw err; // laat native stacktrace intact
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=code.js.map
|
package/src/src/common/debug.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { LogModel, LogSettingType, StatusModel, StatusType } from '../models/models.js';
|
|
2
|
-
import Server from "../server.js";
|
|
3
|
-
import SignalR from "./signalr.js";
|
|
4
|
-
export default class Debug {
|
|
5
|
-
// Timings
|
|
6
|
-
static { this.watchdogtimer = 1000; }
|
|
7
|
-
static { this.pwmdelay = 100; }
|
|
8
|
-
static { this.pwmstart = 120; }
|
|
9
|
-
static { this.pwm_frequency = 800; }
|
|
10
|
-
static { this.pwm_dutycycle_max = 1000000; }
|
|
11
|
-
static { this.time_to_full_speed_ms = 10000; }
|
|
12
|
-
static { this.commandtimer = 500; }
|
|
13
|
-
static SetErrorCallback(callback_param) {
|
|
14
|
-
Debug.error_callback = callback_param;
|
|
15
|
-
}
|
|
16
|
-
static Log(pVehicleSettingType, id, name, message) {
|
|
17
|
-
if (Debug.GetLogSetting(pVehicleSettingType, id)) {
|
|
18
|
-
Debug.LogAlways(name, message, true);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
static LogAlways(name, message, signalr) {
|
|
22
|
-
var date = new Date();
|
|
23
|
-
if (signalr) {
|
|
24
|
-
var logModel = new LogModel();
|
|
25
|
-
logModel.dateTime = date;
|
|
26
|
-
logModel.name = name;
|
|
27
|
-
logModel.message = message;
|
|
28
|
-
Debug.SendLogModel(logModel);
|
|
29
|
-
}
|
|
30
|
-
console.log(date.toLocaleTimeString() + " / " + name + " / " + message);
|
|
31
|
-
}
|
|
32
|
-
static Error(name, message) {
|
|
33
|
-
var date = new Date();
|
|
34
|
-
var logModel = new LogModel();
|
|
35
|
-
logModel.dateTime = date;
|
|
36
|
-
logModel.name = name;
|
|
37
|
-
logModel.message = message;
|
|
38
|
-
Debug.SendLogModel(logModel);
|
|
39
|
-
console.error(date.toLocaleTimeString() + " / " + name + " / " + message);
|
|
40
|
-
Debug.error_callback();
|
|
41
|
-
}
|
|
42
|
-
static SendLogModel(logModel) {
|
|
43
|
-
var tStatusModel = new StatusModel();
|
|
44
|
-
tStatusModel.type = StatusType.RigLog;
|
|
45
|
-
tStatusModel.value = logModel;
|
|
46
|
-
SignalR.UpdateStatus(tStatusModel);
|
|
47
|
-
}
|
|
48
|
-
static GetLogSetting(pLogSettingType, id) {
|
|
49
|
-
if (Server.rig != null) {
|
|
50
|
-
for (var i = 0; i < Server.rig.rig.logSettings.length; i++) {
|
|
51
|
-
if (Server.rig.rig.logSettings[i].logSettingType == pLogSettingType &&
|
|
52
|
-
Server.rig.rig.logSettings[i].parameter1 == id) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
static GetStringValue(logSettingType) {
|
|
60
|
-
switch (logSettingType) {
|
|
61
|
-
case LogSettingType.BLESensor:
|
|
62
|
-
return "BLESensor";
|
|
63
|
-
case LogSettingType.Commands:
|
|
64
|
-
return "Commands";
|
|
65
|
-
case LogSettingType.KeyEvents:
|
|
66
|
-
return "KeyEvents";
|
|
67
|
-
case LogSettingType.SignalR:
|
|
68
|
-
return "SignalR";
|
|
69
|
-
case LogSettingType.Component:
|
|
70
|
-
return "Component";
|
|
71
|
-
}
|
|
72
|
-
return "";
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=debug.js.map
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
import * as signalR from '@microsoft/signalr';
|
|
2
|
-
import Server from './../server.js';
|
|
3
|
-
import Debug from './debug.js';
|
|
4
|
-
import Rig from '../rig.js';
|
|
5
|
-
import { exec } from "child_process";
|
|
6
|
-
import { LogSettingType, CommandType, StatusType } from '../models/models.js';
|
|
7
|
-
export default class SignalR {
|
|
8
|
-
static { this.hubConnection = null; }
|
|
9
|
-
static { this.reconnectTimer = null; }
|
|
10
|
-
static { this.lastUniqueCode = null; }
|
|
11
|
-
static { this.intentionalStop = false; }
|
|
12
|
-
static GetName() {
|
|
13
|
-
return "SignalR";
|
|
14
|
-
}
|
|
15
|
-
static StartConnection(uniquecode) {
|
|
16
|
-
SignalR.lastUniqueCode = uniquecode;
|
|
17
|
-
SignalR.intentionalStop = false;
|
|
18
|
-
Debug.LogAlways(SignalR.GetName(), "initiating hub connection... url: '" + Server.signalr + "'", false);
|
|
19
|
-
SignalR.hubConnection = new signalR.HubConnectionBuilder()
|
|
20
|
-
.withUrl(Server.signalr)
|
|
21
|
-
.withAutomaticReconnect()
|
|
22
|
-
.build();
|
|
23
|
-
SignalR.hubConnection.on('keyevent', (keyEventClientModel) => {
|
|
24
|
-
if (Server.rig != null) {
|
|
25
|
-
Server.rig.ProcessKeyEvent(keyEventClientModel);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
Debug.LogAlways(SignalR.GetName(), "no rig to process keyevent", true);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
SignalR.hubConnection.on("web-rtc-message", async (webRTCMessage) => {
|
|
32
|
-
if (Server.rig != null) {
|
|
33
|
-
if (Server.rig.rig.id !== webRTCMessage.rigId) {
|
|
34
|
-
Debug.Error(SignalR.GetName(), "incoming web-rtc-message error Server.rig.rig.id (" + Server.rig.rig.id + ") !== message.rigId (" + webRTCMessage.rigId + ")");
|
|
35
|
-
}
|
|
36
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), "incoming web-rtc-message rigId:" + webRTCMessage.rigId + " componentId:" + webRTCMessage.componentId + " userName: " + webRTCMessage.userName + " rigOwnerUsername: " + webRTCMessage.rigOwnerUsername);
|
|
37
|
-
Server.rig.PutWebRTCMessage(webRTCMessage);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
Debug.LogAlways(SignalR.GetName(), "no rig to process webrtc message", true);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
SignalR.hubConnection.on("send-command", async (commandMessage) => {
|
|
44
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), "incoming message: " + JSON.stringify(commandMessage));
|
|
45
|
-
switch (commandMessage.type) {
|
|
46
|
-
case CommandType.RigReloadRigModel:
|
|
47
|
-
SignalR.SignIn(uniquecode);
|
|
48
|
-
break;
|
|
49
|
-
case CommandType.RigShutdown:
|
|
50
|
-
Debug.LogAlways("Raspberry Pi", "SHUTTING DOWN! (received command)", true);
|
|
51
|
-
exec("shutdown now");
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
SignalR.hubConnection.onreconnecting((error) => {
|
|
56
|
-
Debug.LogAlways(SignalR.GetName(), "hub connection lost, attempting to reconnect..." + (error ? (" reason: " + error) : ""), true);
|
|
57
|
-
});
|
|
58
|
-
SignalR.hubConnection.onreconnected(() => {
|
|
59
|
-
Debug.LogAlways(SignalR.GetName(), "hub connection reconnected, re-signing in...", true);
|
|
60
|
-
SignalR.SignIn(uniquecode);
|
|
61
|
-
});
|
|
62
|
-
SignalR.hubConnection.onclose((error) => {
|
|
63
|
-
Debug.LogAlways(SignalR.GetName(), "hub connection closed" + (error ? (": " + error) : ""), true);
|
|
64
|
-
SignalR.ScheduleReconnect();
|
|
65
|
-
});
|
|
66
|
-
SignalR.hubConnection
|
|
67
|
-
.start()
|
|
68
|
-
.then(() => {
|
|
69
|
-
Debug.LogAlways(SignalR.GetName(), 'hub connection established', false);
|
|
70
|
-
SignalR.SignIn(uniquecode);
|
|
71
|
-
})
|
|
72
|
-
.catch((err) => {
|
|
73
|
-
Debug.LogAlways(SignalR.GetName(), "failed to establish hub connection: " + err, false);
|
|
74
|
-
SignalR.ScheduleReconnect();
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
static ScheduleReconnect() {
|
|
78
|
-
if (SignalR.intentionalStop) {
|
|
79
|
-
1;
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
if (SignalR.reconnectTimer != null) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
Debug.LogAlways(SignalR.GetName(), "scheduling reconnect attempt in 30s...", true);
|
|
86
|
-
SignalR.reconnectTimer = setTimeout(() => {
|
|
87
|
-
SignalR.reconnectTimer = null;
|
|
88
|
-
if (SignalR.lastUniqueCode != null && !SignalR.intentionalStop) {
|
|
89
|
-
Debug.LogAlways(SignalR.GetName(), "attempting reconnect now...", true);
|
|
90
|
-
SignalR.StartConnection(SignalR.lastUniqueCode);
|
|
91
|
-
}
|
|
92
|
-
}, 30000);
|
|
93
|
-
}
|
|
94
|
-
static StopConnection() {
|
|
95
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), "stopping hub connection...");
|
|
96
|
-
SignalR.intentionalStop = true;
|
|
97
|
-
if (SignalR.reconnectTimer != null) {
|
|
98
|
-
clearTimeout(SignalR.reconnectTimer);
|
|
99
|
-
SignalR.reconnectTimer = null;
|
|
100
|
-
}
|
|
101
|
-
if (SignalR.hubConnection) {
|
|
102
|
-
SignalR.hubConnection.stop()
|
|
103
|
-
.then(() => {
|
|
104
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), 'hub connection stopped');
|
|
105
|
-
})
|
|
106
|
-
.catch((err) => {
|
|
107
|
-
Debug.Error(SignalR.GetName(), err);
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
static IsConnected() {
|
|
112
|
-
return SignalR.hubConnection != null && SignalR.hubConnection.state === signalR.HubConnectionState.Connected;
|
|
113
|
-
}
|
|
114
|
-
static SignIn(uniquecode) {
|
|
115
|
-
if (SignalR.hubConnection != null && SignalR.IsConnected()) {
|
|
116
|
-
SignalR.hubConnection.invoke('SignIn', uniquecode)
|
|
117
|
-
.then((rigClientViewModel) => {
|
|
118
|
-
if (rigClientViewModel.rigModelViewModel == undefined) {
|
|
119
|
-
Debug.LogAlways(SignalR.GetName(), "sign in to server failed! GUID: " + uniquecode, true);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
Debug.LogAlways(SignalR.GetName(), "sign in to server successful", true);
|
|
123
|
-
Debug.LogAlways(SignalR.GetName(), "rig #" + rigClientViewModel.id + " '" + rigClientViewModel.name + "'", true);
|
|
124
|
-
Debug.LogAlways(SignalR.GetName(), "rig model #" + rigClientViewModel.rigModelViewModel.id + " '" + rigClientViewModel.rigModelViewModel.name + "'", true);
|
|
125
|
-
Server.rig = new Rig(rigClientViewModel);
|
|
126
|
-
Server.rig.CreateComponents();
|
|
127
|
-
Server.rig.Init();
|
|
128
|
-
Server.rig.SendCurrent();
|
|
129
|
-
}
|
|
130
|
-
})
|
|
131
|
-
.catch((err) => {
|
|
132
|
-
Debug.Error(SignalR.GetName(), err);
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
Debug.Error(SignalR.GetName(), "sign in canceled: no hub connection");
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
static UpdateStatus(pStatusModel) {
|
|
140
|
-
if (SignalR.hubConnection != null && SignalR.IsConnected()) {
|
|
141
|
-
if (pStatusModel.type != StatusType.RigLog) {
|
|
142
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), "outgoing UpdateStatus type: " + pStatusModel.type);
|
|
143
|
-
}
|
|
144
|
-
SignalR.hubConnection.invoke('UpdateStatus', pStatusModel)
|
|
145
|
-
.then(() => {
|
|
146
|
-
if (pStatusModel.type != StatusType.RigLog) {
|
|
147
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), "outgoing UpdateStatus type: " + pStatusModel.type);
|
|
148
|
-
}
|
|
149
|
-
})
|
|
150
|
-
.catch((err) => {
|
|
151
|
-
Debug.Error(SignalR.GetName(), "outgoing UpdateStatus error: " + err);
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
Debug.Error(SignalR.GetName(), "outgoing UpdateStatus: no hub connection");
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
static SendWebRTCMessage(message) {
|
|
159
|
-
if (SignalR.hubConnection != null && SignalR.IsConnected()) {
|
|
160
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), "outgoing SendWebRTCMessage rigId: " + message.rigId + " componentId:" + message.componentId + " userName: " + message.userName + " rigOwnerUsername: " + message.rigOwnerUsername);
|
|
161
|
-
SignalR.hubConnection.invoke("SendWebRTCMessage", message)
|
|
162
|
-
.then(() => {
|
|
163
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), "outgoing SendWebRTCMessage success rigId: " + message.rigId + " componentId:" + message.componentId + " userName: " + message.userName + " rigOwnerUsername: " + message.rigOwnerUsername);
|
|
164
|
-
})
|
|
165
|
-
.catch((err) => {
|
|
166
|
-
Debug.Error(SignalR.GetName(), "outgoing SendWebRTCMessage error: " + err);
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
Debug.Error(SignalR.GetName(), "SendWebRTCMessage: no hub connection");
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
static AddHighScorePoints(message) {
|
|
174
|
-
if (SignalR.hubConnection != null && SignalR.IsConnected()) {
|
|
175
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), "outgoing AddHighScorePoints: " + JSON.stringify(message));
|
|
176
|
-
SignalR.hubConnection.invoke("AddHighScorePoints", message)
|
|
177
|
-
.then(() => {
|
|
178
|
-
Debug.Log(LogSettingType.SignalR, undefined, SignalR.GetName(), "outgoing AddHighScorePoints success: " + JSON.stringify(message));
|
|
179
|
-
})
|
|
180
|
-
.catch((err) => {
|
|
181
|
-
Debug.Error(SignalR.GetName(), "outgoing AddHighScorePoints error: " + err);
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
Debug.Error(SignalR.GetName(), "outgoing AddHighScorePoints: no hub connection");
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
//# sourceMappingURL=signalr.js.map
|