UNPKG

1.44 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.InteractionManager = void 0;
4const Utils_1 = require("../Utils");
5const Enums_1 = require("../Enums");
6class 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}
41exports.InteractionManager = InteractionManager;