excalibur 0.26.0-alpha.310 → 0.26.0-alpha.311

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 (96) hide show
  1. package/CHANGELOG.md +8 -2
  2. package/build/dist/Actor.js +3 -1
  3. package/build/dist/Actor.js.map +1 -1
  4. package/build/dist/Debug/Debug.d.ts +16 -0
  5. package/build/dist/Debug/Debug.js +35 -0
  6. package/build/dist/Debug/Debug.js.map +1 -1
  7. package/build/dist/Drawing/Animation.js +10 -1
  8. package/build/dist/Drawing/Animation.js.map +1 -1
  9. package/build/dist/Drawing/Polygon.js +11 -1
  10. package/build/dist/Drawing/Polygon.js.map +1 -1
  11. package/build/dist/Drawing/Sprite.js +24 -25
  12. package/build/dist/Drawing/Sprite.js.map +1 -1
  13. package/build/dist/Drawing/Texture.js +25 -36
  14. package/build/dist/Drawing/Texture.js.map +1 -1
  15. package/build/dist/Engine.d.ts +34 -1
  16. package/build/dist/Engine.js +114 -60
  17. package/build/dist/Engine.js.map +1 -1
  18. package/build/dist/EntityComponentSystem/SystemManager.d.ts +6 -0
  19. package/build/dist/EntityComponentSystem/SystemManager.js +12 -5
  20. package/build/dist/EntityComponentSystem/SystemManager.js.map +1 -1
  21. package/build/dist/Graphics/Animation.js +7 -1
  22. package/build/dist/Graphics/Animation.js.map +1 -1
  23. package/build/dist/Graphics/Canvas.js +5 -1
  24. package/build/dist/Graphics/Canvas.js.map +1 -1
  25. package/build/dist/Graphics/Circle.js +5 -1
  26. package/build/dist/Graphics/Circle.js.map +1 -1
  27. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js +4 -4
  28. package/build/dist/Graphics/Context/ExcaliburGraphicsContextWebGL.js.map +1 -1
  29. package/build/dist/Graphics/Font.js +14 -2
  30. package/build/dist/Graphics/Font.js.map +1 -1
  31. package/build/dist/Graphics/GraphicsComponent.js +6 -3
  32. package/build/dist/Graphics/GraphicsComponent.js.map +1 -1
  33. package/build/dist/Graphics/GraphicsGroup.js +4 -1
  34. package/build/dist/Graphics/GraphicsGroup.js.map +1 -1
  35. package/build/dist/Graphics/ImageSource.js +25 -36
  36. package/build/dist/Graphics/ImageSource.js.map +1 -1
  37. package/build/dist/Graphics/Polygon.js +5 -1
  38. package/build/dist/Graphics/Polygon.js.map +1 -1
  39. package/build/dist/Graphics/Rectangle.js +6 -1
  40. package/build/dist/Graphics/Rectangle.js.map +1 -1
  41. package/build/dist/Graphics/Sprite.js +6 -1
  42. package/build/dist/Graphics/Sprite.js.map +1 -1
  43. package/build/dist/Graphics/SpriteSheet.js +2 -2
  44. package/build/dist/Graphics/SpriteSheet.js.map +1 -1
  45. package/build/dist/Loader.d.ts +4 -1
  46. package/build/dist/Loader.js +31 -31
  47. package/build/dist/Loader.js.map +1 -1
  48. package/build/dist/Particles.js +1 -1
  49. package/build/dist/Particles.js.map +1 -1
  50. package/build/dist/Resources/Gif.js +8 -19
  51. package/build/dist/Resources/Gif.js.map +1 -1
  52. package/build/dist/Resources/Sound/Sound.js +42 -59
  53. package/build/dist/Resources/Sound/Sound.js.map +1 -1
  54. package/build/dist/Scene.js +1 -0
  55. package/build/dist/Scene.js.map +1 -1
  56. package/build/dist/Screen.js +3 -3
  57. package/build/dist/Screen.js.map +1 -1
  58. package/build/dist/ScreenElement.js +1 -1
  59. package/build/dist/ScreenElement.js.map +1 -1
  60. package/build/dist/Trigger.js +4 -1
  61. package/build/dist/Trigger.js.map +1 -1
  62. package/build/dist/Util/Clock.d.ts +117 -0
  63. package/build/dist/Util/Clock.js +209 -0
  64. package/build/dist/Util/Clock.js.map +1 -0
  65. package/build/dist/Util/Decorators.js +7 -2
  66. package/build/dist/Util/Decorators.js.map +1 -1
  67. package/build/dist/Util/Fps.d.ts +40 -0
  68. package/build/dist/Util/Fps.js +47 -0
  69. package/build/dist/Util/Fps.js.map +1 -0
  70. package/build/dist/Util/Util.d.ts +6 -1
  71. package/build/dist/Util/Util.js +9 -3
  72. package/build/dist/Util/Util.js.map +1 -1
  73. package/build/dist/Util/WebAudio.js.map +1 -1
  74. package/build/dist/excalibur.js +699 -306
  75. package/build/dist/excalibur.js.map +1 -1
  76. package/build/dist/excalibur.min.js +1 -1
  77. package/build/dist/excalibur.min.js.LICENSE.txt +1 -1
  78. package/build/dist/excalibur.min.js.map +1 -1
  79. package/build/dist/index.d.ts +3 -0
  80. package/build/dist/index.js +5 -2
  81. package/build/dist/index.js.map +1 -1
  82. package/build/esm/Debug/Debug.d.ts +16 -0
  83. package/build/esm/Engine.d.ts +34 -1
  84. package/build/esm/EntityComponentSystem/SystemManager.d.ts +6 -0
  85. package/build/esm/Loader.d.ts +4 -1
  86. package/build/esm/Util/Clock.d.ts +117 -0
  87. package/build/esm/Util/Fps.d.ts +40 -0
  88. package/build/esm/Util/Util.d.ts +6 -1
  89. package/build/esm/excalibur.js +705 -307
  90. package/build/esm/excalibur.js.map +1 -1
  91. package/build/esm/excalibur.min.js +1 -1
  92. package/build/esm/excalibur.min.js.LICENSE.txt +1 -1
  93. package/build/esm/excalibur.min.js.map +1 -1
  94. package/build/esm/index.d.ts +3 -0
  95. package/package.json +1 -1
  96. package/wallaby.js +1 -0
