incanto 0.69.0 → 0.71.0

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 (147) hide show
  1. package/bin/_behaviors-loader.mjs +22 -0
  2. package/bin/_read-json.mjs +28 -0
  3. package/bin/incanto-assets.mjs +5 -4
  4. package/bin/incanto-check.mjs +58 -31
  5. package/bin/incanto-editor.mjs +128 -5
  6. package/bin/incanto-env.mjs +3 -2
  7. package/bin/incanto-feel.mjs +24 -13
  8. package/bin/incanto-frame.mjs +8 -1
  9. package/bin/incanto-multiplay.mjs +11 -9
  10. package/bin/incanto-new.mjs +105 -10
  11. package/bin/incanto-play.mjs +158 -16
  12. package/bin/incanto-playtest.mjs +66 -23
  13. package/bin/incanto-skills.mjs +14 -2
  14. package/bin/incanto-verify.mjs +121 -102
  15. package/bin/incanto.mjs +3 -2
  16. package/dist/2d.d.ts +296 -34
  17. package/dist/2d.js +4 -4
  18. package/dist/3d.d.ts +157 -9
  19. package/dist/3d.js +8 -8
  20. package/dist/{agent8-CvsfVskX.js → agent8-Cfmd3ar_.js} +61 -8
  21. package/dist/{audio-player-C0j2k-yB.d.ts → audio-player-L8yccdMP.d.ts} +2 -2
  22. package/dist/{behavior-rm8vVzu_.d.ts → behavior-Dcz0fr1S.d.ts} +755 -46
  23. package/dist/{create-game-CwxEDlCm.js → create-game-CH4kt78v.js} +143 -60
  24. package/dist/{create-game-CvJ1wSRP.js → create-game-LCHBLfA4.js} +98 -48
  25. package/dist/debug.d.ts +1 -1
  26. package/dist/debug.js +2 -3
  27. package/dist/diagnostics-Cu85N3tL.d.ts +12 -0
  28. package/dist/{editor-switch-CnIOiyNJ.d.ts → editor-switch-CFU9mCec.d.ts} +22 -13
  29. package/dist/editor.js +1088 -882
  30. package/dist/env.d.ts +1 -1
  31. package/dist/env.js +5 -3
  32. package/dist/{environment-presets-BO-7XoFV.js → environment-presets-99BzP_L-.js} +298 -45
  33. package/dist/{frame-report-Dlq13Gyj.js → frame-report-D-_7YF2G.js} +1 -1
  34. package/dist/{gameplay-D1KixWK8.js → gameplay-CNULJvwh.js} +914 -214
  35. package/dist/gameplay.d.ts +254 -10
  36. package/dist/gameplay.js +2 -2
  37. package/dist/{heightmap-CRK0M4jT.js → heightmap-BYgD5Edk.js} +1 -1
  38. package/dist/index.d.ts +179 -13
  39. package/dist/index.js +10 -12
  40. package/dist/json-CfTjpvW8.js +67 -0
  41. package/dist/{loader-DadV2QCT.d.ts → loader-8-IHvbKD.d.ts} +2 -2
  42. package/dist/net.d.ts +27 -3
  43. package/dist/net.js +2 -2
  44. package/dist/{noise-CGUMx44x.js → noise-D3nPpmFg.js} +1 -1
  45. package/dist/{physics-2d-CF5yyjbj.js → physics-2d-FhrXUc6B.js} +136 -11
  46. package/dist/{physics-3d-DbYaEcZy.js → physics-3d-CFEGxBXZ.js} +104 -23
  47. package/dist/{teardown-CMqFVxO9.js → picking-DVo7fI13.js} +104 -13
  48. package/dist/react.d.ts +2 -2
  49. package/dist/react.js +2 -2
  50. package/dist/{register-DbVArsns.js → register-BYQCBySi.js} +429 -28
  51. package/dist/{register-mmfugpaQ.js → register-DuVdzxbq.js} +594 -831
  52. package/dist/{replay-BEHLDcQV.js → replay-DEvp3kyV.js} +224 -14
  53. package/dist/{replay-BQfkX4x7.d.ts → replay-F7IZHdFR.d.ts} +20 -3
  54. package/dist/{schema-B6ugCV1Q.d.ts → rng-Bb-IutXB.d.ts} +38 -21
  55. package/dist/{rng-DP-SR7eg.js → rng-CDOMybym.js} +22 -0
  56. package/dist/{loader-DZE7B07H.js → save-slots-Bvuh2p_r.js} +4619 -2318
  57. package/dist/{split-screen-Cg76MCV5.d.ts → split-screen-CIYf1zSf.d.ts} +36 -4
  58. package/dist/{split-screen-CauMwu6y.js → split-screen-eULetcg-.js} +159 -26
  59. package/dist/{sprite-animation-CY-mrr1L.js → sprite-animation-CqR2o3SA.js} +39 -8
  60. package/dist/{src-CYEu-_S9.js → src-_jk0qLsS.js} +2 -17
  61. package/dist/test-CmN54kWv.js +4264 -0
  62. package/dist/test.d.ts +639 -30
  63. package/dist/test.js +3 -3
  64. package/dist/touch-BnCyPA0G.js +519 -0
  65. package/dist/vite.d.ts +20 -37
  66. package/dist/vite.js +177 -7
  67. package/dist/{webgl-unavailable-Z5_g8x9H.js → webgl-unavailable-C8aDbGmR.js} +44 -0
  68. package/editor/assets/agent8-yLIEYHbd.js +1 -0
  69. package/editor/assets/{debug-CMULinBW.js → debug-u31w_yhq.js} +2 -2
  70. package/editor/assets/index-DK9xMGpW.js +11046 -0
  71. package/editor/index.html +1 -1
  72. package/package.json +4 -14
  73. package/schemas/scene.schema.json +34 -3
  74. package/skills/incanto-3d-character.md +14 -1
  75. package/skills/incanto-3d-models.md +12 -0
  76. package/skills/incanto-assets.md +9 -1
  77. package/skills/incanto-audio.md +8 -2
  78. package/skills/incanto-behaviors-and-scripts.md +105 -7
  79. package/skills/incanto-building-2d-games.md +97 -10
  80. package/skills/incanto-building-3d-games.md +58 -4
  81. package/skills/incanto-editor.md +46 -7
  82. package/skills/incanto-environment.md +19 -1
  83. package/skills/incanto-game-feel.md +70 -0
  84. package/skills/incanto-gameplay-behaviors.md +172 -20
  85. package/skills/incanto-hud.md +142 -7
  86. package/skills/incanto-localization.md +13 -5
  87. package/skills/incanto-multiplayer.md +83 -3
  88. package/skills/incanto-node-reference.md +239 -59
  89. package/skills/incanto-performance.md +52 -0
  90. package/skills/incanto-physics-and-input.md +123 -24
  91. package/skills/incanto-playtesting.md +112 -2
  92. package/skills/incanto-save-slots.md +217 -7
  93. package/skills/incanto-scene-json-authoring.md +69 -12
  94. package/skills/incanto-verifying-your-game.md +207 -10
  95. package/skills/incanto-web-integration.md +28 -0
  96. package/skills/incanto-your-first-game.md +3 -1
  97. package/templates-app/beacon-isle-3d/generate-world.ts +77 -9
  98. package/templates-app/beacon-isle-3d/package.json +2 -2
  99. package/templates-app/beacon-isle-3d/src/behaviors.ts +22 -0
  100. package/templates-app/beacon-isle-3d/src/game.scene.json +143 -600
  101. package/templates-app/beacon-isle-3d/src/main.ts +11 -1
  102. package/templates-app/beacon-isle-3d/tsconfig.json +1 -1
  103. package/templates-app/beacon-isle-3d/verify.ts +3 -1
  104. package/templates-app/molehill-2d/.incanto/playtest/lost-seed1.json +4277 -0
  105. package/templates-app/molehill-2d/PROJECT/Context.md +58 -0
  106. package/templates-app/molehill-2d/PROJECT/Requirements.md +39 -0
  107. package/templates-app/molehill-2d/PROJECT/Status.md +27 -0
  108. package/templates-app/molehill-2d/PROJECT/Structure.md +48 -0
  109. package/templates-app/molehill-2d/docs/project-2d-rules.md +44 -0
  110. package/templates-app/molehill-2d/index.html +73 -0
  111. package/templates-app/molehill-2d/package.json +23 -0
  112. package/templates-app/molehill-2d/src/behaviors.ts +198 -0
  113. package/templates-app/molehill-2d/src/game.scene.json +1205 -0
  114. package/templates-app/molehill-2d/src/main.ts +41 -0
  115. package/templates-app/molehill-2d/tsconfig.json +13 -0
  116. package/templates-app/molehill-2d/verify.ts +247 -0
  117. package/templates-app/molehill-2d/vite.config.ts +12 -0
  118. package/templates-app/platformer-2d/package.json +2 -2
  119. package/templates-app/platformer-2d/src/game.scene.json +178 -986
  120. package/templates-app/platformer-2d/src/main.ts +11 -1
  121. package/templates-app/platformer-2d/tsconfig.json +1 -1
  122. package/templates-app/star-survivor/package.json +2 -2
  123. package/templates-app/star-survivor/src/game.scene.json +43 -216
  124. package/templates-app/star-survivor/src/main.ts +11 -1
  125. package/templates-app/star-survivor/tsconfig.json +1 -1
  126. package/templates-app/tps-3d/PROJECT/Context.md +1 -1
  127. package/templates-app/tps-3d/package.json +2 -2
  128. package/templates-app/tps-3d/src/behaviors.ts +19 -1
  129. package/templates-app/tps-3d/src/game.scene.json +66 -263
  130. package/templates-app/tps-3d/src/main.ts +13 -2
  131. package/templates-app/tps-3d/tsconfig.json +1 -1
  132. package/templates-app/village-quest-3d/.incanto/playtest/swapped-seed1.json +1735 -0
  133. package/templates-app/village-quest-3d/package.json +2 -2
  134. package/templates-app/village-quest-3d/src/behaviors.ts +42 -4
  135. package/templates-app/village-quest-3d/src/grove.scene.json +68 -306
  136. package/templates-app/village-quest-3d/src/main.ts +11 -1
  137. package/templates-app/village-quest-3d/src/village.scene.json +202 -863
  138. package/templates-app/village-quest-3d/tsconfig.json +1 -1
  139. package/templates-app/village-quest-3d/verify.ts +14 -1
  140. package/dist/duplicate-Dj4L-5AA.js +0 -22
  141. package/dist/json-CwwhxQgb.js +0 -36
  142. package/dist/registry-CF70EArN.js +0 -212
  143. package/dist/rolldown-runtime-D7D4PA-g.js +0 -13
  144. package/dist/test-D6ISmuFE.js +0 -2383
  145. package/dist/touch-DEAmqGdf.js +0 -225
  146. package/editor/assets/agent8-BDvaZMQJ.js +0 -1
  147. package/editor/assets/index-CZIRr5EL.js +0 -10958
