@defold-typescript/library-types 0.22.0 → 0.24.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 (145) hide show
  1. package/api-doc/boom.json +3870 -0
  2. package/api-doc/{bridge.bridge.json → bridge.json} +754 -844
  3. package/api-doc/bzAnim.json +338 -0
  4. package/api-doc/decore.json +23 -23
  5. package/api-doc/defcon.json +150 -0
  6. package/api-doc/{defmath.defmath.json → defmath.json} +6 -46
  7. package/api-doc/defsave.json +518 -0
  8. package/api-doc/deftest.json +741 -0
  9. package/api-doc/{dicebag.dicebag.json → dicebag.json} +19 -1
  10. package/api-doc/druid.json +249 -1846
  11. package/api-doc/event.json +1074 -0
  12. package/api-doc/gooey.json +2050 -0
  13. package/api-doc/immutable.json +65 -0
  14. package/api-doc/in.accelerometer.json +75 -1
  15. package/api-doc/in.button.json +17 -10
  16. package/api-doc/in.cursor.json +26 -0
  17. package/api-doc/in.gesture.json +401 -6
  18. package/api-doc/in.keyboard.json +2 -0
  19. package/api-doc/in.mapper.json +12 -8
  20. package/api-doc/in.onscreen.json +61 -5
  21. package/api-doc/in.state.json +61 -13
  22. package/api-doc/in.textbox.json +23 -12
  23. package/api-doc/in.triggers.json +336 -0
  24. package/api-doc/lang.json +528 -0
  25. package/api-doc/{event.event.json → log.json} +96 -101
  26. package/api-doc/metrics.fps.json +61 -2
  27. package/api-doc/metrics.mem.json +61 -2
  28. package/api-doc/monarch.monarch.json +249 -7
  29. package/api-doc/monarch.transitions.easings.json +19 -26
  30. package/api-doc/monarch.transitions.gui.json +782 -79
  31. package/api-doc/nakama.engine.defold.json +31 -18
  32. package/api-doc/{nakama.nakama.json → nakama.json} +4752 -2554
  33. package/api-doc/nakama.util.log.json +32 -4
  34. package/api-doc/narrator.json +647 -0
  35. package/api-doc/openapi/nakama.nakama.json +7680 -0
  36. package/api-doc/orthographic.camera.json +96 -98
  37. package/api-doc/orthographic.json +602 -0
  38. package/api-doc/panthera.json +1183 -0
  39. package/api-doc/{persist.persist.json → persist.json} +26 -1
  40. package/api-doc/{platypus.platypus.json → platypus.json} +68 -14
  41. package/api-doc/proto.json +995 -0
  42. package/api-doc/{rendy.rendy.json → rendy.json} +46 -99
  43. package/api-doc/richtext.color.json +77 -0
  44. package/api-doc/richtext.richtext.json +375 -5
  45. package/api-doc/saver.saver.json +714 -263
  46. package/api-doc/saver.storage.json +283 -52
  47. package/api-doc/squid.json +846 -0
  48. package/api-doc/{starly.starly.json → starly.json} +1 -1
  49. package/api-doc/tweener.json +277 -0
  50. package/api-doc/{yagames.yagames.json → yagames.json} +784 -189
  51. package/api-doc/{zzfx.api.json → zzfx.json} +9 -9
  52. package/authored-targets.json +403 -0
  53. package/generated/{boom.boom.d.ts → boom.d.ts} +14 -0
  54. package/generated/bridge.d.ts +468 -0
  55. package/generated/{bzAnim.bzLibrary.d.ts → bzAnim.d.ts} +6 -0
  56. package/generated/decore.d.ts +37 -37
  57. package/generated/defcon.d.ts +43 -0
  58. package/generated/{defmath.defmath.d.ts → defmath.d.ts} +3 -2
  59. package/generated/defsave.d.ts +144 -0
  60. package/generated/{dicebag.dicebag.d.ts → dicebag.d.ts} +25 -0
  61. package/generated/druid.d.ts +198 -502
  62. package/generated/event.d.ts +318 -0
  63. package/generated/{gooey.gooey.d.ts → gooey.d.ts} +61 -6
  64. package/generated/immutable.d.ts +13 -0
  65. package/generated/in.onscreen.d.ts +5 -0
  66. package/generated/in.textbox.d.ts +4 -0
  67. package/generated/lang.d.ts +101 -0
  68. package/generated/log.d.ts +36 -0
  69. package/generated/metrics.fps.d.ts +19 -1
  70. package/generated/metrics.mem.d.ts +19 -1
  71. package/generated/monarch.monarch.d.ts +44 -1
  72. package/generated/monarch.transitions.easings.d.ts +0 -1
  73. package/generated/monarch.transitions.gui.d.ts +96 -12
  74. package/generated/nakama.d.ts +1158 -0
  75. package/generated/nakama.engine.defold.d.ts +3 -1
  76. package/generated/nakama.util.log.d.ts +6 -0
  77. package/generated/narrator.d.ts +121 -0
  78. package/generated/openapi/nakama.nakama.d.ts +884 -0
  79. package/generated/orthographic.camera.d.ts +24 -38
  80. package/generated/orthographic.d.ts +155 -0
  81. package/generated/panthera.d.ts +170 -0
  82. package/generated/{persist.persist.d.ts → persist.d.ts} +3 -0
  83. package/generated/{platypus.platypus.d.ts → platypus.d.ts} +9 -0
  84. package/generated/proto.d.ts +146 -0
  85. package/generated/{rendy.rendy.d.ts → rendy.d.ts} +33 -80
  86. package/generated/richtext.color.d.ts +15 -0
  87. package/generated/saver.saver.d.ts +289 -42
  88. package/generated/saver.storage.d.ts +79 -14
  89. package/generated/squid.d.ts +127 -0
  90. package/generated/tweener.d.ts +42 -0
  91. package/generated/{yagames.yagames.d.ts → yagames.d.ts} +151 -29
  92. package/generated/{zzfx.api.d.ts → zzfx.d.ts} +7 -0
  93. package/library-classification.json +0 -227
  94. package/library-targets.json +1 -284
  95. package/luals-targets.json +168 -1
  96. package/openapi-targets.json +17 -0
  97. package/package.json +9 -88
  98. package/script-api-targets.json +15 -0
  99. package/scripts/__snapshots__/parse-luals.test.ts.snap +504 -85
  100. package/scripts/apply-luals-overrides.ts +95 -0
  101. package/scripts/authored-parity.ts +718 -0
  102. package/scripts/emit-library-dts.ts +177 -19
  103. package/scripts/extract-api-doc.ts +189 -38
  104. package/scripts/fidelity-floor.ts +178 -0
  105. package/scripts/import-upstream-docs.ts +125 -0
  106. package/scripts/lower-api-doc.ts +69 -19
  107. package/scripts/luals-fidelity.ts +22 -10
  108. package/scripts/map-luals-types.ts +86 -22
  109. package/scripts/parse-lua-surface.ts +187 -0
  110. package/scripts/parse-luals.ts +473 -22
  111. package/scripts/parse-markdown-api.ts +247 -0
  112. package/scripts/parse-openapi-api.ts +313 -0
  113. package/scripts/sync-authored-types.ts +249 -0
  114. package/scripts/sync-library-types.ts +99 -3
  115. package/scripts/sync-luals-types.ts +29 -2
  116. package/scripts/sync-markdown-types.ts +761 -0
  117. package/scripts/sync-openapi-types.ts +308 -0
  118. package/scripts/sync-script-api-types.ts +367 -0
  119. package/api-doc/boom.boom.json +0 -26
  120. package/api-doc/bzAnim.bzLibrary.json +0 -156
  121. package/api-doc/defcon.console.json +0 -109
  122. package/api-doc/defsave.defsave.json +0 -175
  123. package/api-doc/deftest.deftest.json +0 -71
  124. package/api-doc/gooey.gooey.json +0 -963
  125. package/api-doc/immutable.immutable.json +0 -63
  126. package/api-doc/lang.lang.json +0 -411
  127. package/api-doc/log.log.json +0 -50
  128. package/api-doc/narrator.narrator.json +0 -150
  129. package/api-doc/proto.proto.json +0 -355
  130. package/api-doc/squid.squid.json +0 -660
  131. package/api-doc/tweener.tweener.json +0 -419
  132. package/generated/bridge.bridge.d.ts +0 -533
  133. package/generated/defcon.console.d.ts +0 -24
  134. package/generated/defsave.defsave.d.ts +0 -31
  135. package/generated/event.event.d.ts +0 -54
  136. package/generated/immutable.immutable.d.ts +0 -13
  137. package/generated/lang.lang.d.ts +0 -33
  138. package/generated/log.log.d.ts +0 -40
  139. package/generated/nakama.nakama.d.ts +0 -594
  140. package/generated/narrator.narrator.d.ts +0 -66
  141. package/generated/proto.proto.d.ts +0 -36
  142. package/generated/squid.squid.d.ts +0 -106
  143. package/generated/tweener.tweener.d.ts +0 -151
  144. /package/generated/{deftest.deftest.d.ts → deftest.d.ts} +0 -0
  145. /package/generated/{starly.starly.d.ts → starly.d.ts} +0 -0
