pxt-common-packages 10.3.13 → 10.3.15

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.
Files changed (59) hide show
  1. package/built/common-sim.js +4 -2
  2. package/libs/azureiot/built/debug/binary.js +461 -461
  3. package/libs/color/built/debug/binary.js +8 -8
  4. package/libs/color-sensor/built/debug/binary.js +8 -8
  5. package/libs/controller/built/debug/binary.js +8417 -8204
  6. package/libs/controller---none/built/debug/binary.js +8396 -8183
  7. package/libs/datalogger/built/debug/binary.js +63 -63
  8. package/libs/edge-connector/built/debug/binary.js +8 -8
  9. package/libs/esp32/built/debug/binary.js +462 -462
  10. package/libs/game/_locales/game-strings.json +1 -0
  11. package/libs/game/built/debug/binary.js +8303 -8090
  12. package/libs/game/controller.ts +24 -0
  13. package/libs/game/scene.ts +1 -0
  14. package/libs/game/sim/multiplayer.ts +5 -2
  15. package/libs/game/sprite.ts +1 -0
  16. package/libs/game/sprites.ts +13 -0
  17. package/libs/lcd/built/debug/binary.js +8 -8
  18. package/libs/light-spectrum-sensor/built/debug/binary.js +8 -8
  19. package/libs/lora/built/debug/binary.js +8 -8
  20. package/libs/matrix-keypad/built/debug/binary.js +8 -8
  21. package/libs/mqtt/built/debug/binary.js +176 -176
  22. package/libs/multiplayer/docs/reference/multiplayer/change-player-state-by.md +121 -0
  23. package/libs/multiplayer/docs/reference/multiplayer/game-over-player-win.md +88 -0
  24. package/libs/multiplayer/docs/reference/multiplayer/get-player-by-index.md +40 -0
  25. package/libs/multiplayer/docs/reference/multiplayer/get-player-by-number.md +34 -0
  26. package/libs/multiplayer/docs/reference/multiplayer/get-player-by-sprite.md +109 -0
  27. package/libs/multiplayer/docs/reference/multiplayer/get-player-property.md +55 -0
  28. package/libs/multiplayer/docs/reference/multiplayer/get-player-sprite.md +59 -0
  29. package/libs/multiplayer/docs/reference/multiplayer/get-player-state.md +55 -0
  30. package/libs/multiplayer/docs/reference/multiplayer/is-button-pressed.md +44 -0
  31. package/libs/multiplayer/docs/reference/multiplayer/move-with-buttons.md +50 -0
  32. package/libs/multiplayer/docs/reference/multiplayer/multiplayer-state.md +55 -0
  33. package/libs/multiplayer/docs/reference/multiplayer/on-button-event.md +60 -0
  34. package/libs/multiplayer/docs/reference/multiplayer/on-controller-event.md +76 -0
  35. package/libs/multiplayer/docs/reference/multiplayer/on-life-zero.md +28 -0
  36. package/libs/multiplayer/docs/reference/multiplayer/on-score.md +30 -0
  37. package/libs/multiplayer/docs/reference/multiplayer/player-selector.md +51 -0
  38. package/libs/multiplayer/docs/reference/multiplayer/set-player-indicators-visible.md +69 -0
  39. package/libs/multiplayer/docs/reference/multiplayer/set-player-sprite.md +50 -0
  40. package/libs/multiplayer/docs/reference/multiplayer/set-player-state.md +139 -0
  41. package/libs/multiplayer/docs/reference/multiplayer.md +57 -0
  42. package/libs/multiplayer/docs/types/player.md +82 -0
  43. package/libs/multiplayer/fieldEditors.ts +1 -0
  44. package/libs/multiplayer/ns.ts +1 -1
  45. package/libs/multiplayer/player.ts +80 -48
  46. package/libs/net/built/debug/binary.js +176 -176
  47. package/libs/net-game/built/debug/binary.js +10110 -9897
  48. package/libs/palette/built/debug/binary.js +8302 -8089
  49. package/libs/pixel/built/debug/binary.js +8 -8
  50. package/libs/power/built/debug/binary.js +8 -8
  51. package/libs/proximity/built/debug/binary.js +8 -8
  52. package/libs/radio/built/debug/binary.js +8 -8
  53. package/libs/radio-broadcast/built/debug/binary.js +8 -8
  54. package/libs/rotary-encoder/built/debug/binary.js +8 -8
  55. package/libs/screen/built/debug/binary.js +50 -50
  56. package/libs/servo/built/debug/binary.js +8 -8
  57. package/libs/sprite-scaling/built/debug/binary.js +8302 -8089
  58. package/libs/storyboard/built/debug/binary.js +8302 -8089
  59. package/package.json +1 -1