@@ -3,16 +3,9 @@
3
3
  "type": "scene",
4
4
  "dimension": "2d",
5
5
  "name": "CastleRun",
6
- "environment": {
7
- "background": "#8fd0ef"
8
- },
9
- "viewport": {
10
- "design": [960, 540],
11
- "fit": "expand"
12
- },
13
- "physics": {
14
- "gravity": [0, 1800]
15
- },
6
+ "environment": { "background": "#8fd0ef" },
7
+ "viewport": { "design": [960, 540], "fit": "expand" },
8
+ "physics": { "gravity": [0, 1800] },
16
9
  "input": {
17
10
  "move": {
18
11
  "type": "vector2",
@@ -24,11 +17,7 @@
24
17
  },
25
18
  "touch": "joystick"
26
19
  },
27
- "jump": {
28
- "type": "button",
29
- "keys": ["Space", "KeyW", "ArrowUp"],
30
- "touch": "button"
31
- }
20
+ "jump": { "type": "button", "keys": ["Space", "KeyW", "ArrowUp"], "touch": "button" }
32
21
  },
33
22
  "assets": {
34
23
  "knight": {
@@ -63,13 +52,7 @@
63
52
  "root": {
64
53
  "name": "Game",
65
54
  "type": "Node",
66
- "script": {
67
- "name": "ScoreKeeper",
68
- "props": {
69
- "scoreToWin": 100000,
70
- "lives": 3
71
- }
72
- },
55
+ "script": { "name": "ScoreKeeper", "props": { "scoreToWin": 100000, "lives": 3 } },
73
56
  "children": [
74
57
  {
75
58
  "name": "Sky",
@@ -81,12 +64,7 @@
81
64
  "renderOrder": -60,
82
65
  "anchor": [0.5, 0.5]
83
66
  },
84
- "script": {
85
- "name": "ParallaxLayer",
86
- "props": {
87
- "factor": 0.96
88
- }
89
- },
67
+ "script": { "name": "ParallaxLayer", "props": { "factor": 0.96 } },
90
68
  "uid": "n_8s4fwe02mmjaf6o4"
91
69
  },
92
70
  {
@@ -99,12 +77,7 @@
99
77
  "renderOrder": -59,
100
78
  "anchor": [0.5, 0.5]
101
79
  },
102
- "script": {
103
- "name": "ParallaxLayer",
104
- "props": {
105
- "factor": 0.94
106
- }
107
- },
80
+ "script": { "name": "ParallaxLayer", "props": { "factor": 0.94 } },
108
81
  "uid": "n_io1e5nqi1q9p0aor"
109
82
  },
110
83
  {
@@ -118,12 +91,7 @@
118
91
  "renderOrder": -58,
119
92
  "anchor": [0.5, 0.5]
120
93
  },
121
- "script": {
122
- "name": "ParallaxLayer",
123
- "props": {
124
- "factor": 0.9
125
- }
126
- },
94
+ "script": { "name": "ParallaxLayer", "props": { "factor": 0.9 } },
127
95
  "uid": "n_u9sglddcy0spenib"
128
96
  },
129
97
  {
@@ -137,12 +105,7 @@
137
105
  "renderOrder": -58,
138
106
  "anchor": [0.5, 0.5]
139
107
  },
140
- "script": {
141
- "name": "ParallaxLayer",
142
- "props": {
143
- "factor": 0.9
144
- }
145
- },
108
+ "script": { "name": "ParallaxLayer", "props": { "factor": 0.9 } },
146
109
  "uid": "n_oeoy2ytk9y8tfqal"
147
110
  },
148
111
  {
@@ -156,27 +119,14 @@
156
119
  "renderOrder": -58,
157
120
  "anchor": [0.5, 0.5]
158
121
  },
159
- "script": {
160
- "name": "ParallaxLayer",
161
- "props": {
162
- "factor": 0.9
163
- }
164
- },
122
+ "script": { "name": "ParallaxLayer", "props": { "factor": 0.9 } },
165
123
  "uid": "n_glne90a03zy5os5g"
166
124
  },
