dopaminejs 2.3.0 → 2.3.1
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.
- package/package.json +1 -1
- package/types/index.d.ts +23 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dopaminejs",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "Progression mechanics for web apps: XP, levels, achievements and timezone-correct daily streaks, with the particles and sound to make them land. Zero dependencies.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/dopamine.cjs",
|
package/types/index.d.ts
CHANGED
|
@@ -218,12 +218,15 @@ export interface ParticleConfig {
|
|
|
218
218
|
x: number;
|
|
219
219
|
y: number;
|
|
220
220
|
count?: number;
|
|
221
|
-
|
|
221
|
+
/** One colour, or a list to pick from at random per particle. */
|
|
222
|
+
color?: string | string[];
|
|
222
223
|
size?: number;
|
|
223
224
|
life?: number;
|
|
224
225
|
decay?: number;
|
|
225
226
|
gravity?: number;
|
|
226
227
|
spread?: number;
|
|
228
|
+
/** Direction in radians. */
|
|
229
|
+
angle?: number;
|
|
227
230
|
speed?: number;
|
|
228
231
|
type?: string;
|
|
229
232
|
sprite?: string;
|
|
@@ -433,19 +436,29 @@ export class Component {
|
|
|
433
436
|
render(ctx: CanvasRenderingContext2D): void;
|
|
434
437
|
}
|
|
435
438
|
|
|
436
|
-
export interface
|
|
439
|
+
export interface BoxBounds {
|
|
440
|
+
left: number;
|
|
441
|
+
right: number;
|
|
442
|
+
top: number;
|
|
443
|
+
bottom: number;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
export interface CircleBounds {
|
|
437
447
|
x: number;
|
|
438
448
|
y: number;
|
|
439
|
-
|
|
440
|
-
height: number;
|
|
449
|
+
radius: number;
|
|
441
450
|
}
|
|
442
451
|
|
|
452
|
+
/** A box collider returns edges, a circle collider returns centre and radius. */
|
|
453
|
+
export type Bounds = BoxBounds | CircleBounds;
|
|
454
|
+
|
|
443
455
|
export class Collider extends Component {
|
|
444
456
|
constructor(type?: 'box' | 'circle', width?: number, height?: number, radius?: number);
|
|
445
457
|
type: 'box' | 'circle';
|
|
446
458
|
width: number;
|
|
447
459
|
height: number;
|
|
448
460
|
radius: number;
|
|
461
|
+
tag: string | null;
|
|
449
462
|
getBounds(): Bounds;
|
|
450
463
|
}
|
|
451
464
|
|
|
@@ -462,11 +475,13 @@ export class Animator extends Component {
|
|
|
462
475
|
|
|
463
476
|
export class GameObject {
|
|
464
477
|
constructor(x?: number, y?: number);
|
|
465
|
-
|
|
478
|
+
x: number;
|
|
479
|
+
y: number;
|
|
466
480
|
rotation: number;
|
|
467
|
-
scale:
|
|
481
|
+
scale: { x: number; y: number };
|
|
468
482
|
components: Component[];
|
|
469
483
|
children: GameObject[];
|
|
484
|
+
parent: GameObject | null;
|
|
470
485
|
kernel: DopamineKernel | null;
|
|
471
486
|
tag?: string;
|
|
472
487
|
addChild(child: GameObject): GameObject;
|
|
@@ -527,7 +542,8 @@ export class Physics {
|
|
|
527
542
|
add(collider: Collider): void;
|
|
528
543
|
remove(collider: Collider): void;
|
|
529
544
|
step(): void;
|
|
530
|
-
|
|
545
|
+
/** Every collider that overlaps `source`. With a tag, only colliders carrying it. */
|
|
546
|
+
checkOverlap(source: Collider, targetTag?: string): Collider[];
|
|
531
547
|
addBody(body: Collider): void;
|
|
532
548
|
removeBody(body: Collider): void;
|
|
533
549
|
checkCollision(a: Collider, b: Collider): boolean;
|