@defold-typescript/types 0.40.0 → 0.41.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 (224) hide show
  1. package/api-availability.json +3963 -772
  2. package/api-migrations.json +27 -0
  3. package/api-signatures.json +18069 -10240
  4. package/api-targets.json +448 -11
  5. package/examples/translations.json +560 -89
  6. package/fixtures/messages_doc.json +96 -0
  7. package/generated/b2d.d.ts +680 -4
  8. package/generated/b2d_body.d.ts +29 -103
  9. package/generated/b2d_chain.d.ts +5 -6
  10. package/generated/b2d_fixture.d.ts +34 -38
  11. package/generated/b2d_joint.d.ts +503 -25
  12. package/generated/b2d_shape.d.ts +183 -20
  13. package/generated/b2d_world.d.ts +57 -63
  14. package/generated/buffer.d.ts +16 -15
  15. package/generated/builtin-messages.d.ts +7 -1
  16. package/generated/bullet3d.d.ts +91 -0
  17. package/generated/bullet3d_collision_object.d.ts +433 -0
  18. package/generated/bullet3d_constraint.d.ts +818 -0
  19. package/generated/bullet3d_rigid_body.d.ts +429 -0
  20. package/generated/bullet3d_shape.d.ts +123 -0
  21. package/generated/bullet3d_world.d.ts +492 -0
  22. package/generated/camera.d.ts +29 -32
  23. package/generated/collectionfactory.d.ts +15 -18
  24. package/generated/collectionproxy.d.ts +22 -6
  25. package/generated/compute.d.ts +12 -238
  26. package/generated/crash.d.ts +24 -10
  27. package/generated/editor-vm/http.d.ts +90 -7
  28. package/generated/editor-vm/image.d.ts +7 -7
  29. package/generated/editor-vm/json.d.ts +11 -0
  30. package/generated/editor-vm/localization.d.ts +7 -7
  31. package/generated/editor-vm/tilemap_tiles.d.ts +56 -10
  32. package/generated/editor-vm/zip.d.ts +28 -0
  33. package/generated/editor.d.ts +1496 -430
  34. package/generated/factory.d.ts +21 -25
  35. package/generated/font.d.ts +64 -22
  36. package/generated/go.d.ts +235 -182
  37. package/generated/graphics.d.ts +335 -97
  38. package/generated/gui.d.ts +240 -471
  39. package/generated/html5.d.ts +2 -2
  40. package/generated/http.d.ts +28 -35
  41. package/generated/image.d.ts +105 -72
  42. package/generated/json.d.ts +34 -16
  43. package/generated/kinds/gui-script.d.ts +7 -0
  44. package/generated/kinds/render-script.d.ts +7 -0
  45. package/generated/kinds/script.d.ts +7 -0
  46. package/generated/label.d.ts +77 -7
  47. package/generated/liveupdate.d.ts +13 -10
  48. package/generated/material.d.ts +312 -360
  49. package/generated/model.d.ts +40 -39
  50. package/generated/particlefx.d.ts +19 -28
  51. package/generated/physics.d.ts +365 -133
  52. package/generated/profiler.d.ts +13 -23
  53. package/generated/render.d.ts +237 -297
  54. package/generated/resource.d.ts +664 -583
  55. package/generated/socket.d.ts +120 -133
  56. package/generated/sound.d.ts +62 -31
  57. package/generated/sprite.d.ts +31 -17
  58. package/generated/sys.d.ts +234 -190
  59. package/generated/tilemap.d.ts +21 -16
  60. package/generated/timer.d.ts +34 -21
  61. package/generated/versions/defold-1.12.4/b2d_body.d.ts +0 -7
  62. package/generated/versions/defold-1.12.4/buffer.d.ts +1 -3
  63. package/generated/versions/defold-1.12.4/camera.d.ts +21 -21
  64. package/generated/versions/defold-1.12.4/collectionfactory.d.ts +9 -9
  65. package/generated/versions/defold-1.12.4/collectionproxy.d.ts +2 -2
  66. package/generated/versions/defold-1.12.4/crash.d.ts +2 -2
  67. package/generated/versions/defold-1.12.4/factory.d.ts +15 -16
  68. package/generated/versions/defold-1.12.4/go.d.ts +6 -12
  69. package/generated/versions/defold-1.12.4/gui.d.ts +77 -175
  70. package/generated/versions/defold-1.12.4/html5.d.ts +1 -1
  71. package/generated/versions/defold-1.12.4/http.d.ts +0 -13
  72. package/generated/versions/defold-1.12.4/image.d.ts +16 -33
  73. package/generated/versions/defold-1.12.4/index.d.ts +1 -0
  74. package/generated/versions/defold-1.12.4/json.d.ts +10 -6
  75. package/generated/versions/defold-1.12.4/label.d.ts +2 -3
  76. package/generated/versions/defold-1.12.4/liveupdate.d.ts +5 -3
  77. package/generated/versions/defold-1.12.4/model.d.ts +2 -10
  78. package/generated/versions/defold-1.12.4/particlefx.d.ts +2 -5
  79. package/generated/versions/defold-1.12.4/physics.d.ts +69 -67
  80. package/generated/versions/defold-1.12.4/profiler.d.ts +2 -5
  81. package/generated/versions/defold-1.12.4/render.d.ts +99 -128
  82. package/generated/versions/defold-1.12.4/resource.d.ts +120 -148
  83. package/generated/versions/defold-1.12.4/socket.d.ts +34 -60
  84. package/generated/versions/defold-1.12.4/sound.d.ts +8 -8
  85. package/generated/versions/defold-1.12.4/sprite.d.ts +15 -5
  86. package/generated/versions/defold-1.12.4/sys.d.ts +37 -71
  87. package/generated/versions/defold-1.12.4/tilemap.d.ts +18 -11
  88. package/generated/versions/defold-1.12.4/timer.d.ts +5 -3
  89. package/generated/versions/defold-1.12.4/vmath.d.ts +0 -21
  90. package/generated/versions/defold-1.12.4/window.d.ts +1 -16
  91. package/generated/versions/defold-1.13.0/b2d_body.d.ts +10 -55
  92. package/generated/versions/defold-1.13.0/b2d_fixture.d.ts +25 -25
  93. package/generated/versions/defold-1.13.0/b2d_shape.d.ts +169 -8
  94. package/generated/versions/defold-1.13.0/b2d_world.d.ts +16 -10
  95. package/generated/versions/defold-1.13.0/buffer.d.ts +1 -3
  96. package/generated/versions/defold-1.13.0/camera.d.ts +25 -25
  97. package/generated/versions/defold-1.13.0/collectionfactory.d.ts +9 -9
  98. package/generated/versions/defold-1.13.0/collectionproxy.d.ts +2 -2
  99. package/generated/versions/defold-1.13.0/compute.d.ts +0 -69
  100. package/generated/versions/defold-1.13.0/crash.d.ts +2 -2
  101. package/generated/versions/defold-1.13.0/editor-vm/tilemap_tiles.d.ts +3 -3
  102. package/generated/versions/defold-1.13.0/editor.d.ts +34 -24
  103. package/generated/versions/defold-1.13.0/factory.d.ts +15 -16
  104. package/generated/versions/defold-1.13.0/go.d.ts +6 -12
  105. package/generated/versions/defold-1.13.0/graphics.d.ts +73 -37
  106. package/generated/versions/defold-1.13.0/gui.d.ts +77 -175
  107. package/generated/versions/defold-1.13.0/html5.d.ts +1 -1
  108. package/generated/versions/defold-1.13.0/http.d.ts +0 -13
  109. package/generated/versions/defold-1.13.0/image.d.ts +16 -33
  110. package/generated/versions/defold-1.13.0/index.d.ts +1 -0
  111. package/generated/versions/defold-1.13.0/json.d.ts +10 -6
  112. package/generated/versions/defold-1.13.0/label.d.ts +2 -3
  113. package/generated/versions/defold-1.13.0/liveupdate.d.ts +7 -5
  114. package/generated/versions/defold-1.13.0/material.d.ts +68 -106
  115. package/generated/versions/defold-1.13.0/model.d.ts +2 -10
  116. package/generated/versions/defold-1.13.0/particlefx.d.ts +2 -5
  117. package/generated/versions/defold-1.13.0/physics.d.ts +69 -67
  118. package/generated/versions/defold-1.13.0/profiler.d.ts +2 -5
  119. package/generated/versions/defold-1.13.0/render.d.ts +99 -128
  120. package/generated/versions/defold-1.13.0/resource.d.ts +126 -150
  121. package/generated/versions/defold-1.13.0/socket.d.ts +34 -60
  122. package/generated/versions/defold-1.13.0/sound.d.ts +8 -8
  123. package/generated/versions/defold-1.13.0/sprite.d.ts +15 -5
  124. package/generated/versions/defold-1.13.0/sys.d.ts +37 -71
  125. package/generated/versions/defold-1.13.0/tilemap.d.ts +18 -11
  126. package/generated/versions/defold-1.13.0/timer.d.ts +5 -3
  127. package/generated/versions/defold-1.13.0/vmath.d.ts +0 -21
  128. package/generated/versions/defold-1.13.0/window.d.ts +1 -16
  129. package/generated/versions/defold-1.13.1/b2d.d.ts +33 -0
  130. package/generated/versions/defold-1.13.1/b2d_body.d.ts +636 -0
  131. package/generated/versions/defold-1.13.1/b2d_chain.d.ts +106 -0
  132. package/generated/versions/defold-1.13.1/b2d_fixture.d.ts +157 -0
  133. package/generated/versions/defold-1.13.1/b2d_joint.d.ts +823 -0
  134. package/generated/versions/defold-1.13.1/b2d_shape.d.ts +400 -0
  135. package/generated/versions/defold-1.13.1/b2d_world.d.ts +320 -0
  136. package/generated/versions/defold-1.13.1/buffer.d.ts +189 -0
  137. package/generated/versions/defold-1.13.1/camera.d.ts +303 -0
  138. package/generated/versions/defold-1.13.1/collectionfactory.d.ts +151 -0
  139. package/generated/versions/defold-1.13.1/collectionproxy.d.ts +93 -0
  140. package/generated/versions/defold-1.13.1/compute.d.ts +237 -0
  141. package/generated/versions/defold-1.13.1/crash.d.ts +143 -0
  142. package/generated/versions/defold-1.13.1/editor-vm/http.d.ts +56 -0
  143. package/generated/versions/defold-1.13.1/editor-vm/image.d.ts +48 -0
  144. package/generated/versions/defold-1.13.1/editor-vm/json.d.ts +10 -0
  145. package/generated/versions/defold-1.13.1/editor-vm/localization.d.ts +42 -0
  146. package/generated/versions/defold-1.13.1/editor-vm/tilemap_tiles.d.ts +80 -0
  147. package/generated/versions/defold-1.13.1/editor-vm/zip.d.ts +10 -0
  148. package/generated/versions/defold-1.13.1/editor-vm/zlib.d.ts +24 -0
  149. package/generated/versions/defold-1.13.1/editor.d.ts +1121 -0
  150. package/generated/versions/defold-1.13.1/factory.d.ts +124 -0
  151. package/generated/versions/defold-1.13.1/font.d.ts +81 -0
  152. package/generated/versions/defold-1.13.1/go.d.ts +1107 -0
  153. package/generated/versions/defold-1.13.1/graphics.d.ts +411 -0
  154. package/generated/versions/defold-1.13.1/gui.d.ts +2353 -0
  155. package/generated/versions/defold-1.13.1/html5.d.ts +55 -0
  156. package/generated/versions/defold-1.13.1/http.d.ts +77 -0
  157. package/generated/versions/defold-1.13.1/image.d.ts +131 -0
  158. package/generated/versions/defold-1.13.1/index.d.ts +57 -0
  159. package/generated/versions/defold-1.13.1/json.d.ts +80 -0
  160. package/generated/versions/defold-1.13.1/kinds/editor-script.d.ts +14 -0
  161. package/generated/versions/defold-1.13.1/label.d.ts +93 -0
  162. package/generated/versions/defold-1.13.1/liveupdate.d.ts +142 -0
  163. package/generated/versions/defold-1.13.1/material.d.ts +408 -0
  164. package/generated/versions/defold-1.13.1/model.d.ts +272 -0
  165. package/generated/versions/defold-1.13.1/msg.d.ts +10 -0
  166. package/generated/versions/defold-1.13.1/particlefx.d.ts +163 -0
  167. package/generated/versions/defold-1.13.1/physics.d.ts +559 -0
  168. package/generated/versions/defold-1.13.1/profiler.d.ts +235 -0
  169. package/generated/versions/defold-1.13.1/render.d.ts +1190 -0
  170. package/generated/versions/defold-1.13.1/resource.d.ts +1523 -0
  171. package/generated/versions/defold-1.13.1/socket.d.ts +784 -0
  172. package/generated/versions/defold-1.13.1/sound.d.ts +292 -0
  173. package/generated/versions/defold-1.13.1/sprite.d.ts +175 -0
  174. package/generated/versions/defold-1.13.1/sys.d.ts +678 -0
  175. package/generated/versions/defold-1.13.1/tilemap.d.ts +208 -0
  176. package/generated/versions/defold-1.13.1/timer.d.ts +125 -0
  177. package/generated/versions/defold-1.13.1/types.d.ts +61 -0
  178. package/generated/versions/defold-1.13.1/vmath.d.ts +774 -0
  179. package/generated/versions/defold-1.13.1/window.d.ts +183 -0
  180. package/generated/versions/defold-1.13.1/zlib.d.ts +41 -0
  181. package/generated/vmath.d.ts +1 -21
  182. package/generated/window.d.ts +71 -71
  183. package/identity-vocabulary.json +561 -0
  184. package/index.d.ts +7 -0
  185. package/package.json +13 -2
  186. package/scripts/example-store-io.ts +12 -1
  187. package/scripts/extension-goldens.ts +1 -0
  188. package/scripts/fidelity-baseline.json +146 -46
  189. package/scripts/generate-api-availability.ts +90 -12
  190. package/scripts/generate-api-signatures.ts +12 -2
  191. package/scripts/import-defold-release.ts +85 -24
  192. package/scripts/prose-constants.ts +77 -16
  193. package/scripts/regen.ts +391 -77
  194. package/scripts/shared-handle-methods.ts +53 -0
  195. package/scripts/signature-store-fs.ts +1 -0
  196. package/scripts/sync-api-docs.ts +16 -5
  197. package/src/api-availability.ts +0 -0
  198. package/src/api-doc.ts +201 -3
  199. package/src/api-identity.ts +252 -0
  200. package/src/core-types.ts +26 -3
  201. package/src/correction-pins.ts +49 -0
  202. package/src/doc-comment.ts +104 -11
  203. package/src/doc-corrections.ts +108 -0
  204. package/src/editor-vm-globals.d.ts +5 -2
  205. package/src/emit-dts.ts +2064 -281
  206. package/src/emit-messages.ts +52 -0
  207. package/src/example-store.ts +125 -14
  208. package/src/field-correction-coverage.ts +204 -0
  209. package/src/fnv1a.ts +16 -0
  210. package/src/go-overloads.d.ts +25 -6
  211. package/src/index-base-table.ts +145 -0
  212. package/src/index-slot-classifications.ts +588 -0
  213. package/src/index.ts +38 -5
  214. package/src/library-index-slot-classifications.ts +332 -0
  215. package/src/lifecycle.ts +61 -199
  216. package/src/luals-type-expr.ts +354 -0
  217. package/src/msg-overloads.d.ts +0 -1
  218. package/src/param-correction-provenance.ts +8 -11
  219. package/src/render-overloads.d.ts +0 -15
  220. package/src/return-correction-provenance.ts +58 -16
  221. package/src/sys-overloads.d.ts +48 -0
  222. package/src/vmath-overloads.d.ts +27 -1
  223. package/src/window-event-guard.d.ts +6 -9
  224. package/url-parameters.json +1 -2