@@ -0,0 +1,117 @@
1
+ import { FpsSampler } from './Fps';
2
+ export interface ClockOptions {
3
+ /**
4
+ * Define the function you'd like the clock to tick when it is started
5
+ */
6
+ tick: (elapsedMs: number) => any;
7
+ /**
8
+ * Optionally define the fatal exception handler, used if an error is thrown in tick
9
+ */
10
+ onFatalException?: (e: unknown) => any;
11
+ /**
12
+ * Optionally limit the maximum FPS of the clock
13
+ */
14
+ maxFps?: number;
15
+ }
16
+ /**
17
+ * Abstract Clock is the base type of all Clocks
18
+ *
19
+ * It has a few opinions
20
+ * 1. It manages the calculation of what "elapsed" time means and thus maximum fps
21
+ * 2. The default timing api is implemented in now()
22
+ *
23
+ * To implement your own clock, extend Clock and override start/stop to start and stop the clock, then call update() with whatever
24
+ * method is unique to your clock implementation.
25
+ */
26
+ export declare abstract class Clock {
27
+ protected tick: (elapsedMs: number) => any;
28
+ private _onFatalException;
29
+ private _maxFps;
30
+ private _lastTime;
31
+ fpsSampler: FpsSampler;
32
+ private _options;
33
+ private _elapsed;
34
+ private _scheduledCbs;
35
+ private _totalElapsed;
36
+ constructor(options: ClockOptions);
37
+ /**
38
+ * Get the elapsed time for the last completed frame
39
+ */
40
+ elapsed(): number;
41
+ /**
42
+ * Get the current time in milliseconds
43
+ */
44
+ now(): number;
45
+ toTestClock(): TestClock;
46
+ toStandardClock(): StandardClock;
47
+ /**
48
+ * Schedule a callback to fire given a timeout in milliseconds using the excalibur [[Clock]]
49
+ *
50
+ * This is useful to use over the built in browser `setTimeout` because callbacks will be tied to the
51
+ * excalibur update clock, instead of browser time, this means that callbacks wont fire if the game is
52
+ * stopped or paused.
53
+ *
54
+ * @param cb callback to fire
55
+ * @param timeoutMs Optionally specify a timeout in milliseconds from now, default is 0ms which means the next possible tick
56
+ */
57
+ schedule(cb: () => any, timeoutMs?: number): void;
58
+ private _runScheduledCbs;
59
+ protected update(overrideUpdateMs?: number): void;
60
+ /**
61
+ * Returns if the clock is currently running
62
+ */
63
+ abstract isRunning(): boolean;
64
+ /**
65
+ * Start the clock, it will then periodically call the tick(elapsedMilliseconds) since the last tick
66
+ */
67
+ abstract start(): void;
68
+ /**
69
+ * Stop the clock, tick() is no longer called
70
+ */
71
+ abstract stop(): void;
72
+ }
73
+ /**
74
+ * The [[StandardClock]] implements the requestAnimationFrame browser api to run the tick()
75
+ */
76
+ export declare class StandardClock extends Clock {
77
+ private _running;
78
+ private _requestId;
79
+ constructor(options: ClockOptions);
80
+ isRunning(): boolean;
81
+ start(): void;
82
+ stop(): void;
83
+ }
84
+ export interface TestClockOptions {
85
+ /**
86
+ * Specify the update milliseconds to use for each manual step()
87
+ */
88
+ defaultUpdateMs: number;
89
+ }
90
+ /**
91
+ * The TestClock is meant for debugging interactions in excalibur that require precise timing to replicate or test
92
+ */
93
+ export declare class TestClock extends Clock {
94
+ private _logger;
95
+ private _updateMs;
96
+ private _running;
97
+ private _currentTime;
98
+ constructor(options: ClockOptions & TestClockOptions);
99
+ /**
100
+ * Get the current time in milliseconds
101
+ */
102
+ now(): number;
103
+ isRunning(): boolean;
104
+ start(): void;
105
+ stop(): void;
106
+ /**
107
+ * Manually step the clock forward 1 tick, optionally specify an elapsed time in milliseconds
108
+ * @param overrideUpdateMs
109
+ */
110
+ step(overrideUpdateMs?: number): void;
111
+ /**
112
+ * Run a number of steps that tick the clock, optionally specify an elapsed time in milliseconds
113
+ * @param numberOfSteps
114
+ * @param overrideUpdateMs
115
+ */
116
+ run(numberOfSteps: number, overrideUpdateMs?: number): void;
117
+ }
@@ -0,0 +1,209 @@
1
+ import { Logger } from '..';
2
+ import { FpsSampler } from './Fps';
3
+ /**
4
+ * Abstract Clock is the base type of all Clocks
5
+ *
6
+ * It has a few opinions
7
+ * 1. It manages the calculation of what "elapsed" time means and thus maximum fps
8
+ * 2. The default timing api is implemented in now()
9
+ *
10
+ * To implement your own clock, extend Clock and override start/stop to start and stop the clock, then call update() with whatever
11
+ * method is unique to your clock implementation.
12
+ */
13
+ export class Clock {
14
+ constructor(options) {
15
+ var _a, _b, _c;
16
+ this._onFatalException = () => { };
17
+ this._maxFps = Infinity;
18
+ this._lastTime = 0;
19
+ this._elapsed = 1;
20
+ this._scheduledCbs = [];
21
+ this._totalElapsed = 0;
22
+ this._options = options;
23
+ this.tick = options.tick;
24
+ this._lastTime = (_a = this.now()) !== null && _a !== void 0 ? _a : 0;
25
+ this._maxFps = (_b = options.maxFps) !== null && _b !== void 0 ? _b : this._maxFps;
26
+ this._onFatalException = (_c = options.onFatalException) !== null && _c !== void 0 ? _c : this._onFatalException;
27
+ this.fpsSampler = new FpsSampler({
28
+ initialFps: 60,
29
+ nowFn: () => this.now()
30
+ });
31
+ }
32
+ /**
33
+ * Get the elapsed time for the last completed frame
34
+ */
35
+ elapsed() {
36
+ return this._elapsed;
37
+ }
38
+ /**
39
+ * Get the current time in milliseconds
40
+ */
41
+ now() {
42
+ return performance.now();
43
+ }
44
+ toTestClock() {
45
+ const testClock = new TestClock({
46
+ ...this._options,
47
+ defaultUpdateMs: 16.6
48
+ });
49
+ return testClock;
50
+ }
51
+ toStandardClock() {
52
+ const clock = new StandardClock({
53
+ ...this._options
54
+ });
55
+ return clock;
56
+ }
57
+ /**
58
+ * Schedule a callback to fire given a timeout in milliseconds using the excalibur [[Clock]]
59
+ *
60
+ * This is useful to use over the built in browser `setTimeout` because callbacks will be tied to the
61
+ * excalibur update clock, instead of browser time, this means that callbacks wont fire if the game is
62
+ * stopped or paused.
63
+ *
64
+ * @param cb callback to fire
65
+ * @param timeoutMs Optionally specify a timeout in milliseconds from now, default is 0ms which means the next possible tick
66
+ */
67
+ schedule(cb, timeoutMs = 0) {
68
+ const scheduledTime = this.now() + timeoutMs;
69
+ this._scheduledCbs.push([cb, scheduledTime]);
70
+ }
71
+ _runScheduledCbs() {
72
+ // walk backwards to delete items as we loop
73
+ for (let i = this._scheduledCbs.length - 1; i > -1; i--) {
74
+ if (this._scheduledCbs[i][1] <= this._totalElapsed) {
75
+ this._scheduledCbs[i][0]();
76
+ this._scheduledCbs.splice(i, 1);
77
+ }
78
+ }
79
+ }
80
+ update(overrideUpdateMs) {
81
+ try {
82
+ this.fpsSampler.start();
83
+ // Get the time to calculate time-elapsed
84
+ const now = this.now();
85
+ let elapsed = now - this._lastTime || 1; // first frame
86
+ // Constrain fps
87
+ const fpsInterval = this._maxFps === Infinity ? 0 : 1000 / this._maxFps;
88
+ if (elapsed <= fpsInterval) {
89
+ return; // too fast 😎 skip this frame
90
+ }
91
+ // Resolves issue #138 if the game has been paused, or blurred for
92
+ // more than a 200 milliseconds, reset elapsed time to 1. This improves reliability
93
+ // and provides more expected behavior when the engine comes back
94
+ // into focus
95
+ if (elapsed > 200) {
96
+ elapsed = 1;
97
+ }
98
+ // tick the mainloop and run scheduled callbacks
99
+ this._elapsed = overrideUpdateMs || elapsed;
100
+ this._totalElapsed += this._elapsed;
101
+ this._runScheduledCbs();
102
+ this.tick(overrideUpdateMs || elapsed);
103
+ // if fps interval is not a multple
104
+ if (fpsInterval > 0) {
105
+ this._lastTime = now - (elapsed % fpsInterval);
106
+ }
107
+ else {
108
+ this._lastTime = now;
109
+ }
110
+ this.fpsSampler.end();
111
+ }
112
+ catch (e) {
113
+ this._onFatalException(e);
114
+ this.stop();
115
+ }
116
+ }
117
+ }
118
+ /**
119
+ * The [[StandardClock]] implements the requestAnimationFrame browser api to run the tick()
120
+ */
121
+ export class StandardClock extends Clock {
122
+ constructor(options) {
123
+ super(options);
124
+ this._running = false;
125
+ }
126
+ isRunning() {
127
+ return this._running;
128
+ }
129
+ start() {
130
+ this._running = true;
131
+ const mainloop = () => {
132
+ // stop the loop
133
+ if (!this._running) {
134
+ return;
135
+ }
136
+ try {
137
+ // request next loop
138
+ this._requestId = window.requestAnimationFrame(mainloop);
139
+ this.update();
140
+ }
141
+ catch (e) {
142
+ window.cancelAnimationFrame(this._requestId);
143
+ throw e;
144
+ }
145
+ };
146
+ // begin the first frame
147
+ mainloop();
148
+ }
149
+ stop() {
150
+ this._running = false;
151
+ }
152
+ }
153
+ /**
154
+ * The TestClock is meant for debugging interactions in excalibur that require precise timing to replicate or test
155
+ */
156
+ export class TestClock extends Clock {
157
+ constructor(options) {
158
+ super({
159
+ ...options
160
+ });
161
+ this._logger = Logger.getInstance();
162
+ this._running = false;
163
+ this._currentTime = 0;
164
+ this._updateMs = options.defaultUpdateMs;
165
+ }
166
+ /**
167
+ * Get the current time in milliseconds
168
+ */
169
+ now() {
170
+ var _a;
171
+ return (_a = this._currentTime) !== null && _a !== void 0 ? _a : 0;
172
+ }
173
+ isRunning() {
174
+ return this._running;
175
+ }
176
+ start() {
177
+ this._running = true;
178
+ }
179
+ stop() {
180
+ this._running = false;
181
+ }
182
+ /**
183
+ * Manually step the clock forward 1 tick, optionally specify an elapsed time in milliseconds
184
+ * @param overrideUpdateMs
185
+ */
186
+ step(overrideUpdateMs) {
187
+ const time = overrideUpdateMs !== null && overrideUpdateMs !== void 0 ? overrideUpdateMs : this._updateMs;
188
+ if (this._running) {
189
+ // to be comparable to RAF this needs to be a full blown Task
190
+ // For example, images cannot decode syncronously in a single step
191
+ this.update(time);
192
+ this._currentTime += time;
193
+ }
194
+ else {
195
+ this._logger.warn('The clock is not running, no step will be performed');
196
+ }
197
+ }
198
+ /**
199
+ * Run a number of steps that tick the clock, optionally specify an elapsed time in milliseconds
200
+ * @param numberOfSteps
201
+ * @param overrideUpdateMs
202
+ */
203
+ run(numberOfSteps, overrideUpdateMs) {
204
+ for (let i = 0; i < numberOfSteps; i++) {
205
+ this.step(overrideUpdateMs !== null && overrideUpdateMs !== void 0 ? overrideUpdateMs : this._updateMs);
206
+ }
207
+ }
208
+ }
209
+ //# sourceMappingURL=Clock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Clock.js","sourceRoot":"","sources":["../../../src/engine/Util/Clock.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,12 @@ const logMessage = (message, options) => {
24
24
  * method do the deprecated one. Inspired by https://github.com/jayphelps/core-decorators.js
