kaplay 3001.0.5 → 3001.0.6

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 (45) hide show
  1. package/CHANGELOG.md +34 -21
  2. package/dist/declaration/app/app.d.ts +4 -84
  3. package/dist/declaration/app/app.d.ts.map +1 -1
  4. package/dist/declaration/components/draw/text.d.ts +5 -0
  5. package/dist/declaration/components/draw/text.d.ts.map +1 -1
  6. package/dist/declaration/components/misc/textInput.d.ts +1 -1
  7. package/dist/declaration/{game/events → events}/eventMap.d.ts +41 -4
  8. package/dist/declaration/events/eventMap.d.ts.map +1 -0
  9. package/dist/declaration/{utils → events}/events.d.ts.map +1 -1
  10. package/dist/declaration/{game/events/events.d.ts → events/globalEvents.d.ts} +7 -6
  11. package/dist/declaration/events/globalEvents.d.ts.map +1 -0
  12. package/dist/declaration/events/index.d.ts +3 -0
  13. package/dist/declaration/events/index.d.ts.map +1 -0
  14. package/dist/declaration/game/game.d.ts +2 -2
  15. package/dist/declaration/game/game.d.ts.map +1 -1
  16. package/dist/declaration/game/index.d.ts +1 -1
  17. package/dist/declaration/game/index.d.ts.map +1 -1
  18. package/dist/declaration/gfx/draw/drawText.d.ts +11 -0
  19. package/dist/declaration/gfx/draw/drawText.d.ts.map +1 -1
  20. package/dist/declaration/gfx/formatText.d.ts.map +1 -1
  21. package/dist/declaration/global.d.ts +1 -0
  22. package/dist/declaration/kaplay.d.ts.map +1 -1
  23. package/dist/declaration/types.d.ts +24 -3
  24. package/dist/declaration/types.d.ts.map +1 -1
  25. package/dist/declaration/utils/index.d.ts +1 -1
  26. package/dist/declaration/utils/index.d.ts.map +1 -1
  27. package/dist/doc.d.ts +168 -201
  28. package/dist/kaboom.cjs +5 -5
  29. package/dist/kaboom.cjs.map +4 -4
  30. package/dist/kaboom.js +5 -5
  31. package/dist/kaboom.js.map +4 -4
  32. package/dist/kaboom.mjs +5 -5
  33. package/dist/kaboom.mjs.map +4 -4
  34. package/dist/kaplay.cjs +5 -5
  35. package/dist/kaplay.cjs.map +4 -4
  36. package/dist/kaplay.js +5 -5
  37. package/dist/kaplay.js.map +4 -4
  38. package/dist/kaplay.mjs +5 -5
  39. package/dist/kaplay.mjs.map +4 -4
  40. package/package.json +1 -1
  41. package/dist/declaration/game/events/eventMap.d.ts.map +0 -1
  42. package/dist/declaration/game/events/events.d.ts.map +0 -1
  43. package/dist/declaration/game/events/index.d.ts +0 -3
  44. package/dist/declaration/game/events/index.d.ts.map +0 -1
  45. /package/dist/declaration/{utils → events}/events.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -6,39 +6,52 @@ The format is (mostly) based on
6
6
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
7
7
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
 
9
- ## [4000.0.0] - TBD
9
+ ## [3001.0.6] "Santa Events" - 2024-12-27
10
10
 
11
11
  ### Added
12
12
 
13
- - Added `ellipse()` component.
14
- - Added circle and (rotated) ellipse collision shapes.
15
- - Added `clipLineToRect()`
16
- - Added support to circle shapes in `area()`.
17
- - Added `obj.setParent()` to change the parent of a game object.
18
- - Added `fakeMouse()` to create a fake mouse cursor.
13
+ - Added `trigger(event, tag, ...args)` for global triggering events on a
14
+ specific tag (**experimental**) - @lajbel
19
15
 
20
16
  ```js
21
- const myCursor = add([fakeMouse(), sprite("kat"), pos(100, 100)]);
17
+ trigger("shoot", "target", 140);
22
18
 
23
- myCursor.press(); // trigger onClick events if the mouse is over
24
- myCursor.release();
25
- myCursor.move(vec2(100, 200)); // move as your wish
19
+ on("shoot", "target", (obj, score) => {
20
+ obj.destroy();
21
+ debug.log(140); // every bomb was 140 score points!
22
+ });
26
23
  ```
27
- - Added restitution and friction.
28
- - Added `k.system()` to replace internal events or create new.
24
+
25
+ - Added `{ override?: true }` in `CharTransform` for overridding text styles -
26
+ @dragoncoder047
29
27
 
30
28
  ```js
31
- system("collision", () => {
32
- // system code
33
- }, [LCEvents.AfterFixedUpdate, LCEvents.AfterUpdate]),
29
+ add([
30
+ pos(100, 150),
31
+ text("With override: Hello [foo]styled[/foo] text", {
32
+ transform: {
33
+ color: BLACK, // Default text color for every character
34
+ },
35
+ styles: {
36
+ foo: {
37
+ color: RED, // [foo] will be red
38
+ override: true, // will override the black def color
39
+ },
40
+ },
41
+ }),
42
+ ]);
34
43
  ```
35
- - Added LCEvents enum for identify different lifecycle events.
36
44
 
37
- ### Changed
45
+ - Added `{ indentAll?: boolean }` in `TextCompOpt` to indent every new line -
46
+ @dragoncoder047
47
+
48
+ - Added TypeScript definition for all App Events and missing Game Object
49
+ Events - @lajbel
50
+
51
+ ### Fixed
38
52
 
