pxt-common-packages 10.3.7 → 10.3.9
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/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 +15483 -15338
- package/libs/controller---none/built/debug/binary.js +15467 -15322
- 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/_locales/game-jsdoc-strings.json +8 -3
- package/libs/game/_locales/game-strings.json +11 -0
- package/libs/game/ask.ts +0 -1
- package/libs/game/built/debug/binary.js +16092 -15947
- package/libs/game/controller.ts +0 -6
- package/libs/game/game.ts +194 -45
- package/libs/game/gameutil.ts +0 -2
- package/libs/game/info.ts +98 -45
- package/libs/game/multiplayer.ts +9 -8
- package/libs/game/ns.ts +5 -0
- package/libs/game/numberprompt.ts +0 -1
- package/libs/game/particleeffects.ts +30 -0
- package/libs/game/prompt.ts +0 -1
- package/libs/game/pxt.json +1 -0
- package/libs/game/textDialogs.ts +275 -40
- 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/mixer/instrument.ts +20 -1
- package/libs/mixer/melody.ts +13 -15
- package/libs/mixer/playable.ts +181 -0
- package/libs/mixer/pxt.json +1 -0
- package/libs/mixer/soundEffect.ts +19 -2
- package/libs/mqtt/built/debug/binary.js +176 -176
- package/libs/multiplayer/ns.ts +6 -0
- package/libs/multiplayer/player.ts +24 -6
- package/libs/multiplayer/pxt.json +1 -0
- package/libs/music/ns.ts +1 -1
- package/libs/net/built/debug/binary.js +176 -176
- package/libs/net-game/built/debug/binary.js +20403 -20258
- package/libs/palette/built/debug/binary.js +16083 -15938
- 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 +16091 -15946
- package/libs/storyboard/built/debug/binary.js +16091 -15946
- package/package.json +1 -1
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
//% color="#207a77"
|
|
2
|
-
//% icon="\uf0c0"
|
|
3
|
-
//% block="Multiplayer"
|
|
4
1
|
namespace mp {
|
|
5
2
|
const MAX_PLAYERS = 4;
|
|
6
3
|
|
|
@@ -98,7 +95,7 @@ namespace mp {
|
|
|
98
95
|
if (sprite && sprite.image) {
|
|
99
96
|
// Passing 'implicit' flag so we don't override icons that
|
|
100
97
|
// user has explicitly defined.
|
|
101
|
-
|
|
98
|
+
mp.postPresenceIcon(
|
|
102
99
|
this.number,
|
|
103
100
|
sprite.image,
|
|
104
101
|
/** implicit **/ true
|
|
@@ -106,12 +103,12 @@ namespace mp {
|
|
|
106
103
|
} else {
|
|
107
104
|
// Passing 'implicit' flag so we don't override icons that
|
|
108
105
|
// user has explicitly defined.
|
|
109
|
-
|
|
106
|
+
mp.postPresenceIcon(
|
|
110
107
|
this.number,
|
|
111
108
|
undefined,
|
|
112
109
|
/** implicit **/ true
|
|
113
110
|
);
|
|
114
|
-
|
|
111
|
+
|
|
115
112
|
}
|
|
116
113
|
this._sprite = sprite;
|
|
117
114
|
}
|
|
@@ -403,6 +400,7 @@ namespace mp {
|
|
|
403
400
|
//% help=multiplayer/get-player-sprite
|
|
404
401
|
//% parts="multiplayer"
|
|
405
402
|
export function getPlayerSprite(player: Player): Sprite {
|
|
403
|
+
if (!player) return undefined;
|
|
406
404
|
return player.getSprite();
|
|
407
405
|
}
|
|
408
406
|
|
|
@@ -421,6 +419,7 @@ namespace mp {
|
|
|
421
419
|
//% help=multiplayer/set-player-sprite
|
|
422
420
|
//% parts="multiplayer"
|
|
423
421
|
export function setPlayerSprite(player: Player, sprite: Sprite) {
|
|
422
|
+
if (!player) return;
|
|
424
423
|
player.setSprite(sprite);
|
|
425
424
|
}
|
|
426
425
|
|
|
@@ -445,6 +444,7 @@ namespace mp {
|
|
|
445
444
|
//% help=controller/move-sprite
|
|
446
445
|
//% parts="multiplayer"
|
|
447
446
|
export function moveWithButtons(player: Player, vx?: number, vy?: number) {
|
|
447
|
+
if (!player) return;
|
|
448
448
|
player.moveWithButtons(vx, vy);
|
|
449
449
|
}
|
|
450
450
|
|
|
@@ -481,6 +481,7 @@ namespace mp {
|
|
|
481
481
|
//% help=controller/button/is-pressed
|
|
482
482
|
//% parts="multiplayer"
|
|
483
483
|
export function isButtonPressed(player: Player, button: MultiplayerButton): boolean {
|
|
484
|
+
if (!player) return false;
|
|
484
485
|
return getButton(player._getController(), button).isPressed();
|
|
485
486
|
}
|
|
486
487
|
|
|
@@ -517,6 +518,7 @@ namespace mp {
|
|
|
517
518
|
//% help=multiplayer/get-player-state
|
|
518
519
|
//% parts="multiplayer"
|
|
519
520
|
export function getPlayerState(player: Player, state: number): number {
|
|
521
|
+
if (!player) return 0;
|
|
520
522
|
return player.getState(state);
|
|
521
523
|
}
|
|
522
524
|
|
|
@@ -536,6 +538,7 @@ namespace mp {
|
|
|
536
538
|
//% help=multiplayer/set-player-state
|
|
537
539
|
//% parts="multiplayer"
|
|
538
540
|
export function setPlayerState(player: Player, state: number, value: number) {
|
|
541
|
+
if (!player) return;
|
|
539
542
|
player.setState(state, value);
|
|
540
543
|
}
|
|
541
544
|
|
|
@@ -556,6 +559,7 @@ namespace mp {
|
|
|
556
559
|
//% help=multiplayer/change-player-state-by
|
|
557
560
|
//% parts="multiplayer"
|
|
558
561
|
export function changePlayerStateBy(player: Player, state: number, delta: number) {
|
|
562
|
+
if (!player) return;
|
|
559
563
|
player.setState(state, player.getState(state) + delta);
|
|
560
564
|
}
|
|
561
565
|
|
|
@@ -574,6 +578,7 @@ namespace mp {
|
|
|
574
578
|
//% help=multiplayer/get-player-property
|
|
575
579
|
//% parts="multiplayer"
|
|
576
580
|
export function getPlayerProperty(player: Player, prop: PlayerProperty): number {
|
|
581
|
+
if (!player) return 0;
|
|
577
582
|
return player.getProperty(prop);
|
|
578
583
|
}
|
|
579
584
|
|
|
@@ -611,6 +616,19 @@ namespace mp {
|
|
|
611
616
|
_mpstate().onLifeZero(handler);
|
|
612
617
|
}
|
|
613
618
|
|
|
619
|
+
//% blockId=mp_gameOverPlayerWin
|
|
620
|
+
//% block="game over $player wins"
|
|
621
|
+
//% player.shadow=mp_playerSelector
|
|
622
|
+
//% group=Game
|
|
623
|
+
//% weight=100
|
|
624
|
+
//% blockGap=8
|
|
625
|
+
//% help=multiplayer/game-over-player-win
|
|
626
|
+
//% parts="multiplayer"
|
|
627
|
+
export function gameOverPlayerWin(player: Player) {
|
|
628
|
+
if (!player) return;
|
|
629
|
+
game.gameOverPlayerWin(player.number);
|
|
630
|
+
}
|
|
631
|
+
|
|
614
632
|
/**
|
|
615
633
|
* Gets the player by number
|
|
616
634
|
* @param number The one-based number of the player
|