@@ -0,0 +1,3870 @@
1
+ {
2
+ "info": {
3
+ "namespace": "boom",
4
+ "brief": "Boom is a game framework built on top of Defold.",
5
+ "description": "Boom is a game framework built on top of Defold."
6
+ },
7
+ "elements": [
8
+ {
9
+ "type": "FUNCTION",
10
+ "name": "boom",
11
+ "brief": "Start a boom game. Call this from your own game script",
12
+ "description": "Start a boom game. Call this from your own game script",
13
+ "parameters": [
14
+ {
15
+ "name": "game",
16
+ "doc": "Game loop function",
17
+ "types": [
18
+ "() => void"
19
+ ],
20
+ "is_optional": "False"
21
+ }
22
+ ],
23
+ "returnvalues": []
24
+ },
25
+ {
26
+ "type": "FUNCTION",
27
+ "name": "add",
28
+ "brief": "Add a game object with a set of components.",
29
+ "description": "Add a game object with a set of components.",
30
+ "parameters": [
31
+ {
32
+ "name": "comps",
33
+ "doc": "The components for the game object",
34
+ "types": [
35
+ "T"
36
+ ],
37
+ "is_optional": "False"
38
+ }
39
+ ],
40
+ "returnvalues": [
41
+ {
42
+ "name": "",
43
+ "doc": "The created game object",
44
+ "types": [
45
+ "BoomGameObject<T>"
46
+ ]
47
+ }
48
+ ],
49
+ "global": true
50
+ },
51
+ {
52
+ "type": "FUNCTION",
53
+ "name": "destroy",
54
+ "brief": "Destroy a game object and all of its components.",
55
+ "description": "Destroy a game object and all of its components.",
56
+ "parameters": [
57
+ {
58
+ "name": "object",
59
+ "doc": "The object to destroy",
60
+ "types": [
61
+ "BoomBlankGameObject & Partial<BoomComponent>"
62
+ ],
63
+ "is_optional": "False"
64
+ }
65
+ ],
66
+ "returnvalues": [],
67
+ "global": true
68
+ },
69
+ {
70
+ "type": "FUNCTION",
71
+ "name": "destroy_all",
72
+ "brief": "Destroy all game objects with a certain tag.",
73
+ "description": "Destroy all game objects with a certain tag.",
74
+ "parameters": [
75
+ {
76
+ "name": "tag",
77
+ "doc": "The tag to destroy or undefined to destroy all objects",
78
+ "types": [
79
+ "BoomTag"
80
+ ],
81
+ "is_optional": "True"
82
+ }
83
+ ],
84
+ "returnvalues": [],
85
+ "global": true
86
+ },
87
+ {
88
+ "type": "FUNCTION",
89
+ "name": "object",
90
+ "brief": "Get game object with specific id.",
91
+ "description": "Get game object with specific id.",
92
+ "parameters": [
93
+ {
94
+ "name": "id",
95
+ "doc": "",
96
+ "types": [
97
+ "string"
98
+ ],
99
+ "is_optional": "False"
100
+ }
101
+ ],
102
+ "returnvalues": [
103
+ {
104
+ "name": "",
105
+ "doc": "The object or undefined if it doesn't exist",
106
+ "types": [
107
+ "(BoomBlankGameObject & Partial<BoomComponent>) | undefined"
108
+ ]
109
+ }
110
+ ],
111
+ "global": true
112
+ },
113
+ {
114
+ "type": "FUNCTION",
115
+ "name": "objects",
116
+ "brief": "Get all game objects.",
117
+ "description": "Get all game objects.",
118
+ "parameters": [],
119
+ "returnvalues": [
120
+ {
121
+ "name": "",
122
+ "doc": "All game objects",
123
+ "types": [
124
+ "LuaSet<BoomBlankGameObject & Partial<BoomComponent>>"
125
+ ]
126
+ }
127
+ ],
128
+ "global": true
129
+ },
130
+ {
131
+ "type": "FUNCTION",
132
+ "name": "get",
133
+ "brief": "Get all game objects with the specified tag.",
134
+ "description": "Get all game objects with the specified tag.",
135
+ "parameters": [
136
+ {
137
+ "name": "tag",
138
+ "doc": "The tag to get objects for, undefined to get all objects",
139
+ "types": [
140
+ "BoomTag"
141
+ ],
142
+ "is_optional": "True"
143
+ }
144
+ ],
145
+ "returnvalues": [
146
+ {
147
+ "name": "",
148
+ "doc": "List of objects",
149
+ "types": [
150
+ "LuaSet<BoomBlankGameObject & Partial<BoomComponent>>"
151
+ ]
152
+ }
153
+ ],
154
+ "global": true
155
+ },
156
+ {
157
+ "type": "FUNCTION",
158
+ "name": "every",
159
+ "brief": "Run callback on every game object with a certain tag.",
160
+ "description": "Run callback on every game object with a certain tag.",
161
+ "parameters": [
162
+ {
163
+ "name": "tag",
164
+ "doc": "The tag that must exist on the object",
165
+ "types": [
166
+ "BoomTag"
167
+ ],
168
+ "is_optional": "False"
169
+ },
170
+ {
171
+ "name": "cb",
172
+ "doc": "The callback to run",
173
+ "types": [
174
+ "BoomObjectCallback"
175
+ ],
176
+ "is_optional": "False"
177
+ }
178
+ ],
179
+ "returnvalues": [],
180
+ "global": true
181
+ },
182
+ {
183
+ "type": "FUNCTION",
184
+ "name": "anchor",
185
+ "brief": "Anchor point for render.",
186
+ "description": "Anchor point for render.",
187
+ "parameters": [
188
+ {
189
+ "name": "anchor",
190
+ "doc": "",
191
+ "types": [
192
+ "'center' | 'topleft' | 'top' | 'topright' | 'left' | 'right' | 'bottomright' | 'bottom' | 'bottomleft'"
193
+ ],
194
+ "is_optional": "False"
195
+ }
196
+ ],
197
+ "returnvalues": [
198
+ {
199
+ "name": "",
200
+ "doc": "The anchor component",
201
+ "types": [
202
+ "AnchorComp"
203
+ ]
204
+ }
205
+ ],
206
+ "global": true
207
+ },
208
+ {
209
+ "type": "FUNCTION",
210
+ "name": "area",
211
+ "brief": "Create a collider area and enable collision detection.",
212
+ "description": "Create a collider area and enable collision detection.\nThis will create an area component which is used to describe an area\nwhich can collide with other area components.",
213
+ "parameters": [
214
+ {
215
+ "name": "options",
216
+ "doc": "Component options (shape, width, height, radius)",
217
+ "types": [
218
+ "{ width?: number; height?: number; radius?: number; shape?: 'auto' | 'rect' | 'circle' | 'auto-circle'; }"
219
+ ],
220
+ "is_optional": "True",
221
+ "fields": [
222
+ {
223
+ "name": "width",
224
+ "doc": "",
225
+ "types": [
226
+ "number"
227
+ ],
228
+ "is_optional": "True"
229
+ },
230
+ {
231
+ "name": "height",
232
+ "doc": "",
233
+ "types": [
234
+ "number"
235
+ ],
236
+ "is_optional": "True"
237
+ },
238
+ {
239
+ "name": "radius",
240
+ "doc": "",
241
+ "types": [
242
+ "number"
243
+ ],
244
+ "is_optional": "True"
245
+ },
246
+ {
247
+ "name": "shape",
248
+ "doc": "",
249
+ "types": [
250
+ "'auto' | 'rect' | 'circle' | 'auto-circle'"
251
+ ],
252
+ "is_optional": "True"
253
+ }
254
+ ]
255
+ }
256
+ ],
257
+ "returnvalues": [
258
+ {
259
+ "name": "",
260
+ "doc": "The area component",
261
+ "types": [
262
+ "AreaComp"
263
+ ]
264
+ }
265
+ ],
266
+ "global": true
267
+ },
268
+ {
269
+ "type": "FUNCTION",
270
+ "name": "body",
271
+ "brief": "Physical body that responds to gravity. Requires `AreaComp`",
272
+ "description": "Physical body that responds to gravity. Requires `AreaComp`\nand `PosComp` components on the game object. This also makes the object solid.",
273
+ "parameters": [
274
+ {
275
+ "name": "options",
276
+ "doc": "Component options (jump_force, is_static)",
277
+ "types": [
278
+ "{ jump_force?: number; is_static?: boolean; }"
279
+ ],
280
+ "is_optional": "True",
281
+ "fields": [
282
+ {
283
+ "name": "jump_force",
284
+ "doc": "",
285
+ "types": [
286
+ "number"
287
+ ],
288
+ "is_optional": "True"
289
+ },
290
+ {
291
+ "name": "is_static",
292
+ "doc": "",
293
+ "types": [
294
+ "boolean"
295
+ ],
296
+ "is_optional": "True"
297
+ }
298
+ ]
299
+ }
300
+ ],
301
+ "returnvalues": [
302
+ {
303
+ "name": "",
304
+ "doc": "The body component",
305
+ "types": [
306
+ "BodyComp"
307
+ ]
308
+ }
309
+ ],
310
+ "global": true
311
+ },
312
+ {
313
+ "type": "FUNCTION",
314
+ "name": "color",
315
+ "brief": "Control the color of the game object.",
316
+ "description": "Control the color of the game object.",
317
+ "parameters": [
318
+ {
319
+ "name": "r",
320
+ "doc": "Red (0.0 to 1.0)",
321
+ "types": [
322
+ "number"
323
+ ],
324
+ "is_optional": "True"
325
+ },
326
+ {
327
+ "name": "g",
328
+ "doc": "Green (0.0 to 1.0)",
329
+ "types": [
330
+ "number"
331
+ ],
332
+ "is_optional": "True"
333
+ },
334
+ {
335
+ "name": "b",
336
+ "doc": "Blue (0.0 to 1.0)",
337
+ "types": [
338
+ "number"
339
+ ],
340
+ "is_optional": "True"
341
+ },
342
+ {
343
+ "name": "a",
344
+ "doc": "Optional alpha (0.0 to 1.0)",
345
+ "types": [
346
+ "number"
347
+ ],
348
+ "is_optional": "True"
349
+ }
350
+ ],
351
+ "returnvalues": [
352
+ {
353
+ "name": "",
354
+ "doc": "The color component",
355
+ "types": [
356
+ "ColorComp"
357
+ ]
358
+ }
359
+ ],
360
+ "global": true
361
+ },
362
+ {
363
+ "type": "FUNCTION",
364
+ "name": "double_jump",
365
+ "brief": "Enables double jump. Requires body component.",
366
+ "description": "Enables double jump. Requires body component.",
367
+ "parameters": [
368
+ {
369
+ "name": "options",
370
+ "doc": "Component options",
371
+ "types": [
372
+ "{ num_jumps?: number; }"
373
+ ],
374
+ "is_optional": "True",
375
+ "fields": [
376
+ {
377
+ "name": "num_jumps",
378
+ "doc": "",
379
+ "types": [
380
+ "number"
381
+ ],
382
+ "is_optional": "True"
383
+ }
384
+ ]
385
+ }
386
+ ],
387
+ "returnvalues": [
388
+ {
389
+ "name": "",
390
+ "doc": "The double jump component",
391
+ "types": [
392
+ "DoubleJumpComp"
393
+ ]
394
+ }
395
+ ],
396
+ "global": true
397
+ },
398
+ {
399
+ "type": "FUNCTION",
400
+ "name": "fadein",
401
+ "brief": "Fade in game object visual components such as sprites.",
402
+ "description": "Fade in game object visual components such as sprites.",
403
+ "parameters": [
404
+ {
405
+ "name": "time",
406
+ "doc": "In seconds (default is 1)",
407
+ "types": [
408
+ "number"
409
+ ],
410
+ "is_optional": "True"
411
+ }
412
+ ],
413
+ "returnvalues": [
414
+ {
415
+ "name": "",
416
+ "doc": "The fade in component",
417
+ "types": [
418
+ "FadeInComp"
419
+ ]
420
+ }
421
+ ],
422
+ "global": true
423
+ },
424
+ {
425
+ "type": "FUNCTION",
426
+ "name": "fixed",
427
+ "brief": "Make object unaffected by camera.",
428
+ "description": "Make object unaffected by camera.",
429
+ "parameters": [],
430
+ "returnvalues": [
431
+ {
432
+ "name": "",
433
+ "doc": "The component",
434
+ "types": [
435
+ "FixedComp"
436
+ ]
437
+ }
438
+ ],
439
+ "global": true
440
+ },
441
+ {
442
+ "type": "FUNCTION",
443
+ "name": "health",
444
+ "brief": "Add health related logic to game object.",
445
+ "description": "Add health related logic to game object.",
446
+ "parameters": [
447
+ {
448
+ "name": "hp",
449
+ "doc": "Initial health (default is 1)",
450
+ "types": [
451
+ "number"
452
+ ],
453
+ "is_optional": "True"
454
+ }
455
+ ],
456
+ "returnvalues": [
457
+ {
458
+ "name": "",
459
+ "doc": "The health component",
460
+ "types": [
461
+ "HealthComp"
462
+ ]
463
+ }
464
+ ],
465
+ "global": true
466
+ },
467
+ {
468
+ "type": "FUNCTION",
469
+ "name": "lifespan",
470
+ "brief": "Destroy the game object after certain amount of time.",
471
+ "description": "Destroy the game object after certain amount of time.",
472
+ "parameters": [
473
+ {
474
+ "name": "time",
475
+ "doc": "In seconds",
476
+ "types": [
477
+ "number"
478
+ ],
479
+ "is_optional": "False"
480
+ },
481
+ {
482
+ "name": "options",
483
+ "doc": "Fade out duration (default 0 which is no fade out)",
484
+ "types": [
485
+ "{ fade?: number; }"
486
+ ],
487
+ "is_optional": "True",
488
+ "fields": [
489
+ {
490
+ "name": "fade",
491
+ "doc": "",
492
+ "types": [
493
+ "number"
494
+ ],
495
+ "is_optional": "True"
496
+ }
497
+ ]
498
+ }
499
+ ],
500
+ "returnvalues": [
501
+ {
502
+ "name": "",
503
+ "doc": "",
504
+ "types": [
505
+ "LifespanComp"
506
+ ]
507
+ }
508
+ ],
509
+ "global": true
510
+ },
511
+ {
512
+ "type": "FUNCTION",
513
+ "name": "move",
514
+ "brief": "Move a game object in a direction of travel and at a specific speed.",
515
+ "description": "Move a game object in a direction of travel and at a specific speed.",
516
+ "parameters": [
517
+ {
518
+ "name": "direction",
519
+ "doc": "Direction of movement",
520
+ "types": [
521
+ "Vec2"
522
+ ],
523
+ "is_optional": "False"
524
+ },
525
+ {
526
+ "name": "speed",
527
+ "doc": "Speed of movement in pixels per second",
528
+ "types": [
529
+ "number"
530
+ ],
531
+ "is_optional": "False"
532
+ }
533
+ ],
534
+ "returnvalues": [
535
+ {
536
+ "name": "",
537
+ "doc": "The created component",
538
+ "types": [
539
+ "MoveComp"
540
+ ]
541
+ }
542
+ ],
543
+ "global": true
544
+ },
545
+ {
546
+ "type": "FUNCTION",
547
+ "name": "offscreen",
548
+ "brief": "Control the behavior of a game object when it goes out of view.",
549
+ "description": "Control the behavior of a game object when it goes out of view.",
550
+ "parameters": [
551
+ {
552
+ "name": "options",
553
+ "doc": "Destroy when going offscreen",
554
+ "types": [
555
+ "{ distance?: number; destroy?: boolean; }"
556
+ ],
557
+ "is_optional": "True",
558
+ "fields": [
559
+ {
560
+ "name": "distance",
561
+ "doc": "",
562
+ "types": [
563
+ "number"
564
+ ],
565
+ "is_optional": "True"
566
+ },
567
+ {
568
+ "name": "destroy",
569
+ "doc": "",
570
+ "types": [
571
+ "boolean"
572
+ ],
573
+ "is_optional": "True"
574
+ }
575
+ ]
576
+ }
577
+ ],
578
+ "returnvalues": [
579
+ {
580
+ "name": "",
581
+ "doc": "The created component",
582
+ "types": [
583
+ "OffscreenComp"
584
+ ]
585
+ }
586
+ ],
587
+ "global": true
588
+ },
589
+ {
590
+ "type": "FUNCTION",
591
+ "name": "opacity",
592
+ "brief": "Control the opacity of a game object.",
593
+ "description": "Control the opacity of a game object.",
594
+ "parameters": [
595
+ {
596
+ "name": "value",
597
+ "doc": "The opacity from 0.0 to 1.0",
598
+ "types": [
599
+ "number"
600
+ ],
601
+ "is_optional": "False"
602
+ }
603
+ ],
604
+ "returnvalues": [
605
+ {
606
+ "name": "",
607
+ "doc": "The created component",
608
+ "types": [
609
+ "OpacityComp"
610
+ ]
611
+ }
612
+ ],
613
+ "global": true
614
+ },
615
+ {
616
+ "type": "FUNCTION",
617
+ "name": "pos",
618
+ "brief": "Control the position of a game object.",
619
+ "description": "Control the position of a game object.",
620
+ "parameters": [
621
+ {
622
+ "name": "x",
623
+ "doc": "",
624
+ "types": [
625
+ "number"
626
+ ],
627
+ "is_optional": "False"
628
+ },
629
+ {
630
+ "name": "y",
631
+ "doc": "",
632
+ "types": [
633
+ "number"
634
+ ],
635
+ "is_optional": "False"
636
+ }
637
+ ],
638
+ "returnvalues": [
639
+ {
640
+ "name": "",
641
+ "doc": "The created component",
642
+ "types": [
643
+ "PosComp"
644
+ ]
645
+ }
646
+ ],
647
+ "global": true
648
+ },
649
+ {
650
+ "type": "FUNCTION",
651
+ "name": "rotate",
652
+ "brief": "Apply rotation to the object.",
653
+ "description": "Apply rotation to the object.",
654
+ "parameters": [
655
+ {
656
+ "name": "angle",
657
+ "doc": "",
658
+ "types": [
659
+ "number"
660
+ ],
661
+ "is_optional": "False"
662
+ }
663
+ ],
664
+ "returnvalues": [
665
+ {
666
+ "name": "",
667
+ "doc": "The component",
668
+ "types": [
669
+ "RotateComp"
670
+ ]
671
+ }
672
+ ],
673
+ "global": true
674
+ },
675
+ {
676
+ "type": "FUNCTION",
677
+ "name": "scale",
678
+ "brief": "Apply a scale to the object.",
679
+ "description": "Apply a scale to the object.",
680
+ "parameters": [
681
+ {
682
+ "name": "x",
683
+ "doc": "defaults to 1",
684
+ "types": [
685
+ "number"
686
+ ],
687
+ "is_optional": "False"
688
+ },
689
+ {
690
+ "name": "y",
691
+ "doc": "defaults to x",
692
+ "types": [
693
+ "number"
694
+ ],
695
+ "is_optional": "True"
696
+ }
697
+ ],
698
+ "returnvalues": [
699
+ {
700
+ "name": "",
701
+ "doc": "The component",
702
+ "types": [
703
+ "ScaleComp"
704
+ ]
705
+ }
706
+ ],
707
+ "global": true
708
+ },
709
+ {
710
+ "type": "FUNCTION",
711
+ "name": "sprite",
712
+ "brief": "Render a sprite.",
713
+ "description": "Render a sprite.",
714
+ "parameters": [
715
+ {
716
+ "name": "anim",
717
+ "doc": "Animation or image to use",
718
+ "types": [
719
+ "string"
720
+ ],
721
+ "is_optional": "False"
722
+ },
723
+ {
724
+ "name": "options",
725
+ "doc": "Extra options (flip_x, flip_y, width, height)",
726
+ "types": [
727
+ "{ atlas?: string | Hash; flip_x?: boolean; flip_y?: boolean; width?: number; height?: number; }"
728
+ ],
729
+ "is_optional": "True",
730
+ "fields": [
731
+ {
732
+ "name": "atlas",
733
+ "doc": "",
734
+ "types": [
735
+ "string | Hash"
736
+ ],
737
+ "is_optional": "True"
738
+ },
739
+ {
740
+ "name": "flip_x",
741
+ "doc": "",
742
+ "types": [
743
+ "boolean"
744
+ ],
745
+ "is_optional": "True"
746
+ },
747
+ {
748
+ "name": "flip_y",
749
+ "doc": "",
750
+ "types": [
751
+ "boolean"
752
+ ],
753
+ "is_optional": "True"
754
+ },
755
+ {
756
+ "name": "width",
757
+ "doc": "",
758
+ "types": [
759
+ "number"
760
+ ],
761
+ "is_optional": "True"
762
+ },
763
+ {
764
+ "name": "height",
765
+ "doc": "",
766
+ "types": [
767
+ "number"
768
+ ],
769
+ "is_optional": "True"
770
+ }
771
+ ]
772
+ }
773
+ ],
774
+ "returnvalues": [
775
+ {
776
+ "name": "",
777
+ "doc": "",
778
+ "types": [
779
+ "SpriteComp"
780
+ ]
781
+ }
782
+ ],
783
+ "global": true
784
+ },
785
+ {
786
+ "type": "FUNCTION",
787
+ "name": "stay",
788
+ "brief": "Do not get destroyed on scene switch.",
789
+ "description": "Do not get destroyed on scene switch.",
790
+ "parameters": [],
791
+ "returnvalues": [
792
+ {
793
+ "name": "",
794
+ "doc": "The created component",
795
+ "types": [
796
+ "StayComp"
797
+ ]
798
+ }
799
+ ],
800
+ "global": true
801
+ },
802
+ {
803
+ "type": "FUNCTION",
804
+ "name": "text",
805
+ "brief": "Render text.",
806
+ "description": "Render text.",
807
+ "parameters": [
808
+ {
809
+ "name": "text",
810
+ "doc": "",
811
+ "types": [
812
+ "string"
813
+ ],
814
+ "is_optional": "False"
815
+ },
816
+ {
817
+ "name": "options",
818
+ "doc": "Text options (width, font, align)",
819
+ "types": [
820
+ "{ font?: string; align?: 'left' | 'right' | 'center'; width?: number; }"
821
+ ],
822
+ "is_optional": "True",
823
+ "fields": [
824
+ {
825
+ "name": "font",
826
+ "doc": "",
827
+ "types": [
828
+ "string"
829
+ ],
830
+ "is_optional": "True"
831
+ },
832
+ {
833
+ "name": "align",
834
+ "doc": "",
835
+ "types": [
836
+ "'left' | 'right' | 'center'"
837
+ ],
838
+ "is_optional": "True"
839
+ },
840
+ {
841
+ "name": "width",
842
+ "doc": "",
843
+ "types": [
844
+ "number"
845
+ ],
846
+ "is_optional": "True"
847
+ }
848
+ ]
849
+ }
850
+ ],
851
+ "returnvalues": [
852
+ {
853
+ "name": "",
854
+ "doc": "The created component",
855
+ "types": [
856
+ "TextComp"
857
+ ]
858
+ }
859
+ ],
860
+ "global": true
861
+ },
862
+ {
863
+ "type": "FUNCTION",
864
+ "name": "timer",
865
+ "brief": "Run certain action after some time.",
866
+ "description": "Run certain action after some time.",
867
+ "parameters": [
868
+ {
869
+ "name": "n",
870
+ "doc": "Number of seconds to wait",
871
+ "types": [
872
+ "number"
873
+ ],
874
+ "is_optional": "False"
875
+ },
876
+ {
877
+ "name": "fn",
878
+ "doc": "The function to call",
879
+ "types": [
880
+ "() => void"
881
+ ],
882
+ "is_optional": "False"
883
+ }
884
+ ],
885
+ "returnvalues": [
886
+ {
887
+ "name": "",
888
+ "doc": "The created component",
889
+ "types": [
890
+ "TimerComp"
891
+ ]
892
+ }
893
+ ],
894
+ "global": true
895
+ },
896
+ {
897
+ "type": "FUNCTION",
898
+ "name": "z",
899
+ "brief": "Determines the draw order for objects.",
900
+ "description": "Determines the draw order for objects.\nObject will be drawn on top if z value is bigger.",
901
+ "parameters": [
902
+ {
903
+ "name": "index",
904
+ "doc": "Z-value of the object",
905
+ "types": [
906
+ "number"
907
+ ],
908
+ "is_optional": "False"
909
+ }
910
+ ],
911
+ "returnvalues": [
912
+ {
913
+ "name": "",
914
+ "doc": "The created component",
915
+ "types": [
916
+ "ZComp"
917
+ ]
918
+ }
919
+ ],
920
+ "global": true
921
+ },
922
+ {
923
+ "type": "FUNCTION",
924
+ "name": "on_collide",
925
+ "brief": "Register an event that runs when two game objects collide.",
926
+ "description": "Register an event that runs when two game objects collide.",
927
+ "parameters": [
928
+ {
929
+ "name": "tag1",
930
+ "doc": "Tag which the first game object must have",
931
+ "types": [
932
+ "BoomTag"
933
+ ],
934
+ "is_optional": "False"
935
+ },
936
+ {
937
+ "name": "tag2",
938
+ "doc": "Optional tag which the second game object must have",
939
+ "types": [
940
+ "BoomTag | undefined"
941
+ ],
942
+ "is_optional": "False"
943
+ },
944
+ {
945
+ "name": "fn",
946
+ "doc": "Will receive (collision, cancel) as args",
947
+ "types": [
948
+ "(collision: BoomCollision, cancel: BoomCancelEvent) => void"
949
+ ],
950
+ "is_optional": "False"
951
+ }
952
+ ],
953
+ "returnvalues": [
954
+ {
955
+ "name": "",
956
+ "doc": "Cancel event function",
957
+ "types": [
958
+ "BoomCancelEvent"
959
+ ]
960
+ }
961
+ ],
962
+ "global": true
963
+ },
964
+ {
965
+ "type": "FUNCTION",
966
+ "name": "on_key_press",
967
+ "brief": "Register callback that runs when a certain key is pressed.",
968
+ "description": "Register callback that runs when a certain key is pressed.",
969
+ "parameters": [
970
+ {
971
+ "name": "key_id",
972
+ "doc": "The key that must be pressed or '*' for any key",
973
+ "types": [
974
+ "BoomKeyboardKey"
975
+ ],
976
+ "is_optional": "False"
977
+ },
978
+ {
979
+ "name": "cb",
980
+ "doc": "The callback",
981
+ "types": [
982
+ "BoomEventCallback"
983
+ ],
984
+ "is_optional": "False"
985
+ }
986
+ ],
987
+ "returnvalues": [
988
+ {
989
+ "name": "",
990
+ "doc": "Cancel callback",
991
+ "types": [
992
+ "BoomCancelEvent"
993
+ ]
994
+ }
995
+ ],
996
+ "global": true
997
+ },
998
+ {
999
+ "type": "FUNCTION",
1000
+ "name": "on_key_release",
1001
+ "brief": "Register callback that runs when a certain key is released.",
1002
+ "description": "Register callback that runs when a certain key is released.",
1003
+ "parameters": [
1004
+ {
1005
+ "name": "key_id",
1006
+ "doc": "The key that must be released or '*' for any key",
1007
+ "types": [
1008
+ "BoomKeyboardKey"
1009
+ ],
1010
+ "is_optional": "False"
1011
+ },
1012
+ {
1013
+ "name": "cb",
1014
+ "doc": "The callback",
1015
+ "types": [
1016
+ "BoomEventCallback"
1017
+ ],
1018
+ "is_optional": "False"
1019
+ }
1020
+ ],
1021
+ "returnvalues": [
1022
+ {
1023
+ "name": "",
1024
+ "doc": "Cancel callback",
1025
+ "types": [
1026
+ "BoomCancelEvent"
1027
+ ]
1028
+ }
1029
+ ],
1030
+ "global": true
1031
+ },
1032
+ {
1033
+ "type": "FUNCTION",
1034
+ "name": "on_click",
1035
+ "brief": "Set mouse click listener.",
1036
+ "description": "Set mouse click listener.",
1037
+ "parameters": [
1038
+ {
1039
+ "name": "tag",
1040
+ "doc": "Optional click on object with tag filter",
1041
+ "types": [
1042
+ "BoomTag"
1043
+ ],
1044
+ "is_optional": "False"
1045
+ },
1046
+ {
1047
+ "name": "cb",
1048
+ "doc": "Callback when mouse button is clicked",
1049
+ "types": [
1050
+ "BoomObjectCallback"
1051
+ ],
1052
+ "is_optional": "False"
1053
+ }
1054
+ ],
1055
+ "returnvalues": [
1056
+ {
1057
+ "name": "",
1058
+ "doc": "Cancel listener function",
1059
+ "types": [
1060
+ "BoomCancelEvent"
1061
+ ]
1062
+ }
1063
+ ],
1064
+ "global": true
1065
+ },
1066
+ {
1067
+ "type": "FUNCTION",
1068
+ "name": "on_click",
1069
+ "brief": "",
1070
+ "description": "",
1071
+ "parameters": [
1072
+ {
1073
+ "name": "cb",
1074
+ "doc": "",
1075
+ "types": [
1076
+ "BoomObjectCallback"
1077
+ ],
1078
+ "is_optional": "False"
1079
+ }
1080
+ ],
1081
+ "returnvalues": [
1082
+ {
1083
+ "name": "",
1084
+ "doc": "",
1085
+ "types": [
1086
+ "BoomCancelEvent"
1087
+ ]
1088
+ }
1089
+ ],
1090
+ "global": true
1091
+ },
1092
+ {
1093
+ "type": "FUNCTION",
1094
+ "name": "on_mouse_press",
1095
+ "brief": "Register callback that runs when a mouse button is pressed.",
1096
+ "description": "Register callback that runs when a mouse button is pressed.",
1097
+ "parameters": [
1098
+ {
1099
+ "name": "button",
1100
+ "doc": "Optional (`left`, `middle`, `right`, default is `left`)",
1101
+ "types": [
1102
+ "'left' | 'middle' | 'right'"
1103
+ ],
1104
+ "is_optional": "False"
1105
+ },
1106
+ {
1107
+ "name": "cb",
1108
+ "doc": "",
1109
+ "types": [
1110
+ "() => void"
1111
+ ],
1112
+ "is_optional": "False"
1113
+ }
1114
+ ],
1115
+ "returnvalues": [
1116
+ {
1117
+ "name": "",
1118
+ "doc": "Cancel callback",
1119
+ "types": [
1120
+ "BoomCancelEvent"
1121
+ ]
1122
+ }
1123
+ ],
1124
+ "global": true
1125
+ },
1126
+ {
1127
+ "type": "FUNCTION",
1128
+ "name": "on_mouse_press",
1129
+ "brief": "",
1130
+ "description": "",
1131
+ "parameters": [
1132
+ {
1133
+ "name": "cb",
1134
+ "doc": "",
1135
+ "types": [
1136
+ "() => void"
1137
+ ],
1138
+ "is_optional": "False"
1139
+ }
1140
+ ],
1141
+ "returnvalues": [
1142
+ {
1143
+ "name": "",
1144
+ "doc": "",
1145
+ "types": [
1146
+ "BoomCancelEvent"
1147
+ ]
1148
+ }
1149
+ ],
1150
+ "global": true
1151
+ },
1152
+ {
1153
+ "type": "FUNCTION",
1154
+ "name": "on_mouse_release",
1155
+ "brief": "Register callback that runs when a mouse button is released.",
1156
+ "description": "Register callback that runs when a mouse button is released.",
1157
+ "parameters": [
1158
+ {
1159
+ "name": "button",
1160
+ "doc": "Optional (`left`, `middle`, `right`, default is `left`)",
1161
+ "types": [
1162
+ "'left' | 'middle' | 'right'"
1163
+ ],
1164
+ "is_optional": "False"
1165
+ },
1166
+ {
1167
+ "name": "cb",
1168
+ "doc": "",
1169
+ "types": [
1170
+ "() => void"
1171
+ ],
1172
+ "is_optional": "False"
1173
+ }
1174
+ ],
1175
+ "returnvalues": [
1176
+ {
1177
+ "name": "",
1178
+ "doc": "Cancel callback",
1179
+ "types": [
1180
+ "BoomCancelEvent"
1181
+ ]
1182
+ }
1183
+ ],
1184
+ "global": true
1185
+ },
1186
+ {
1187
+ "type": "FUNCTION",
1188
+ "name": "on_mouse_release",
1189
+ "brief": "",
1190
+ "description": "",
1191
+ "parameters": [
1192
+ {
1193
+ "name": "cb",
1194
+ "doc": "",
1195
+ "types": [
1196
+ "() => void"
1197
+ ],
1198
+ "is_optional": "False"
1199
+ }
1200
+ ],
1201
+ "returnvalues": [
1202
+ {
1203
+ "name": "",
1204
+ "doc": "",
1205
+ "types": [
1206
+ "BoomCancelEvent"
1207
+ ]
1208
+ }
1209
+ ],
1210
+ "global": true
1211
+ },
1212
+ {
1213
+ "type": "FUNCTION",
1214
+ "name": "on_mouse_move",
1215
+ "brief": "Register callback that runs when the mouse is moved.",
1216
+ "description": "Register callback that runs when the mouse is moved.",
1217
+ "parameters": [
1218
+ {
1219
+ "name": "cb",
1220
+ "doc": "",
1221
+ "types": [
1222
+ "() => void"
1223
+ ],
1224
+ "is_optional": "False"
1225
+ }
1226
+ ],
1227
+ "returnvalues": [
1228
+ {
1229
+ "name": "",
1230
+ "doc": "Cancel callback",
1231
+ "types": [
1232
+ "BoomCancelEvent"
1233
+ ]
1234
+ }
1235
+ ],
1236
+ "global": true
1237
+ },
1238
+ {
1239
+ "type": "FUNCTION",
1240
+ "name": "on_update",
1241
+ "brief": "Run a function every frame. Register an event that runs every frame,",
1242
+ "description": "Run a function every frame. Register an event that runs every frame,\noptionally for all game objects with certain tag.",
1243
+ "parameters": [
1244
+ {
1245
+ "name": "tag",
1246
+ "doc": "Run event for all objects matching tag (optional)",
1247
+ "types": [
1248
+ "BoomTag"
1249
+ ],
1250
+ "is_optional": "False"
1251
+ },
1252
+ {
1253
+ "name": "fn",
1254
+ "doc": "The event function to call. Will receive object and cancel function.",
1255
+ "types": [
1256
+ "(object: BoomBlankGameObject & Partial<BoomComponent>, cancel: BoomCancelEvent) => void"
1257
+ ],
1258
+ "is_optional": "False"
1259
+ }
1260
+ ],
1261
+ "returnvalues": [],
1262
+ "global": true
1263
+ },
1264
+ {
1265
+ "type": "FUNCTION",
1266
+ "name": "on_update",
1267
+ "brief": "",
1268
+ "description": "",
1269
+ "parameters": [
1270
+ {
1271
+ "name": "fn",
1272
+ "doc": "",
1273
+ "types": [
1274
+ "(cancel: BoomCancelEvent) => void"
1275
+ ],
1276
+ "is_optional": "False"
1277
+ }
1278
+ ],
1279
+ "returnvalues": [],
1280
+ "global": true
1281
+ },
1282
+ {
1283
+ "type": "FUNCTION",
1284
+ "name": "add_level",
1285
+ "brief": "Construct a level based on symbols.",
1286
+ "description": "Construct a level based on symbols.",
1287
+ "parameters": [
1288
+ {
1289
+ "name": "map",
1290
+ "doc": "List of strings presenting horizontal rows of tiles",
1291
+ "types": [
1292
+ "string[] | LuaSet<string>"
1293
+ ],
1294
+ "is_optional": "False"
1295
+ },
1296
+ {
1297
+ "name": "options",
1298
+ "doc": "Level options (tile_width, tile_height, pos, tiles)",
1299
+ "types": [
1300
+ "{ tile_width: number; tile_height: number; pos?: Vec2; tiles: BoomTiles; }"
1301
+ ],
1302
+ "is_optional": "False",
1303
+ "fields": [
1304
+ {
1305
+ "name": "tile_width",
1306
+ "doc": "",
1307
+ "types": [
1308
+ "number"
1309
+ ],
1310
+ "is_optional": "False"
1311
+ },
1312
+ {
1313
+ "name": "tile_height",
1314
+ "doc": "",
1315
+ "types": [
1316
+ "number"
1317
+ ],
1318
+ "is_optional": "False"
1319
+ },
1320
+ {
1321
+ "name": "pos",
1322
+ "doc": "",
1323
+ "types": [
1324
+ "Vec2"
1325
+ ],
1326
+ "is_optional": "True"
1327
+ },
1328
+ {
1329
+ "name": "tiles",
1330
+ "doc": "",
1331
+ "types": [
1332
+ "BoomTiles"
1333
+ ],
1334
+ "is_optional": "False"
1335
+ }
1336
+ ]
1337
+ }
1338
+ ],
1339
+ "returnvalues": [
1340
+ {
1341
+ "name": "",
1342
+ "doc": "Game object with tiles as children",
1343
+ "types": [
1344
+ "BoomBlankGameObject & Partial<BoomComponent>"
1345
+ ]
1346
+ }
1347
+ ],
1348
+ "global": true
1349
+ },
1350
+ {
1351
+ "type": "FUNCTION",
1352
+ "name": "rand",
1353
+ "brief": "Get a random number. If called with no arguments the function returns a number between 0 and 1.",
1354
+ "description": "Get a random number. If called with no arguments the function returns a number between 0 and 1.\nIf called with a single argument `a` a number between 0 and `a` is returned.\nIf called with two arguments `a` and `b` a number between `a` and `b` is returned.",
1355
+ "parameters": [
1356
+ {
1357
+ "name": "a",
1358
+ "doc": "",
1359
+ "types": [
1360
+ "number"
1361
+ ],
1362
+ "is_optional": "True"
1363
+ },
1364
+ {
1365
+ "name": "b",
1366
+ "doc": "",
1367
+ "types": [
1368
+ "number"
1369
+ ],
1370
+ "is_optional": "True"
1371
+ }
1372
+ ],
1373
+ "returnvalues": [
1374
+ {
1375
+ "name": "",
1376
+ "doc": "Float number",
1377
+ "types": [
1378
+ "number"
1379
+ ]
1380
+ }
1381
+ ],
1382
+ "global": true
1383
+ },
1384
+ {
1385
+ "type": "FUNCTION",
1386
+ "name": "randi",
1387
+ "brief": "Same as `rand()` but floored.",
1388
+ "description": "Same as `rand()` but floored.\nIf called with two arguments `a` and `b` a number between `a` and `b` is returned.",
1389
+ "parameters": [
1390
+ {
1391
+ "name": "a",
1392
+ "doc": "",
1393
+ "types": [
1394
+ "number"
1395
+ ],
1396
+ "is_optional": "True"
1397
+ },
1398
+ {
1399
+ "name": "b",
1400
+ "doc": "",
1401
+ "types": [
1402
+ "number"
1403
+ ],
1404
+ "is_optional": "True"
1405
+ }
1406
+ ],
1407
+ "returnvalues": [
1408
+ {
1409
+ "name": "",
1410
+ "doc": "Integer number",
1411
+ "types": [
1412
+ "number"
1413
+ ]
1414
+ }
1415
+ ],
1416
+ "global": true
1417
+ },
1418
+ {
1419
+ "type": "FUNCTION",
1420
+ "name": "rgb",
1421
+ "brief": "Create a color.",
1422
+ "description": "Create a color.",
1423
+ "parameters": [
1424
+ {
1425
+ "name": "r",
1426
+ "doc": "Red component (0.0 to 1.0)",
1427
+ "types": [
1428
+ "number"
1429
+ ],
1430
+ "is_optional": "True"
1431
+ },
1432
+ {
1433
+ "name": "g",
1434
+ "doc": "Green component (0.0 to 1.0)",
1435
+ "types": [
1436
+ "number"
1437
+ ],
1438
+ "is_optional": "True"
1439
+ },
1440
+ {
1441
+ "name": "b",
1442
+ "doc": "Blue component (0.0 to 1.0)",
1443
+ "types": [
1444
+ "number"
1445
+ ],
1446
+ "is_optional": "True"
1447
+ },
1448
+ {
1449
+ "name": "a",
1450
+ "doc": "Alpha component (0.0 to 1.0)",
1451
+ "types": [
1452
+ "number"
1453
+ ],
1454
+ "is_optional": "True"
1455
+ }
1456
+ ],
1457
+ "returnvalues": [
1458
+ {
1459
+ "name": "",
1460
+ "doc": "The created color",
1461
+ "types": [
1462
+ "ColorComp"
1463
+ ]
1464
+ }
1465
+ ],
1466
+ "global": true
1467
+ },
1468
+ {
1469
+ "type": "VARIABLE",
1470
+ "name": "rgb.RED",
1471
+ "brief": "Red color. rgb(1, 0, 0, 1)",
1472
+ "description": "Red color. rgb(1, 0, 0, 1)",
1473
+ "types": [
1474
+ "ColorComp"
1475
+ ],
1476
+ "global": true
1477
+ },
1478
+ {
1479
+ "type": "VARIABLE",
1480
+ "name": "rgb.GREEN",
1481
+ "brief": "Green color. rgb(0, 1, 0, 1)",
1482
+ "description": "Green color. rgb(0, 1, 0, 1)",
1483
+ "types": [
1484
+ "ColorComp"
1485
+ ],
1486
+ "global": true
1487
+ },
1488
+ {
1489
+ "type": "VARIABLE",
1490
+ "name": "rgb.BLUE",
1491
+ "brief": "Blue color. rgb(0, 0, 1, 1)",
1492
+ "description": "Blue color. rgb(0, 0, 1, 1)",
1493
+ "types": [
1494
+ "ColorComp"
1495
+ ],
1496
+ "global": true
1497
+ },
1498
+ {
1499
+ "type": "VARIABLE",
1500
+ "name": "rgb.BLACK",
1501
+ "brief": "Black color. rgb(0, 0, 0, 1)",
1502
+ "description": "Black color. rgb(0, 0, 0, 1)",
1503
+ "types": [
1504
+ "ColorComp"
1505
+ ],
1506
+ "global": true
1507
+ },
1508
+ {
1509
+ "type": "VARIABLE",
1510
+ "name": "rgb.WHITE",
1511
+ "brief": "White color. rgb(1, 1, 1, 1)",
1512
+ "description": "White color. rgb(1, 1, 1, 1)",
1513
+ "types": [
1514
+ "ColorComp"
1515
+ ],
1516
+ "global": true
1517
+ },
1518
+ {
1519
+ "type": "FUNCTION",
1520
+ "name": "rgb.from_hex",
1521
+ "brief": "Create color from a hex string.",
1522
+ "description": "Create color from a hex string.",
1523
+ "parameters": [
1524
+ {
1525
+ "name": "hex",
1526
+ "doc": "Hex string in RGB, RGBA, RRGGBB or RRGGBBAA format (with optional initial #).",
1527
+ "types": [
1528
+ "string"
1529
+ ],
1530
+ "is_optional": "False"
1531
+ }
1532
+ ],
1533
+ "returnvalues": [
1534
+ {
1535
+ "name": "",
1536
+ "doc": "The created color.",
1537
+ "types": [
1538
+ "ColorComp"
1539
+ ]
1540
+ }
1541
+ ],
1542
+ "global": true
1543
+ },
1544
+ {
1545
+ "type": "VARIABLE",
1546
+ "name": "RED",
1547
+ "brief": "Red color. rgb(1, 0, 0, 1)",
1548
+ "description": "Red color. rgb(1, 0, 0, 1)",
1549
+ "types": [
1550
+ "ColorComp"
1551
+ ],
1552
+ "global": true
1553
+ },
1554
+ {
1555
+ "type": "VARIABLE",
1556
+ "name": "GREEN",
1557
+ "brief": "Green color. rgb(0, 1, 0, 1)",
1558
+ "description": "Green color. rgb(0, 1, 0, 1)",
1559
+ "types": [
1560
+ "ColorComp"
1561
+ ],
1562
+ "global": true
1563
+ },
1564
+ {
1565
+ "type": "VARIABLE",
1566
+ "name": "BLUE",
1567
+ "brief": "Blue color. rgb(0, 0, 1, 1)",
1568
+ "description": "Blue color. rgb(0, 0, 1, 1)",
1569
+ "types": [
1570
+ "ColorComp"
1571
+ ],
1572
+ "global": true
1573
+ },
1574
+ {
1575
+ "type": "VARIABLE",
1576
+ "name": "BLACK",
1577
+ "brief": "Black color. rgb(0, 0, 0, 1)",
1578
+ "description": "Black color. rgb(0, 0, 0, 1)",
1579
+ "types": [
1580
+ "ColorComp"
1581
+ ],
1582
+ "global": true
1583
+ },
1584
+ {
1585
+ "type": "VARIABLE",
1586
+ "name": "WHITE",
1587
+ "brief": "White color. rgb(1, 1, 1, 1)",
1588
+ "description": "White color. rgb(1, 1, 1, 1)",
1589
+ "types": [
1590
+ "ColorComp"
1591
+ ],
1592
+ "global": true
1593
+ },
1594
+ {
1595
+ "type": "FUNCTION",
1596
+ "name": "from_hex",
1597
+ "brief": "Create color from a hex string.",
1598
+ "description": "Create color from a hex string.",
1599
+ "parameters": [
1600
+ {
1601
+ "name": "hex",
1602
+ "doc": "Hex string in RGB, RGBA, RRGGBB or RRGGBBAA format (with optional initial #).",
1603
+ "types": [
1604
+ "string"
1605
+ ],
1606
+ "is_optional": "False"
1607
+ }
1608
+ ],
1609
+ "returnvalues": [
1610
+ {
1611
+ "name": "",
1612
+ "doc": "The created color",
1613
+ "types": [
1614
+ "ColorComp"
1615
+ ]
1616
+ }
1617
+ ],
1618
+ "global": true
1619
+ },
1620
+ {
1621
+ "type": "FUNCTION",
1622
+ "name": "tween",
1623
+ "brief": "Tween a value from one to another.",
1624
+ "description": "Tween a value from one to another.\nThe transition will happen over a certain duration using a specific easing function.",
1625
+ "parameters": [
1626
+ {
1627
+ "name": "from",
1628
+ "doc": "Start value",
1629
+ "types": [
1630
+ "number"
1631
+ ],
1632
+ "is_optional": "False"
1633
+ },
1634
+ {
1635
+ "name": "to",
1636
+ "doc": "End value",
1637
+ "types": [
1638
+ "number"
1639
+ ],
1640
+ "is_optional": "False"
1641
+ },
1642
+ {
1643
+ "name": "duration",
1644
+ "doc": "Time in seconds to go from start to end value",
1645
+ "types": [
1646
+ "number"
1647
+ ],
1648
+ "is_optional": "False"
1649
+ },
1650
+ {
1651
+ "name": "easing",
1652
+ "doc": "Which easing algorithm to use (default EASING_LINEAR)",
1653
+ "types": [
1654
+ "BoomEasing | undefined"
1655
+ ],
1656
+ "is_optional": "False"
1657
+ },
1658
+ {
1659
+ "name": "set_value",
1660
+ "doc": "Function to call when the value has changed",
1661
+ "types": [
1662
+ "(endValue: number) => void"
1663
+ ],
1664
+ "is_optional": "False"
1665
+ }
1666
+ ],
1667
+ "returnvalues": [
1668
+ {
1669
+ "name": "",
1670
+ "doc": "A tween object",
1671
+ "types": [
1672
+ "Tween"
1673
+ ]
1674
+ }
1675
+ ],
1676
+ "global": true
1677
+ },
1678
+ {
1679
+ "type": "FUNCTION",
1680
+ "name": "tween",
1681
+ "brief": "",
1682
+ "description": "",
1683
+ "parameters": [
1684
+ {
1685
+ "name": "from",
1686
+ "doc": "",
1687
+ "types": [
1688
+ "Vec2"
1689
+ ],
1690
+ "is_optional": "False"
1691
+ },
1692
+ {
1693
+ "name": "to",
1694
+ "doc": "",
1695
+ "types": [
1696
+ "Vec2"
1697
+ ],
1698
+ "is_optional": "False"
1699
+ },
1700
+ {
1701
+ "name": "duration",
1702
+ "doc": "",
1703
+ "types": [
1704
+ "number"
1705
+ ],
1706
+ "is_optional": "False"
1707
+ },
1708
+ {
1709
+ "name": "easing",
1710
+ "doc": "",
1711
+ "types": [
1712
+ "BoomEasing | undefined"
1713
+ ],
1714
+ "is_optional": "False"
1715
+ },
1716
+ {
1717
+ "name": "set_value",
1718
+ "doc": "",
1719
+ "types": [
1720
+ "(endValue: Vec2) => void"
1721
+ ],
1722
+ "is_optional": "False"
1723
+ }
1724
+ ],
1725
+ "returnvalues": [
1726
+ {
1727
+ "name": "",
1728
+ "doc": "",
1729
+ "types": [
1730
+ "Tween"
1731
+ ]
1732
+ }
1733
+ ],
1734
+ "global": true
1735
+ },
1736
+ {
1737
+ "type": "FUNCTION",
1738
+ "name": "vec2",
1739
+ "brief": "Create a Vec2.",
1740
+ "description": "Create a Vec2.",
1741
+ "parameters": [
1742
+ {
1743
+ "name": "x",
1744
+ "doc": "Horizontal position",
1745
+ "types": [
1746
+ "number"
1747
+ ],
1748
+ "is_optional": "True"
1749
+ },
1750
+ {
1751
+ "name": "y",
1752
+ "doc": "Vertical position",
1753
+ "types": [
1754
+ "number"
1755
+ ],
1756
+ "is_optional": "True"
1757
+ }
1758
+ ],
1759
+ "returnvalues": [
1760
+ {
1761
+ "name": "",
1762
+ "doc": "The created Vec2",
1763
+ "types": [
1764
+ "Vec2"
1765
+ ]
1766
+ }
1767
+ ],
1768
+ "global": true
1769
+ },
1770
+ {
1771
+ "type": "VARIABLE",
1772
+ "name": "vec2.UP",
1773
+ "brief": "UP vector Vec2(0, 1)",
1774
+ "description": "UP vector Vec2(0, 1)",
1775
+ "types": [
1776
+ "Vec2"
1777
+ ],
1778
+ "global": true
1779
+ },
1780
+ {
1781
+ "type": "VARIABLE",
1782
+ "name": "vec2.RIGHT",
1783
+ "brief": "RIGHT vector Vec2(1, 0)",
1784
+ "description": "RIGHT vector Vec2(1, 0)",
1785
+ "types": [
1786
+ "Vec2"
1787
+ ],
1788
+ "global": true
1789
+ },
1790
+ {
1791
+ "type": "VARIABLE",
1792
+ "name": "vec2.DOWN",
1793
+ "brief": "DOWN vector Vec2(0, -1)",
1794
+ "description": "DOWN vector Vec2(0, -1)",
1795
+ "types": [
1796
+ "Vec2"
1797
+ ],
1798
+ "global": true
1799
+ },
1800
+ {
1801
+ "type": "VARIABLE",
1802
+ "name": "vec2.LEFT",
1803
+ "brief": "LEFT vector Vec2(-1, 0)",
1804
+ "description": "LEFT vector Vec2(-1, 0)",
1805
+ "types": [
1806
+ "Vec2"
1807
+ ],
1808
+ "global": true
1809
+ },
1810
+ {
1811
+ "type": "VARIABLE",
1812
+ "name": "UP",
1813
+ "brief": "UP vector Vec2(0, 1)",
1814
+ "description": "UP vector Vec2(0, 1)",
1815
+ "types": [
1816
+ "Vec2"
1817
+ ],
1818
+ "global": true
1819
+ },
1820
+ {
1821
+ "type": "VARIABLE",
1822
+ "name": "RIGHT",
1823
+ "brief": "RIGHT vector Vec2(1, 0)",
1824
+ "description": "RIGHT vector Vec2(1, 0)",
1825
+ "types": [
1826
+ "Vec2"
1827
+ ],
1828
+ "global": true
1829
+ },
1830
+ {
1831
+ "type": "VARIABLE",
1832
+ "name": "DOWN",
1833
+ "brief": "DOWN vector Vec2(0, -1)",
1834
+ "description": "DOWN vector Vec2(0, -1)",
1835
+ "types": [
1836
+ "Vec2"
1837
+ ],
1838
+ "global": true
1839
+ },
1840
+ {
1841
+ "type": "VARIABLE",
1842
+ "name": "LEFT",
1843
+ "brief": "LEFT vector Vec2(-1, 0)",
1844
+ "description": "LEFT vector Vec2(-1, 0)",
1845
+ "types": [
1846
+ "Vec2"
1847
+ ],
1848
+ "global": true
1849
+ },
1850
+ {
1851
+ "type": "FUNCTION",
1852
+ "name": "scene",
1853
+ "brief": "Create a scene.",
1854
+ "description": "Create a scene.",
1855
+ "parameters": [
1856
+ {
1857
+ "name": "id",
1858
+ "doc": "Unique id of the scene",
1859
+ "types": [
1860
+ "string"
1861
+ ],
1862
+ "is_optional": "False"
1863
+ },
1864
+ {
1865
+ "name": "fn",
1866
+ "doc": "The scene code",
1867
+ "types": [
1868
+ "(...args: unknown[]) => void"
1869
+ ],
1870
+ "is_optional": "False"
1871
+ }
1872
+ ],
1873
+ "returnvalues": [],
1874
+ "global": true
1875
+ },
1876
+ {
1877
+ "type": "FUNCTION",
1878
+ "name": "show",
1879
+ "brief": "Show a scene.",
1880
+ "description": "Show a scene.",
1881
+ "parameters": [
1882
+ {
1883
+ "name": "id",
1884
+ "doc": "Id of the scene to show",
1885
+ "types": [
1886
+ "string"
1887
+ ],
1888
+ "is_optional": "False"
1889
+ },
1890
+ {
1891
+ "name": "args",
1892
+ "doc": "Additional arguments to pass to the scene function",
1893
+ "types": [
1894
+ "unknown[]"
1895
+ ],
1896
+ "is_optional": "False"
1897
+ }
1898
+ ],
1899
+ "returnvalues": [],
1900
+ "global": true
1901
+ },
1902
+ {
1903
+ "type": "FUNCTION",
1904
+ "name": "wait",
1905
+ "brief": "Run a callback after a certain number of seconds.",
1906
+ "description": "Run a callback after a certain number of seconds.",
1907
+ "parameters": [
1908
+ {
1909
+ "name": "seconds",
1910
+ "doc": "Number of seconds to wait",
1911
+ "types": [
1912
+ "number"
1913
+ ],
1914
+ "is_optional": "False"
1915
+ },
1916
+ {
1917
+ "name": "cb",
1918
+ "doc": "Function to call",
1919
+ "types": [
1920
+ "() => void"
1921
+ ],
1922
+ "is_optional": "False"
1923
+ }
1924
+ ],
1925
+ "returnvalues": [
1926
+ {
1927
+ "name": "",
1928
+ "doc": "Call to cancel the timer",
1929
+ "types": [
1930
+ "BoomCancelEvent"
1931
+ ]
1932
+ }
1933
+ ],
1934
+ "global": true
1935
+ },
1936
+ {
1937
+ "type": "FUNCTION",
1938
+ "name": "loop",
1939
+ "brief": "Run a callback repeatedly with a certain interval.",
1940
+ "description": "Run a callback repeatedly with a certain interval.",
1941
+ "parameters": [
1942
+ {
1943
+ "name": "seconds",
1944
+ "doc": "Interval between calls",
1945
+ "types": [
1946
+ "number"
1947
+ ],
1948
+ "is_optional": "False"
1949
+ },
1950
+ {
1951
+ "name": "cb",
1952
+ "doc": "Function to call",
1953
+ "types": [
1954
+ "() => void"
1955
+ ],
1956
+ "is_optional": "False"
1957
+ }
1958
+ ],
1959
+ "returnvalues": [
1960
+ {
1961
+ "name": "",
1962
+ "doc": "Call to cancel the timer",
1963
+ "types": [
1964
+ "BoomCancelEvent"
1965
+ ]
1966
+ }
1967
+ ],
1968
+ "global": true
1969
+ },
1970
+ {
1971
+ "type": "FUNCTION",
1972
+ "name": "is_key_down",
1973
+ "brief": "Check if a certain key is down.",
1974
+ "description": "Check if a certain key is down.",
1975
+ "parameters": [
1976
+ {
1977
+ "name": "key_id",
1978
+ "doc": "The key that must be down, or undefined for any key",
1979
+ "types": [
1980
+ "BoomKeyboardKey"
1981
+ ],
1982
+ "is_optional": "True"
1983
+ }
1984
+ ],
1985
+ "returnvalues": [
1986
+ {
1987
+ "name": "",
1988
+ "doc": "True if down",
1989
+ "types": [
1990
+ "boolean"
1991
+ ]
1992
+ }
1993
+ ],
1994
+ "global": true
1995
+ },
1996
+ {
1997
+ "type": "FUNCTION",
1998
+ "name": "mouse_pos",
1999
+ "brief": "Get mouse position (screen coordinates).",
2000
+ "description": "Get mouse position (screen coordinates).",
2001
+ "parameters": [],
2002
+ "returnvalues": [
2003
+ {
2004
+ "name": "",
2005
+ "doc": "Mouse position",
2006
+ "types": [
2007
+ "Vec2"
2008
+ ]
2009
+ }
2010
+ ],
2011
+ "global": true
2012
+ },
2013
+ {
2014
+ "type": "FUNCTION",
2015
+ "name": "cam_pos",
2016
+ "brief": "Get or set camera position.",
2017
+ "description": "Get or set camera position.",
2018
+ "parameters": [
2019
+ {
2020
+ "name": "x",
2021
+ "doc": "",
2022
+ "types": [
2023
+ "number | Vec2"
2024
+ ],
2025
+ "is_optional": "False"
2026
+ },
2027
+ {
2028
+ "name": "y",
2029
+ "doc": "",
2030
+ "types": [
2031
+ "number"
2032
+ ],
2033
+ "is_optional": "True"
2034
+ }
2035
+ ],
2036
+ "returnvalues": [],
2037
+ "global": true
2038
+ },
2039
+ {
2040
+ "type": "FUNCTION",
2041
+ "name": "cam_pos",
2042
+ "brief": "",
2043
+ "description": "",
2044
+ "parameters": [],
2045
+ "returnvalues": [
2046
+ {
2047
+ "name": "",
2048
+ "doc": "",
2049
+ "types": [
2050
+ "Vec2"
2051
+ ]
2052
+ }
2053
+ ],
2054
+ "global": true
2055
+ },
2056
+ {
2057
+ "type": "FUNCTION",
2058
+ "name": "cam_rot",
2059
+ "brief": "Get or set camera rotation.",
2060
+ "description": "Get or set camera rotation.",
2061
+ "parameters": [
2062
+ {
2063
+ "name": "angle",
2064
+ "doc": "The angle to set or undefined to get current rotation",
2065
+ "types": [
2066
+ "number"
2067
+ ],
2068
+ "is_optional": "False"
2069
+ }
2070
+ ],
2071
+ "returnvalues": [],
2072
+ "global": true
2073
+ },
2074
+ {
2075
+ "type": "FUNCTION",
2076
+ "name": "cam_rot",
2077
+ "brief": "",
2078
+ "description": "",
2079
+ "parameters": [],
2080
+ "returnvalues": [
2081
+ {
2082
+ "name": "",
2083
+ "doc": "",
2084
+ "types": [
2085
+ "number"
2086
+ ]
2087
+ }
2088
+ ],
2089
+ "global": true
2090
+ },
2091
+ {
2092
+ "type": "FUNCTION",
2093
+ "name": "cam_zoom",
2094
+ "brief": "Get or set the camera zoom.",
2095
+ "description": "Get or set the camera zoom.",
2096
+ "parameters": [
2097
+ {
2098
+ "name": "zoom",
2099
+ "doc": "The zoom to set or undefined to get the current zoom.",
2100
+ "types": [
2101
+ "number"
2102
+ ],
2103
+ "is_optional": "False"
2104
+ }
2105
+ ],
2106
+ "returnvalues": [],
2107
+ "global": true
2108
+ },
2109
+ {
2110
+ "type": "FUNCTION",
2111
+ "name": "cam_zoom",
2112
+ "brief": "",
2113
+ "description": "",
2114
+ "parameters": [],
2115
+ "returnvalues": [
2116
+ {
2117
+ "name": "",
2118
+ "doc": "",
2119
+ "types": [
2120
+ "number"
2121
+ ]
2122
+ }
2123
+ ],
2124
+ "global": true
2125
+ },
2126
+ {
2127
+ "type": "FUNCTION",
2128
+ "name": "to_screen",
2129
+ "brief": "Transform a point from world position to screen position.",
2130
+ "description": "Transform a point from world position to screen position.",
2131
+ "parameters": [
2132
+ {
2133
+ "name": "p",
2134
+ "doc": "Point",
2135
+ "types": [
2136
+ "Vec2"
2137
+ ],
2138
+ "is_optional": "False"
2139
+ }
2140
+ ],
2141
+ "returnvalues": [
2142
+ {
2143
+ "name": "",
2144
+ "doc": "Screen position",
2145
+ "types": [
2146
+ "Vec2"
2147
+ ]
2148
+ }
2149
+ ],
2150
+ "global": true
2151
+ },
2152
+ {
2153
+ "type": "FUNCTION",
2154
+ "name": "to_world",
2155
+ "brief": "Transform a point from screen position to world position.",
2156
+ "description": "Transform a point from screen position to world position.",
2157
+ "parameters": [
2158
+ {
2159
+ "name": "p",
2160
+ "doc": "Point",
2161
+ "types": [
2162
+ "Vec2"
2163
+ ],
2164
+ "is_optional": "False"
2165
+ }
2166
+ ],
2167
+ "returnvalues": [
2168
+ {
2169
+ "name": "",
2170
+ "doc": "World position",
2171
+ "types": [
2172
+ "Vec2"
2173
+ ]
2174
+ }
2175
+ ],
2176
+ "global": true
2177
+ },
2178
+ {
2179
+ "type": "FUNCTION",
2180
+ "name": "get_gravity",
2181
+ "brief": "Get gravity.",
2182
+ "description": "Get gravity.",
2183
+ "parameters": [],
2184
+ "returnvalues": [
2185
+ {
2186
+ "name": "",
2187
+ "doc": "The gravity in pixels per seconds",
2188
+ "types": [
2189
+ "number"
2190
+ ]
2191
+ }
2192
+ ],
2193
+ "global": true
2194
+ },
2195
+ {
2196
+ "type": "FUNCTION",
2197
+ "name": "set_gravity",
2198
+ "brief": "Set gravity.",
2199
+ "description": "Set gravity.",
2200
+ "parameters": [
2201
+ {
2202
+ "name": "gravity",
2203
+ "doc": "Gravity in pixels per seconds",
2204
+ "types": [
2205
+ "number"
2206
+ ],
2207
+ "is_optional": "False"
2208
+ }
2209
+ ],
2210
+ "returnvalues": [],
2211
+ "global": true
2212
+ },
2213
+ {
2214
+ "type": "FUNCTION",
2215
+ "name": "width",
2216
+ "brief": "Get screen width.",
2217
+ "description": "Get screen width.",
2218
+ "parameters": [],
2219
+ "returnvalues": [
2220
+ {
2221
+ "name": "",
2222
+ "doc": "Width of screen",
2223
+ "types": [
2224
+ "number"
2225
+ ]
2226
+ }
2227
+ ],
2228
+ "global": true
2229
+ },
2230
+ {
2231
+ "type": "FUNCTION",
2232
+ "name": "height",
2233
+ "brief": "Get screen height.",
2234
+ "description": "Get screen height.",
2235
+ "parameters": [],
2236
+ "returnvalues": [
2237
+ {
2238
+ "name": "",
2239
+ "doc": "Height of screen",
2240
+ "types": [
2241
+ "number"
2242
+ ]
2243
+ }
2244
+ ],
2245
+ "global": true
2246
+ },
2247
+ {
2248
+ "type": "FUNCTION",
2249
+ "name": "center",
2250
+ "brief": "Get screen center position.",
2251
+ "description": "Get screen center position.",
2252
+ "parameters": [],
2253
+ "returnvalues": [
2254
+ {
2255
+ "name": "",
2256
+ "doc": "Center of screen",
2257
+ "types": [
2258
+ "Vec2"
2259
+ ]
2260
+ }
2261
+ ],
2262
+ "global": true
2263
+ },
2264
+ {
2265
+ "type": "FUNCTION",
2266
+ "name": "dt",
2267
+ "brief": "Get the delta time.",
2268
+ "description": "Get the delta time.",
2269
+ "parameters": [],
2270
+ "returnvalues": [
2271
+ {
2272
+ "name": "",
2273
+ "doc": "Delta time",
2274
+ "types": [
2275
+ "number"
2276
+ ]
2277
+ }
2278
+ ],
2279
+ "global": true
2280
+ },
2281
+ {
2282
+ "type": "FUNCTION",
2283
+ "name": "time",
2284
+ "brief": "Get time since start.",
2285
+ "description": "Get time since start.",
2286
+ "parameters": [],
2287
+ "returnvalues": [
2288
+ {
2289
+ "name": "",
2290
+ "doc": "Time since start in seconds",
2291
+ "types": [
2292
+ "number"
2293
+ ]
2294
+ }
2295
+ ],
2296
+ "global": true
2297
+ },
2298
+ {
2299
+ "type": "TYPEDEF",
2300
+ "name": "BoomBlankGameObject",
2301
+ "functions": [
2302
+ {
2303
+ "type": "FUNCTION",
2304
+ "name": "add",
2305
+ "brief": "Add a game object as a child of this game object",
2306
+ "description": "Add a game object as a child of this game object\nby composing it with components.",
2307
+ "parameters": [
2308
+ {
2309
+ "name": "comps",
2310
+ "doc": "The game object components",
2311
+ "types": [
2312
+ "T"
2313
+ ],
2314
+ "is_optional": "False"
2315
+ }
2316
+ ],
2317
+ "returnvalues": [
2318
+ {
2319
+ "name": "",
2320
+ "doc": "The game object",
2321
+ "types": [
2322
+ "BoomGameObject<T>"
2323
+ ]
2324
+ }
2325
+ ]
2326
+ },
2327
+ {
2328
+ "type": "FUNCTION",
2329
+ "name": "destroy",
2330
+ "brief": "Destroy this game object.",
2331
+ "description": "Destroy this game object.",
2332
+ "parameters": [],
2333
+ "returnvalues": []
2334
+ },
2335
+ {
2336
+ "type": "FUNCTION",
2337
+ "name": "is",
2338
+ "brief": "Check if there is a certain tag on this game object.",
2339
+ "description": "Check if there is a certain tag on this game object.",
2340
+ "parameters": [
2341
+ {
2342
+ "name": "tag",
2343
+ "doc": "The tag to check",
2344
+ "types": [
2345
+ "BoomTag"
2346
+ ],
2347
+ "is_optional": "False"
2348
+ }
2349
+ ],
2350
+ "returnvalues": [
2351
+ {
2352
+ "name": "",
2353
+ "doc": "Returns true if the tag exists on the game object",
2354
+ "types": [
2355
+ "boolean"
2356
+ ]
2357
+ }
2358
+ ]
2359
+ },
2360
+ {
2361
+ "type": "FUNCTION",
2362
+ "name": "use",
2363
+ "brief": "Add a component to this game object, or a component-less tag.",
2364
+ "description": "Add a component to this game object, or a component-less tag.",
2365
+ "parameters": [
2366
+ {
2367
+ "name": "comp",
2368
+ "doc": "The component or tag to use",
2369
+ "types": [
2370
+ "BoomTag | BoomComponent"
2371
+ ],
2372
+ "is_optional": "False"
2373
+ }
2374
+ ],
2375
+ "returnvalues": []
2376
+ },
2377
+ {
2378
+ "type": "FUNCTION",
2379
+ "name": "unuse",
2380
+ "brief": "Remove a component from this game object.",
2381
+ "description": "Remove a component from this game object.",
2382
+ "parameters": [
2383
+ {
2384
+ "name": "tag",
2385
+ "doc": "The component tag to remove",
2386
+ "types": [
2387
+ "BoomTag"
2388
+ ],
2389
+ "is_optional": "False"
2390
+ }
2391
+ ],
2392
+ "returnvalues": []
2393
+ },
2394
+ {
2395
+ "type": "FUNCTION",
2396
+ "name": "c",
2397
+ "brief": "Get state for a specific component on this game object.",
2398
+ "description": "Get state for a specific component on this game object.",
2399
+ "parameters": [
2400
+ {
2401
+ "name": "tag",
2402
+ "doc": "The component to get state for",
2403
+ "types": [
2404
+ "BoomTag"
2405
+ ],
2406
+ "is_optional": "False"
2407
+ }
2408
+ ],
2409
+ "returnvalues": [
2410
+ {
2411
+ "name": "",
2412
+ "doc": "The component state",
2413
+ "types": [
2414
+ "BoomBlankGameObject & Partial<BoomComponent> & { readonly tag: BoomTag; readonly __url?: Url; }"
2415
+ ]
2416
+ }
2417
+ ]
2418
+ }
2419
+ ],
2420
+ "properties": [
2421
+ {
2422
+ "name": "dirty",
2423
+ "brief": "",
2424
+ "description": "",
2425
+ "types": [
2426
+ "boolean"
2427
+ ]
2428
+ },
2429
+ {
2430
+ "name": "children",
2431
+ "brief": "",
2432
+ "description": "",
2433
+ "types": [
2434
+ "LuaMap"
2435
+ ]
2436
+ },
2437
+ {
2438
+ "name": "comps",
2439
+ "brief": "",
2440
+ "description": "",
2441
+ "types": [
2442
+ "LuaMap<string | number, LuaMap<string, unknown>>"
2443
+ ]
2444
+ },
2445
+ {
2446
+ "name": "properties",
2447
+ "brief": "",
2448
+ "description": "",
2449
+ "types": [
2450
+ "LuaMap<string, unknown>"
2451
+ ]
2452
+ },
2453
+ {
2454
+ "name": "id",
2455
+ "brief": "",
2456
+ "description": "",
2457
+ "types": [
2458
+ "Hash"
2459
+ ]
2460
+ },
2461
+ {
2462
+ "name": "ids",
2463
+ "brief": "",
2464
+ "description": "",
2465
+ "types": [
2466
+ "LuaMap<Hash, Hash>"
2467
+ ]
2468
+ },
2469
+ {
2470
+ "name": "tags",
2471
+ "brief": "",
2472
+ "description": "",
2473
+ "types": [
2474
+ "LuaMap<string | Hash, boolean>"
2475
+ ]
2476
+ },
2477
+ {
2478
+ "name": "pre_update",
2479
+ "brief": "",
2480
+ "description": "",
2481
+ "types": [
2482
+ "LuaSet<Function>"
2483
+ ],
2484
+ "is_optional": "True"
2485
+ },
2486
+ {
2487
+ "name": "update",
2488
+ "brief": "",
2489
+ "description": "",
2490
+ "types": [
2491
+ "LuaSet<Function>"
2492
+ ],
2493
+ "is_optional": "True"
2494
+ },
2495
+ {
2496
+ "name": "post_update",
2497
+ "brief": "",
2498
+ "description": "",
2499
+ "types": [
2500
+ "LuaSet<Function>"
2501
+ ],
2502
+ "is_optional": "True"
2503
+ }
2504
+ ],
2505
+ "global": true
2506
+ },
2507
+ {
2508
+ "type": "TYPEDEF",
2509
+ "name": "AnchorComp",
2510
+ "properties": [
2511
+ {
2512
+ "name": "tag",
2513
+ "brief": "Pushed into the `tags` map when added to a game object.",
2514
+ "description": "Pushed into the `tags` map when added to a game object.",
2515
+ "types": [
2516
+ "'anchor'"
2517
+ ]
2518
+ },
2519
+ {
2520
+ "name": "anchor",
2521
+ "brief": "Anchor point.",
2522
+ "description": "Anchor point.",
2523
+ "types": [
2524
+ "Vec2"
2525
+ ]
2526
+ }
2527
+ ],
2528
+ "global": true
2529
+ },
2530
+ {
2531
+ "type": "TYPEDEF",
2532
+ "name": "AreaComp",
2533
+ "functions": [
2534
+ {
2535
+ "type": "FUNCTION",
2536
+ "name": "get_collisions",
2537
+ "brief": "Get all collisions currently happening for this component.",
2538
+ "description": "Get all collisions currently happening for this component.",
2539
+ "parameters": [],
2540
+ "returnvalues": [
2541
+ {
2542
+ "name": "",
2543
+ "doc": "Set of collisions",
2544
+ "types": [
2545
+ "LuaSet<BoomCollision>"
2546
+ ]
2547
+ }
2548
+ ]
2549
+ },
2550
+ {
2551
+ "type": "FUNCTION",
2552
+ "name": "check_collision",
2553
+ "brief": "Check collision between this component and another object.",
2554
+ "description": "Check collision between this component and another object.",
2555
+ "parameters": [
2556
+ {
2557
+ "name": "other_object",
2558
+ "doc": "The game object to check collisions with.",
2559
+ "types": [
2560
+ "BoomBlankGameObject & Partial<BoomComponent>"
2561
+ ],
2562
+ "is_optional": "False"
2563
+ }
2564
+ ],
2565
+ "returnvalues": [
2566
+ {
2567
+ "name": "",
2568
+ "doc": "boolean (`true` if colliding with the other object), Collision data",
2569
+ "types": [
2570
+ "LuaMultiReturn<[ boolean, BoomCollision ]>"
2571
+ ]
2572
+ }
2573
+ ]
2574
+ },
2575
+ {
2576
+ "type": "FUNCTION",
2577
+ "name": "on_collide",
2578
+ "brief": "Register event listener when this component is colliding.",
2579
+ "description": "Register event listener when this component is colliding.",
2580
+ "parameters": [
2581
+ {
2582
+ "name": "tag",
2583
+ "doc": "Optional tag which colliding object must have, undefined for all collisions",
2584
+ "types": [
2585
+ "BoomTag | undefined"
2586
+ ],
2587
+ "is_optional": "False"
2588
+ },
2589
+ {
2590
+ "name": "cb",
2591
+ "doc": "Function to call when collision is detected",
2592
+ "types": [
2593
+ "(data: BoomCollision) => void"
2594
+ ],
2595
+ "is_optional": "False"
2596
+ }
2597
+ ],
2598
+ "returnvalues": []
2599
+ },
2600
+ {
2601
+ "type": "FUNCTION",
2602
+ "name": "on_click",
2603
+ "brief": "Register event listener when this component is clicked.",
2604
+ "description": "Register event listener when this component is clicked.",
2605
+ "parameters": [
2606
+ {
2607
+ "name": "cb",
2608
+ "doc": "Function to call when clicked",
2609
+ "types": [
2610
+ "BoomObjectCallback"
2611
+ ],
2612
+ "is_optional": "False"
2613
+ }
2614
+ ],
2615
+ "returnvalues": []
2616
+ },
2617
+ {
2618
+ "type": "FUNCTION",
2619
+ "name": "has_point",
2620
+ "brief": "Check if a point is within the area of this component.",
2621
+ "description": "Check if a point is within the area of this component.",
2622
+ "parameters": [
2623
+ {
2624
+ "name": "point",
2625
+ "doc": "The point to check",
2626
+ "types": [
2627
+ "undefined"
2628
+ ],
2629
+ "is_optional": "False"
2630
+ }
2631
+ ],
2632
+ "returnvalues": [
2633
+ {
2634
+ "name": "",
2635
+ "doc": "`true` if point is within area",
2636
+ "types": [
2637
+ "boolean"
2638
+ ]
2639
+ }
2640
+ ]
2641
+ }
2642
+ ],
2643
+ "properties": [
2644
+ {
2645
+ "name": "tag",
2646
+ "brief": "Pushed into the `tags` map when added to a game object.",
2647
+ "description": "Pushed into the `tags` map when added to a game object.",
2648
+ "types": [
2649
+ "'area'"
2650
+ ]
2651
+ },
2652
+ {
2653
+ "name": "area_url",
2654
+ "brief": "Url of the collision object used by the area.",
2655
+ "description": "Url of the collision object used by the area.\nUndefined on the first frame that the object is created.",
2656
+ "types": [
2657
+ "Url | undefined"
2658
+ ]
2659
+ },
2660
+ {
2661
+ "name": "init",
2662
+ "brief": "",
2663
+ "description": "",
2664
+ "types": [
2665
+ "() => void"
2666
+ ],
2667
+ "is_optional": "True"
2668
+ },
2669
+ {
2670
+ "name": "pre_update",
2671
+ "brief": "",
2672
+ "description": "",
2673
+ "types": [
2674
+ "() => void"
2675
+ ],
2676
+ "is_optional": "True"
2677
+ },
2678
+ {
2679
+ "name": "update",
2680
+ "brief": "",
2681
+ "description": "",
2682
+ "types": [
2683
+ "(dt: number) => void"
2684
+ ],
2685
+ "is_optional": "True"
2686
+ },
2687
+ {
2688
+ "name": "destroy",
2689
+ "brief": "",
2690
+ "description": "",
2691
+ "types": [
2692
+ "() => void"
2693
+ ],
2694
+ "is_optional": "True"
2695
+ }
2696
+ ],
2697
+ "global": true
2698
+ },
2699
+ {
2700
+ "type": "TYPEDEF",
2701
+ "name": "BodyComp",
2702
+ "functions": [
2703
+ {
2704
+ "type": "FUNCTION",
2705
+ "name": "jump",
2706
+ "brief": "Add upward force.",
2707
+ "description": "Add upward force.",
2708
+ "parameters": [
2709
+ {
2710
+ "name": "force",
2711
+ "doc": "The upward force to apply",
2712
+ "types": [
2713
+ "number"
2714
+ ],
2715
+ "is_optional": "False"
2716
+ }
2717
+ ],
2718
+ "returnvalues": []
2719
+ }
2720
+ ],
2721
+ "properties": [
2722
+ {
2723
+ "name": "tag",
2724
+ "brief": "Pushed into the `tags` map when added to a game object.",
2725
+ "description": "Pushed into the `tags` map when added to a game object.",
2726
+ "types": [
2727
+ "'body'"
2728
+ ]
2729
+ },
2730
+ {
2731
+ "name": "is_jumping",
2732
+ "brief": "If the body is jumping (velocity is pointing up).",
2733
+ "description": "If the body is jumping (velocity is pointing up).",
2734
+ "types": [
2735
+ "boolean"
2736
+ ]
2737
+ },
2738
+ {
2739
+ "name": "is_grounded",
2740
+ "brief": "If the body is in contact with ground.",
2741
+ "description": "If the body is in contact with ground.",
2742
+ "types": [
2743
+ "boolean"
2744
+ ]
2745
+ },
2746
+ {
2747
+ "name": "is_falling",
2748
+ "brief": "If the body is falling (velocity is pointing down).",
2749
+ "description": "If the body is falling (velocity is pointing down).",
2750
+ "types": [
2751
+ "boolean"
2752
+ ]
2753
+ },
2754
+ {
2755
+ "name": "jump_force",
2756
+ "brief": "The upward velocity applied to the body when jumping.",
2757
+ "description": "The upward velocity applied to the body when jumping.",
2758
+ "types": [
2759
+ "number"
2760
+ ]
2761
+ },
2762
+ {
2763
+ "name": "is_static",
2764
+ "brief": "If the body is static and not affected by gravity.",
2765
+ "description": "If the body is static and not affected by gravity.",
2766
+ "types": [
2767
+ "boolean"
2768
+ ]
2769
+ },
2770
+ {
2771
+ "name": "update",
2772
+ "brief": "",
2773
+ "description": "",
2774
+ "types": [
2775
+ "(dt: number) => void"
2776
+ ],
2777
+ "is_optional": "True"
2778
+ },
2779
+ {
2780
+ "name": "destroy",
2781
+ "brief": "",
2782
+ "description": "",
2783
+ "types": [
2784
+ "() => void"
2785
+ ],
2786
+ "is_optional": "True"
2787
+ },
2788
+ {
2789
+ "name": "init",
2790
+ "brief": "",
2791
+ "description": "",
2792
+ "types": [
2793
+ "() => void"
2794
+ ],
2795
+ "is_optional": "True"
2796
+ },
2797
+ {
2798
+ "name": "pre_update",
2799
+ "brief": "",
2800
+ "description": "",
2801
+ "types": [
2802
+ "() => void"
2803
+ ],
2804
+ "is_optional": "True"
2805
+ }
2806
+ ],
2807
+ "global": true
2808
+ },
2809
+ {
2810
+ "type": "TYPEDEF",
2811
+ "name": "ColorComp",
2812
+ "properties": [
2813
+ {
2814
+ "name": "tag",
2815
+ "brief": "Pushed into the `tags` map when added to a game object.",
2816
+ "description": "Pushed into the `tags` map when added to a game object.",
2817
+ "types": [
2818
+ "'color'"
2819
+ ]
2820
+ },
2821
+ {
2822
+ "name": "color",
2823
+ "brief": "Current color.",
2824
+ "description": "Current color.",
2825
+ "types": [
2826
+ "{ readonly darken: (n: number) => ColorComp; readonly invert: () => ColorComp; readonly clone: () => ColorComp; readonly lighten: (n: number) => ColorComp; r: number; g: number; b: number; a: number; }"
2827
+ ],
2828
+ "fields": [
2829
+ {
2830
+ "name": "darken",
2831
+ "doc": "Darkens the color.",
2832
+ "types": [
2833
+ "(n: number) => ColorComp"
2834
+ ],
2835
+ "is_optional": "False"
2836
+ },
2837
+ {
2838
+ "name": "invert",
2839
+ "doc": "Invert the color.",
2840
+ "types": [
2841
+ "() => ColorComp"
2842
+ ],
2843
+ "is_optional": "False"
2844
+ },
2845
+ {
2846
+ "name": "clone",
2847
+ "doc": "Clone the color.",
2848
+ "types": [
2849
+ "() => ColorComp"
2850
+ ],
2851
+ "is_optional": "False"
2852
+ },
2853
+ {
2854
+ "name": "lighten",
2855
+ "doc": "Lighten the color.",
2856
+ "types": [
2857
+ "(n: number) => ColorComp"
2858
+ ],
2859
+ "is_optional": "False"
2860
+ },
2861
+ {
2862
+ "name": "r",
2863
+ "doc": "The red color component. (0.0 to 1.0).",
2864
+ "types": [
2865
+ "number"
2866
+ ],
2867
+ "is_optional": "False"
2868
+ },
2869
+ {
2870
+ "name": "g",
2871
+ "doc": "The green color component. (0.0 to 1.0).",
2872
+ "types": [
2873
+ "number"
2874
+ ],
2875
+ "is_optional": "False"
2876
+ },
2877
+ {
2878
+ "name": "b",
2879
+ "doc": "The blue color component. (0.0 to 1.0).",
2880
+ "types": [
2881
+ "number"
2882
+ ],
2883
+ "is_optional": "False"
2884
+ },
2885
+ {
2886
+ "name": "a",
2887
+ "doc": "The alpha (tranparency) of the color. (0.0 to 1.0).",
2888
+ "types": [
2889
+ "number"
2890
+ ],
2891
+ "is_optional": "False"
2892
+ }
2893
+ ]
2894
+ }
2895
+ ],
2896
+ "global": true
2897
+ },
2898
+ {
2899
+ "type": "TYPEDEF",
2900
+ "name": "DoubleJumpComp",
2901
+ "functions": [
2902
+ {
2903
+ "type": "FUNCTION",
2904
+ "name": "double_jump",
2905
+ "brief": "Performs double jump (the initial jump only happens if player is grounded).",
2906
+ "description": "Performs double jump (the initial jump only happens if player is grounded).",
2907
+ "parameters": [
2908
+ {
2909
+ "name": "force",
2910
+ "doc": "The upward force to apply",
2911
+ "types": [
2912
+ "number"
2913
+ ],
2914
+ "is_optional": "False"
2915
+ }
2916
+ ],
2917
+ "returnvalues": []
2918
+ }
2919
+ ],
2920
+ "properties": [
2921
+ {
2922
+ "name": "tag",
2923
+ "brief": "Pushed into the `tags` map when added to a game object.",
2924
+ "description": "Pushed into the `tags` map when added to a game object.",
2925
+ "types": [
2926
+ "'double_jump'"
2927
+ ]
2928
+ },
2929
+ {
2930
+ "name": "num_jumps",
2931
+ "brief": "Maximum number of jumps.",
2932
+ "description": "Maximum number of jumps.",
2933
+ "types": [
2934
+ "number"
2935
+ ]
2936
+ },
2937
+ {
2938
+ "name": "init",
2939
+ "brief": "",
2940
+ "description": "",
2941
+ "types": [
2942
+ "() => void"
2943
+ ],
2944
+ "is_optional": "True"
2945
+ }
2946
+ ],
2947
+ "global": true
2948
+ },
2949
+ {
2950
+ "type": "TYPEDEF",
2951
+ "name": "FadeInComp",
2952
+ "properties": [
2953
+ {
2954
+ "name": "tag",
2955
+ "brief": "Pushed into the `tags` map when added to a game object.",
2956
+ "description": "Pushed into the `tags` map when added to a game object.",
2957
+ "types": [
2958
+ "'fadein'"
2959
+ ]
2960
+ },
2961
+ {
2962
+ "name": "init",
2963
+ "brief": "",
2964
+ "description": "",
2965
+ "types": [
2966
+ "() => void"
2967
+ ],
2968
+ "is_optional": "True"
2969
+ }
2970
+ ],
2971
+ "global": true
2972
+ },
2973
+ {
2974
+ "type": "TYPEDEF",
2975
+ "name": "FixedComp",
2976
+ "properties": [
2977
+ {
2978
+ "name": "tag",
2979
+ "brief": "Pushed into the `tags` map when added to a game object.",
2980
+ "description": "Pushed into the `tags` map when added to a game object.",
2981
+ "types": [
2982
+ "'fixed'"
2983
+ ]
2984
+ }
2985
+ ],
2986
+ "global": true
2987
+ },
2988
+ {
2989
+ "type": "TYPEDEF",
2990
+ "name": "HealthComp",
2991
+ "functions": [
2992
+ {
2993
+ "type": "FUNCTION",
2994
+ "name": "on_heal",
2995
+ "brief": "Register an event that runs when `heal()` is called.",
2996
+ "description": "Register an event that runs when `heal()` is called.",
2997
+ "parameters": [
2998
+ {
2999
+ "name": "cb",
3000
+ "doc": "Function to call",
3001
+ "types": [
3002
+ "(cancel: BoomCancelEvent) => void"
3003
+ ],
3004
+ "is_optional": "False"
3005
+ }
3006
+ ],
3007
+ "returnvalues": []
3008
+ },
3009
+ {
3010
+ "type": "FUNCTION",
3011
+ "name": "on_hurt",
3012
+ "brief": "Register an event that runs when `hurt()` is called.",
3013
+ "description": "Register an event that runs when `hurt()` is called.",
3014
+ "parameters": [
3015
+ {
3016
+ "name": "cb",
3017
+ "doc": "Function to call",
3018
+ "types": [
3019
+ "(cancel: BoomCancelEvent) => void"
3020
+ ],
3021
+ "is_optional": "False"
3022
+ }
3023
+ ],
3024
+ "returnvalues": []
3025
+ },
3026
+ {
3027
+ "type": "FUNCTION",
3028
+ "name": "on_death",
3029
+ "brief": "Register an event that runs when hp is 0 or less.",
3030
+ "description": "Register an event that runs when hp is 0 or less.",
3031
+ "parameters": [
3032
+ {
3033
+ "name": "cb",
3034
+ "doc": "Function to call",
3035
+ "types": [
3036
+ "(cancel: BoomCancelEvent) => void"
3037
+ ],
3038
+ "is_optional": "False"
3039
+ }
3040
+ ],
3041
+ "returnvalues": []
3042
+ },
3043
+ {
3044
+ "type": "FUNCTION",
3045
+ "name": "heal",
3046
+ "brief": "Increase hp. Will trigger `on_heal`.",
3047
+ "description": "Increase hp. Will trigger `on_heal`.",
3048
+ "parameters": [
3049
+ {
3050
+ "name": "n",
3051
+ "doc": "Amount to increase",
3052
+ "types": [
3053
+ "number"
3054
+ ],
3055
+ "is_optional": "False"
3056
+ }
3057
+ ],
3058
+ "returnvalues": []
3059
+ },
3060
+ {
3061
+ "type": "FUNCTION",
3062
+ "name": "hurt",
3063
+ "brief": "Decrease hp. Will trigger `on_hurt`.",
3064
+ "description": "Decrease hp. Will trigger `on_hurt`.",
3065
+ "parameters": [
3066
+ {
3067
+ "name": "n",
3068
+ "doc": "Amount to decrease",
3069
+ "types": [
3070
+ "number"
3071
+ ],
3072
+ "is_optional": "False"
3073
+ }
3074
+ ],
3075
+ "returnvalues": []
3076
+ }
3077
+ ],
3078
+ "properties": [
3079
+ {
3080
+ "name": "tag",
3081
+ "brief": "Pushed into the `tags` map when added to a game object.",
3082
+ "description": "Pushed into the `tags` map when added to a game object.",
3083
+ "types": [
3084
+ "'health'"
3085
+ ]
3086
+ },
3087
+ {
3088
+ "name": "hp",
3089
+ "brief": "Current hp.",
3090
+ "description": "Current hp.",
3091
+ "types": [
3092
+ "number"
3093
+ ]
3094
+ },
3095
+ {
3096
+ "name": "destroy",
3097
+ "brief": "",
3098
+ "description": "",
3099
+ "types": [
3100
+ "() => void"
3101
+ ],
3102
+ "is_optional": "True"
3103
+ }
3104
+ ],
3105
+ "global": true
3106
+ },
3107
+ {
3108
+ "type": "TYPEDEF",
3109
+ "name": "LifespanComp",
3110
+ "properties": [
3111
+ {
3112
+ "name": "tag",
3113
+ "brief": "Pushed into the `tags` map when added to a game object.",
3114
+ "description": "Pushed into the `tags` map when added to a game object.",
3115
+ "types": [
3116
+ "'lifespan'"
3117
+ ]
3118
+ },
3119
+ {
3120
+ "name": "init",
3121
+ "brief": "",
3122
+ "description": "",
3123
+ "types": [
3124
+ "() => void"
3125
+ ],
3126
+ "is_optional": "True"
3127
+ }
3128
+ ],
3129
+ "global": true
3130
+ },
3131
+ {
3132
+ "type": "TYPEDEF",
3133
+ "name": "MoveComp",
3134
+ "properties": [
3135
+ {
3136
+ "name": "tag",
3137
+ "brief": "Pushed into the `tags` map when added to a game object.",
3138
+ "description": "Pushed into the `tags` map when added to a game object.",
3139
+ "types": [
3140
+ "'move'"
3141
+ ]
3142
+ },
3143
+ {
3144
+ "name": "direction",
3145
+ "brief": "",
3146
+ "description": "",
3147
+ "types": [
3148
+ "Vec2"
3149
+ ]
3150
+ },
3151
+ {
3152
+ "name": "speed",
3153
+ "brief": "",
3154
+ "description": "",
3155
+ "types": [
3156
+ "number"
3157
+ ]
3158
+ },
3159
+ {
3160
+ "name": "init",
3161
+ "brief": "",
3162
+ "description": "",
3163
+ "types": [
3164
+ "() => void"
3165
+ ],
3166
+ "is_optional": "True"
3167
+ },
3168
+ {
3169
+ "name": "update",
3170
+ "brief": "",
3171
+ "description": "",
3172
+ "types": [
3173
+ "(dt: number) => void"
3174
+ ],
3175
+ "is_optional": "True"
3176
+ }
3177
+ ],
3178
+ "global": true
3179
+ },
3180
+ {
3181
+ "type": "TYPEDEF",
3182
+ "name": "OffscreenComp",
3183
+ "functions": [
3184
+ {
3185
+ "type": "FUNCTION",
3186
+ "name": "on_exit_screen",
3187
+ "brief": "Register a callback that runs when the object goes out of view.",
3188
+ "description": "Register a callback that runs when the object goes out of view.",
3189
+ "parameters": [
3190
+ {
3191
+ "name": "cb",
3192
+ "doc": "Function to call when the object goes out of view",
3193
+ "types": [
3194
+ "() => void"
3195
+ ],
3196
+ "is_optional": "False"
3197
+ }
3198
+ ],
3199
+ "returnvalues": []
3200
+ },
3201
+ {
3202
+ "type": "FUNCTION",
3203
+ "name": "on_enter_screen",
3204
+ "brief": "Register a callback that runs when the object enters view.",
3205
+ "description": "Register a callback that runs when the object enters view.",
3206
+ "parameters": [
3207
+ {
3208
+ "name": "cb",
3209
+ "doc": "Function to call when the object enters view",
3210
+ "types": [
3211
+ "() => void"
3212
+ ],
3213
+ "is_optional": "False"
3214
+ }
3215
+ ],
3216
+ "returnvalues": []
3217
+ }
3218
+ ],
3219
+ "properties": [
3220
+ {
3221
+ "name": "tag",
3222
+ "brief": "Pushed into the `tags` map when added to a game object.",
3223
+ "description": "Pushed into the `tags` map when added to a game object.",
3224
+ "types": [
3225
+ "'offscreen'"
3226
+ ]
3227
+ },
3228
+ {
3229
+ "name": "is_offscreen",
3230
+ "brief": "",
3231
+ "description": "",
3232
+ "types": [
3233
+ "boolean"
3234
+ ]
3235
+ },
3236
+ {
3237
+ "name": "update",
3238
+ "brief": "",
3239
+ "description": "",
3240
+ "types": [
3241
+ "(dt: number) => void"
3242
+ ],
3243
+ "is_optional": "True"
3244
+ },
3245
+ {
3246
+ "name": "init",
3247
+ "brief": "",
3248
+ "description": "",
3249
+ "types": [
3250
+ "() => void"
3251
+ ],
3252
+ "is_optional": "True"
3253
+ },
3254
+ {
3255
+ "name": "destroy",
3256
+ "brief": "",
3257
+ "description": "",
3258
+ "types": [
3259
+ "() => void"
3260
+ ],
3261
+ "is_optional": "True"
3262
+ }
3263
+ ],
3264
+ "global": true
3265
+ },
3266
+ {
3267
+ "type": "TYPEDEF",
3268
+ "name": "OpacityComp",
3269
+ "properties": [
3270
+ {
3271
+ "name": "tag",
3272
+ "brief": "Pushed into the `tags` map when added to a game object.",
3273
+ "description": "Pushed into the `tags` map when added to a game object.",
3274
+ "types": [
3275
+ "'opacity'"
3276
+ ]
3277
+ },
3278
+ {
3279
+ "name": "opacity",
3280
+ "brief": "The opacity of the component instance. (0.0 to 1.0).",
3281
+ "description": "The opacity of the component instance. (0.0 to 1.0).",
3282
+ "types": [
3283
+ "number"
3284
+ ]
3285
+ }
3286
+ ],
3287
+ "global": true
3288
+ },
3289
+ {
3290
+ "type": "TYPEDEF",
3291
+ "name": "PosComp",
3292
+ "functions": [
3293
+ {
3294
+ "type": "FUNCTION",
3295
+ "name": "move",
3296
+ "brief": "Move a number of pixels per second.",
3297
+ "description": "Move a number of pixels per second.",
3298
+ "parameters": [
3299
+ {
3300
+ "name": "x",
3301
+ "doc": "",
3302
+ "types": [
3303
+ "number"
3304
+ ],
3305
+ "is_optional": "False"
3306
+ },
3307
+ {
3308
+ "name": "y",
3309
+ "doc": "",
3310
+ "types": [
3311
+ "number"
3312
+ ],
3313
+ "is_optional": "False"
3314
+ }
3315
+ ],
3316
+ "returnvalues": []
3317
+ }
3318
+ ],
3319
+ "properties": [
3320
+ {
3321
+ "name": "tag",
3322
+ "brief": "Pushed into the `tags` map when added to a game object.",
3323
+ "description": "Pushed into the `tags` map when added to a game object.",
3324
+ "types": [
3325
+ "'pos'"
3326
+ ]
3327
+ },
3328
+ {
3329
+ "name": "pos",
3330
+ "brief": "Position in 2D space.",
3331
+ "description": "Position in 2D space.",
3332
+ "types": [
3333
+ "Vec2"
3334
+ ]
3335
+ },
3336
+ {
3337
+ "name": "vel",
3338
+ "brief": "Velocity.",
3339
+ "description": "Velocity.",
3340
+ "types": [
3341
+ "Vec2"
3342
+ ]
3343
+ },
3344
+ {
3345
+ "name": "update",
3346
+ "brief": "",
3347
+ "description": "",
3348
+ "types": [
3349
+ "(dt: number) => void"
3350
+ ],
3351
+ "is_optional": "True"
3352
+ },
3353
+ {
3354
+ "name": "init",
3355
+ "brief": "",
3356
+ "description": "",
3357
+ "types": [
3358
+ "() => void"
3359
+ ],
3360
+ "is_optional": "True"
3361
+ }
3362
+ ],
3363
+ "global": true
3364
+ },
3365
+ {
3366
+ "type": "TYPEDEF",
3367
+ "name": "RotateComp",
3368
+ "properties": [
3369
+ {
3370
+ "name": "tag",
3371
+ "brief": "Pushed into the `tags` map when added to a game object.",
3372
+ "description": "Pushed into the `tags` map when added to a game object.",
3373
+ "types": [
3374
+ "'rotate'"
3375
+ ]
3376
+ },
3377
+ {
3378
+ "name": "rotate",
3379
+ "brief": "Updates rotation.",
3380
+ "description": "Updates rotation.",
3381
+ "types": [
3382
+ "(angle: number) => void"
3383
+ ]
3384
+ },
3385
+ {
3386
+ "name": "angle",
3387
+ "brief": "",
3388
+ "description": "",
3389
+ "types": [
3390
+ "number"
3391
+ ]
3392
+ },
3393
+ {
3394
+ "name": "init",
3395
+ "brief": "",
3396
+ "description": "",
3397
+ "types": [
3398
+ "() => void"
3399
+ ],
3400
+ "is_optional": "True"
3401
+ }
3402
+ ],
3403
+ "global": true
3404
+ },
3405
+ {
3406
+ "type": "TYPEDEF",
3407
+ "name": "ScaleComp",
3408
+ "properties": [
3409
+ {
3410
+ "name": "tag",
3411
+ "brief": "Pushed into the `tags` map when added to a game object.",
3412
+ "description": "Pushed into the `tags` map when added to a game object.",
3413
+ "types": [
3414
+ "'scale'"
3415
+ ]
3416
+ },
3417
+ {
3418
+ "name": "scale_to",
3419
+ "brief": "Set new scale.",
3420
+ "description": "Set new scale.",
3421
+ "types": [
3422
+ "(x: number, y?: number) => void"
3423
+ ]
3424
+ },
3425
+ {
3426
+ "name": "scale_by",
3427
+ "brief": "Change scale.",
3428
+ "description": "Change scale.",
3429
+ "types": [
3430
+ "(x: number, y?: number) => void"
3431
+ ]
3432
+ },
3433
+ {
3434
+ "name": "scale",
3435
+ "brief": "",
3436
+ "description": "",
3437
+ "types": [
3438
+ "Vec2"
3439
+ ]
3440
+ }
3441
+ ],
3442
+ "global": true
3443
+ },
3444
+ {
3445
+ "type": "TYPEDEF",
3446
+ "name": "SpriteComp",
3447
+ "functions": [
3448
+ {
3449
+ "type": "FUNCTION",
3450
+ "name": "play",
3451
+ "brief": "Play an animation.",
3452
+ "description": "Play an animation.",
3453
+ "parameters": [
3454
+ {
3455
+ "name": "anim",
3456
+ "doc": "The animation to play",
3457
+ "types": [
3458
+ "string"
3459
+ ],
3460
+ "is_optional": "False"
3461
+ }
3462
+ ],
3463
+ "returnvalues": []
3464
+ },
3465
+ {
3466
+ "type": "FUNCTION",
3467
+ "name": "stop",
3468
+ "brief": "Stop the current animation.",
3469
+ "description": "Stop the current animation.",
3470
+ "parameters": [],
3471
+ "returnvalues": []
3472
+ }
3473
+ ],
3474
+ "properties": [
3475
+ {
3476
+ "name": "tag",
3477
+ "brief": "Pushed into the `tags` map when added to a game object.",
3478
+ "description": "Pushed into the `tags` map when added to a game object.",
3479
+ "types": [
3480
+ "'sprite'"
3481
+ ]
3482
+ },
3483
+ {
3484
+ "name": "anim",
3485
+ "brief": "The current animation.",
3486
+ "description": "The current animation.",
3487
+ "types": [
3488
+ "string"
3489
+ ]
3490
+ },
3491
+ {
3492
+ "name": "width",
3493
+ "brief": "The width of the sprite.",
3494
+ "description": "The width of the sprite.",
3495
+ "types": [
3496
+ "number"
3497
+ ]
3498
+ },
3499
+ {
3500
+ "name": "height",
3501
+ "brief": "The height of the sprite.",
3502
+ "description": "The height of the sprite.",
3503
+ "types": [
3504
+ "number"
3505
+ ]
3506
+ },
3507
+ {
3508
+ "name": "flip_x",
3509
+ "brief": "If sprite should be flipped horizontally.",
3510
+ "description": "If sprite should be flipped horizontally.",
3511
+ "types": [
3512
+ "boolean"
3513
+ ]
3514
+ },
3515
+ {
3516
+ "name": "flip_y",
3517
+ "brief": "If the sprite should be flipped vertically.",
3518
+ "description": "If the sprite should be flipped vertically.",
3519
+ "types": [
3520
+ "boolean"
3521
+ ]
3522
+ },
3523
+ {
3524
+ "name": "init",
3525
+ "brief": "",
3526
+ "description": "",
3527
+ "types": [
3528
+ "() => void"
3529
+ ],
3530
+ "is_optional": "True"
3531
+ },
3532
+ {
3533
+ "name": "pre_update",
3534
+ "brief": "",
3535
+ "description": "",
3536
+ "types": [
3537
+ "(dt: number) => void"
3538
+ ],
3539
+ "is_optional": "True"
3540
+ },
3541
+ {
3542
+ "name": "destroy",
3543
+ "brief": "",
3544
+ "description": "",
3545
+ "types": [
3546
+ "() => void"
3547
+ ],
3548
+ "is_optional": "True"
3549
+ },
3550
+ {
3551
+ "name": "update",
3552
+ "brief": "",
3553
+ "description": "",
3554
+ "types": [
3555
+ "(dt: number) => void"
3556
+ ],
3557
+ "is_optional": "True"
3558
+ }
3559
+ ],
3560
+ "global": true
3561
+ },
3562
+ {
3563
+ "type": "TYPEDEF",
3564
+ "name": "StayComp",
3565
+ "properties": [
3566
+ {
3567
+ "name": "tag",
3568
+ "brief": "Pushed into the `tags` map when added to a game object.",
3569
+ "description": "Pushed into the `tags` map when added to a game object.",
3570
+ "types": [
3571
+ "'stay'"
3572
+ ]
3573
+ }
3574
+ ],
3575
+ "global": true
3576
+ },
3577
+ {
3578
+ "type": "TYPEDEF",
3579
+ "name": "TextComp",
3580
+ "properties": [
3581
+ {
3582
+ "name": "tag",
3583
+ "brief": "Pushed into the `tags` map when added to a game object.",
3584
+ "description": "Pushed into the `tags` map when added to a game object.",
3585
+ "types": [
3586
+ "'text'"
3587
+ ]
3588
+ },
3589
+ {
3590
+ "name": "text",
3591
+ "brief": "The text to render.",
3592
+ "description": "The text to render.",
3593
+ "types": [
3594
+ "string"
3595
+ ]
3596
+ },
3597
+ {
3598
+ "name": "init",
3599
+ "brief": "",
3600
+ "description": "",
3601
+ "types": [
3602
+ "() => void"
3603
+ ],
3604
+ "is_optional": "True"
3605
+ },
3606
+ {
3607
+ "name": "destroy",
3608
+ "brief": "",
3609
+ "description": "",
3610
+ "types": [
3611
+ "() => void"
3612
+ ],
3613
+ "is_optional": "True"
3614
+ },
3615
+ {
3616
+ "name": "update",
3617
+ "brief": "",
3618
+ "description": "",
3619
+ "types": [
3620
+ "(dt: number) => void"
3621
+ ],
3622
+ "is_optional": "True"
3623
+ }
3624
+ ],
3625
+ "global": true
3626
+ },
3627
+ {
3628
+ "type": "TYPEDEF",
3629
+ "name": "TimerComp",
3630
+ "functions": [
3631
+ {
3632
+ "type": "FUNCTION",
3633
+ "name": "wait",
3634
+ "brief": "Run a callback function after n seconds.",
3635
+ "description": "Run a callback function after n seconds.",
3636
+ "parameters": [
3637
+ {
3638
+ "name": "n",
3639
+ "doc": "Seconds",
3640
+ "types": [
3641
+ "number"
3642
+ ],
3643
+ "is_optional": "False"
3644
+ },
3645
+ {
3646
+ "name": "fn",
3647
+ "doc": "The function to call",
3648
+ "types": [
3649
+ "() => void"
3650
+ ],
3651
+ "is_optional": "False"
3652
+ }
3653
+ ],
3654
+ "returnvalues": []
3655
+ },
3656
+ {
3657
+ "type": "FUNCTION",
3658
+ "name": "loop",
3659
+ "brief": "Run a callback function every n seconds.",
3660
+ "description": "Run a callback function every n seconds.",
3661
+ "parameters": [
3662
+ {
3663
+ "name": "n",
3664
+ "doc": "Seconds",
3665
+ "types": [
3666
+ "number"
3667
+ ],
3668
+ "is_optional": "False"
3669
+ },
3670
+ {
3671
+ "name": "fn",
3672
+ "doc": "The function to call",
3673
+ "types": [
3674
+ "() => void"
3675
+ ],
3676
+ "is_optional": "False"
3677
+ }
3678
+ ],
3679
+ "returnvalues": []
3680
+ },
3681
+ {
3682
+ "type": "FUNCTION",
3683
+ "name": "cancel",
3684
+ "brief": "Cancel the timer.",
3685
+ "description": "Cancel the timer.",
3686
+ "parameters": [],
3687
+ "returnvalues": []
3688
+ }
3689
+ ],
3690
+ "properties": [
3691
+ {
3692
+ "name": "tag",
3693
+ "brief": "Pushed into the `tags` map when added to a game object.",
3694
+ "description": "Pushed into the `tags` map when added to a game object.",
3695
+ "types": [
3696
+ "'timer'"
3697
+ ]
3698
+ },
3699
+ {
3700
+ "name": "destroy",
3701
+ "brief": "",
3702
+ "description": "",
3703
+ "types": [
3704
+ "() => void"
3705
+ ],
3706
+ "is_optional": "True"
3707
+ },
3708
+ {
3709
+ "name": "init",
3710
+ "brief": "",
3711
+ "description": "",
3712
+ "types": [
3713
+ "() => void"
3714
+ ],
3715
+ "is_optional": "True"
3716
+ }
3717
+ ],
3718
+ "global": true
3719
+ },
3720
+ {
3721
+ "type": "TYPEDEF",
3722
+ "name": "ZComp",
3723
+ "properties": [
3724
+ {
3725
+ "name": "tag",
3726
+ "brief": "Pushed into the `tags` map when added to a game object.",
3727
+ "description": "Pushed into the `tags` map when added to a game object.",
3728
+ "types": [
3729
+ "'z'"
3730
+ ]
3731
+ },
3732
+ {
3733
+ "name": "z",
3734
+ "brief": "The z value.",
3735
+ "description": "The z value.",
3736
+ "types": [
3737
+ "number"
3738
+ ]
3739
+ }
3740
+ ],
3741
+ "global": true
3742
+ },
3743
+ {
3744
+ "type": "TYPEDEF",
3745
+ "name": "Vec2",
3746
+ "properties": [
3747
+ {
3748
+ "name": "x",
3749
+ "brief": "",
3750
+ "description": "",
3751
+ "types": [
3752
+ "number"
3753
+ ]
3754
+ },
3755
+ {
3756
+ "name": "y",
3757
+ "brief": "",
3758
+ "description": "",
3759
+ "types": [
3760
+ "number"
3761
+ ]
3762
+ },
3763
+ {
3764
+ "name": "z",
3765
+ "brief": "",
3766
+ "description": "",
3767
+ "types": [
3768
+ "0"
3769
+ ]
3770
+ },
3771
+ {
3772
+ "name": "__type",
3773
+ "brief": "",
3774
+ "description": "",
3775
+ "types": [
3776
+ "Vector3"
3777
+ ]
3778
+ },
3779
+ {
3780
+ "name": "dist",
3781
+ "brief": "Get distance between this and another vector.",
3782
+ "description": "Get distance between this and another vector.",
3783
+ "types": [
3784
+ "(compare: Vec2) => number"
3785
+ ]
3786
+ }
3787
+ ],
3788
+ "global": true
3789
+ },
3790
+ {
3791
+ "type": "TYPEDEF",
3792
+ "name": "BoomCollision",
3793
+ "properties": [
3794
+ {
3795
+ "name": "normal",
3796
+ "brief": "",
3797
+ "description": "",
3798
+ "types": [
3799
+ "Vector3"
3800
+ ]
3801
+ },
3802
+ {
3803
+ "name": "distance",
3804
+ "brief": "",
3805
+ "description": "",
3806
+ "types": [
3807
+ "number"
3808
+ ]
3809
+ },
3810
+ {
3811
+ "name": "source",
3812
+ "brief": "",
3813
+ "description": "",
3814
+ "types": [
3815
+ "BoomBlankGameObject & Omit<AreaComp, 'tag'> & Partial<BoomComponent>"
3816
+ ]
3817
+ },
3818
+ {
3819
+ "name": "target",
3820
+ "brief": "",
3821
+ "description": "",
3822
+ "types": [
3823
+ "BoomBlankGameObject & Omit<AreaComp, 'tag'> & Partial<BoomComponent>"
3824
+ ]
3825
+ }
3826
+ ],
3827
+ "global": true
3828
+ },
3829
+ {
3830
+ "type": "TYPEDEF",
3831
+ "name": "Tween",
3832
+ "functions": [
3833
+ {
3834
+ "type": "FUNCTION",
3835
+ "name": "on_end",
3836
+ "brief": "Register an event when finished.",
3837
+ "description": "Register an event when finished.",
3838
+ "parameters": [
3839
+ {
3840
+ "name": "fn",
3841
+ "doc": "The function to call when the tween has finished",
3842
+ "types": [
3843
+ "() => void"
3844
+ ],
3845
+ "is_optional": "False"
3846
+ }
3847
+ ],
3848
+ "returnvalues": []
3849
+ },
3850
+ {
3851
+ "type": "FUNCTION",
3852
+ "name": "finish",
3853
+ "brief": "Finish tween now.",
3854
+ "description": "Finish tween now.",
3855
+ "parameters": [],
3856
+ "returnvalues": []
3857
+ },
3858
+ {
3859
+ "type": "FUNCTION",
3860
+ "name": "cancel",
3861
+ "brief": "Cancel tween.",
3862
+ "description": "Cancel tween.",
3863
+ "parameters": [],
3864
+ "returnvalues": []
3865
+ }
3866
+ ],
3867
+ "global": true
3868
+ }
3869
+ ]
3870
+ }