167
125
  {
168
126
  "name": "CastleFarLayer",
169
127
  "type": "Node2D",
170
- "props": {
171
- "position": [0, 0],
172
- "renderOrder": -50
173
- },
174
- "script": {
175
- "name": "ParallaxLayer",
176
- "props": {
177
- "factor": 0.82
178
- }
179
- },
128
+ "props": { "position": [0, 0], "renderOrder": -50 },
129
+ "script": { "name": "ParallaxLayer", "props": { "factor": 0.82 } },
180
130
  "children": [
181
131
  {
182
132
  "name": "Band",
@@ -274,16 +224,8 @@
274
224
  {
275
225
  "name": "CastleNearLayer",
276
226
  "type": "Node2D",
277
- "props": {
278
- "position": [0, 0],
279
- "renderOrder": -42
280
- },
281
- "script": {
282
- "name": "ParallaxLayer",
283
- "props": {
284
- "factor": 0.6
285
- }
286
- },
227
+ "props": { "position": [0, 0], "renderOrder": -42 },
228
+ "script": { "name": "ParallaxLayer", "props": { "factor": 0.6 } },
287
229
  "children": [
288
230
  {
289
231
  "name": "Band",
@@ -552,30 +494,17 @@
552
494
  "name": "GroundA",
553
495
  "type": "StaticBody2D",
554
496
  "groups": ["ground"],
555
- "props": {
556
- "position": [300, 520],
557
- "collider": {
558
- "shape": "rect",
559
- "size": [640, 120]
560
- }
561
- },
497
+ "props": { "position": [300, 520], "collider": { "shape": "rect", "size": [640, 120] } },
562
498
  "children": [
563
499
  {
564
500
  "name": "Skin",
565
501
  "type": "ColorRect2D",
566
- "props": {
567
- "size": [640, 120],
568
- "color": "#6a5b4a"
569
- }
502
+ "props": { "size": [640, 120], "color": "#6a5b4a" }
570
503
  },
571
504
  {
572
505
  "name": "Moss",
573
506
  "type": "ColorRect2D",
574
- "props": {
575
- "position": [0, -54],
576
- "size": [640, 14],
577
- "color": "#79bd54"
578
- }
507
+ "props": { "position": [0, -54], "size": [640, 14], "color": "#79bd54" }
579
508
  }
580
509
  ]
581
510
  },
@@ -583,30 +512,17 @@
583
512
  "name": "GroundB",
584
513
  "type": "StaticBody2D",
585
514
  "groups": ["ground"],
586
- "props": {
587
- "position": [1020, 520],
588
- "collider": {
589
- "shape": "rect",
590
- "size": [560, 120]
591
- }
592
- },
515
+ "props": { "position": [1020, 520], "collider": { "shape": "rect", "size": [560, 120] } },
593
516
  "children": [
594
517
  {
595
518
  "name": "Skin",
596
519
  "type": "ColorRect2D",
597
- "props": {
598
- "size": [560, 120],
599
- "color": "#6a5b4a"
600
- }
520
+ "props": { "size": [560, 120], "color": "#6a5b4a" }
601
521
  },
602
522
  {
603
523
  "name": "Moss",
604
524
  "type": "ColorRect2D",
605
- "props": {
606
- "position": [0, -54],
607
- "size": [560, 14],
608
- "color": "#79bd54"
609
- }
525
+ "props": { "position": [0, -54], "size": [560, 14], "color": "#79bd54" }
610
526
  }
611
527
  ]
612
528
  },
@@ -614,30 +530,17 @@
614
530
  "name": "GroundC",
615
531
  "type": "StaticBody2D",
616
532
  "groups": ["ground"],
617
- "props": {
618
- "position": [1760, 520],
619
- "collider": {
620
- "shape": "rect",
621
- "size": [560, 120]
622
- }
623
- },
533
+ "props": { "position": [1760, 520], "collider": { "shape": "rect", "size": [560, 120] } },
624
534
  "children": [
625
535
  {
626
536
  "name": "Skin",
627
537
  "type": "ColorRect2D",
628
- "props": {
629
- "size": [560, 120],
630
- "color": "#6a5b4a"
631
- }
538
+ "props": { "size": [560, 120], "color": "#6a5b4a" }
632
539
  },
633
540
  {
634
541
  "name": "Moss",
635
542
  "type": "ColorRect2D",
636
- "props": {
637
- "position": [0, -54],
638
- "size": [560, 14],
639
- "color": "#79bd54"
640
- }
543
+ "props": { "position": [0, -54], "size": [560, 14], "color": "#79bd54" }
641
544
  }
642
545
  ]
643
546
  },
@@ -645,30 +548,17 @@
645
548
  "name": "GroundD",
646
549
  "type": "StaticBody2D",
647
550
  "groups": ["ground"],
648
- "props": {
649
- "position": [2520, 520],
650
- "collider": {
651
- "shape": "rect",
652
- "size": [600, 120]
653
- }
654
- },
551
+ "props": { "position": [2520, 520], "collider": { "shape": "rect", "size": [600, 120] } },
655
552
  "children": [
656
553
  {
657
554
  "name": "Skin",
658
555
  "type": "ColorRect2D",
659
- "props": {
660
- "size": [600, 120],
661
- "color": "#6a5b4a"
662
- }
556
+ "props": { "size": [600, 120], "color": "#6a5b4a" }
663
557
  },
664
558
  {
665
559
  "name": "Moss",
666
560
  "type": "ColorRect2D",
667
- "props": {
668
- "position": [0, -54],
669
- "size": [600, 14],
670
- "color": "#79bd54"
671
- }
561
+ "props": { "position": [0, -54], "size": [600, 14], "color": "#79bd54" }
672
562
  }
673
563
  ]
674
564
  },
@@ -676,30 +566,17 @@
676
566
  "name": "Plat1",
677
567
  "type": "StaticBody2D",
678
568
  "groups": ["ground"],
679
- "props": {
680
- "position": [680, 360],
681
- "collider": {
682
- "shape": "rect",
683
- "size": [150, 26]
684
- }
685
- },
569
+ "props": { "position": [680, 360], "collider": { "shape": "rect", "size": [150, 26] } },
686
570
  "children": [
687
571
  {
688
572
  "name": "Skin",
689
573
  "type": "ColorRect2D",
690
- "props": {
691
- "size": [150, 26],
692
- "color": "#7d6f5c"
693
- }
574
+ "props": { "size": [150, 26], "color": "#7d6f5c" }
694
575
  },
695
576
  {
696
577
  "name": "Moss",
697
578
  "type": "ColorRect2D",
698
- "props": {
699
- "position": [0, -9],
700
- "size": [150, 8],
701
- "color": "#88c060"
702
- }
579
+ "props": { "position": [0, -9], "size": [150, 8], "color": "#88c060" }
703
580
  }
704
581
  ]
705
582
  },
@@ -707,30 +584,17 @@
707
584
  "name": "Plat2",
708
585
  "type": "StaticBody2D",
709
586
  "groups": ["ground"],
710
- "props": {
711
- "position": [1180, 320],
712
- "collider": {
713
- "shape": "rect",
714
- "size": [150, 26]
715
- }
716
- },
587
+ "props": { "position": [1180, 320], "collider": { "shape": "rect", "size": [150, 26] } },
717
588
  "children": [
718
589
  {
719
590
  "name": "Skin",
720
591
  "type": "ColorRect2D",
721
- "props": {
722
- "size": [150, 26],
723
- "color": "#7d6f5c"
724
- }
592
+ "props": { "size": [150, 26], "color": "#7d6f5c" }
725
593
  },
726
594
  {
727
595
  "name": "Moss",
728
596
  "type": "ColorRect2D",
729
- "props": {
730
- "position": [0, -9],
731
- "size": [150, 8],
732
- "color": "#88c060"
733
- }
597
+ "props": { "position": [0, -9], "size": [150, 8], "color": "#88c060" }
734
598
  }
735
599
  ]
736
600
  },
@@ -738,30 +602,17 @@
738
602
  "name": "Plat3",
739
603
  "type": "StaticBody2D",
740
604
  "groups": ["ground"],
741
- "props": {
742
- "position": [1760, 300],
743
- "collider": {
744
- "shape": "rect",
745
- "size": [180, 26]
746
- }
747
- },
605
+ "props": { "position": [1760, 300], "collider": { "shape": "rect", "size": [180, 26] } },
748
606
  "children": [
749
607
  {
750
608
  "name": "Skin",
751
609
  "type": "ColorRect2D",
752
- "props": {
753
- "size": [180, 26],
754
- "color": "#7d6f5c"
755
- }
610
+ "props": { "size": [180, 26], "color": "#7d6f5c" }
756
611
  },
757
612
  {
758
613
  "name": "Moss",
759
614
  "type": "ColorRect2D",
760
- "props": {
761
- "position": [0, -9],
762
- "size": [180, 8],
763
- "color": "#88c060"
764
- }
615
+ "props": { "position": [0, -9], "size": [180, 8], "color": "#88c060" }
765
616
  }
766
617
  ]
767
618
  },
@@ -769,30 +620,17 @@
769
620
  "name": "Plat4",
770
621
  "type": "StaticBody2D",
771
622
  "groups": ["ground"],
772
- "props": {
773
- "position": [2380, 320],
774
- "collider": {
775
- "shape": "rect",
776
- "size": [150, 26]
777
- }
778
- },
623
+ "props": { "position": [2380, 320], "collider": { "shape": "rect", "size": [150, 26] } },
779
624
  "children": [
780
625
  {
781
626
  "name": "Skin",
782
627
  "type": "ColorRect2D",
783
- "props": {
784
- "size": [150, 26],
785
- "color": "#7d6f5c"
786
- }
628
+ "props": { "size": [150, 26], "color": "#7d6f5c" }
787
629
  },
788
630
  {
789
631
  "name": "Moss",
790
632
  "type": "ColorRect2D",
791
- "props": {
792
- "position": [0, -9],
793
- "size": [150, 8],
794
- "color": "#88c060"
795
- }
633
+ "props": { "position": [0, -9], "size": [150, 8], "color": "#88c060" }
796
634
  }
797
635
  ]
798
636
  },
@@ -800,13 +638,7 @@
800
638
  "name": "MovePlat",
801
639
  "type": "StaticBody2D",
802
640
  "groups": ["ground", "platform"],
