1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.InteractionManager = void 0;
|
4 | const Utils_1 = require("../Utils");
|
5 | const Enums_1 = require("../Enums");
|
6 | class InteractionManager {
|
7 | constructor(container) {
|
8 | this.container = container;
|
9 | const interactors = Utils_1.Plugins.getInteractors(container);
|
10 | this.externalInteractors = [];
|
11 | this.particleInteractors = [];
|
12 | for (const interactor of interactors) {
|
13 | switch (interactor.type) {
|
14 | case Enums_1.InteractorType.External:
|
15 | this.externalInteractors.push(interactor);
|
16 | break;
|
17 | case Enums_1.InteractorType.Particles:
|
18 | this.particleInteractors.push(interactor);
|
19 | break;
|
20 | }
|
21 | }
|
22 | }
|
23 | externalInteract(delta) {
|
24 | for (const interactor of this.externalInteractors) {
|
25 | if (interactor.isEnabled()) {
|
26 | interactor.interact(delta);
|
27 | }
|
28 | }
|
29 | }
|
30 | particlesInteract(particle, delta) {
|
31 | for (const interactor of this.externalInteractors) {
|
32 | interactor.reset(particle);
|
33 | }
|
34 | for (const interactor of this.particleInteractors) {
|
35 | if (interactor.isEnabled(particle)) {
|
36 | interactor.interact(particle, delta);
|
37 | }
|
38 | }
|
39 | }
|
40 | }
|
41 | exports.InteractionManager = InteractionManager;
|