39
- - Replaced the Separating Axis Theorem (SAT) with the "Gilbert–Johnson–Keerthi"
40
- (`GJK`) distance algorithm.
41
- - Changed default behaviour of `kaplay({ tagsAsComponents: false })` to `false`.
53
+ - Fixed an incorrect mention to the component in `TextInputComp` type -
54
+ @dragoncoder047
42
55
 
43
56
  ## [3001.0.5] - 2024-12-18
44
57
 
@@ -1,6 +1,7 @@
1
1
  import type { Cursor, GamepadDef, GamepadStick, Key, KGamepad, KGamepadButton, MouseButton } from "../types";
2
2
  import { Vec2 } from "../math/math";
3
3
  import { KEventController, KEventHandler } from "../utils";
4
+ import type { AppEventMap } from "../game";
4
5
  import { type ButtonBinding, type ButtonsDef } from "./inputBindings";
5
6
  export declare class ButtonState<T = string> {
6
7
  pressed: Set<T>;
@@ -64,34 +65,7 @@ export declare const initAppState: (opt: {
64
65
  isMouseMoved: boolean;
65
66
  lastWidth: number;
66
67
  lastHeight: number;
67
- events: KEventHandler<{
68
- mouseMove: [];
69
- mouseDown: [MouseButton];
70
- mousePress: [MouseButton];
71
- mouseRelease: [MouseButton];
72
- charInput: [string];
73
- keyPress: [Key];
74
- keyDown: [Key];
75
- keyPressRepeat: [Key];
76
- keyRelease: [Key];
77
- touchStart: [Vec2, Touch];
78
- touchMove: [Vec2, Touch];
79
- touchEnd: [Vec2, Touch];
80
- gamepadButtonDown: [KGamepadButton, KGamepad];
81
- gamepadButtonPress: [KGamepadButton, KGamepad];
82
- gamepadButtonRelease: [KGamepadButton, KGamepad];
83
- gamepadStick: [string, Vec2, KGamepad];
84
- gamepadConnect: [KGamepad];
85
- gamepadDisconnect: [KGamepad];
86
- buttonDown: [string];
87
- buttonPress: [string];
88
- buttonRelease: [string];
89
- scroll: [Vec2];
90
- hide: [];
91
- show: [];
92
- resize: [];
93
- input: [];
94
- }>;
68
+ events: KEventHandler<AppEventMap>;
95
69
  };
96
70
  export declare const initApp: (opt: {
97
71
  canvas: HTMLCanvasElement;
@@ -133,34 +107,7 @@ export declare const initApp: (opt: {
133
107
  isMouseMoved: boolean;
134
108
  lastWidth: number;
135
109
  lastHeight: number;
136
- events: KEventHandler<{
137
- mouseMove: [];
138
- mouseDown: [MouseButton];
139
- mousePress: [MouseButton];
140
- mouseRelease: [MouseButton];
141
- charInput: [string];
142
- keyPress: [Key];
143
- keyDown: [Key];
144
- keyPressRepeat: [Key];
145
- keyRelease: [Key];
146
- touchStart: [Vec2, Touch];
147
- touchMove: [Vec2, Touch];
148
- touchEnd: [Vec2, Touch];
149
- gamepadButtonDown: [KGamepadButton, KGamepad];
150
- gamepadButtonPress: [KGamepadButton, KGamepad];
151
- gamepadButtonRelease: [KGamepadButton, KGamepad];
152
- gamepadStick: [string, Vec2, KGamepad];
153
- gamepadConnect: [KGamepad];
154
- gamepadDisconnect: [KGamepad];
155
- buttonDown: [string];
156
- buttonPress: [string];
157
- buttonRelease: [string];
158
- scroll: [Vec2];
159
- hide: [];
160
- show: [];
161
- resize: [];
162
- input: [];
163
- }>;
110
+ events: KEventHandler<AppEventMap>;
164
111
  };
165
112
  dt: () => number;
166
113
  fixedDt: () => number;
@@ -229,34 +176,7 @@ export declare const initApp: (opt: {
229
176
  onButtonDown: ((action: (btn: string) => void) => KEventController) & ((btn: string | string, action: (btn: string) => void) => KEventController);
230
177
  onButtonRelease: ((action: (btn: string) => void) => KEventController) & ((btn: string | string, action: (btn: string) => void) => KEventController);
231
178
  getLastInputDeviceType: () => import("./inputBindings").ButtonBindingDevice | null;
232
- events: KEventHandler<{
233
- mouseMove: [];
234
- mouseDown: [MouseButton];
235
- mousePress: [MouseButton];
236
- mouseRelease: [MouseButton];
237
- charInput: [string];
238
- keyPress: [Key];
239
- keyDown: [Key];
240
- keyPressRepeat: [Key];
241
- keyRelease: [Key];
242
- touchStart: [Vec2, Touch];
243
- touchMove: [Vec2, Touch];
244
- touchEnd: [Vec2, Touch];
245
- gamepadButtonDown: [KGamepadButton, KGamepad];
246
- gamepadButtonPress: [KGamepadButton, KGamepad];
247
- gamepadButtonRelease: [KGamepadButton, KGamepad];
248
- gamepadStick: [string, Vec2, KGamepad];
249
- gamepadConnect: [KGamepad];
250
- gamepadDisconnect: [KGamepad];
251
- buttonDown: [string];
252
- buttonPress: [string];
253
- buttonRelease: [string];
254
- scroll: [Vec2];
255
- hide: [];
256
- show: [];
257
- resize: [];
258
- input: [];
259
- }>;
179
+ events: KEventHandler<AppEventMap>;
260
180
  };
261
181
  export {};
262
182
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app/app.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,MAAM,EACN,UAAU,EACV,YAAY,EACZ,GAAG,EACH,QAAQ,EACR,cAAc,EACd,WAAW,EACd,MAAM,UAAU,CAAC;AAElB,OAAO,EAAO,IAAI,EAAQ,MAAM,cAAc,CAAC;AAE/C,OAAO,EAEH,gBAAgB,EAChB,aAAa,EAGhB,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,UAAU,EAGlB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,WAAW,CAAC,CAAC,GAAG,MAAM;IAC/B,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAe;IAC9B,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,CAAe;IACpC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAe;IAC/B,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAe;IAC3B,MAAM;IAKN,KAAK,CAAC,GAAG,EAAE,CAAC;IAKZ,WAAW,CAAC,GAAG,EAAE,CAAC;IAGlB,OAAO,CAAC,GAAG,EAAE,CAAC;CAKjB;AAED,cAAM,YAAY;IACd,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,CAAqB;IAC7D,UAAU,EAAE,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAa;CACnD;AAED,cAAM,UAAU;IACZ,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,KAAK,CAAa;IAC1B,GAAG,EAAE,MAAM,CAAK;IAChB,IAAI,CAAC,EAAE,EAAE,MAAM;CAWlB;AAED,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC7C,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvD,eAAO,IAAI,QAAQ,EAAE,QAAQ,CAAC;AAI9B,eAAO,MAAM,YAAY,QAAS;IAC9B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;CACxB;;;;;;;YAUuB,IAAI,GAAG,MAAM;;;;;;;;;;;;;;;;;;qBAkBJ,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI;;cAGhD,QAAQ,EAAE;kBACN,MAAM,EAAE;;;;;CAMnC,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;CACxB;;;;;;;;gBArCuB,IAAI,GAAG,MAAM;;;;;;;;;;;;;;;;;;yBAkBJ,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI;;kBAGhD,QAAQ,EAAE;sBACN,MAAM,EAAE;;;;;;;;;;uBAoIf,MAAM,IAAI,UACf,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,KAAK,IAAI;;;;;;wBAnC5C,OAAO;wBASR,OAAO;mBAnDV,MAAM,KAAG,IAAI;sBAJZ,MAAM;uBA+bL,QAAQ,EAAE;qBAvbZ,MAAM;yBAIA,OAAO,KAAG,IAAI;0BAiBf,OAAO;;oBA+Gb,IAAI;yBAIC,IAAI;oBAgCP,GAAG,GAAG,GAAG,EAAE,KAAG,OAAO;uBAZlB,GAAG,GAAG,GAAG,EAAE,KAAG,OAAO;6BAMf,GAAG,GAAG,GAAG,EAAE,KAAG,OAAO;wBAY1B,GAAG,GAAG,GAAG,EAAE,KAAG,OAAO;sBA9BxB,WAAW,KAAY,OAAO;yBAJ3B,WAAW,KAAY,OAAO;0BAQ7B,WAAW,KAAY,OAAO;wBAIjC,OAAO;mCA6BtB,cAAc,GAAG,cAAc,EAAE,KACxC,OAAO;gCAUA,cAAc,GAAG,cAAc,EAAE,KACxC,OAAO;oCAOA,cAAc,GAAG,cAAc,EAAE,KACxC,OAAO;6BAsOsB,YAAY,KAAG,IAAI;4BA7NpB,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO;yBAM9B,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO;6BAMvB,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO;qBAUnC,MAAM,WAAW,aAAa;qBAJ9B,MAAM,KAAG,aAAa;uBAWpB,MAAM;yBAKJ,MAAM;wBA+LT,MAAM,EAAE;uBA1LP,MAAM,IAAI,KAAG,gBAAgB;yBAKlB,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,gCAE9C,GAAG,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI;0BAQV,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,gCAE/C,GAAG,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI;gCAOJ,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,gCAErD,GAAG,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI;4BAOR,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,gCAEjD,GAAG,GAAG,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI;2BAOT,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,kCAGpD,WAAW,GAAG,WAAW,EAAE,UAC1B,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI;4BAQI,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,kCAGrD,WAAW,GAAG,WAAW,EAAE,UAC1B,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI;8BAQM,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,kCAGvD,WAAW,GAAG,WAAW,EAAE,UAC1B,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI;qBAKZ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,KAAG,gBAAgB;0BAO7C,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,KAAG,gBAAgB;sBAI3C,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,KAAG,gBAAgB;qBAIjD,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,KAAG,gBAAgB;oBAIjD,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,KAAG,gBAAgB;uBAI7C,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,KAAG,gBAAgB;qBAI1C,MAAM,IAAI,KAAG,gBAAgB;qBAI7B,MAAM,IAAI,KAAG,gBAAgB;mCAuBxC,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI,gCAOhD,cAAc,UACX,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI;oCA1BnD,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI,gCAOhD,cAAc,GAAG,cAAc,EAAE,UAC9B,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI;sCA4BnD,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI,gCAOhD,cAAc,GAAG,cAAc,EAAE,UAC9B,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI;4BAUrD,YAAY,UACX,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,KAAK,IAAI,KAC5C,gBAAgB;+BAOe,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI;kCAIxB,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI;6BAgBvB,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,gCAErD,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;4BAOf,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,gCAEpD,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;+BAOZ,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,gCAEvD,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;;;CAgnB1D,CAAC"}
@@ -116,6 +116,11 @@ export interface TextCompOpt {
116
116
  * @since v2000.2
117
117
  */
118
118
  styles?: Record<string, CharTransform | CharTransformFunc>;
119
+ /**
120
+ * If true, any (whitespace) indent on the first line of the paragraph
121
+ * will be copied to all of the lines for those parts that text-wrap.
122
+ */
123
+ indentAll?: boolean;
119
124
  }
120
125
  export declare function text(t: string, opt?: TextCompOpt): TextComp;
121
126
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/components/draw/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAItB,KAAK,SAAS,EACjB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,IAAI,EAAQ,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAsB,MAAM,aAAa,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,QAAS,SAAQ,IAAI;IAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,aAAa,EAAE,aAAa,GAAG,iBAAiB,CAAC;IACjD;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAAC,CAAC;IAC9D;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IAC9C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAAC,CAAC;CAC9D;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,WAAgB,GAAG,QAAQ,CAgE/D"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/components/draw/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,EACH,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAItB,KAAK,SAAS,EACjB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,IAAI,EAAQ,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAsB,MAAM,aAAa,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,QAAS,SAAQ,IAAI;IAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,aAAa,EAAE,aAAa,GAAG,iBAAiB,CAAC;IACjD;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAAC,CAAC;IAC9D;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IAC9C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAAC,CAAC;IAC3D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,WAAgB,GAAG,QAAQ,CAiE/D"}
@@ -1,6 +1,6 @@
1
1
  import type { Comp, KAPLAYCtx } from "../../types";
2
2
  /**
3
- * The {@link stay `stay()`} component.
3
+ * The {@link textInput `textInput()`} component.
4
4
  *
5
5
  * @group Component Types
6
6
  */
@@ -1,14 +1,17 @@
1
- import type { Vec2 } from "../../math";
2
- import type { Collision, GameObj } from "../../types";
3
- export type GameObjEventNames = "update" | "draw" | "add" | "destroy" | "use" | "unuse" | "tag" | "untag" | "collide" | "collideUpdate" | "collideEnd" | "hurt" | "heal" | "death" | "beforePhysicsResolve" | "physicsResolve" | "ground" | "fall" | "fallOff" | "headbutt" | "doubleJump" | "exitView" | "enterView" | "animStart" | "animEnd" | "navigationNext" | "navigationEnded" | "navigationStarted" | "targetReached" | "patrolFinished" | "objectSpotted" | "animateChannelFinished" | "animateFinished" | "spatialMapChanged" | "navigationMapInvalid" | "navigationMapChanged";
1
+ import type { Vec2 } from "../math";
2
+ import type { Collision, GameObj, Key, KGamepad, KGamepadButton, MouseButton } from "../types";
4
3
  /**
5
- * Game Object events.
4
+ * Game Object events with their arguments.
5
+ *
6
+ * If looking for use it with `obj.on()`, ignore first parameter (Game Obj)
6
7
  *
7
8
  * @group Events
8
9
  */
9
10
  export type GameObjEventMap = {
10
11
  /** Triggered every frame */
11
12
  "update": [GameObj];
13
+ /** Triggered every frame at a fixed 50fps rate */
14
+ "fixedUpdate": [GameObj];
12
15
  /** Triggered every frame before update */
13
16
  "draw": [GameObj];
14
17
  /** Triggered when object is added */
@@ -181,6 +184,40 @@ export type GameObjEventMap = {
181
184
  * From level of {@link addLevel `addLevel()`} function
182
185
  */
183
186
  "navigationMapChanged": [GameObj];
187
+ };
188
+ export type GameObjEvents = GameObjEventMap & {
184
189
  [key: string]: any[];
185
190
  };
191
+ export type GameObjEventNames = keyof GameObjEventMap;
192
+ /**
193
+ * App events with their arguments
194
+ */
195
+ export type AppEventMap = {
196
+ mouseMove: [];
197
+ mouseDown: [MouseButton];
198
+ mousePress: [MouseButton];
199
+ mouseRelease: [MouseButton];
200
+ charInput: [string];
201
+ keyPress: [Key];
202
+ keyDown: [Key];
203
+ keyPressRepeat: [Key];
204
+ keyRelease: [Key];
205
+ touchStart: [Vec2, Touch];
206
+ touchMove: [Vec2, Touch];
207
+ touchEnd: [Vec2, Touch];
208
+ gamepadButtonDown: [KGamepadButton, KGamepad];
209
+ gamepadButtonPress: [KGamepadButton, KGamepad];
210
+ gamepadButtonRelease: [KGamepadButton, KGamepad];
211
+ gamepadStick: [string, Vec2, KGamepad];
212
+ gamepadConnect: [KGamepad];
213
+ gamepadDisconnect: [KGamepad];
214
+ buttonDown: [string];
215
+ buttonPress: [string];
216
+ buttonRelease: [string];
217
+ scroll: [Vec2];
218
+ hide: [];
219
+ show: [];
220
+ resize: [];
221
+ input: [];
222
+ };
186
223
  //# sourceMappingURL=eventMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventMap.d.ts","sourceRoot":"","sources":["../../../src/events/eventMap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/utils/events.ts"],"names":[],"mappings":"AAEA,qBAAa,QAAQ,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAa;IAC3B,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM;IAMlB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI;CAI1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAgB;IACzB,6BAA6B;IAC7B,MAAM,EAAE,OAAO,CAAS;IACxB,uBAAuB;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;gBAEP,MAAM,EAAE,MAAM,IAAI;IAG9B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,gBAAgB;IAWzD,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB;CAUlE;AAED,qBAAa,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE;IAC1C,OAAO,CAAC,UAAU,CAAkE;IACpF,OAAO,CAAC,QAAQ,CAAwD;IAExE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,GAAG,gBAAgB;IAWzD,OAAO,CACH,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,GACxD,gBAAgB;IAOnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrB,OAAO,CAAC,GAAG,IAAI,EAAE,IAAI;IASrB,YAAY,IAAI,MAAM;IAGtB,KAAK;CAGR;AAGD,qBAAa,aAAa,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAIT;IACP,SAAS,EAAE,OAAO,CACd;SACK,IAAI,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAC9B,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CACpC;KACJ,CACJ,CAAM;IAEP,EAAE,CAAC,IAAI,SAAS,MAAM,QAAQ,EAC1B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAC1C,gBAAgB;IAMnB,MAAM,CAAC,IAAI,SAAS,MAAM,QAAQ,EAC9B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAC1C,gBAAgB;IAOnB,IAAI,CAAC,IAAI,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/D,OAAO,CAAC,IAAI,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAKxE,MAAM,CAAC,IAAI,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,IAAI;IAG9C,KAAK;IAGL,YAAY,CAAC,IAAI,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM;CAGhE"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events/events.ts"],"names":[],"mappings":"AAEA,qBAAa,QAAQ,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAa;IAC3B,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM;IAMlB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI;CAI1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAgB;IACzB,6BAA6B;IAC7B,MAAM,EAAE,OAAO,CAAS;IACxB,uBAAuB;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;gBAEP,MAAM,EAAE,MAAM,IAAI;IAG9B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,gBAAgB;IAWzD,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB;CAUlE;AAED,qBAAa,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE;IAC1C,OAAO,CAAC,UAAU,CACA;IAClB,OAAO,CAAC,QAAQ,CAAwD;IAExE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,GAAG,gBAAgB;IAWzD,OAAO,CACH,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,GACxD,gBAAgB;IAOnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrB,OAAO,CAAC,GAAG,IAAI,EAAE,IAAI;IAarB,YAAY,IAAI,MAAM;IAGtB,KAAK;CAGR;AAGD,qBAAa,aAAa,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAIT;IACP,SAAS,EAAE,OAAO,CACd;SACK,IAAI,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAC9B,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CACpC;KACJ,CACJ,CAAM;IACP,EAAE,CAAC,IAAI,SAAS,MAAM,QAAQ,EAC1B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAC1C,gBAAgB;IAMnB,MAAM,CAAC,IAAI,SAAS,MAAM,QAAQ,EAC9B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAC1C,gBAAgB;IAOnB,IAAI,CAAC,IAAI,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAM/D,OAAO,CAAC,IAAI,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAKxE,MAAM,CAAC,IAAI,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,IAAI;IAG9C,KAAK;IAGL,YAAY,CAAC,IAAI,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM;CAGhE"}
@@ -1,9 +1,10 @@
1
- import { type Asset } from "../../assets";
2
- import type { Collision, GameObj, Tag } from "../../types";
3
- import { KEventController } from "../../utils";
4
- import type { GameObjEventMap, GameObjEventNames } from "./eventMap";
1
+ import { type Asset } from "../assets";
2
+ import type { Collision, GameObj, Tag } from "../types";
3
+ import { KEventController } from "../utils";
4
+ import type { GameObjEventNames, GameObjEvents } from "./eventMap";
5
5
  export type TupleWithoutFirst<T extends any[]> = T extends [infer R, ...infer E] ? E : never;
6
- export declare function on<Ev extends GameObjEventNames | string & {}>(event: Ev, tag: Tag, cb: (obj: GameObj, ...args: TupleWithoutFirst<GameObjEventMap[Ev]>) => void): KEventController;
6
+ export declare function on<Ev extends GameObjEventNames>(event: Ev, tag: Tag, cb: (obj: GameObj, ...args: TupleWithoutFirst<GameObjEvents[Ev]>) => void): KEventController;
7
+ export declare const trigger: (event: string, tag: string, ...args: any[]) => void;
7
8
  export declare const onFixedUpdate: ((action: () => void) => KEventController) & ((tag: Tag, action: (obj: GameObj) => void) => KEventController);
8
9
  export declare const onUpdate: ((action: () => void) => KEventController) & ((tag: Tag, action: (obj: GameObj) => void) => KEventController);
9
10
  export declare const onDraw: ((action: () => void) => KEventController) & ((tag: Tag, action: (obj: GameObj) => void) => KEventController);
@@ -26,4 +27,4 @@ export declare function onResize(action: () => void): void;
26
27
  export declare function onError(action: (err: Error) => void): void;
27
28
  export declare function onLoad(cb: () => void): void;
28
29
  export declare function onLoadError(cb: (name: string, failedAsset: Asset<any>) => void): KEventController | undefined;
29
- //# sourceMappingURL=events.d.ts.map
30
+ //# sourceMappingURL=globalEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalEvents.d.ts","sourceRoot":"","sources":["../../../src/events/globalEvents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./eventMap";
2
+ export * from "./globalEvents";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { Asset } from "../assets";
2
2
  import type { TimerComp } from "../components";
3
+ import type { GameObjEvents } from "../events";
3
4
  import { Mat4, Vec2 } from "../math/math";
4
5
  import { type GameObj, type Key, type MouseButton } from "../types";
5
6
  import { KEventHandler } from "../utils";
6
- import type { GameObjEventMap } from "./events";
7
7
  import type { SceneDef, SceneName } from "./scenes";
8
8
  export type Game = ReturnType<typeof initGame>;
9
9
  export declare const initGame: () => {
@@ -43,7 +43,7 @@ export declare const initGame: () => {
43
43
  sceneLeave: [string];
44
44
  sceneEnter: [string];
45
45
  }>;
46
- objEvents: KEventHandler<GameObjEventMap>;
46
+ objEvents: KEventHandler<GameObjEvents>;
47
47
  root: GameObj<TimerComp>;
48
48
  gravity: Vec2 | null;
49
49
  scenes: Record<SceneName, SceneDef>;
@@ -1 +1 @@
1
- {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/game/game.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE/C,eAAO,MAAM,QAAQ;;mBAIE,EAAE;mBACF,CAAC,WAAW,CAAC;oBACZ,CAAC,WAAW,CAAC;sBACX,CAAC,WAAW,CAAC;mBAChB,CAAC,MAAM,CAAC;kBACT,CAAC,GAAG,CAAC;iBACN,CAAC,GAAG,CAAC;wBACE,CAAC,GAAG,CAAC;oBACT,CAAC,GAAG,CAAC;oBACL,CAAC,IAAI,EAAE,KAAK,CAAC;mBACd,CAAC,IAAI,EAAE,KAAK,CAAC;kBACd,CAAC,IAAI,EAAE,KAAK,CAAC;2BACJ,CAAC,MAAM,CAAC;4BACP,CAAC,MAAM,CAAC;8BACN,CAAC,MAAM,CAAC;sBAChB,CAAC,MAAM,EAAE,IAAI,CAAC;wBACZ,CAAC,OAAO,CAAC;2BACN,CAAC,OAAO,CAAC;gBACpB,CAAC,IAAI,CAAC;aACT,CAAC,OAAO,CAAC;iBACL,CAAC,OAAO,CAAC;aACb,CAAC,OAAO,EAAE,MAAM,CAAC;eACf,CAAC,OAAO,EAAE,MAAM,CAAC;aACnB,CAAC,OAAO,EAAE,MAAM,CAAC;eACf,CAAC,OAAO,EAAE,MAAM,CAAC;cAClB,EAAE;mBACG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;iBACtB,CAAC,MAAM,CAAC;eACV,CAAC,KAAK,CAAC;eACP,EAAE;kBACC,EAAE;gBACJ,EAAE;oBACE,CAAC,MAAM,CAAC;oBACR,CAAC,MAAM,CAAC;;;UAON,OAAO,CAAC,SAAS,CAAC;aAGnB,IAAI,GAAG,IAAI;YACd,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;kBACnB,SAAS,GAAG,IAAI;YACtB,MAAM,EAAE,GAAG,IAAI;;UAInB;QAAE,GAAG,EAAE,MAAM,GAAG;YAAE,QAAQ,IAAI,MAAM,CAAA;SAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;;aAInD,IAAI,GAAG,IAAI;;;;;;CASnC,CAAC"}
1
+ {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/game/game.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE/C,eAAO,MAAM,QAAQ;;mBAIE,EAAE;mBACF,CAAC,WAAW,CAAC;oBACZ,CAAC,WAAW,CAAC;sBACX,CAAC,WAAW,CAAC;mBAChB,CAAC,MAAM,CAAC;kBACT,CAAC,GAAG,CAAC;iBACN,CAAC,GAAG,CAAC;wBACE,CAAC,GAAG,CAAC;oBACT,CAAC,GAAG,CAAC;oBACL,CAAC,IAAI,EAAE,KAAK,CAAC;mBACd,CAAC,IAAI,EAAE,KAAK,CAAC;kBACd,CAAC,IAAI,EAAE,KAAK,CAAC;2BACJ,CAAC,MAAM,CAAC;4BACP,CAAC,MAAM,CAAC;8BACN,CAAC,MAAM,CAAC;sBAChB,CAAC,MAAM,EAAE,IAAI,CAAC;wBACZ,CAAC,OAAO,CAAC;2BACN,CAAC,OAAO,CAAC;gBACpB,CAAC,IAAI,CAAC;aACT,CAAC,OAAO,CAAC;iBACL,CAAC,OAAO,CAAC;aACb,CAAC,OAAO,EAAE,MAAM,CAAC;eACf,CAAC,OAAO,EAAE,MAAM,CAAC;aACnB,CAAC,OAAO,EAAE,MAAM,CAAC;eACf,CAAC,OAAO,EAAE,MAAM,CAAC;cAClB,EAAE;mBACG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;iBACtB,CAAC,MAAM,CAAC;eACV,CAAC,KAAK,CAAC;eACP,EAAE;kBACC,EAAE;gBACJ,EAAE;oBACE,CAAC,MAAM,CAAC;oBACR,CAAC,MAAM,CAAC;;;UAON,OAAO,CAAC,SAAS,CAAC;aAGnB,IAAI,GAAG,IAAI;YACd,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;kBACnB,SAAS,GAAG,IAAI;YACtB,MAAM,EAAE,GAAG,IAAI;;UAInB;QAAE,GAAG,EAAE,MAAM,GAAG;YAAE,QAAQ,IAAI,MAAM,CAAA;SAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;;aAInD,IAAI,GAAG,IAAI;;;;;;CASnC,CAAC"}
@@ -1,5 +1,5 @@
1
+ export * from "../events";
1
2
  export * from "./camera";
2
- export * from "./events";
3
3
  export * from "./game";
4
4
  export * from "./gravity";
5
5
  export * from "./initEvents";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/game/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/game/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -59,6 +59,11 @@ export type DrawTextOpt = RenderProps & {
59
59
  * @since v2000.2
60
60
  */
61
61
  styles?: Record<string, CharTransform | CharTransformFunc>;
62
+ /**
63
+ * If true, any (whitespace) indent on the first line of the paragraph
64
+ * will be copied to all of the lines for those parts that text-wrap.
65
+ */
66
+ indentAll?: boolean;
62
67
  };
63
68
  /**
64
69
  * A function that returns a character transform config. Useful if you're generating dynamic styles.
@@ -95,6 +100,12 @@ export interface CharTransform {
95
100
  * For example, an opacity of 0.4 with 2 set in the transformation, the resulting opacity will be 0.8 (0.4 × 2).
96
101
  */
97
102
  opacity?: number;
103
+ /**
104
+ * If true, the styles applied by this specific {@link DrawTextOpt.styles} entry transform
105
+ * will override, rather than compose with, the default styles given in {@link DrawTextOpt.transform} and by other
106
+ * components' styles.
107
+ */
108
+ override?: boolean;
98
109
  }
99
110
  /**
100
111
  * How the text should be aligned.
@@ -1 +1 @@
1
- {"version":3,"file":"drawText.d.ts","sourceRoot":"","sources":["../../../../src/gfx/draw/drawText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIvD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IACpC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EACC,MAAM,GACN,QAAQ,GACR,KAAK,CAAC,QAAQ,CAAC,GACf,cAAc,GACd,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IAC9C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAAC,CAAC;CAC9D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,aAAa,CAAC;AAE3E;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;IAEX;;;;OAIG;IACH,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GACf,QAAQ,GACR,MAAM,GACN,OAAO,CAAC;AAEd,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,QAExC"}
1
+ {"version":3,"file":"drawText.d.ts","sourceRoot":"","sources":["../../../../src/gfx/draw/drawText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIvD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG;IACpC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EACC,MAAM,GACN,QAAQ,GACR,KAAK,CAAC,QAAQ,CAAC,GACf,cAAc,GACd,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,GAAG,iBAAiB,CAAC;IAC9C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAAC,CAAC;IAC3D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,aAAa,CAAC;AAE3E;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B;;;OAGG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;IAEX;;;;OAIG;IACH,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GACf,QAAQ,GACR,MAAM,GACN,OAAO,CAAC;AAEd,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,QAExC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatText.d.ts","sourceRoot":"","sources":["../../../src/gfx/formatText.ts"],"names":[],"mappings":"AAaA,OAAO,EAEH,KAAK,WAAW,EAGhB,KAAK,aAAa,EACrB,MAAM,QAAQ,CAAC;AAuBhB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;CAChB,CAgEA;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,CAiT1D"}
1
+ {"version":3,"file":"formatText.d.ts","sourceRoot":"","sources":["../../../src/gfx/formatText.ts"],"names":[],"mappings":"AAaA,OAAO,EAEH,KAAK,WAAW,EAGhB,KAAK,aAAa,EACrB,MAAM,QAAQ,CAAC;AA2BhB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAC5C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;CAChB,CAgEA;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,CAsT1D"}
@@ -57,6 +57,7 @@ declare global {
57
57
  const patrol: KAPLAYCtx["patrol"]
58
58
  const pathfinder: KAPLAYCtx["pathfinder"]
59
59
  const raycast: KAPLAYCtx["raycast"]
60
+ const trigger: KAPLAYCtx["trigger"]
60
61
  const on: KAPLAYCtx["on"]
61
62
  const onFixedUpdate: KAPLAYCtx["onFixedUpdate"]
62
63
  const onUpdate: KAPLAYCtx["onUpdate"]
@@ -1 +1 @@
1
- {"version":3,"file":"kaplay.d.ts","sourceRoot":"","sources":["../../src/kaplay.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAW,MAAM,OAAO,CAAC;AA4JjD,OAAO,KAAK,EAGR,SAAS,EACT,cAAc,EACd,SAAS,EAET,YAAY,EACZ,UAAU,EAEb,MAAM,SAAS,CAAC;AA0HjB,eAAO,MAAM,EAAE,EAgBC,cAAc,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,MAAM,GACR,QAAQ,SAAS,UAAU,CAAC,OAAO,CAAC,gBACpC,QAAQ,SAAS,UAAU,OAC3B,YAAY,SAAS,MAAM,mCAErB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAGpC,QAAQ,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,GAC7D,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC,QAAQ,CA4iC9D,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"kaplay.d.ts","sourceRoot":"","sources":["../../src/kaplay.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAW,MAAM,OAAO,CAAC;AA4JjD,OAAO,KAAK,EAGR,SAAS,EACT,cAAc,EACd,SAAS,EAET,YAAY,EACZ,UAAU,EAEb,MAAM,SAAS,CAAC;AA2HjB,eAAO,MAAM,EAAE,EAgBC,cAAc,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,MAAM,GACR,QAAQ,SAAS,UAAU,CAAC,OAAO,CAAC,gBACpC,QAAQ,SAAS,UAAU,OAC3B,YAAY,SAAS,MAAM,mCAErB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAGpC,QAAQ,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,GAC7D,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC,QAAQ,CA6iC9D,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -4,7 +4,7 @@ import type { FontData } from "./assets/font";
4
4
  import type { AudioCtx, AudioPlay, AudioPlayOpt } from "./audio";
5
5
  import type { AgentComp, AgentCompOpt, AnchorComp, AnimateComp, AnimateCompOpt, AreaComp, AreaCompOpt, AreaEffectorComp, AreaEffectorCompOpt, BodyComp, BodyCompOpt, BuoyancyEffectorComp, BuoyancyEffectorCompOpt, CircleComp, CircleCompOpt, ColorComp, ConstantForceComp, ConstantForceCompOpt, DoubleJumpComp, FixedComp, FollowComp, HealthComp, LayerComp, LifespanCompOpt, MaskComp, NamedComp, OffScreenComp, OffScreenCompOpt, OpacityComp, OutlineComp, PathfinderComp, PathfinderCompOpt, PatrolComp, PatrolCompOpt, PlatformEffectorComp, PlatformEffectorCompOpt, PointEffectorComp, PointEffectorCompOpt, PolygonComp, PolygonCompOpt, PosComp, RectComp, RectCompOpt, RotateComp, ScaleComp, SentryCandidates, SentryComp, SentryCompOpt, ShaderComp, SpriteComp, SpriteCompOpt, StateComp, StayComp, SurfaceEffectorComp, SurfaceEffectorCompOpt, TextComp, TextCompOpt, TextInputComp, TileComp, TileCompOpt, TimerComp, UVQuadComp, ZComp } from "./components/";
6
6
  import type { EmitterOpt, ParticlesComp, ParticlesOpt } from "./components/draw/particles";
7
- import type { BoomOpt, Game, GameObjEventMap, GameObjEventNames, LevelOpt, SceneDef, SceneName, TupleWithoutFirst } from "./game";
7
+ import type { BoomOpt, Game, GameObjEventNames, GameObjEvents, LevelOpt, SceneDef, SceneName, TupleWithoutFirst } from "./game";
8
8
  import type { AppGfxCtx, DrawBezierOpt, DrawCircleOpt, DrawCurveOpt, DrawLineOpt, DrawLinesOpt, DrawRectOpt, DrawSpriteOpt, DrawTextOpt, DrawTriangleOpt, FormattedText, FrameBuffer, LineCap, LineJoin, Texture } from "./gfx";
9
9
  import type { Color, RGBAValue, RGBValue } from "./math/color";
10
10
  import type { Circle, Ellipse, Line, Mat4, Point, Polygon, Quad, RaycastResult, Rect, RNG, StepPosition, Vec2, Vec2Args } from "./math/math";
@@ -1263,6 +1263,27 @@ export interface KAPLAYCtx<TButtonDef extends ButtonsDef = {}, TButton extends s
1263
1263
  * @group Math
1264
1264
  */
1265
1265
  raycast(origin: Vec2, direction: Vec2, exclude?: string[]): RaycastResult;
1266
+ /**
1267
+ * Trigger an event on all game objs with certain tag.
1268
+ *
1269
+ * @param tag - The tag to trigger to.
1270
+ * @param args - Arguments to pass to the `on()` functions
1271
+ *
1272
+ * @example
1273
+ * ```js
1274
+ * trigger("shoot", "target", 140);
1275
+ *
1276
+ * on("shoot", "target", (obj, score) => {
1277
+ * obj.destroy();
1278
+ * debug.log(140); // every bomb was 140 score points!
1279
+ * });
1280
+ * ```
1281
+ *
1282
+ * @since v3001.0.6
1283
+ * @group Events
1284
+ * @experimental This feature is in experimental phase, it will be fully released in v3001.1.0
1285
+ */
1286
+ trigger(event: string, tag: string, ...args: any): void;
1266
1287
  /**
1267
1288
  * Register an event on all game objs with certain tag.
1268
1289
  *
@@ -1301,7 +1322,7 @@ export interface KAPLAYCtx<TButtonDef extends ButtonsDef = {}, TButton extends s
1301
1322
  * @since v2000.0
1302
1323
  * @group Events
1303
1324
  */
1304
- on<Ev extends GameObjEventNames | (string & {})>(event: Ev, tag: Tag, action: (obj: GameObj, ...args: TupleWithoutFirst<GameObjEventMap[Ev]>) => void): KEventController;
1325
+ on<Ev extends GameObjEventNames | (string & {})>(event: Ev, tag: Tag, action: (obj: GameObj, ...args: TupleWithoutFirst<GameObjEvents[Ev]>) => void): KEventController;
1305
1326
  /**
1306
1327
  * Register an event that runs at a fixed framerate.
1307
1328
  *
@@ -5247,7 +5268,7 @@ export interface GameObjRaw {
5247
5268
  * @returns The event controller.
5248
5269
  * @since v2000.0
5249
5270
  */
5250
- on(event: string, action: (...args: any) => void): KEventController;
5271
+ on(event: GameObjEventNames | (string & {}), action: (...args: any) => void): KEventController;
5251
5272
  /**
5252
5273
  * Trigger an event.
5253
5274
  *