@@ -13,6 +13,30 @@ enum ControllerEvent {
13
13
  //% blockGap=8
14
14
  namespace controller {
15
15
  let _players: Controller[];
16
+ game.addScenePopHandler(() => {
17
+ const stateWhenPushed = game.currentScene().controllerConnectionState;
18
+ if (!stateWhenPushed)
19
+ return;
20
+ for (let i = 0; i < stateWhenPushed.length; i++) {
21
+ const p = _players[i];
22
+ if (p && (!!stateWhenPushed[i] != !!p.connected)) {
23
+ // connection state changed while in another scene; raise the event.
24
+ control.raiseEvent(
25
+ p.id,
26
+ p.connected ? ControllerEvent.Connected : ControllerEvent.Disconnected
27
+ );
28
+ }
29
+ }
30
+
31
+ })
32
+ game.addScenePushHandler(oldScene => {
33
+ oldScene.controllerConnectionState = [];
34
+ for (let i = 0; i < _players.length; i++) {
35
+ if (_players[i]) {
36
+ oldScene.controllerConnectionState[i] = _players[i].connected;
37
+ }
38
+ }
39
+ })
16
40
 
17
41
  function addController(ctrl: Controller) {
18
42
  if (!_players) {
@@ -94,6 +94,7 @@ namespace scene {
94
94
  gameForeverHandlers: GameForeverHandler[];
95
95
  particleSources: particles.ParticleSource[];
96
96
  controlledSprites: controller.ControlledSprite[][];
97
+ controllerConnectionState: boolean[]
97
98
  followingSprites: sprites.FollowingSprite[];
98
99
  buttonEventHandlers: controller.ButtonEventHandlerState[];
99
100
 
@@ -17,11 +17,14 @@ namespace pxsim.multiplayer {
17
17
  }
18
18
 
19
19
  export function postIcon(iconType: IconType, slot: number, im: pxsim.RefImage) {
20
- if (im._width * im._height > 64 * 64) {
20
+ if (im && (im._width * im._height > 64 * 64)) {
21
21
  // setting 64x64 as max size for icon for now
22
22
  return;
23
23
  }
24
- const asBuf = pxsim.image.toBuffer(im);
24
+
25
+ // treat empty icon as undefined
26
+ const asBuf = (im && im.data.some(pixel => pixel != 0))
27
+ ? pxsim.image.toBuffer(im) : undefined;
25
28
  const sb = board() as ScreenBoard;
26
29
  const screenState = sb && sb.screenState;
27
30
  getMultiplayerState().send({
@@ -854,6 +854,7 @@ class Sprite extends sprites.BaseSprite {
854
854
  //% duration.shadow=timePicker
855
855
  //% expandableArgumentMode="toggle"
856
856
  //% help=sprites/sprite/destroy
857
+ //% deprecated=1
857
858
  destroy(effect?: effects.ParticleEffect, duration?: number) {
858
859
  if (this.flags & sprites.Flag.Destroyed)
859
860
  return;
@@ -60,6 +60,19 @@ namespace sprites {
60
60
  return sprites.create(img, kind);
61
61
  }
62
62
 
63
+ //% group="Effects"
64
+ //% weight=80
65
+ //% blockId=spritedestroy2 block="destroy $sprite || with $effect effect for $duration ms"
66
+ //% sprite.shadow=variables_get
67
+ //% sprite.defl=mySprite
68
+ //% duration.shadow=timePicker
69
+ //% expandableArgumentMode="toggle"
70
+ //% help=sprites/sprite/destroy
71
+ export function destroy(sprite: Sprite, effect?: effects.ParticleEffect, duration?: number) {
72
+ if (!sprite) return;
73
+ sprite.destroy(effect, duration);
74
+ }
75
+
63
76
  /**
64
77
  * Return an array of all sprites of the given kind.
65
78
  * @param kind the target kind
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
56
56
  const pxsim_numops = pxsim.numops;
57
57
 
58
58
 
59
- function _main___P48757(s) {
59
+ function _main___P48824(s) {
60
60
  let r0 = s.r0, step = s.pc;
61
61
  s.pc = -1;
62
62
 
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
66
66
  switch (step) {
67
67
  case 0:
68
68
 
69
- globals._intervals___49000 = (undefined);
70
- globals._pollEventQueue___49013 = (undefined);
69
+ globals._intervals___49067 = (undefined);
70
+ globals._pollEventQueue___49080 = (undefined);
71
71
  r0 = undefined;
72
72
  return leave(s, r0)
73
73
  default: oops()
74
74
  } } }
75
- _main___P48757.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"characterlcd.ts","functionName":"<main>","argumentNames":[]}
76
- _main___P48757.continuations = [ ]
75
+ _main___P48824.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"characterlcd.ts","functionName":"<main>","argumentNames":[]}
76
+ _main___P48824.continuations = [ ]
77
77
 
78
- function _main___P48757_mk(s) {
78
+ function _main___P48824_mk(s) {
79
79
  checkStack(s.depth);
80
80
  return {
81
- parent: s, fn: _main___P48757, depth: s.depth + 1,
81
+ parent: s, fn: _main___P48824, depth: s.depth + 1,
82
82
  pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
83
83
  } }
84
84
 
@@ -88,5 +88,5 @@ function _main___P48757_mk(s) {
88
88
 
89
89
  const breakpoints = setupDebugger(1, [])
90
90
 
91
- return _main___P48757
91
+ return _main___P48824
92
92
  })
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
56
56
  const pxsim_numops = pxsim.numops;
57
57
 
58
58
 
59
- function _main___P98603(s) {
59
+ function _main___P98804(s) {
60
60
  let r0 = s.r0, step = s.pc;
61
61
  s.pc = -1;
62
62
 
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
66
66
  switch (step) {
67
67
  case 0:
68
68
 
69
- globals._intervals___98846 = (undefined);
70
- globals._pollEventQueue___98859 = (undefined);
69
+ globals._intervals___99047 = (undefined);
70
+ globals._pollEventQueue___99060 = (undefined);
71
71
  r0 = undefined;
72
72
  return leave(s, r0)
73
73
  default: oops()
74
74
  } } }
75
- _main___P98603.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"tsl2591.ts","functionName":"<main>","argumentNames":[]}
76
- _main___P98603.continuations = [ ]
75
+ _main___P98804.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"tsl2591.ts","functionName":"<main>","argumentNames":[]}
76
+ _main___P98804.continuations = [ ]
77
77
 
78
- function _main___P98603_mk(s) {
78
+ function _main___P98804_mk(s) {
79
79
  checkStack(s.depth);
80
80
  return {
81
- parent: s, fn: _main___P98603, depth: s.depth + 1,
81
+ parent: s, fn: _main___P98804, depth: s.depth + 1,
82
82
  pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
83
83
  } }
84
84
 
@@ -88,5 +88,5 @@ function _main___P98603_mk(s) {
88
88
 
89
89
  const breakpoints = setupDebugger(1, [])
90
90
 
91
- return _main___P98603
91
+ return _main___P98804
92
92
  })
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
56
56
  const pxsim_numops = pxsim.numops;
57
57
 
58
58
 
59
- function _main___P60059(s) {
59
+ function _main___P60126(s) {
60
60
  let r0 = s.r0, step = s.pc;
61
61
  s.pc = -1;
62
62
 
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
66
66
  switch (step) {
67
67
  case 0:
68
68
 
69
- globals._intervals___60302 = (undefined);
70
- globals._pollEventQueue___60315 = (undefined);
69
+ globals._intervals___60369 = (undefined);
70
+ globals._pollEventQueue___60382 = (undefined);
71
71
  r0 = undefined;
72
72
  return leave(s, r0)
73
73
  default: oops()
74
74
  } } }
75
- _main___P60059.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"lora.ts","functionName":"<main>","argumentNames":[]}
76
- _main___P60059.continuations = [ ]
75
+ _main___P60126.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"lora.ts","functionName":"<main>","argumentNames":[]}
76
+ _main___P60126.continuations = [ ]
77
77
 
78
- function _main___P60059_mk(s) {
78
+ function _main___P60126_mk(s) {
79
79
  checkStack(s.depth);
80
80
  return {
81
- parent: s, fn: _main___P60059, depth: s.depth + 1,
81
+ parent: s, fn: _main___P60126, depth: s.depth + 1,
82
82
  pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
83
83
  } }
84
84
 
@@ -88,5 +88,5 @@ function _main___P60059_mk(s) {
88
88
 
89
89
  const breakpoints = setupDebugger(1, [])
90
90
 
91
- return _main___P60059
91
+ return _main___P60126
92
92
  })
@@ -56,7 +56,7 @@ const pxsim_pxtrt = pxsim.pxtrt;
56
56
  const pxsim_numops = pxsim.numops;
57
57
 
58
58
 
59
- function _main___P191819(s) {
59
+ function _main___P192288(s) {
60
60
  let r0 = s.r0, step = s.pc;
61
61
  s.pc = -1;
62
62
 
@@ -66,19 +66,19 @@ if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) re
66
66
  switch (step) {
67
67
  case 0:
68
68
 
69
- globals._intervals___192062 = (undefined);
70
- globals._pollEventQueue___192075 = (undefined);
69
+ globals._intervals___192531 = (undefined);
70
+ globals._pollEventQueue___192544 = (undefined);
71
71
  r0 = undefined;
72
72
  return leave(s, r0)
73
73
  default: oops()
74
74
  } } }
75
- _main___P191819.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"keypad.ts","functionName":"<main>","argumentNames":[]}
76
- _main___P191819.continuations = [ ]
75
+ _main___P192288.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"keypad.ts","functionName":"<main>","argumentNames":[]}
76
+ _main___P192288.continuations = [ ]
77
77
 
78
- function _main___P191819_mk(s) {
78
+ function _main___P192288_mk(s) {
79
79
  checkStack(s.depth);
80
80
  return {
81
- parent: s, fn: _main___P191819, depth: s.depth + 1,
81
+ parent: s, fn: _main___P192288, depth: s.depth + 1,
82
82
  pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
83
83
  } }
84
84
 
@@ -88,5 +88,5 @@ function _main___P191819_mk(s) {
88
88
 
89
89
  const breakpoints = setupDebugger(1, [])
90
90
 
91
- return _main___P191819
91
+ return _main___P192288
92
92
  })