803
- "props": {
804
- "position": [1320, 430],
805
- "collider": {
806
- "shape": "rect",
807
- "size": [150, 24]
808
- }
809
- },
641
+ "props": { "position": [1320, 430], "collider": { "shape": "rect", "size": [150, 24] } },
810
642
  "script": {
811
643
  "name": "Patrol",
812
644
  "props": {
@@ -820,19 +652,12 @@
820
652
  {
821
653
  "name": "Skin",
822
654
  "type": "ColorRect2D",
823
- "props": {
824
- "size": [150, 24],
825
- "color": "#b07b3c"
826
- }
655
+ "props": { "size": [150, 24], "color": "#b07b3c" }
827
656
  },
828
657
  {
829
658
  "name": "Top",
830
659
  "type": "ColorRect2D",
831
- "props": {
832
- "position": [0, -8],
833
- "size": [150, 8],
834
- "color": "#ffd166"
835
- }
660
+ "props": { "position": [0, -8], "size": [150, 8], "color": "#ffd166" }
836
661
  }
837
662
  ],
838
663
  "uid": "n_sf07oapcipaog0b6"
@@ -841,39 +666,21 @@
841
666
  "name": "Lift",
842
667
  "type": "StaticBody2D",
843
668
  "groups": ["ground", "platform"],
844
- "props": {
845
- "position": [2140, 430],
846
- "collider": {
847
- "shape": "rect",
848
- "size": [140, 24]
849
- }
850
- },
669
+ "props": { "position": [2140, 430], "collider": { "shape": "rect", "size": [140, 24] } },
851
670
  "script": {
852
671
  "name": "Oscillate",
853
- "props": {
854
- "axis": "y",
855
- "amplitude": 90,
856
- "frequency": 0.32,
857
- "mode": "position"
858
- }
672
+ "props": { "axis": "y", "amplitude": 90, "frequency": 0.32, "mode": "position" }
859
673
  },
860
674
  "children": [
861
675
  {
862
676
  "name": "Skin",
863
677
  "type": "ColorRect2D",
864
- "props": {
865
- "size": [140, 24],
866
- "color": "#b07b3c"
867
- }
678
+ "props": { "size": [140, 24], "color": "#b07b3c" }
868
679
  },
869
680
  {
870
681
  "name": "Top",
871
682
  "type": "ColorRect2D",
872
- "props": {
873
- "position": [0, -8],
874
- "size": [140, 8],
875
- "color": "#ffd166"
876
- }
683
+ "props": { "position": [0, -8], "size": [140, 8], "color": "#ffd166" }
877
684
  }
878
685
  ],
879
686
  "uid": "n_vfuh862g8bfg7swp"
@@ -882,22 +689,12 @@
882
689
  "name": "Spikes1",
883
690
  "type": "Area2D",
884
691
  "groups": ["hazard"],
885
- "props": {
886
- "position": [680, 548],
887
- "collider": {
888
- "shape": "rect",
889
- "size": [120, 36]
890
- }
891
- },
692
+ "props": { "position": [680, 548], "collider": { "shape": "rect", "size": [120, 36] } },
892
693
  "children": [
893
694
  {
894
695
  "name": "Skin",
895
696
  "type": "ColorRect2D",
896
- "props": {
897
- "position": [0, 2],
898
- "size": [120, 26],
899
- "color": "#b0392f"
900
- }
697
+ "props": { "position": [0, 2], "size": [120, 26], "color": "#b0392f" }
901
698
  }
902
699
  ]
903
700
  },
@@ -905,22 +702,12 @@
905
702
  "name": "Spikes2",
906
703
  "type": "Area2D",
907
704
  "groups": ["hazard"],
908
- "props": {
909
- "position": [2140, 548],
910
- "collider": {
911
- "shape": "rect",
912
- "size": [200, 36]
913
- }
914
- },
705
+ "props": { "position": [2140, 548], "collider": { "shape": "rect", "size": [200, 36] } },
915
706
  "children": [
916
707
  {
917
708
  "name": "Skin",
918
709
  "type": "ColorRect2D",
919
- "props": {
920
- "position": [0, 2],
921
- "size": [200, 26],
922
- "color": "#b0392f"
923
- }
710
+ "props": { "position": [0, 2], "size": [200, 26], "color": "#b0392f" }
924
711
  }
925
712
  ]
926
713
  },
@@ -928,42 +715,23 @@
928
715
  "name": "DeathPlane",
929
716
  "type": "Area2D",
930
717
  "groups": ["pit"],
931
- "props": {
932
- "position": [1400, 880],
933
- "collider": {
934
- "shape": "rect",
935
- "size": [6000, 120]
936
- }
937
- }
718
+ "props": { "position": [1400, 880], "collider": { "shape": "rect", "size": [6000, 120] } }
938
719
  },
939
720
  {
940
721
  "name": "Checkpoint",
941
722
  "type": "Area2D",
942
723
  "groups": ["checkpoint"],
943
- "props": {
944
- "position": [1520, 392],
945
- "collider": {
946
- "shape": "rect",
947
- "size": [40, 120]
948
- }
949
- },
724
+ "props": { "position": [1520, 392], "collider": { "shape": "rect", "size": [40, 120] } },
950
725
  "children": [
951
726
  {
952
727
  "name": "Pole",
953
728
  "type": "ColorRect2D",
954
- "props": {
955
- "size": [8, 120],
956
- "color": "#cfd6e6"
957
- }
729
+ "props": { "size": [8, 120], "color": "#cfd6e6" }
958
730
  },
959
731
  {
960
732
  "name": "Flag",
961
733
  "type": "ColorRect2D",
962
- "props": {
963
- "position": [26, -44],
964
- "size": [44, 28],
965
- "color": "#56d8ff"
966
- }
734
+ "props": { "position": [26, -44], "size": [44, 28], "color": "#56d8ff" }
967
735
  }
968
736
  ]
969
737
  },
@@ -971,39 +739,22 @@
971
739
  "name": "Goal",
972
740
  "type": "Area2D",
973
741
  "groups": ["goal"],
974
- "props": {
975
- "position": [2740, 380],
976
- "collider": {
977
- "shape": "rect",
978
- "size": [60, 160]
979
- }
980
- },
742
+ "props": { "position": [2740, 380], "collider": { "shape": "rect", "size": [60, 160] } },
981
743
  "children": [
982
744
  {
983
745
  "name": "Pole",
984
746
  "type": "ColorRect2D",
985
- "props": {
986
- "size": [10, 160],
987
- "color": "#e9e2cf"
988
- }
747
+ "props": { "size": [10, 160], "color": "#e9e2cf" }
989
748
  },
990
749
  {
991
750
  "name": "Flag",
992
751
  "type": "ColorRect2D",
993
- "props": {
994
- "position": [34, -60],
995
- "size": [56, 36],
996
- "color": "#ffd166"
997
- }
752
+ "props": { "position": [34, -60], "size": [56, 36], "color": "#ffd166" }
998
753
  },
999
754
  {
1000
755
  "name": "Gate",
1001
756
  "type": "ColorRect2D",
1002
- "props": {
1003
- "position": [0, 60],
1004
- "size": [120, 40],
1005
- "color": "#3f3550"
1006
- }
757
+ "props": { "position": [0, 60], "size": [120, 40], "color": "#3f3550" }
1007
758
  }
1008
759
  ]
1009
760
  },
@@ -1011,16 +762,10 @@
1011
762
  "name": "Gob1",
1012
763
  "type": "Node2D",
1013
764
  "groups": ["enemy"],
1014
- "props": {
1015
- "position": [1020, 430]
1016
- },
765
+ "props": { "position": [1020, 430] },
1017
766
  "script": {
1018
767
  "name": "Patrol",
1019
- "props": {
1020
- "points": [[820, 430], [1240, 430]],
1021
- "speed": 72,
1022
- "mode": "pingpong"
1023
- }
768
+ "props": { "points": [[820, 430], [1240, 430]], "speed": 72, "mode": "pingpong" }
1024
769
  },
1025
770
  "children": [
1026
771
  {
@@ -1032,25 +777,15 @@
1032
777
  "scale": [0.46, 0.46],
1033
778
  "anchor": [0.5, 0.348],
1034
779
  "animations": {
1035
- "idle": {
1036
- "frames": [0, 6],
1037
- "fps": 9,
1038
- "loop": true
1039
- },
1040
- "move": {
1041
- "frames": [7, 12],
1042
- "fps": 12,
1043
- "loop": true
1044
- }
780
+ "idle": { "frames": [0, 6], "fps": 9, "loop": true },
781
+ "move": { "frames": [7, 12], "fps": 12, "loop": true }
1045
782
  }
1046
783
  }
1047
784
  },
1048
785
  {
1049
786
  "name": "AI",
1050
787
  "type": "Node2D",
1051
- "script": {
1052
- "name": "GoblinSkin"
1053
- },
788
+ "script": { "name": "GoblinSkin" },
1054
789
  "uid": "n_uuc954ct6jzjzzlp"
1055
790
  }
1056
791
  ],
@@ -1060,16 +795,10 @@
1060
795
  "name": "Gob2",
1061
796
  "type": "Node2D",
1062
797
  "groups": ["enemy"],
1063
- "props": {
1064
- "position": [1760, 430]
1065
- },
798
+ "props": { "position": [1760, 430] },
1066
799
  "script": {
1067
800
  "name": "Patrol",
1068
- "props": {
1069
- "points": [[1540, 430], [1980, 430]],
1070
- "speed": 84,
1071
- "mode": "pingpong"
1072
- }
801
+ "props": { "points": [[1540, 430], [1980, 430]], "speed": 84, "mode": "pingpong" }
1073
802
  },
1074
803
  "children": [
1075
804
  {
@@ -1081,25 +810,15 @@
1081
810
  "scale": [0.46, 0.46],
1082
811
  "anchor": [0.5, 0.348],
1083
812
  "animations": {
1084
- "idle": {
1085
- "frames": [0, 6],
1086
- "fps": 9,
1087
- "loop": true
1088
- },
1089
- "move": {
1090
- "frames": [7, 12],
1091
- "fps": 12,
1092
- "loop": true
1093
- }
813
+ "idle": { "frames": [0, 6], "fps": 9, "loop": true },
814
+ "move": { "frames": [7, 12], "fps": 12, "loop": true }
1094
815
  }
1095
816
  }
1096
817
  },
