pxt-common-packages 10.2.3 → 10.2.4
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/built/common-sim.d.ts
CHANGED
|
@@ -794,7 +794,7 @@ declare namespace pxsim {
|
|
|
794
794
|
interface MultiplayerImageMessage extends SimulatorMultiplayerMessage {
|
|
795
795
|
content: "Image";
|
|
796
796
|
goal: string;
|
|
797
|
-
image:
|
|
797
|
+
image: RefBuffer;
|
|
798
798
|
}
|
|
799
799
|
interface MultiplayerButtonEvent extends SimulatorMultiplayerMessage {
|
|
800
800
|
content: "Button";
|
package/built/common-sim.js
CHANGED
|
@@ -2527,7 +2527,7 @@ var pxsim;
|
|
|
2527
2527
|
}
|
|
2528
2528
|
clearMap(name) {
|
|
2529
2529
|
const keyCodes = this.mappings[name];
|
|
2530
|
-
keyCodes
|
|
2530
|
+
keyCodes && keyCodes.forEach(keyCode => delete this.keymap[keyCode]);
|
|
2531
2531
|
delete this.mappings[name];
|
|
2532
2532
|
}
|
|
2533
2533
|
}
|
|
@@ -2565,6 +2565,7 @@ var pxsim;
|
|
|
2565
2565
|
return pxsim.board().multiplayerState;
|
|
2566
2566
|
}
|
|
2567
2567
|
pxsim.getMultiplayerState = getMultiplayerState;
|
|
2568
|
+
let postScreenInterval;
|
|
2568
2569
|
class MultiplayerState {
|
|
2569
2570
|
constructor() {
|
|
2570
2571
|
this.lastMessageId = 0;
|
|
@@ -2575,7 +2576,10 @@ var pxsim;
|
|
|
2575
2576
|
init(origin) {
|
|
2576
2577
|
this.origin = origin;
|
|
2577
2578
|
pxsim.runtime.board.addMessageListener(msg => this.messageHandler(msg));
|
|
2578
|
-
|
|
2579
|
+
if (postScreenInterval) {
|
|
2580
|
+
clearInterval(postScreenInterval);
|
|
2581
|
+
}
|
|
2582
|
+
postScreenInterval = setInterval(() => {
|
|
2579
2583
|
if (this.origin === "server") {
|
|
2580
2584
|
const b = pxsim.board();
|
|
2581
2585
|
const screenState = b && b.screenState;
|
|
@@ -2608,7 +2612,7 @@ var pxsim;
|
|
|
2608
2612
|
}
|
|
2609
2613
|
else if (isButtonMessage(msg)) {
|
|
2610
2614
|
if (this.origin === "server") {
|
|
2611
|
-
pxsim.board().
|
|
2615
|
+
pxsim.board().handleKeyEvent(msg.button + (7 * (msg.clientNumber || 1)), // + 7 to make it player 2 controls,
|
|
2612
2616
|
msg.state === "Pressed" || msg.state === "Held");
|
|
2613
2617
|
}
|
|
2614
2618
|
}
|
package/libs/game/sim/keymap.ts
CHANGED
|
@@ -160,7 +160,7 @@ namespace pxsim {
|
|
|
160
160
|
|
|
161
161
|
private clearMap(name: string) {
|
|
162
162
|
const keyCodes = this.mappings[name];
|
|
163
|
-
keyCodes
|
|
163
|
+
keyCodes && keyCodes.forEach(keyCode => delete this.keymap[keyCode]);
|
|
164
164
|
delete this.mappings[name];
|
|
165
165
|
}
|
|
166
166
|
}
|
|
@@ -42,7 +42,7 @@ namespace pxsim {
|
|
|
42
42
|
export interface MultiplayerImageMessage extends SimulatorMultiplayerMessage {
|
|
43
43
|
content: "Image";
|
|
44
44
|
goal: string; // goal of message; e.g. "broadcast-screen"
|
|
45
|
-
image:
|
|
45
|
+
image: RefBuffer;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
export interface MultiplayerButtonEvent extends SimulatorMultiplayerMessage {
|
|
@@ -51,11 +51,13 @@ namespace pxsim {
|
|
|
51
51
|
state: "Pressed" | "Released" | "Held";
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
let postScreenInterval: any;
|
|
54
55
|
export class MultiplayerState {
|
|
55
56
|
lastMessageId: number;
|
|
56
57
|
origin: string;
|
|
57
58
|
backgroundImage: RefImage;
|
|
58
59
|
|
|
60
|
+
|
|
59
61
|
constructor() {
|
|
60
62
|
this.lastMessageId = 0;
|
|
61
63
|
}
|
|
@@ -74,7 +76,10 @@ namespace pxsim {
|
|
|
74
76
|
init(origin: string) {
|
|
75
77
|
this.origin = origin;
|
|
76
78
|
runtime.board.addMessageListener(msg => this.messageHandler(msg));
|
|
77
|
-
|
|
79
|
+
if (postScreenInterval) {
|
|
80
|
+
clearInterval(postScreenInterval)
|
|
81
|
+
}
|
|
82
|
+
postScreenInterval = setInterval(() => {
|
|
78
83
|
if (this.origin === "server") {
|
|
79
84
|
const b = board() as ScreenBoard;
|
|
80
85
|
const screenState = b && b.screenState;
|
|
@@ -109,7 +114,7 @@ namespace pxsim {
|
|
|
109
114
|
}
|
|
110
115
|
} else if (isButtonMessage(msg)) {
|
|
111
116
|
if (this.origin === "server") {
|
|
112
|
-
(board() as any).
|
|
117
|
+
(board() as any).handleKeyEvent(
|
|
113
118
|
msg.button + (7 * (msg.clientNumber || 1)), // + 7 to make it player 2 controls,
|
|
114
119
|
msg.state === "Pressed" || msg.state === "Held"
|
|
115
120
|
);
|