25
25
  */
26
26
  export function obsolete(options) {
27
- options = Object.assign({ message: 'This feature will be removed in future versions of Excalibur.', alternateMethod: null, showStackTrace: false }, options);
27
+ options = {
28
+ message: 'This feature will be removed in future versions of Excalibur.',
29
+ alternateMethod: null,
30
+ showStackTrace: false,
31
+ ...options
32
+ };
28
33
  return function (target, property, descriptor) {
29
34
  if (descriptor &&
30
35
  !(typeof descriptor.value === 'function' || typeof descriptor.get === 'function' || typeof descriptor.set === 'function')) {
@@ -37,7 +42,7 @@ export function obsolete(options) {
37
42
  obsoleteMessage[message] = 0;
38
43
  }
39
44
  // If descriptor is null it is a class
40
- const method = descriptor ? Object.assign({}, descriptor) : target;
45
+ const method = descriptor ? { ...descriptor } : target;
41
46
  if (!descriptor) {
42
47
  // with es2015 classes we need to change our decoration tactic
43
48
  class DecoratedClass extends method {
@@ -1 +1 @@
1
- {"version":3,"file":"Decorators.js","sourceRoot":"","sources":["../../../src/engine/Util/Decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Decorators.js","sourceRoot":"","sources":["../../../src/engine/Util/Decorators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export interface FpsSamplerOptions {
2
+ /**
3
+ * Specify the sampling period in milliseconds (default 100)
4
+ */
5
+ samplePeriod?: number;
6
+ /**
7
+ * Specify the initial FPS
8
+ */
9
+ initialFps: number;
10
+ /**
11
+ * Specify the function used to return the current time (in millseconds)
12
+ */
13
+ nowFn: () => number;
14
+ }
15
+ export declare class FpsSampler {
16
+ private _fps;
17
+ private _samplePeriod;
18
+ private _currentFrameTime;
19
+ private _frames;
20
+ private _previousSampleTime;
21
+ private _beginFrameTime;
22
+ private _nowFn;
23
+ constructor(options: FpsSamplerOptions);
24
+ /**
25
+ * Start of code block to sample FPS for
26
+ */
27
+ start(): void;
28
+ /**
29
+ * End of code block to sample FPS for
30
+ */
31
+ end(): void;
32
+ /**
33
+ * Return the currenty sampled fps over the last sample period, by default every 100ms
34
+ */
35
+ get fps(): number;
36
+ /**
37
+ * Return the instantanteous fps, this can be less useful because it will fluctuate given the current frames time
38
+ */
39
+ get instant(): number;
40
+ }
@@ -0,0 +1,47 @@
1
+ export class FpsSampler {
2
+ constructor(options) {
3
+ var _a;
4
+ this._samplePeriod = 100;
5
+ this._currentFrameTime = 0;
6
+ this._frames = 0;
7
+ this._previousSampleTime = 0;
8
+ this._beginFrameTime = 0;
9
+ this._fps = options.initialFps;
10
+ this._samplePeriod = (_a = options.samplePeriod) !== null && _a !== void 0 ? _a : this._samplePeriod;
11
+ this._currentFrameTime = 1000 / options.initialFps;
12
+ this._nowFn = options.nowFn;
13
+ this._previousSampleTime = this._nowFn();
14
+ }
15
+ /**
16
+ * Start of code block to sample FPS for
17
+ */
18
+ start() {
19
+ this._beginFrameTime = this._nowFn();
20
+ }
21
+ /**
22
+ * End of code block to sample FPS for
23
+ */
24
+ end() {
25
+ this._frames++;
26
+ const time = this._nowFn();
27
+ this._currentFrameTime = time - this._beginFrameTime;
28
+ if (time >= this._previousSampleTime + this._samplePeriod) {
29
+ this._fps = (this._frames * 1000) / (time - this._previousSampleTime);
30
+ this._previousSampleTime = time;
31
+ this._frames = 0;
32
+ }
33
+ }
34
+ /**
35
+ * Return the currenty sampled fps over the last sample period, by default every 100ms
36
+ */
37
+ get fps() {
38
+ return this._fps;
39
+ }
40
+ /**
41
+ * Return the instantanteous fps, this can be less useful because it will fluctuate given the current frames time
42
+ */
43
+ get instant() {
44
+ return 1000 / this._currentFrameTime;
45
+ }
46
+ }
47
+ //# sourceMappingURL=Fps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fps.js","sourceRoot":"","sources":["../../../src/engine/Util/Fps.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,UAAU;IASrB,YAAY,OAA0B;;QAP9B,kBAAa,GAAW,GAAG,CAAC;QAC5B,sBAAiB,GAAW,CAAC,CAAC;QAC9B,YAAO,GAAW,CAAC,CAAC;QACpB,wBAAmB,GAAW,CAAC,CAAC;QAChC,oBAAe,GAAW,CAAC,CAAC;QAIlC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI,CAAC,aAAa,CAAC;QAChE,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAC,OAAO,CAAC,UAAU,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,GAAG;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;QAErD,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE;YACzD,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;SAClB;IACH,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACvC,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { Vector } from '../Math/vector';
2
2
  import { Random } from '../Math/Random';
3
3
  import { Side } from '../Collision/Side';
4
+ import { Clock } from '..';
4
5
  /**
5
6
  * Two PI constant
6
7
  */
@@ -157,6 +158,10 @@ export declare function fail(message: never): never;
157
158
  export declare const range: (from: number, to: number) => number[];
158
159
  /**
159
160
  * Create a promise that resolves after a certain number of milliseconds
161
+ *
162
+ * It is strongly recommended you pass the excalibur clock so delays are bound to the
163
+ * excalibur clock which would be unaffected by stop/pause.
160
164
  * @param milliseconds
165
+ * @param clock
161
166
  */
162
- export declare function delay(milliseconds: number): Promise<void>;
167
+ export declare function delay(milliseconds: number, clock?: Clock): Promise<void>;
@@ -340,11 +340,17 @@ export function fail(message) {
340
340
  export const range = (from, to) => Array.from(new Array(to - from + 1), (_x, i) => i + from);
341
341
  /**
342
342
  * Create a promise that resolves after a certain number of milliseconds
343
+ *
344
+ * It is strongly recommended you pass the excalibur clock so delays are bound to the
345
+ * excalibur clock which would be unaffected by stop/pause.
343
346
  * @param milliseconds
347
+ * @param clock
344
348
  */
345
- export function delay(milliseconds) {
346
- return new Promise((resolve) => {
347
- setTimeout(() => {
349
+ export function delay(milliseconds, clock) {
350
+ var _a;
351
+ const schedule = (_a = clock === null || clock === void 0 ? void 0 : clock.schedule.bind(clock)) !== null && _a !== void 0 ? _a : setTimeout;
352
+ return new Promise(resolve => {
353
+ schedule(() => {
348
354
  resolve();
349
355
  }, milliseconds);
350
356
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/engine/Util/Util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../../src/engine/Util/Util.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebAudio.js","sourceRoot":"","sources":["../../../src/engine/Util/WebAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAQ/B;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,MAAW;IACzC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;AAChC,CAAC;AAED,MAAM,OAAO,QAAQ;IAGnB;;;;OAIG;IACH,MAAM,CAAC,MAAM;QACX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE;gBACvD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;aACtB;YACD,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;gBAC7H,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAClD,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CACxB,GAAG,EAAE;gBACH,kCAAkC;gBAClC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACjD,IAAI,KAAK,GAAG,KAAK,CAAC;gBAElB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBACzC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAEtC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEhB,+EAA+E;gBAC/E,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE;wBAClC,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,cAAc,EAAE;4BACnG,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;yBAC3B;qBACF;yBAAM;wBACL,IAAI,YAAY,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,EAAE;4BACzC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;yBAC3B;qBACF;gBACH,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEN,YAAY,CAAC,kBAAkB,CAAC,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,GAAG,EAAE;gBACH,MAAM,EAAE,CAAC;YACX,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAGH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;;AA3Dc,kBAAS,GAAY,KAAK,CAAC"}
1
+ {"version":3,"file":"WebAudio.js","sourceRoot":"","sources":["../../../src/engine/Util/WebAudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAQ/B;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,MAAW;IACzC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;AAChC,CAAC;AAED,MAAM,OAAO,QAAQ;IAGnB;;;;OAIG;IACH,MAAM,CAAC,MAAM;QACX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE;gBACvD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;aACtB;YACD,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;gBAC7H,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAClD,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CACxB,GAAG,EAAE;gBACH,kCAAkC;gBAClC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACjD,IAAI,KAAK,GAAG,KAAK,CAAC;gBAElB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gBACzC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAEtC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEhB,+EAA+E;gBAC/E,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE;wBAClC,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,cAAc,EAAE;4BACnG,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;yBAC3B;qBACF;yBAAM;wBACL,IAAI,YAAY,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,EAAE;4BACzC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;yBAC3B;qBACF;gBACH,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEN,YAAY,CAAC,kBAAkB,CAAC,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EACD,GAAG,EAAE;gBACH,MAAM,EAAE,CAAC;YACX,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;;AA1Dc,kBAAS,GAAY,KAAK,CAAC"}