1097
818
  {
1098
819
  "name": "AI",
1099
820
  "type": "Node2D",
1100
- "script": {
1101
- "name": "GoblinSkin"
1102
- },
821
+ "script": { "name": "GoblinSkin" },
1103
822
  "uid": "n_ujbgnk7ixsicswwc"
1104
823
  }
1105
824
  ],
@@ -1109,16 +828,10 @@
1109
828
  "name": "Gob3",
1110
829
  "type": "Node2D",
1111
830
  "groups": ["enemy"],
1112
- "props": {
1113
- "position": [2520, 430]
1114
- },
831
+ "props": { "position": [2520, 430] },
1115
832
  "script": {
1116
833
  "name": "Patrol",
1117
- "props": {
1118
- "points": [[2300, 430], [2740, 430]],
1119
- "speed": 78,
1120
- "mode": "pingpong"
1121
- }
834
+ "props": { "points": [[2300, 430], [2740, 430]], "speed": 78, "mode": "pingpong" }
1122
835
  },
1123
836
  "children": [
1124
837
  {
@@ -1130,25 +843,15 @@
1130
843
  "scale": [0.46, 0.46],
1131
844
  "anchor": [0.5, 0.348],
1132
845
  "animations": {
1133
- "idle": {
1134
- "frames": [0, 6],
1135
- "fps": 9,
1136
- "loop": true
1137
- },
1138
- "move": {
1139
- "frames": [7, 12],
1140
- "fps": 12,
1141
- "loop": true
1142
- }
846
+ "idle": { "frames": [0, 6], "fps": 9, "loop": true },
847
+ "move": { "frames": [7, 12], "fps": 12, "loop": true }
1143
848
  }
1144
849
  }
1145
850
  },
1146
851
  {
1147
852
  "name": "AI",
1148
853
  "type": "Node2D",
1149
- "script": {
1150
- "name": "GoblinSkin"
1151
- },
854
+ "script": { "name": "GoblinSkin" },
1152
855
  "uid": "n_3kmb1qlhckw4xnhz"
1153
856
  }
1154
857
  ],
