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.
@@ -794,7 +794,7 @@ declare namespace pxsim {
794
794
  interface MultiplayerImageMessage extends SimulatorMultiplayerMessage {
795
795
  content: "Image";
796
796
  goal: string;
797
- image: RefImage;
797
+ image: RefBuffer;
798
798
  }
799
799
  interface MultiplayerButtonEvent extends SimulatorMultiplayerMessage {
800
800
  content: "Button";
@@ -2527,7 +2527,7 @@ var pxsim;
2527
2527
  }
2528
2528
  clearMap(name) {
2529
2529
  const keyCodes = this.mappings[name];
2530
- keyCodes === null || keyCodes === void 0 ? void 0 : keyCodes.forEach(keyCode => delete this.keymap[keyCode]);
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
- setInterval(() => {
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().setButton(msg.button + (7 * (msg.clientNumber || 1)), // + 7 to make it player 2 controls,
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
  }
@@ -160,7 +160,7 @@ namespace pxsim {
160
160
 
161
161
  private clearMap(name: string) {
162
162
  const keyCodes = this.mappings[name];
163
- keyCodes?.forEach(keyCode => delete this.keymap[keyCode]);
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: RefImage;
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
- setInterval(() => {
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).setButton(
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
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pxt-common-packages",
3
- "version": "10.2.3",
3
+ "version": "10.2.4",
4
4
  "description": "Microsoft MakeCode (PXT) common packages",
5
5
  "keywords": [
6
6
  "MakeCode",