@@ -0,0 +1,208 @@
1
+ /** @noSelfInFile */
2
+ import type { Hash, Url } from "../../../src/core-types";
3
+
4
+ declare global {
5
+ /**
6
+ * Functions and messages used to manipulate tile map components.
7
+ */
8
+ namespace tilemap {
9
+ /**
10
+ * flip tile horizontally
11
+ */
12
+ const H_FLIP: number & { readonly __brand: "tilemap.H_FLIP" };
13
+ /**
14
+ * rotate tile 180 degrees clockwise
15
+ */
16
+ const ROTATE_180: number & { readonly __brand: "tilemap.ROTATE_180" };
17
+ /**
18
+ * rotate tile 270 degrees clockwise
19
+ */
20
+ const ROTATE_270: number & { readonly __brand: "tilemap.ROTATE_270" };
21
+ /**
22
+ * rotate tile 90 degrees clockwise
23
+ */
24
+ const ROTATE_90: number & { readonly __brand: "tilemap.ROTATE_90" };
25
+ /**
26
+ * flip tile vertically
27
+ */
28
+ const V_FLIP: number & { readonly __brand: "tilemap.V_FLIP" };
29
+ /**
30
+ * Get the bounds for a tile map. This function returns multiple values:
31
+ * The lower left corner index x and y coordinates (1-indexed),
32
+ * the tile map width and the tile map height.
33
+ * The resulting values take all tile map layers into account, meaning that
34
+ * the bounds are calculated as if all layers were collapsed into one.
35
+ *
36
+ * @param url - the tile map
37
+ * @returns `[x, y, w, h]`:
38
+ * - `x` — x coordinate of the bottom left corner. **⚠️ 1-based; passed to Defold unchanged.**
39
+ * - `y` — y coordinate of the bottom left corner. **⚠️ 1-based; passed to Defold unchanged.**
40
+ * - `w` — number of columns (width) in the tile map
41
+ * - `h` — number of rows (height) in the tile map
42
+ * @example
43
+ * ```ts
44
+ * // get the level bounds.
45
+ * const [x, y, w, h] = tilemap.get_bounds("/level#tilemap");
46
+ * ```
47
+ */
48
+ function get_bounds(url: string | Hash | Url): LuaMultiReturn<[number, number, number, number]>;
49
+ /**
50
+ * Get the tile set at the specified position in the tilemap.
51
+ * The position is identified by the tile index starting at origin
52
+ * with index 1, 1. (see tilemap.set_tile())
53
+ * Which tile map and layer to query is identified by the URL and the
54
+ * layer name parameters.
55
+ *
56
+ * @param url - the tile map
57
+ * @param layer - name of the layer for the tile
58
+ * @param x - x-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
59
+ * @param y - y-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
60
+ * @returns index of the tile
61
+ * @example
62
+ * ```ts
63
+ * function tile_under_player(self: { player_x: number; player_y: number }) {
64
+ * // get the tile under the player.
65
+ * const tileno = tilemap.get_tile("/level#tilemap", "foreground", self.player_x, self.player_y);
66
+ * }
67
+ * ```
68
+ */
69
+ function get_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number): number;
70
+ /**
71
+ * Get the tile information at the specified position in the tilemap.
72
+ * The position is identified by the tile index starting at origin
73
+ * with index 1, 1. (see tilemap.set_tile())
74
+ * Which tile map and layer to query is identified by the URL and the
75
+ * layer name parameters.
76
+ *
77
+ * @param url - the tile map
78
+ * @param layer - name of the layer for the tile
79
+ * @param x - x-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
80
+ * @param y - y-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
81
+ * @returns index of the tile
82
+ * @example
83
+ * ```ts
84
+ * function tile_info_under_player(self: { player_x: number; player_y: number }) {
85
+ * // get the tile under the player.
86
+ * const tile_info = tilemap.get_tile_info("/level#tilemap", "foreground", self.player_x, self.player_y);
87
+ * pprint(tile_info);
88
+ * // {
89
+ * // index = 0,
90
+ * // h_flip = false,
91
+ * // v_flip = true,
92
+ * // rotate_90 = false
93
+ * // }
94
+ * }
95
+ * ```
96
+ */
97
+ function get_tile_info(url: string | Hash | Url, layer: string | Hash, x: number, y: number): { index: number; h_flip: boolean; v_flip: boolean; rotate_90: boolean };
98
+ /**
99
+ * Retrieves all the tiles for the specified layer in the tilemap.
100
+ * It returns a table of rows where the keys are the
101
+ * tile positions (see tilemap.get_bounds()).
102
+ * You can iterate it using `tiles[row_index][column_index]`.
103
+ *
104
+ * @param url - the tilemap
105
+ * @param layer - the name of the layer for the tiles
106
+ * @returns a table of rows representing the layer
107
+ * @example
108
+ * ```ts
109
+ * const [left, bottom, columns_count, rows_count] = tilemap.get_bounds("#tilemap");
110
+ * const tiles = tilemap.get_tiles("#tilemap", "layer");
111
+ * let tile = 0;
112
+ * let count = 0;
113
+ * for (let row_index = bottom; row_index <= bottom + rows_count - 1; row_index++) {
114
+ * for (let column_index = left; column_index <= left + columns_count - 1; column_index++) {
115
+ * tile = tiles.get(row_index)?.get(column_index) ?? 0;
116
+ * count = count + 1;
117
+ * }
118
+ * }
119
+ * ```
120
+ */
121
+ function get_tiles(url: string | Hash | Url, layer: string | Hash): LuaMap<number, LuaMap<number, number>>;
122
+ /**
123
+ * Resets a shader constant for a tile map component.
124
+ * The constant must be defined in the material assigned to the tile map.
125
+ * Resetting a constant through this function implies that the value defined in the material will be used.
126
+ * Which tile map to reset a constant for is identified by the URL.
127
+ *
128
+ * @param url - the tile map that should have a constant reset
129
+ * @param constant - name of the constant
130
+ * @example
131
+ * ```ts
132
+ * tilemap.reset_constant("#tilemap", "tint");
133
+ * ```
134
+ */
135
+ function reset_constant(url: string | Hash | Url, constant: string | Hash): void;
136
+ /**
137
+ * Replace a tile in a tile map with a new tile.
138
+ * The coordinates of the tiles are indexed so that the "first" tile just
139
+ * above and to the right of origin has coordinates 1,1.
140
+ * Tiles to the left of and below origin are indexed 0, -1, -2 and so forth.
141
+ *
142
+ * ```text
143
+ * +-------+-------+------+------+
144
+ * | 0,3 | 1,3 | 2,3 | 3,3 |
145
+ * +-------+-------+------+------+
146
+ * | 0,2 | 1,2 | 2,2 | 3,2 |
147
+ * +-------+-------+------+------+
148
+ * | 0,1 | 1,1 | 2,1 | 3,1 |
149
+ * +-------O-------+------+------+
150
+ * | 0,0 | 1,0 | 2,0 | 3,0 |
151
+ * +-------+-------+------+------+
152
+ * ```
153
+ *
154
+ * The coordinates must be within the bounds of the tile map as it were created.
155
+ * That is, it is not possible to extend the size of a tile map by setting tiles outside the edges.
156
+ * To clear a tile, set the tile to number 0. Which tile map and layer to manipulate is identified by the URL and the layer name parameters.
157
+ * Transform bitmask is arithmetic sum of one or both FLIP constants (`tilemap.H_FLIP`, `tilemap.V_FLIP`) and/or one of ROTATION constants
158
+ * (`tilemap.ROTATE_90`, `tilemap.ROTATE_180`, `tilemap.ROTATE_270`).
159
+ * Flip always applies before rotation (clockwise).
160
+ *
161
+ * @param url - the tile map
162
+ * @param layer - name of the layer for the tile
163
+ * @param x - x-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
164
+ * @param y - y-coordinate of the tile. **⚠️ 1-based; passed to Defold unchanged.**
165
+ * @param tile - index of new tile to set. 0 resets the cell
166
+ * @param transform_bitmask - optional flip and/or rotation should be applied to the tile
167
+ * @example
168
+ * ```ts
169
+ * function set_tiles(self: { player_x: number; player_y: number }, x: number, y: number) {
170
+ * // Clear the tile under the player.
171
+ * tilemap.set_tile("/level#tilemap", "foreground", self.player_x, self.player_y, 0);
172
+ *
173
+ * // Set tile with different combination of flip and rotation
174
+ * tilemap.set_tile("#tilemap", "layer1", x, y, 0, tilemap.H_FLIP + tilemap.V_FLIP + tilemap.ROTATE_90);
175
+ * tilemap.set_tile("#tilemap", "layer1", x, y, 0, tilemap.H_FLIP + tilemap.ROTATE_270);
176
+ * tilemap.set_tile("#tilemap", "layer1", x, y, 0, tilemap.V_FLIP + tilemap.H_FLIP);
177
+ * tilemap.set_tile("#tilemap", "layer1", x, y, 0, tilemap.ROTATE_180);
178
+ * }
179
+ * ```
180
+ */
181
+ function set_tile(url: string | Hash | Url, layer: string | Hash, x: number, y: number, tile: number, transform_bitmask?: number): boolean;
182
+ /**
183
+ * Sets the visibility of the tilemap layer
184
+ *
185
+ * @param url - the tile map
186
+ * @param layer - name of the layer for the tile
187
+ * @param visible - should the layer be visible
188
+ * @example
189
+ * ```ts
190
+ * // Disable rendering of the layer
191
+ * tilemap.set_visible("/level#tilemap", "foreground", false);
192
+ * ```
193
+ */
194
+ function set_visible(url: string | Hash | Url, layer: string | Hash, visible: boolean): void;
195
+ interface properties {
196
+ /**
197
+ * The material used when rendering the tile map. The type of the property is hash.
198
+ */
199
+ material: Hash;
200
+ /**
201
+ * The tile source used when rendering the tile map. The type of the property is hash.
202
+ */
203
+ tile_source: Hash;
204
+ }
205
+ }
206
+ }
207
+
208
+ export {};
@@ -0,0 +1,125 @@
1
+ /** @noSelfInFile */
2
+ declare global {
3
+ /**
4
+ * Timers allow you to set a delay and a callback to be called when the timer completes.
5
+ *
6
+ * The timers created with this API are updated with the collection timer where they
7
+ * are created. If you pause or speed up the collection (using `set_time_step`) it will
8
+ * also affect the new timer.
9
+ */
10
+ namespace timer {
11
+ /**
12
+ * Indicates an invalid timer handle
13
+ */
14
+ const INVALID_TIMER_HANDLE: number & { readonly __brand: "timer.INVALID_TIMER_HANDLE" };
15
+ /**
16
+ * You may cancel a timer from inside a timer callback.
17
+ * Cancelling a timer that is already executed or cancelled is safe.
18
+ *
19
+ * @param handle - the timer handle returned by timer.delay()
20
+ * @returns if the timer was active, false if the timer is already cancelled / complete
21
+ * @example
22
+ * ```ts
23
+ * function cancel_ticking(self: { handle: number }) {
24
+ * self.handle = timer.delay(1, true, () => print("print every second"));
25
+ * // ...
26
+ * const result = timer.cancel(self.handle);
27
+ * if (!result) {
28
+ * print("the timer is already cancelled");
29
+ * }
30
+ * }
31
+ * ```
32
+ */
33
+ function cancel(handle: number): boolean;
34
+ /**
35
+ * Adds a timer and returns a unique handle.
36
+ * You may create more timers from inside a timer callback.
37
+ * Using a delay of 0 will result in a timer that triggers at the next frame just before
38
+ * script update functions.
39
+ * If you want a timer that triggers on each frame, set delay to 0.0f and repeat to true.
40
+ * Timers created within a script will automatically die when the script is deleted.
41
+ *
42
+ * @param delay - time interval in seconds
43
+ * @param repeating - true = repeat timer until cancel, false = one-shot timer
44
+ * @param callback - timer callback function
45
+ *
46
+ * `self`
47
+ * object The current object
48
+ * `handle`
49
+ * number The handle of the timer
50
+ * `time_elapsed`
51
+ * number The elapsed time - on first trigger it is time since timer.delay call, otherwise time since last trigger
52
+ * @returns identifier for the create timer, returns timer.INVALID_TIMER_HANDLE if the timer can not be created
53
+ * @example
54
+ * A simple one-shot timer
55
+ * ```ts
56
+ * timer.delay(1, false, () => print("print in one second"));
57
+ * ```
58
+ * @example
59
+ * Repetitive timer which canceled after 10 calls
60
+ * ```ts
61
+ * function call_every_second(self: unknown, handle: unknown, time_elapsed: unknown) {
62
+ * const state = self as { counter: number };
63
+ * state.counter = state.counter + 1;
64
+ * print("Call #", state.counter);
65
+ * if (state.counter === 10) {
66
+ * timer.cancel(handle as number); // cancel timer after 10 calls
67
+ * }
68
+ * }
69
+ *
70
+ * function start_counting(self: { counter: number }) {
71
+ * self.counter = 0;
72
+ * timer.delay(1, true, call_every_second);
73
+ * }
74
+ * ```
75
+ */
76
+ function delay(delay: number, repeating: boolean, callback: (self: unknown, handle: unknown, time_elapsed: unknown) => void): number;
77
+ /**
78
+ * Get information about timer.
79
+ *
80
+ * @param handle - the timer handle returned by timer.delay()
81
+ * @returns table or `nil` if timer is cancelled/completed. table with data in the following fields:
82
+ *
83
+ * `time_remaining`
84
+ * number Time remaining until the next time a timer.delay() fires.
85
+ * `delay`
86
+ * number Time interval.
87
+ * `repeating`
88
+ * boolean true = repeat timer until cancel, false = one-shot timer.
89
+ * @example
90
+ * ```ts
91
+ * function report_ticking(self: { handle: number }) {
92
+ * self.handle = timer.delay(1, true, () => print("print every second"));
93
+ * // ...
94
+ * const result = timer.get_info(self.handle);
95
+ * if (!result) {
96
+ * print("the timer is already cancelled or complete");
97
+ * } else {
98
+ * pprint(result); // delay, time_remaining, repeating
99
+ * }
100
+ * }
101
+ * ```
102
+ */
103
+ function get_info(handle: number): { time_remaining: number; delay: number; repeating: boolean } | undefined;
104
+ /**
105
+ * Manual triggering a callback for a timer.
106
+ *
107
+ * @param handle - the timer handle returned by timer.delay()
108
+ * @returns if the timer was active, false if the timer is already cancelled / complete
109
+ * @example
110
+ * ```ts
111
+ * function trigger_ticking(self: { handle: number }) {
112
+ * self.handle = timer.delay(1, true, () => print("print every second or manually by timer.trigger"));
113
+ * // ...
114
+ * const result = timer.trigger(self.handle);
115
+ * if (!result) {
116
+ * print("the timer is already cancelled or complete");
117
+ * }
118
+ * }
119
+ * ```
120
+ */
121
+ function trigger(handle: number): boolean;
122
+ }
123
+ }
124
+
125
+ export {};
@@ -0,0 +1,61 @@
1
+ /** @noSelfInFile */
2
+ import type { Hash, Matrix4, Quaternion, Url, Vector, Vector3, Vector4 } from "../../../src/core-types";
3
+
4
+ declare global {
5
+ /**
6
+ * Functions for checking Defold userdata types.
7
+ */
8
+ namespace types {
9
+ /**
10
+ * Check if passed type is hash.
11
+ *
12
+ * @param var_ - Variable to check type
13
+ * @returns True if passed type is hash
14
+ */
15
+ function is_hash(var_: unknown): var_ is Hash;
16
+ /**
17
+ * Check if passed type is matrix4.
18
+ *
19
+ * @param var_ - Variable to check type
20
+ * @returns True if passed type is matrix4
21
+ */
22
+ function is_matrix4(var_: unknown): var_ is Matrix4;
23
+ /**
24
+ * Check if passed type is quaternion.
25
+ *
26
+ * @param var_ - Variable to check type
27
+ * @returns True if passed type is quaternion
28
+ */
29
+ function is_quat(var_: unknown): var_ is Quaternion;
30
+ /**
31
+ * Check if passed type is URL.
32
+ *
33
+ * @param var_ - Variable to check type
34
+ * @returns True if passed type is URL
35
+ */
36
+ function is_url(var_: unknown): var_ is Url;
37
+ /**
38
+ * Check if passed type is vector.
39
+ *
40
+ * @param var_ - Variable to check type
41
+ * @returns True if passed type is vector
42
+ */
43
+ function is_vector(var_: unknown): var_ is Vector;
44
+ /**
45
+ * Check if passed type is vector3.
46
+ *
47
+ * @param var_ - Variable to check type
48
+ * @returns True if passed type is vector3
49
+ */
50
+ function is_vector3(var_: unknown): var_ is Vector3;
51
+ /**
52
+ * Check if passed type is vector4.
53
+ *
54
+ * @param var_ - Variable to check type
55
+ * @returns True if passed type is vector4
56
+ */
57
+ function is_vector4(var_: unknown): var_ is Vector4;
58
+ }
59
+ }
60
+
61
+ export {};