pxt-common-packages 10.3.4 → 10.3.5
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 +12 -0
- package/built/common-sim.js +24 -0
- package/libs/azureiot/built/debug/binary.js +461 -461
- package/libs/color/built/debug/binary.js +8 -8
- package/libs/color-sensor/built/debug/binary.js +8 -8
- package/libs/controller/built/debug/binary.js +6980 -6980
- package/libs/controller---none/built/debug/binary.js +6960 -6960
- package/libs/datalogger/built/debug/binary.js +63 -63
- package/libs/edge-connector/built/debug/binary.js +8 -8
- package/libs/esp32/built/debug/binary.js +462 -462
- package/libs/game/built/debug/binary.js +6895 -6895
- package/libs/game/multiplayer.cpp +3 -0
- package/libs/game/multiplayer.ts +45 -0
- package/libs/game/sim/multiplayer.ts +32 -0
- package/libs/lcd/built/debug/binary.js +8 -8
- package/libs/light-spectrum-sensor/built/debug/binary.js +8 -8
- package/libs/lora/built/debug/binary.js +8 -8
- package/libs/matrix-keypad/built/debug/binary.js +8 -8
- package/libs/mqtt/built/debug/binary.js +176 -176
- package/libs/multiplayer/fieldEditors.ts +1 -1
- package/libs/multiplayer/mp.ts +44 -26
- package/libs/net/built/debug/binary.js +176 -176
- package/libs/net-game/built/debug/binary.js +8488 -8488
- package/libs/palette/built/debug/binary.js +6898 -6898
- package/libs/pixel/built/debug/binary.js +8 -8
- package/libs/power/built/debug/binary.js +8 -8
- package/libs/proximity/built/debug/binary.js +8 -8
- package/libs/radio/built/debug/binary.js +8 -8
- package/libs/radio-broadcast/built/debug/binary.js +8 -8
- package/libs/rotary-encoder/built/debug/binary.js +8 -8
- package/libs/screen/built/debug/binary.js +50 -50
- package/libs/servo/built/debug/binary.js +8 -8
- package/libs/sprite-scaling/built/debug/binary.js +6898 -6898
- package/libs/storyboard/built/debug/binary.js +6898 -6898
- package/package.json +1 -1
package/libs/multiplayer/mp.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
namespace sprites.
|
|
1
|
+
namespace sprites.mp {
|
|
2
2
|
//% blockId=mp_setPlayerSprite
|
|
3
3
|
//% block="set $player sprite to $sprite=variables_get(mySprite)"
|
|
4
4
|
//% player.shadow=mp_playernumber
|
|
@@ -7,7 +7,25 @@ namespace sprites.multiplayer {
|
|
|
7
7
|
//% group="Multiplayer"
|
|
8
8
|
//% parts="multiplayer"
|
|
9
9
|
export function setPlayerSprite(player: number, sprite: Sprite) {
|
|
10
|
-
|
|
10
|
+
if (sprite && sprite.image) {
|
|
11
|
+
// Passing 'implicit' flag so we don't override icons that
|
|
12
|
+
// user has explicitly defined.
|
|
13
|
+
multiplayer.postPresenceIcon(
|
|
14
|
+
player,
|
|
15
|
+
sprite.image,
|
|
16
|
+
/** implicit **/ true
|
|
17
|
+
);
|
|
18
|
+
} else {
|
|
19
|
+
// Passing 'implicit' flag so we don't override icons that
|
|
20
|
+
// user has explicitly defined.
|
|
21
|
+
multiplayer.postPresenceIcon(
|
|
22
|
+
player,
|
|
23
|
+
undefined,
|
|
24
|
+
/** implicit **/ true
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
}
|
|
28
|
+
multiplayer._state().setPlayerSprite(player, sprite);
|
|
11
29
|
}
|
|
12
30
|
|
|
13
31
|
//% blockId=mp_getPlayerSprite
|
|
@@ -18,7 +36,7 @@ namespace sprites.multiplayer {
|
|
|
18
36
|
//% group="Multiplayer"
|
|
19
37
|
//% parts="multiplayer"
|
|
20
38
|
export function getPlayerSprite(player: number): Sprite {
|
|
21
|
-
return
|
|
39
|
+
return multiplayer._state().getPlayerSprite(player);
|
|
22
40
|
}
|
|
23
41
|
|
|
24
42
|
//% blockId=mp_isPlayerSprite
|
|
@@ -34,7 +52,7 @@ namespace sprites.multiplayer {
|
|
|
34
52
|
}
|
|
35
53
|
}
|
|
36
54
|
|
|
37
|
-
namespace controller.
|
|
55
|
+
namespace controller.mp {
|
|
38
56
|
//% blockId=mp_moveWithButtons
|
|
39
57
|
//% block="$player move $sprite with buttons||vx $vx vy $vy"
|
|
40
58
|
//% player.shadow=mp_playernumber
|
|
@@ -55,7 +73,7 @@ namespace controller.multiplayer {
|
|
|
55
73
|
vx?: number,
|
|
56
74
|
vy?: number
|
|
57
75
|
) {
|
|
58
|
-
|
|
76
|
+
multiplayer.getController(player).moveSprite(sprite, vx, vy);
|
|
59
77
|
}
|
|
60
78
|
|
|
61
79
|
//% blockId=mp_onButtonEvent
|
|
@@ -65,11 +83,11 @@ namespace controller.multiplayer {
|
|
|
65
83
|
//% parts="multiplayer"
|
|
66
84
|
//% weight=90
|
|
67
85
|
export function onButtonEvent(
|
|
68
|
-
button:
|
|
86
|
+
button: multiplayer.MultiplayerButton,
|
|
69
87
|
event: ControllerButtonEvent,
|
|
70
88
|
handler: (player: number) => void
|
|
71
89
|
) {
|
|
72
|
-
|
|
90
|
+
multiplayer._state().onButtonEvent(button, event, handler);
|
|
73
91
|
}
|
|
74
92
|
|
|
75
93
|
//% blockId=mp_isButtonPressed
|
|
@@ -81,13 +99,13 @@ namespace controller.multiplayer {
|
|
|
81
99
|
//% blockGap=8
|
|
82
100
|
export function isButtonPressed(
|
|
83
101
|
player: number,
|
|
84
|
-
button:
|
|
102
|
+
button: multiplayer.MultiplayerButton
|
|
85
103
|
): boolean {
|
|
86
|
-
return
|
|
104
|
+
return multiplayer.getButton(multiplayer.getController(player), button).isPressed();
|
|
87
105
|
}
|
|
88
106
|
}
|
|
89
107
|
|
|
90
|
-
namespace info.
|
|
108
|
+
namespace info.mp {
|
|
91
109
|
//% blockId=mp_getPlayerState
|
|
92
110
|
//% block="$player $state"
|
|
93
111
|
//% player.shadow=mp_playernumber
|
|
@@ -98,12 +116,12 @@ namespace info.multiplayer {
|
|
|
98
116
|
//% blockGap=8
|
|
99
117
|
export function getPlayerState(player: number, state: number): number {
|
|
100
118
|
if (state === MultiplayerState.Score) {
|
|
101
|
-
return
|
|
119
|
+
return multiplayer.getInfo(player).score();
|
|
102
120
|
} else if (state === MultiplayerState.Lives) {
|
|
103
|
-
return
|
|
121
|
+
return multiplayer.getInfo(player).life();
|
|
104
122
|
}
|
|
105
123
|
|
|
106
|
-
return
|
|
124
|
+
return multiplayer._state().getPlayerState(player, state);
|
|
107
125
|
}
|
|
108
126
|
|
|
109
127
|
//% blockId=mp_setPlayerState
|
|
@@ -120,12 +138,12 @@ namespace info.multiplayer {
|
|
|
120
138
|
value: number
|
|
121
139
|
) {
|
|
122
140
|
if (state === MultiplayerState.Score) {
|
|
123
|
-
return
|
|
141
|
+
return multiplayer.getInfo(player).setScore(value);
|
|
124
142
|
} else if (state === MultiplayerState.Lives) {
|
|
125
|
-
return
|
|
143
|
+
return multiplayer.getInfo(player).setLife(value);
|
|
126
144
|
}
|
|
127
145
|
|
|
128
|
-
|
|
146
|
+
multiplayer._state().setPlayerState(player, state, value);
|
|
129
147
|
}
|
|
130
148
|
|
|
131
149
|
//% blockId=mp_changePlayerStateBy
|
|
@@ -157,7 +175,7 @@ namespace info.multiplayer {
|
|
|
157
175
|
//% weight=70
|
|
158
176
|
//% blockGap=8
|
|
159
177
|
export function onScore(score: number, handler: (player: number) => void) {
|
|
160
|
-
|
|
178
|
+
multiplayer._state().onReachedScore(score, handler);
|
|
161
179
|
}
|
|
162
180
|
|
|
163
181
|
//% blockId=mp_onLifeZero
|
|
@@ -167,14 +185,14 @@ namespace info.multiplayer {
|
|
|
167
185
|
//% parts="multiplayer"
|
|
168
186
|
//% weight=60
|
|
169
187
|
export function onLifeZero(handler: (player: number) => void) {
|
|
170
|
-
|
|
188
|
+
multiplayer._state().onLifeZero(handler);
|
|
171
189
|
}
|
|
172
190
|
}
|
|
173
191
|
|
|
174
192
|
//% icon="\uf0c0"
|
|
175
193
|
//% block="Multiplayer"
|
|
176
194
|
//% color="#207a77"
|
|
177
|
-
namespace
|
|
195
|
+
namespace multiplayer {
|
|
178
196
|
export enum PlayerNumber {
|
|
179
197
|
//% block="1"
|
|
180
198
|
One = 1,
|
|
@@ -209,7 +227,7 @@ namespace mp {
|
|
|
209
227
|
//% parts="multiplayer"
|
|
210
228
|
//% weight=100
|
|
211
229
|
export function setPlayerIndicatorsVisible(visible: boolean) {
|
|
212
|
-
|
|
230
|
+
multiplayer._state().setPlayerIndicatorsVisible(visible);
|
|
213
231
|
}
|
|
214
232
|
|
|
215
233
|
//% blockId=mp_isPlayer
|
|
@@ -309,7 +327,7 @@ namespace mp {
|
|
|
309
327
|
|
|
310
328
|
class ButtonHandler {
|
|
311
329
|
constructor(
|
|
312
|
-
public button:
|
|
330
|
+
public button: multiplayer.MultiplayerButton,
|
|
313
331
|
public event: ControllerButtonEvent,
|
|
314
332
|
public handler: (player: number) => void
|
|
315
333
|
) {}
|
|
@@ -385,7 +403,7 @@ namespace mp {
|
|
|
385
403
|
}
|
|
386
404
|
|
|
387
405
|
onButtonEvent(
|
|
388
|
-
button:
|
|
406
|
+
button: multiplayer.MultiplayerButton,
|
|
389
407
|
event: ControllerButtonEvent,
|
|
390
408
|
handler: (playerNumber: number) => void
|
|
391
409
|
) {
|
|
@@ -399,7 +417,7 @@ namespace mp {
|
|
|
399
417
|
this.buttonHandlers.push(new ButtonHandler(button, event, handler));
|
|
400
418
|
|
|
401
419
|
const registerHandler = (p: number) => {
|
|
402
|
-
|
|
420
|
+
multiplayer.getButton(multiplayer.getController(p), button).onEvent(event, () => {
|
|
403
421
|
this.getButtonHandler(button, event).handler(p);
|
|
404
422
|
});
|
|
405
423
|
};
|
|
@@ -420,7 +438,7 @@ namespace mp {
|
|
|
420
438
|
this.scoreHandlers.push(new ScoreHandler(score, handler));
|
|
421
439
|
|
|
422
440
|
const registerHandler = (p: number) => {
|
|
423
|
-
|
|
441
|
+
multiplayer.getInfo(p).onScore(score, () => {
|
|
424
442
|
this.getScoreHandler(score).handler(p);
|
|
425
443
|
});
|
|
426
444
|
};
|
|
@@ -433,7 +451,7 @@ namespace mp {
|
|
|
433
451
|
onLifeZero(handler: (playerNumber: number) => void) {
|
|
434
452
|
if (!this.lifeZeroHandler) {
|
|
435
453
|
const registerHandler = (p: number) => {
|
|
436
|
-
|
|
454
|
+
multiplayer.getInfo(p).onLifeZero(() => {
|
|
437
455
|
this.lifeZeroHandler(p);
|
|
438
456
|
});
|
|
439
457
|
};
|
|
@@ -496,7 +514,7 @@ namespace mp {
|
|
|
496
514
|
}
|
|
497
515
|
|
|
498
516
|
protected getButtonHandler(
|
|
499
|
-
button:
|
|
517
|
+
button: multiplayer.MultiplayerButton,
|
|
500
518
|
event: ControllerButtonEvent
|
|
501
519
|
) {
|
|
502
520
|
for (const bHandler of this.buttonHandlers) {
|