-
-
Notifications
You must be signed in to change notification settings - Fork 831
/
IInteractor.ts
28 lines (22 loc) · 998 Bytes
/
IInteractor.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import type { IDelta } from "./IDelta";
import type { IOptions } from "../../Options/Interfaces/IOptions";
import type { IParticlesOptions } from "../../Options/Interfaces/Particles/IParticlesOptions";
import type { InteractorType } from "../../Enums/Types/InteractorType";
import type { Options } from "../../Options/Classes/Options";
import type { Particle } from "../Particle";
import type { ParticlesOptions } from "../../Options/Classes/Particles/ParticlesOptions";
import type { RecursivePartial } from "../../Types/RecursivePartial";
/**
* @category Interfaces
*/
export interface IInteractor {
loadOptions?: (options: Options, ...sources: (RecursivePartial<IOptions> | undefined)[]) => void;
loadParticlesOptions?: (
options: ParticlesOptions,
...sources: (RecursivePartial<IParticlesOptions> | undefined)[]
) => void;
type: InteractorType;
clear(particle: Particle, delta: IDelta): void;
init(): void;
reset(particle: Particle): void;
}