@@ -1157,43 +860,21 @@
1157
860
  {
1158
861
  "name": "Coins",
1159
862
  "type": "Node2D",
1160
- "props": {
1161
- "position": [0, 0]
1162
- },
863
+ "props": { "position": [0, 0] },
1163
864
  "children": [
1164
865
  {
1165
866
  "name": "Coin1",
1166
867
  "type": "Area2D",
1167
- "props": {
1168
- "position": [300, 380],
1169
- "collider": {
1170
- "shape": "circle",
1171
- "radius": 16
1172
- }
1173
- },
1174
- "script": {
1175
- "name": "Pickup",
1176
- "props": {
1177
- "value": 10,
1178
- "kind": "coin"
1179
- }
1180
- },
868
+ "props": { "position": [300, 380], "collider": { "shape": "circle", "radius": 16 } },
869
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1181
870
  "children": [
1182
871
  {
1183
872
  "name": "Skin",
1184
873
  "type": "Sprite2D",
1185
- "props": {
1186
- "texture": "$coin",
1187
- "scale": [0.6, 0.6]
1188
- },
874
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1189
875
  "script": {
1190
876
  "name": "Oscillate",
1191
- "props": {
1192
- "axis": "y",
1193
- "amplitude": 6,
1194
- "frequency": 1.1,
1195
- "mode": "position"
1196
- }
877
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1197
878
  },
1198
879
  "uid": "n_5vv5sh2bce9a0rfc"
1199
880
  }
@@ -1203,36 +884,16 @@
1203
884
  {
1204
885
  "name": "Coin2",
1205
886
  "type": "Area2D",
1206
- "props": {
1207
- "position": [430, 350],
1208
- "collider": {
1209
- "shape": "circle",
1210
- "radius": 16
1211
- }
1212
- },
1213
- "script": {
1214
- "name": "Pickup",
1215
- "props": {
1216
- "value": 10,
1217
- "kind": "coin"
1218
- }
1219
- },
887
+ "props": { "position": [430, 350], "collider": { "shape": "circle", "radius": 16 } },
888
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1220
889
  "children": [
1221
890
  {
1222
891
  "name": "Skin",
1223
892
  "type": "Sprite2D",
1224
- "props": {
1225
- "texture": "$coin",
1226
- "scale": [0.6, 0.6]
1227
- },
893
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1228
894
  "script": {
1229
895
  "name": "Oscillate",
1230
- "props": {
1231
- "axis": "y",
1232
- "amplitude": 6,
1233
- "frequency": 1.1,
1234
- "mode": "position"
1235
- }
896
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1236
897
  },
1237
898
  "uid": "n_6nl39pc8x81zzfvz"
1238
899
  }
@@ -1242,36 +903,16 @@
1242
903
  {
1243
904
  "name": "Coin3",
1244
905
  "type": "Area2D",
1245
- "props": {
1246
- "position": [680, 300],
1247
- "collider": {
1248
- "shape": "circle",
1249
- "radius": 16
1250
- }
1251
- },
1252
- "script": {
1253
- "name": "Pickup",
1254
- "props": {
1255
- "value": 10,
1256
- "kind": "coin"
1257
- }
1258
- },
906
+ "props": { "position": [680, 300], "collider": { "shape": "circle", "radius": 16 } },
907
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1259
908
  "children": [
1260
909
  {
1261
910
  "name": "Skin",
1262
911
  "type": "Sprite2D",
1263
- "props": {
1264
- "texture": "$coin",
1265
- "scale": [0.6, 0.6]
1266
- },
912
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1267
913
  "script": {
1268
914
  "name": "Oscillate",
1269
- "props": {
1270
- "axis": "y",
1271
- "amplitude": 6,
1272
- "frequency": 1.1,
1273
- "mode": "position"
1274
- }
915
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1275
916
  },
1276
917
  "uid": "n_pieptsthsss398x8"
1277
918
  }
@@ -1281,36 +922,16 @@
1281
922
  {
1282
923
  "name": "Coin4",
1283
924
  "type": "Area2D",
1284
- "props": {
1285
- "position": [940, 410],
1286
- "collider": {
1287
- "shape": "circle",
1288
- "radius": 16
1289
- }
1290
- },
1291
- "script": {
1292
- "name": "Pickup",
1293
- "props": {
1294
- "value": 10,
1295
- "kind": "coin"
1296
- }
1297
- },
925
+ "props": { "position": [940, 410], "collider": { "shape": "circle", "radius": 16 } },
926
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1298
927
  "children": [
1299
928
  {
1300
929
  "name": "Skin",
1301
930
  "type": "Sprite2D",
1302
- "props": {
1303
- "texture": "$coin",
1304
- "scale": [0.6, 0.6]
1305
- },
931
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1306
932
  "script": {
1307
933
  "name": "Oscillate",
1308
- "props": {
1309
- "axis": "y",
1310
- "amplitude": 6,
1311
- "frequency": 1.1,
1312
- "mode": "position"
1313
- }
934
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1314
935
  },
1315
936
  "uid": "n_m5ye4ukey1gs9ri5"
1316
937
  }
@@ -1320,36 +941,16 @@
1320
941
  {
1321
942
  "name": "Coin5",
1322
943
  "type": "Area2D",
1323
- "props": {
1324
- "position": [1100, 410],
1325
- "collider": {
1326
- "shape": "circle",
1327
- "radius": 16
1328
- }
1329
- },
1330
- "script": {
1331
- "name": "Pickup",
1332
- "props": {
1333
- "value": 10,
1334
- "kind": "coin"
1335
- }
1336
- },
944
+ "props": { "position": [1100, 410], "collider": { "shape": "circle", "radius": 16 } },
945
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1337
946
  "children": [
1338
947
  {
1339
948
  "name": "Skin",
1340
949
  "type": "Sprite2D",
1341
- "props": {
1342
- "texture": "$coin",
1343
- "scale": [0.6, 0.6]
1344
- },
950
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1345
951
  "script": {
1346
952
  "name": "Oscillate",
1347
- "props": {
1348
- "axis": "y",
1349
- "amplitude": 6,
1350
- "frequency": 1.1,
1351
- "mode": "position"
1352
- }
953
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1353
954
  },
1354
955
  "uid": "n_mq7njocxg7qlw3dx"
1355
956
  }
@@ -1359,36 +960,16 @@
1359
960
  {
1360
961
  "name": "Coin6",
1361
962
  "type": "Area2D",
1362
- "props": {
1363
- "position": [1180, 285],
1364
- "collider": {
1365
- "shape": "circle",
1366
- "radius": 16
1367
- }
1368
- },
1369
- "script": {
1370
- "name": "Pickup",
1371
- "props": {
1372
- "value": 10,
1373
- "kind": "coin"
1374
- }
1375
- },
963
+ "props": { "position": [1180, 285], "collider": { "shape": "circle", "radius": 16 } },
964
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1376
965
  "children": [
1377
966
  {
1378
967
  "name": "Skin",
1379
968
  "type": "Sprite2D",
1380
- "props": {
1381
- "texture": "$coin",
1382
- "scale": [0.6, 0.6]
1383
- },
969
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1384
970
  "script": {
1385
971
  "name": "Oscillate",
1386
- "props": {
1387
- "axis": "y",
1388
- "amplitude": 6,
1389
- "frequency": 1.1,
1390
- "mode": "position"
1391
- }
972
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1392
973
  },
1393
974
  "uid": "n_zj0kivs2h857q5e7"
1394
975
  }
@@ -1398,36 +979,16 @@
1398
979
  {
1399
980
  "name": "Coin7",
1400
981
  "type": "Area2D",
1401
- "props": {
1402
- "position": [1395, 360],
1403
- "collider": {
1404
- "shape": "circle",
1405
- "radius": 16
1406
- }
1407
- },
1408
- "script": {
1409
- "name": "Pickup",
1410
- "props": {
1411
- "value": 10,
1412
- "kind": "coin"
1413
- }
1414
- },
982
+ "props": { "position": [1395, 360], "collider": { "shape": "circle", "radius": 16 } },
983
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1415
984
  "children": [
1416
985
  {
1417
986
  "name": "Skin",
1418
987
  "type": "Sprite2D",
1419
- "props": {
1420
- "texture": "$coin",
1421
- "scale": [0.6, 0.6]
1422
- },
988
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1423
989
  "script": {
1424
990
  "name": "Oscillate",
1425
- "props": {
1426
- "axis": "y",
1427
- "amplitude": 6,
1428
- "frequency": 1.1,
1429
- "mode": "position"
1430
- }
991
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1431
992
  },
1432
993
  "uid": "n_joega2rmwl1i2d6d"
1433
994
  }
@@ -1437,36 +998,16 @@
1437
998
  {
1438
999
  "name": "Coin8",
1439
1000
  "type": "Area2D",
1440
- "props": {
1441
- "position": [1620, 410],
1442
- "collider": {
1443
- "shape": "circle",
1444
- "radius": 16
1445
- }
1446
- },
1447
- "script": {
1448
- "name": "Pickup",
1449
- "props": {
1450
- "value": 10,
1451
- "kind": "coin"
1452
- }
1453
- },
1001
+ "props": { "position": [1620, 410], "collider": { "shape": "circle", "radius": 16 } },
1002
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1454
1003
  "children": [
1455
1004
  {
1456
1005
  "name": "Skin",
1457
1006
  "type": "Sprite2D",
1458
- "props": {
1459
- "texture": "$coin",
1460
- "scale": [0.6, 0.6]
1461
- },
1007
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1462
1008
  "script": {
1463
1009
  "name": "Oscillate",
1464
- "props": {
1465
- "axis": "y",
1466
- "amplitude": 6,
1467
- "frequency": 1.1,
1468
- "mode": "position"
1469
- }
1010
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1470
1011
  },
1471
1012
  "uid": "n_zr79uqirzpuftjxx"
1472
1013
  }
@@ -1476,36 +1017,16 @@
1476
1017
  {
1477
1018
  "name": "Coin9",
1478
1019
  "type": "Area2D",
1479
- "props": {
1480
- "position": [1900, 410],
1481
- "collider": {
1482
- "shape": "circle",
1483
- "radius": 16
1484
- }
1485
- },
1486
- "script": {
1487
- "name": "Pickup",
1488
- "props": {
1489
- "value": 10,
1490
- "kind": "coin"
1491
- }
1492
- },
1020
+ "props": { "position": [1900, 410], "collider": { "shape": "circle", "radius": 16 } },
1021
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1493
1022
  "children": [
1494
1023
  {
1495
1024
  "name": "Skin",
1496
1025
  "type": "Sprite2D",
1497
- "props": {
1498
- "texture": "$coin",
1499
- "scale": [0.6, 0.6]
1500
- },
1026
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1501
1027
  "script": {
1502
1028
  "name": "Oscillate",
1503
- "props": {
1504
- "axis": "y",
1505
- "amplitude": 6,
1506
- "frequency": 1.1,
1507
- "mode": "position"
1508
- }
1029
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1509
1030
  },
1510
1031
  "uid": "n_3umxgv0yreehqbs6"
1511
1032
  }
@@ -1515,36 +1036,16 @@
1515
1036
  {
1516
1037
  "name": "Coin10",
1517
1038
  "type": "Area2D",
1518
- "props": {
1519
- "position": [2140, 300],
1520
- "collider": {
1521
- "shape": "circle",
1522
- "radius": 16
1523
- }
1524
- },
1525
- "script": {
1526
- "name": "Pickup",
1527
- "props": {
1528
- "value": 10,
1529
- "kind": "coin"
1530
- }
1531
- },
1039
+ "props": { "position": [2140, 300], "collider": { "shape": "circle", "radius": 16 } },
1040
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1532
1041
  "children": [
1533
1042
  {
1534
1043
  "name": "Skin",
1535
1044
  "type": "Sprite2D",
1536
- "props": {
1537
- "texture": "$coin",
1538
- "scale": [0.6, 0.6]
1539
- },
1045
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1540
1046
  "script": {
1541
1047
  "name": "Oscillate",
1542
- "props": {
1543
- "axis": "y",
1544
- "amplitude": 6,
1545
- "frequency": 1.1,
1546
- "mode": "position"
1547
- }
1048
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1548
1049
  },
1549
1050
  "uid": "n_rhmo04zqmdtg5tvi"
1550
1051
  }
@@ -1554,36 +1055,16 @@
1554
1055
  {
1555
1056
  "name": "Coin11",
1556
1057
  "type": "Area2D",
1557
- "props": {
1558
- "position": [2380, 285],
1559
- "collider": {
1560
- "shape": "circle",
1561
- "radius": 16
1562
- }
1563
- },
1564
- "script": {
1565
- "name": "Pickup",
1566
- "props": {
1567
- "value": 10,
1568
- "kind": "coin"
1569
- }
1570
- },
1058
+ "props": { "position": [2380, 285], "collider": { "shape": "circle", "radius": 16 } },
1059
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1571
1060
  "children": [
1572
1061
  {
1573
1062
  "name": "Skin",
1574
1063
  "type": "Sprite2D",
1575
- "props": {
1576
- "texture": "$coin",
1577
- "scale": [0.6, 0.6]
1578
- },
1064
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1579
1065
  "script": {
1580
1066
  "name": "Oscillate",
1581
- "props": {
1582
- "axis": "y",
1583
- "amplitude": 6,
1584
- "frequency": 1.1,
1585
- "mode": "position"
1586
- }
1067
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1587
1068
  },
1588
1069
  "uid": "n_xuclkqerz63mv8vb"
1589
1070
  }
@@ -1593,36 +1074,16 @@
1593
1074
  {
1594
1075
  "name": "Coin12",
1595
1076
  "type": "Area2D",
1596
- "props": {
1597
- "position": [2600, 410],
1598
- "collider": {
1599
- "shape": "circle",
1600
- "radius": 16
1601
- }
1602
- },
1603
- "script": {
1604
- "name": "Pickup",
1605
- "props": {
1606
- "value": 10,
1607
- "kind": "coin"
1608
- }
1609
- },
1077
+ "props": { "position": [2600, 410], "collider": { "shape": "circle", "radius": 16 } },
1078
+ "script": { "name": "Pickup", "props": { "value": 10, "kind": "coin" } },
1610
1079
  "children": [
1611
1080
  {
1612
1081
  "name": "Skin",
1613
1082
  "type": "Sprite2D",
1614
- "props": {
1615
- "texture": "$coin",
1616
- "scale": [0.6, 0.6]
1617
- },
1083
+ "props": { "texture": "$coin", "scale": [0.6, 0.6] },
1618
1084
  "script": {
1619
1085
  "name": "Oscillate",
1620
- "props": {
1621
- "axis": "y",
1622
- "amplitude": 6,
1623
- "frequency": 1.1,
1624
- "mode": "position"
1625
- }
1086
+ "props": { "axis": "y", "amplitude": 6, "frequency": 1.1, "mode": "position" }
1626
1087
  },
1627
1088
  "uid": "n_uuegetn54zqs9bof"
1628
1089
  }
@@ -1634,36 +1095,16 @@
1634
1095
  {
1635
1096
  "name": "Gem1",
1636
1097
  "type": "Area2D",
1637
- "props": {
1638
- "position": [1760, 255],
1639
- "collider": {
1640
- "shape": "circle",
1641
- "radius": 20
1642
- }
1643
- },
1644
- "script": {
1645
- "name": "Pickup",
1646
- "props": {
1647
- "value": 50,
1648
- "kind": "gem"
1649
- }
1650
- },
1098
+ "props": { "position": [1760, 255], "collider": { "shape": "circle", "radius": 20 } },
1099
+ "script": { "name": "Pickup", "props": { "value": 50, "kind": "gem" } },
1651
1100
  "children": [
1652
1101
  {
1653
1102
  "name": "Skin",
1654
1103
  "type": "Sprite2D",
1655
- "props": {
1656
- "texture": "$gem",
1657
- "scale": [0.7, 0.7]
1658
- },
1104
+ "props": { "texture": "$gem", "scale": [0.7, 0.7] },
1659
1105
  "script": {
1660
1106
  "name": "Oscillate",
1661
- "props": {
1662
- "axis": "y",
1663
- "amplitude": 8,
1664
- "frequency": 0.9,
1665
- "mode": "position"
1666
- }
1107
+ "props": { "axis": "y", "amplitude": 8, "frequency": 0.9, "mode": "position" }
1667
1108
  },
1668
1109
  "uid": "n_vqc3id2780ba623r"
1669
1110
  }
@@ -1673,36 +1114,16 @@
1673
1114
  {
1674
1115
  "name": "Gem2",
1675
1116
  "type": "Area2D",
1676
- "props": {
1677
- "position": [2140, 230],
1678
- "collider": {
1679
- "shape": "circle",
1680
- "radius": 20
1681
- }
1682
- },
1683
- "script": {
1684
- "name": "Pickup",
1685
- "props": {
1686
- "value": 50,
1687
- "kind": "gem"
1688
- }
1689
- },
1117
+ "props": { "position": [2140, 230], "collider": { "shape": "circle", "radius": 20 } },
1118
+ "script": { "name": "Pickup", "props": { "value": 50, "kind": "gem" } },
1690
1119
  "children": [
1691
1120
  {
1692
1121
  "name": "Skin",
1693
1122
  "type": "Sprite2D",
1694
- "props": {
1695
- "texture": "$gem",
1696
- "scale": [0.7, 0.7]
1697
- },
1123
+ "props": { "texture": "$gem", "scale": [0.7, 0.7] },
1698
1124
  "script": {
1699
1125
  "name": "Oscillate",
1700
- "props": {
1701
- "axis": "y",
1702
- "amplitude": 8,
1703
- "frequency": 0.9,
1704
- "mode": "position"
1705
- }
1126
+ "props": { "axis": "y", "amplitude": 8, "frequency": 0.9, "mode": "position" }
1706
1127
  },
1707
1128
  "uid": "n_jnnqf3j7hygbeoaj"
1708
1129
  }
@@ -1715,15 +1136,9 @@
1715
1136
  "groups": ["player"],
1716
1137
  "props": {
1717
1138
  "position": [120, 360],
1718
- "collider": {
1719
- "shape": "capsule",
1720
- "radius": 18,
1721
- "height": 30
1722
- }
1723
- },
1724
- "script": {
1725
- "name": "PlayerController"
1139
+ "collider": { "shape": "capsule", "radius": 18, "height": 30 }
1726
1140
  },
1141
+ "script": { "name": "PlayerController" },
1727
1142
  "children": [
1728
1143
  {
1729
1144
  "name": "Skin",
@@ -1734,34 +1149,16 @@
1734
1149
  "scale": [0.72, 0.72],
1735
1150
  "anchor": [0.5, 0.464],
1736
1151
  "animations": {
1737
- "idle": {
1738
- "frames": [0, 5],
1739
- "fps": 10,
1740
- "loop": true
1741
- },
1742
- "run": {
1743
- "frames": [6, 11],
1744
- "fps": 14,
1745
- "loop": true
1746
- },
1747
- "jump": {
1748
- "frames": [9, 9],
1749
- "fps": 1,
1750
- "loop": false
1751
- }
1152
+ "idle": { "frames": [0, 5], "fps": 10, "loop": true },
1153
+ "run": { "frames": [6, 11], "fps": 14, "loop": true },
1154
+ "jump": { "frames": [9, 9], "fps": 1, "loop": false }
1752
1155
  }
1753
1156
  }
1754
1157
  },
1755
1158
  {
1756
1159
  "name": "Feet",
1757
1160
  "type": "Area2D",
1758
- "props": {
1759
- "position": [0, 30],
1760
- "collider": {
1761
- "shape": "rect",
1762
- "size": [30, 14]
1763
- }
1764
- }
1161
+ "props": { "position": [0, 30], "collider": { "shape": "rect", "size": [30, 14] } }
1765
1162
  }
1766
1163
  ],
1767
1164
  "uid": "n_h5em8g8jljkl2xtq"
@@ -1769,9 +1166,7 @@
1769
1166
  {
1770
1167
  "name": "Camera",
1771
1168
  "type": "Camera2D",
1772
- "props": {
1773
- "current": true
1774
- },
1169
+ "props": { "current": true },
1775
1170
  "script": {
1776
1171
  "name": "FollowCam",
1777
1172
  "props": {
@@ -1786,102 +1181,57 @@
1786
1181
  {
1787
1182
  "name": "SfxJump",
1788
1183
  "type": "AudioPlayer",
1789
- "props": {
1790
- "preset": "jump",
1791
- "bus": "sfx",
1792
- "volume": 0.4
1793
- }
1184
+ "props": { "preset": "jump", "bus": "sfx", "volume": 0.4 }
1794
1185
  },
1795
1186
  {
1796
1187
  "name": "SfxCoin",
1797
1188
  "type": "AudioPlayer",
1798
- "props": {
1799
- "preset": "coin",
1800
- "bus": "sfx",
1801
- "volume": 0.5
1802
- }
1189
+ "props": { "preset": "coin", "bus": "sfx", "volume": 0.5 }
1803
1190
  },
1804
1191
  {
1805
1192
  "name": "SfxStomp",
1806
1193
  "type": "AudioPlayer",
1807
- "props": {
1808
- "preset": "hit",
1809
- "bus": "sfx",
1810
- "volume": 0.55
1811
- }
1194
+ "props": { "preset": "hit", "bus": "sfx", "volume": 0.55 }
1812
1195
  },
1813
1196
  {
1814
1197
  "name": "SfxHurt",
1815
1198
  "type": "AudioPlayer",
1816
- "props": {
1817
- "preset": "hurt",
1818
- "bus": "sfx",
1819
- "volume": 0.6
1820
- }
1199
+ "props": { "preset": "hurt", "bus": "sfx", "volume": 0.6 }
1821
1200
  },
1822
1201
  {
1823
1202
  "name": "SfxCheckpoint",
1824
1203
  "type": "AudioPlayer",
1825
- "props": {
1826
- "preset": "powerup",
1827
- "bus": "sfx",
1828
- "volume": 0.6
1829
- }
1204
+ "props": { "preset": "powerup", "bus": "sfx", "volume": 0.6 }
1830
1205
  },
1831
1206
  {
1832
1207
  "name": "SfxWin",
1833
1208
  "type": "AudioPlayer",
1834
- "props": {
1835
- "preset": "win",
1836
- "bus": "sfx",
1837
- "volume": 0.8
1838
- }
1209
+ "props": { "preset": "win", "bus": "sfx", "volume": 0.8 }
1839
1210
  },
1840
1211
  {
1841
1212
  "name": "SfxLose",
1842
1213
  "type": "AudioPlayer",
1843
- "props": {
1844
- "preset": "lose",
1845
- "bus": "sfx",
1846
- "volume": 0.8
1847
- }
1214
+ "props": { "preset": "lose", "bus": "sfx", "volume": 0.8 }
1848
1215
  },
1849
1216
  {
1850
1217
  "name": "HUD",
1851
1218
  "type": "HudLayer",
1852
- "script": {
1853
- "name": "HudUpdater"
1854
- },
1219
+ "script": { "name": "HudUpdater" },
1855
1220
  "children": [
1856
1221
  {
1857
1222
  "name": "CoinLabel",
1858
1223
  "type": "UiText",
1859
- "props": {
1860
- "anchor": "topLeft",
1861
- "text": "◆ 0",
1862
- "size": 22,
1863
- "color": "#ffd166"
1864
- }
1224
+ "props": { "anchor": "topLeft", "text": "◆ 0", "size": 22, "color": "#ffd166" }
1865
1225
  },
1866
1226
  {
1867
1227
  "name": "HeartLabel",
1868
1228
  "type": "UiText",
1869
- "props": {
1870
- "anchor": "topLeft",
1871
- "text": "♥♥♥",
1872
- "size": 22,
1873
- "color": "#ff6b81"
1874
- }
1229
+ "props": { "anchor": "topLeft", "text": "♥♥♥", "size": 22, "color": "#ff6b81" }
1875
1230
  },
1876
1231
  {
1877
1232
  "name": "LivesLabel",
1878
1233
  "type": "UiText",
1879
- "props": {
1880
- "anchor": "topLeft",
1881
- "text": "x 3",
1882
- "size": 18,
1883
- "color": "#f4f4f4"
1884
- }
1234
+ "props": { "anchor": "topLeft", "text": "x 3", "size": 18, "color": "#f4f4f4" }
1885
1235
  },
1886
1236
  {
1887
1237
  "name": "Hint",
@@ -1899,199 +1249,41 @@
1899
1249
  {
1900
1250
  "name": "BannerLayer",
1901
1251
  "type": "HudLayer",
1902
- "children": [
1903
- {
1904
- "name": "Banner",
1905
- "type": "UiBanner",
1906
- "props": {
1907
- "size": 44
1908
- }
1909
- }
1910
- ]
1252
+ "children": [{ "name": "Banner", "type": "UiBanner", "props": { "size": 44 } }]
1911
1253
  }
1912
1254
  ],
1913
1255
  "uid": "n_d9t51gs0vhpnp2jj"
1914
1256
  },
1915
1257
  "connections": [
1916
- {
1917
- "signal": "collected",
1918
- "from": "Coins/Coin1",
1919
- "to": "/root",
1920
- "handler": "addScore"
1921
- },
1922
- {
1923
- "signal": "collected",
1924
- "from": "Coins/Coin2",
1925
- "to": "/root",
1926
- "handler": "addScore"
1927
- },
1928
- {
1929
- "signal": "collected",
1930
- "from": "Coins/Coin3",
1931
- "to": "/root",
1932
- "handler": "addScore"
1933
- },
1934
- {
1935
- "signal": "collected",
1936
- "from": "Coins/Coin4",
1937
- "to": "/root",
1938
- "handler": "addScore"
1939
- },
1940
- {
1941
- "signal": "collected",
1942
- "from": "Coins/Coin5",
1943
- "to": "/root",
1944
- "handler": "addScore"
1945
- },
1946
- {
1947
- "signal": "collected",
1948
- "from": "Coins/Coin6",
1949
- "to": "/root",
1950
- "handler": "addScore"
1951
- },
1952
- {
1953
- "signal": "collected",
1954
- "from": "Coins/Coin7",
1955
- "to": "/root",
1956
- "handler": "addScore"
1957
- },
1958
- {
1959
- "signal": "collected",
1960
- "from": "Coins/Coin8",
1961
- "to": "/root",
1962
- "handler": "addScore"
1963
- },
1964
- {
1965
- "signal": "collected",
1966
- "from": "Coins/Coin9",
1967
- "to": "/root",
1968
- "handler": "addScore"
1969
- },
1970
- {
1971
- "signal": "collected",
1972
- "from": "Coins/Coin10",
1973
- "to": "/root",
1974
- "handler": "addScore"
1975
- },
1976
- {
1977
- "signal": "collected",
1978
- "from": "Coins/Coin11",
1979
- "to": "/root",
1980
- "handler": "addScore"
1981
- },
1982
- {
1983
- "signal": "collected",
1984
- "from": "Coins/Coin12",
1985
- "to": "/root",
1986
- "handler": "addScore"
1987
- },
1988
- {
1989
- "signal": "collected",
1990
- "from": "Gem1",
1991
- "to": "/root",
1992
- "handler": "addScore"
1993
- },
1994
- {
1995
- "signal": "collected",
1996
- "from": "Gem2",
1997
- "to": "/root",
1998
- "handler": "addScore"
1999
- },
2000
- {
2001
- "signal": "collected",
2002
- "from": "Coins/Coin1",
2003
- "to": "SfxCoin",
2004
- "handler": "play"
2005
- },
2006
- {
2007
- "signal": "collected",
2008
- "from": "Coins/Coin2",
2009
- "to": "SfxCoin",
2010
- "handler": "play"
2011
- },
2012
- {
2013
- "signal": "collected",
2014
- "from": "Coins/Coin3",
2015
- "to": "SfxCoin",
2016
- "handler": "play"
2017
- },
2018
- {
2019
- "signal": "collected",
2020
- "from": "Coins/Coin4",
2021
- "to": "SfxCoin",
2022
- "handler": "play"
2023
- },
2024
- {
2025
- "signal": "collected",
2026
- "from": "Coins/Coin5",
2027
- "to": "SfxCoin",
2028
- "handler": "play"
2029
- },
2030
- {
2031
- "signal": "collected",
2032
- "from": "Coins/Coin6",
2033
- "to": "SfxCoin",
2034
- "handler": "play"
2035
- },
2036
- {
2037
- "signal": "collected",
2038
- "from": "Coins/Coin7",
2039
- "to": "SfxCoin",
2040
- "handler": "play"
2041
- },
2042
- {
2043
- "signal": "collected",
2044
- "from": "Coins/Coin8",
2045
- "to": "SfxCoin",
2046
- "handler": "play"
2047
- },
2048
- {
2049
- "signal": "collected",
2050
- "from": "Coins/Coin9",
2051
- "to": "SfxCoin",
2052
- "handler": "play"
2053
- },
2054
- {
2055
- "signal": "collected",
2056
- "from": "Coins/Coin10",
2057
- "to": "SfxCoin",
2058
- "handler": "play"
2059
- },
2060
- {
2061
- "signal": "collected",
2062
- "from": "Coins/Coin11",
2063
- "to": "SfxCoin",
2064
- "handler": "play"
2065
- },
2066
- {
2067
- "signal": "collected",
2068
- "from": "Coins/Coin12",
2069
- "to": "SfxCoin",
2070
- "handler": "play"
2071
- },
2072
- {
2073
- "signal": "collected",
2074
- "from": "Gem1",
2075
- "to": "SfxCheckpoint",
2076
- "handler": "play"
2077
- },
2078
- {
2079
- "signal": "collected",
2080
- "from": "Gem2",
2081
- "to": "SfxCheckpoint",
2082
- "handler": "play"
2083
- },
2084
- {
2085
- "signal": "won",
2086
- "from": "/root",
2087
- "to": "SfxWin",
2088
- "handler": "play"
2089
- },
2090
- {
2091
- "signal": "lost",
2092
- "from": "/root",
2093
- "to": "SfxLose",
2094
- "handler": "play"
2095
- }
1258
+ { "signal": "collected", "from": "Coins/Coin1", "to": "/root", "handler": "addScore" },
1259
+ { "signal": "collected", "from": "Coins/Coin2", "to": "/root", "handler": "addScore" },
1260
+ { "signal": "collected", "from": "Coins/Coin3", "to": "/root", "handler": "addScore" },
1261
+ { "signal": "collected", "from": "Coins/Coin4", "to": "/root", "handler": "addScore" },
1262
+ { "signal": "collected", "from": "Coins/Coin5", "to": "/root", "handler": "addScore" },
1263
+ { "signal": "collected", "from": "Coins/Coin6", "to": "/root", "handler": "addScore" },
1264
+ { "signal": "collected", "from": "Coins/Coin7", "to": "/root", "handler": "addScore" },
1265
+ { "signal": "collected", "from": "Coins/Coin8", "to": "/root", "handler": "addScore" },
1266
+ { "signal": "collected", "from": "Coins/Coin9", "to": "/root", "handler": "addScore" },
1267
+ { "signal": "collected", "from": "Coins/Coin10", "to": "/root", "handler": "addScore" },
1268
+ { "signal": "collected", "from": "Coins/Coin11", "to": "/root", "handler": "addScore" },
1269
+ { "signal": "collected", "from": "Coins/Coin12", "to": "/root", "handler": "addScore" },
1270
+ { "signal": "collected", "from": "Gem1", "to": "/root", "handler": "addScore" },
1271
+ { "signal": "collected", "from": "Gem2", "to": "/root", "handler": "addScore" },
1272
+ { "signal": "collected", "from": "Coins/Coin1", "to": "SfxCoin", "handler": "play" },
1273
+ { "signal": "collected", "from": "Coins/Coin2", "to": "SfxCoin", "handler": "play" },
1274
+ { "signal": "collected", "from": "Coins/Coin3", "to": "SfxCoin", "handler": "play" },
1275
+ { "signal": "collected", "from": "Coins/Coin4", "to": "SfxCoin", "handler": "play" },
1276
+ { "signal": "collected", "from": "Coins/Coin5", "to": "SfxCoin", "handler": "play" },
1277
+ { "signal": "collected", "from": "Coins/Coin6", "to": "SfxCoin", "handler": "play" },
1278
+ { "signal": "collected", "from": "Coins/Coin7", "to": "SfxCoin", "handler": "play" },
1279
+ { "signal": "collected", "from": "Coins/Coin8", "to": "SfxCoin", "handler": "play" },
1280
+ { "signal": "collected", "from": "Coins/Coin9", "to": "SfxCoin", "handler": "play" },
1281
+ { "signal": "collected", "from": "Coins/Coin10", "to": "SfxCoin", "handler": "play" },
1282
+ { "signal": "collected", "from": "Coins/Coin11", "to": "SfxCoin", "handler": "play" },
1283
+ { "signal": "collected", "from": "Coins/Coin12", "to": "SfxCoin", "handler": "play" },
1284
+ { "signal": "collected", "from": "Gem1", "to": "SfxCheckpoint", "handler": "play" },
1285
+ { "signal": "collected", "from": "Gem2", "to": "SfxCheckpoint", "handler": "play" },
1286
+ { "signal": "won", "from": "/root", "to": "SfxWin", "handler": "play" },
1287
+ { "signal": "lost", "from": "/root", "to": "SfxLose", "handler": "play" }
2096
1288
  ]
2097
1289
  }