custom-pixi-particles 4.5.3 → 4.7.0
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/dist/lib/Particle.d.ts +2 -0
- package/dist/lib/Particle.js +4 -0
- package/dist/lib/Particle.js.map +1 -1
- package/dist/lib/behaviour/AttractionRepulsionBehaviour.d.ts +42 -0
- package/dist/lib/behaviour/AttractionRepulsionBehaviour.js +78 -0
- package/dist/lib/behaviour/AttractionRepulsionBehaviour.js.map +1 -0
- package/dist/lib/behaviour/BehaviourNames.d.ts +2 -0
- package/dist/lib/behaviour/BehaviourNames.js +2 -0
- package/dist/lib/behaviour/BehaviourNames.js.map +1 -1
- package/dist/lib/behaviour/CollisionBehaviour.d.ts +2 -0
- package/dist/lib/behaviour/CollisionBehaviour.js +6 -1
- package/dist/lib/behaviour/CollisionBehaviour.js.map +1 -1
- package/dist/lib/behaviour/NoiseBasedMotionBehaviour.d.ts +35 -0
- package/dist/lib/behaviour/NoiseBasedMotionBehaviour.js +91 -0
- package/dist/lib/behaviour/NoiseBasedMotionBehaviour.js.map +1 -0
- package/dist/lib/behaviour/TurbulenceBehaviour.d.ts +1 -0
- package/dist/lib/behaviour/TurbulenceBehaviour.js +1 -0
- package/dist/lib/behaviour/TurbulenceBehaviour.js.map +1 -1
- package/dist/lib/behaviour/index.d.ts +3 -1
- package/dist/lib/behaviour/index.js +3 -1
- package/dist/lib/behaviour/index.js.map +1 -1
- package/dist/lib/parser/BehaviourParser.js +1 -4
- package/dist/lib/parser/BehaviourParser.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/Particle.d.ts
CHANGED
|
@@ -174,6 +174,7 @@ export default class Particle {
|
|
|
174
174
|
skipEmitDirectionBehaviour: boolean;
|
|
175
175
|
skipRotationBehaviour: boolean;
|
|
176
176
|
skipSizeBehaviour: boolean;
|
|
177
|
+
skipAttractionRepulsionBehaviour: boolean;
|
|
177
178
|
/**
|
|
178
179
|
* Stores the warp distance scale converter of the particle
|
|
179
180
|
*/
|
|
@@ -199,6 +200,7 @@ export default class Particle {
|
|
|
199
200
|
thereAmplitude: number;
|
|
200
201
|
backAmplitude: number;
|
|
201
202
|
direction: number;
|
|
203
|
+
noiseOffset: Point;
|
|
202
204
|
/**
|
|
203
205
|
* Constructs a particle object
|
|
204
206
|
*/
|
package/dist/lib/Particle.js
CHANGED
|
@@ -68,6 +68,7 @@ class Particle {
|
|
|
68
68
|
this.skipEmitDirectionBehaviour = false;
|
|
69
69
|
this.skipRotationBehaviour = false;
|
|
70
70
|
this.skipSizeBehaviour = false;
|
|
71
|
+
this.skipAttractionRepulsionBehaviour = false;
|
|
71
72
|
this.fromAtoB = false;
|
|
72
73
|
this.fromAtoBTwoWays = false;
|
|
73
74
|
this.pointA = new Point();
|
|
@@ -85,6 +86,7 @@ class Particle {
|
|
|
85
86
|
this.thereAmplitude = 10;
|
|
86
87
|
this.backAmplitude = 10;
|
|
87
88
|
this.direction = 1;
|
|
89
|
+
this.noiseOffset = new Point();
|
|
88
90
|
this.reset();
|
|
89
91
|
}
|
|
90
92
|
/**
|
|
@@ -100,6 +102,7 @@ class Particle {
|
|
|
100
102
|
this.skipPositionBehaviour = false;
|
|
101
103
|
this.skipAngularVelocityBehaviour = false;
|
|
102
104
|
this.skipColorBehaviour = false;
|
|
105
|
+
this.skipAttractionRepulsionBehaviour = false;
|
|
103
106
|
this.skipEmitDirectionBehaviour = false;
|
|
104
107
|
this.skipRotationBehaviour = false;
|
|
105
108
|
this.skipSizeBehaviour = false;
|
|
@@ -151,6 +154,7 @@ class Particle {
|
|
|
151
154
|
this.yStart = 0;
|
|
152
155
|
this.xTarget = 0;
|
|
153
156
|
this.yTarget = 0;
|
|
157
|
+
this.noiseOffset = new Point();
|
|
154
158
|
}
|
|
155
159
|
/**
|
|
156
160
|
* Checks if the particle is almost dead
|
package/dist/lib/Particle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Particle.js","sourceRoot":"","sources":["../../src/lib/Particle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AAExC;;GAEG;AACH,MAAqB,QAAQ;
|
|
1
|
+
{"version":3,"file":"Particle.js","sourceRoot":"","sources":["../../src/lib/Particle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Behaviour } from './index';
|
|
2
|
+
import Particle from '../Particle';
|
|
3
|
+
/**
|
|
4
|
+
* AttractionRepulsionBehaviour applies attraction or repulsion forces to particles
|
|
5
|
+
* without overriding other position-related behaviors.
|
|
6
|
+
* @extends Behaviour
|
|
7
|
+
*/
|
|
8
|
+
export default class AttractionRepulsionBehaviour extends Behaviour {
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
priority: number;
|
|
11
|
+
/**
|
|
12
|
+
* List of influence points affecting particles.
|
|
13
|
+
* Each point: { point: Point, strength: number, range: number }
|
|
14
|
+
*/
|
|
15
|
+
influencePoints: never[];
|
|
16
|
+
/**
|
|
17
|
+
* Initializes the particle, but does not modify position directly.
|
|
18
|
+
* @param {Particle} particle - The particle to initialize.
|
|
19
|
+
*/
|
|
20
|
+
init: (particle: Particle) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Applies attraction or repulsion forces to the particle additively.
|
|
23
|
+
* @param {Particle} particle - The particle to apply the behavior to.
|
|
24
|
+
* @param {number} deltaTime - Time elapsed since the last frame.
|
|
25
|
+
*/
|
|
26
|
+
apply: (particle: Particle, deltaTime: number) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the name of the behavior.
|
|
29
|
+
* @returns {string} - The name of the behavior.
|
|
30
|
+
*/
|
|
31
|
+
getName(): string;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the properties of the behavior.
|
|
34
|
+
* @returns {object} - The properties of the behavior.
|
|
35
|
+
*/
|
|
36
|
+
getProps(): {
|
|
37
|
+
enabled: boolean;
|
|
38
|
+
priority: number;
|
|
39
|
+
influencePoints: never[];
|
|
40
|
+
name: string;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Behaviour, BehaviourNames } from './index';
|
|
2
|
+
/**
|
|
3
|
+
* AttractionRepulsionBehaviour applies attraction or repulsion forces to particles
|
|
4
|
+
* without overriding other position-related behaviors.
|
|
5
|
+
* @extends Behaviour
|
|
6
|
+
*/
|
|
7
|
+
export default class AttractionRepulsionBehaviour extends Behaviour {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.enabled = true;
|
|
11
|
+
this.priority = 200; // Ensure this runs after PositionBehaviour if needed
|
|
12
|
+
/**
|
|
13
|
+
* List of influence points affecting particles.
|
|
14
|
+
* Each point: { point: Point, strength: number, range: number }
|
|
15
|
+
*/
|
|
16
|
+
this.influencePoints = [];
|
|
17
|
+
/**
|
|
18
|
+
* Initializes the particle, but does not modify position directly.
|
|
19
|
+
* @param {Particle} particle - The particle to initialize.
|
|
20
|
+
*/
|
|
21
|
+
this.init = (particle) => {
|
|
22
|
+
// Initialization logic if needed.
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Applies attraction or repulsion forces to the particle additively.
|
|
26
|
+
* @param {Particle} particle - The particle to apply the behavior to.
|
|
27
|
+
* @param {number} deltaTime - Time elapsed since the last frame.
|
|
28
|
+
*/
|
|
29
|
+
this.apply = (particle, deltaTime) => {
|
|
30
|
+
if (!this.enabled || particle.skipPositionBehaviour || particle.skipAttractionRepulsionBehaviour)
|
|
31
|
+
return;
|
|
32
|
+
// Accumulate influence forces
|
|
33
|
+
let totalForceX = 0;
|
|
34
|
+
let totalForceY = 0;
|
|
35
|
+
this.influencePoints.forEach(({ point, strength, range }) => {
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
const dx = point.x - particle.x;
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
const dy = point.y - particle.y;
|
|
40
|
+
const distanceSquared = dx * dx + dy * dy;
|
|
41
|
+
if (distanceSquared > range * range || distanceSquared === 0)
|
|
42
|
+
return;
|
|
43
|
+
const distance = Math.sqrt(distanceSquared);
|
|
44
|
+
const force = strength * (1 - distance / range) * deltaTime;
|
|
45
|
+
const normalizedDx = dx / distance;
|
|
46
|
+
const normalizedDy = dy / distance;
|
|
47
|
+
totalForceX += normalizedDx * force;
|
|
48
|
+
totalForceY += normalizedDy * force;
|
|
49
|
+
});
|
|
50
|
+
// Add forces to particle velocity (or acceleration for smoother effects)
|
|
51
|
+
particle.velocity.x += totalForceX;
|
|
52
|
+
particle.velocity.y += totalForceY;
|
|
53
|
+
// Apply updated velocity to position additively
|
|
54
|
+
particle.x += particle.velocity.x * deltaTime;
|
|
55
|
+
particle.y += particle.velocity.y * deltaTime;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Gets the name of the behavior.
|
|
60
|
+
* @returns {string} - The name of the behavior.
|
|
61
|
+
*/
|
|
62
|
+
getName() {
|
|
63
|
+
return BehaviourNames.ATTRACTION_REPULSION_BEHAVIOUR;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Gets the properties of the behavior.
|
|
67
|
+
* @returns {object} - The properties of the behavior.
|
|
68
|
+
*/
|
|
69
|
+
getProps() {
|
|
70
|
+
return {
|
|
71
|
+
enabled: this.enabled,
|
|
72
|
+
priority: this.priority,
|
|
73
|
+
influencePoints: this.influencePoints,
|
|
74
|
+
name: this.getName(),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=AttractionRepulsionBehaviour.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttractionRepulsionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/AttractionRepulsionBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAGnD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,SAAS;IAAnE;;QACE,YAAO,GAAG,IAAI,CAAA;QACd,aAAQ,GAAG,GAAG,CAAA,CAAC,qDAAqD;QAEpE;;;WAGG;QACH,oBAAe,GAAG,EAAE,CAAA;QAEpB;;;WAGG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC5B,kCAAkC;QACpC,CAAC,CAAA;QAED;;;;WAIG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,qBAAqB,IAAI,QAAQ,CAAC,gCAAgC;gBAAE,OAAM;YAExG,8BAA8B;YAC9B,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,IAAI,WAAW,GAAG,CAAC,CAAA;YAEnB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC1D,aAAa;gBACb,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAA;gBAC/B,aAAa;gBACb,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAA;gBAC/B,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;gBAEzC,IAAI,eAAe,GAAG,KAAK,GAAG,KAAK,IAAI,eAAe,KAAK,CAAC;oBAAE,OAAM;gBAEpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBAC3C,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,GAAG,SAAS,CAAA;gBAE3D,MAAM,YAAY,GAAG,EAAE,GAAG,QAAQ,CAAA;gBAClC,MAAM,YAAY,GAAG,EAAE,GAAG,QAAQ,CAAA;gBAElC,WAAW,IAAI,YAAY,GAAG,KAAK,CAAA;gBACnC,WAAW,IAAI,YAAY,GAAG,KAAK,CAAA;YACrC,CAAC,CAAC,CAAA;YAEF,yEAAyE;YACzE,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,WAAW,CAAA;YAClC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,WAAW,CAAA;YAElC,gDAAgD;YAChD,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;YAC7C,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;QAC/C,CAAC,CAAA;IAsBH,CAAC;IApBC;;;OAGG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,8BAA8B,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
|
|
@@ -8,5 +8,7 @@ export default {
|
|
|
8
8
|
ROTATION_BEHAVIOUR: 'RotationBehaviour',
|
|
9
9
|
TURBULENCE_BEHAVIOUR: 'TurbulenceBehaviour',
|
|
10
10
|
COLLISION_BEHAVIOUR: 'CollisionBehaviour',
|
|
11
|
+
ATTRACTION_REPULSION_BEHAVIOUR: 'AttractionRepulsionBehaviour',
|
|
12
|
+
NOISE_BASED_MOTION_BEHAVIOUR: 'NoiseBasedMotionBehaviour',
|
|
11
13
|
};
|
|
12
14
|
//# sourceMappingURL=BehaviourNames.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BehaviourNames.js","sourceRoot":"","sources":["../../../src/lib/behaviour/BehaviourNames.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,iBAAiB,EAAE,0BAA0B;IAC7C,cAAc,EAAE,eAAe;IAC/B,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,cAAc,EAAE,eAAe;IAC/B,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,mBAAmB;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"BehaviourNames.js","sourceRoot":"","sources":["../../../src/lib/behaviour/BehaviourNames.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,iBAAiB,EAAE,0BAA0B;IAC7C,cAAc,EAAE,eAAe;IAC/B,eAAe,EAAE,gBAAgB;IACjC,kBAAkB,EAAE,mBAAmB;IACvC,cAAc,EAAE,eAAe;IAC/B,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,mBAAmB;IACvC,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,oBAAoB;IACzC,8BAA8B,EAAE,8BAA8B;IAC9D,4BAA4B,EAAE,2BAA2B;CAC1D,CAAA"}
|
|
@@ -6,6 +6,7 @@ export default class CollisionBehaviour extends Behaviour {
|
|
|
6
6
|
skipPositionBehaviourOnCollision: boolean;
|
|
7
7
|
skipAngularVelocityBehaviourOnCollision: boolean;
|
|
8
8
|
skipColorBehaviourOnCollision: boolean;
|
|
9
|
+
skipAttractionRepulsionBehaviourOnCollision: boolean;
|
|
9
10
|
skipEmitDirectionBehaviourOnCollision: boolean;
|
|
10
11
|
skipRotationBehaviourOnCollision: boolean;
|
|
11
12
|
skipSizeBehaviourOnCollision: boolean;
|
|
@@ -64,6 +65,7 @@ export default class CollisionBehaviour extends Behaviour {
|
|
|
64
65
|
skipPositionBehaviourOnCollision: boolean;
|
|
65
66
|
skipAngularVelocityBehaviourOnCollision: boolean;
|
|
66
67
|
skipColorBehaviourOnCollision: boolean;
|
|
68
|
+
skipAttractionRepulsionBehaviourOnCollision: boolean;
|
|
67
69
|
skipEmitDirectionBehaviourOnCollision: boolean;
|
|
68
70
|
skipRotationBehaviourOnCollision: boolean;
|
|
69
71
|
skipSizeBehaviourOnCollision: boolean;
|
|
@@ -6,10 +6,11 @@ export default class CollisionBehaviour extends Behaviour {
|
|
|
6
6
|
this.skipPositionBehaviourOnCollision = false;
|
|
7
7
|
this.skipAngularVelocityBehaviourOnCollision = false;
|
|
8
8
|
this.skipColorBehaviourOnCollision = false;
|
|
9
|
+
this.skipAttractionRepulsionBehaviourOnCollision = false;
|
|
9
10
|
this.skipEmitDirectionBehaviourOnCollision = false;
|
|
10
11
|
this.skipRotationBehaviourOnCollision = false;
|
|
11
12
|
this.skipSizeBehaviourOnCollision = false;
|
|
12
|
-
this.priority =
|
|
13
|
+
this.priority = 10000;
|
|
13
14
|
this.distance = 10;
|
|
14
15
|
this.lines = [
|
|
15
16
|
{ point1: { x: 0, y: 0 }, point2: { x: 0, y: 0 } },
|
|
@@ -46,6 +47,9 @@ export default class CollisionBehaviour extends Behaviour {
|
|
|
46
47
|
if (this.skipColorBehaviourOnCollision) {
|
|
47
48
|
particle.skipColorBehaviour = true;
|
|
48
49
|
}
|
|
50
|
+
if (this.skipAttractionRepulsionBehaviourOnCollision) {
|
|
51
|
+
particle.skipAttractionRepulsionBehaviour = true;
|
|
52
|
+
}
|
|
49
53
|
if (this.skipEmitDirectionBehaviourOnCollision) {
|
|
50
54
|
particle.skipEmitDirectionBehaviour = true;
|
|
51
55
|
}
|
|
@@ -122,6 +126,7 @@ export default class CollisionBehaviour extends Behaviour {
|
|
|
122
126
|
skipPositionBehaviourOnCollision: this.skipPositionBehaviourOnCollision,
|
|
123
127
|
skipAngularVelocityBehaviourOnCollision: this.skipAngularVelocityBehaviourOnCollision,
|
|
124
128
|
skipColorBehaviourOnCollision: this.skipColorBehaviourOnCollision,
|
|
129
|
+
skipAttractionRepulsionBehaviourOnCollision: this.skipAttractionRepulsionBehaviourOnCollision,
|
|
125
130
|
skipEmitDirectionBehaviourOnCollision: this.skipEmitDirectionBehaviourOnCollision,
|
|
126
131
|
skipRotationBehaviourOnCollision: this.skipRotationBehaviourOnCollision,
|
|
127
132
|
skipSizeBehaviourOnCollision: this.skipSizeBehaviourOnCollision,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollisionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/CollisionBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAInD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAS;IAAzD;;QACE,YAAO,GAAG,KAAK,CAAA;QACf,qCAAgC,GAAY,KAAK,CAAA;QACjD,4CAAuC,GAAY,KAAK,CAAA;QACxD,kCAA6B,GAAY,KAAK,CAAA;QAC9C,0CAAqC,GAAY,KAAK,CAAA;QACtD,qCAAgC,GAAY,KAAK,CAAA;QACjD,iCAA4B,GAAY,KAAK,CAAA;QAC7C,aAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"CollisionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/CollisionBehaviour.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import Particle from '../Particle';
|
|
2
|
+
import { Point } from '../util';
|
|
3
|
+
import Behaviour from './Behaviour';
|
|
4
|
+
export default class NoiseBasedMotionBehaviour extends Behaviour {
|
|
5
|
+
enabled: boolean;
|
|
6
|
+
priority: number;
|
|
7
|
+
noiseScale: number;
|
|
8
|
+
noiseIntensity: number;
|
|
9
|
+
noiseSpeed: number;
|
|
10
|
+
noiseDirection: Point;
|
|
11
|
+
gradients: Map<string, Point>;
|
|
12
|
+
gridSize: number;
|
|
13
|
+
constructor();
|
|
14
|
+
initializeGradients(): void;
|
|
15
|
+
getGradient(ix: number, iy: number): Point;
|
|
16
|
+
_gridKey(x: number, y: number): string;
|
|
17
|
+
lerp(a: number, b: number, t: number): number;
|
|
18
|
+
fade(t: number): number;
|
|
19
|
+
perlinNoise(x: number, y: number): number;
|
|
20
|
+
init: (particle: Particle) => void;
|
|
21
|
+
apply: (particle: Particle, deltaTime: number) => void;
|
|
22
|
+
getName(): string;
|
|
23
|
+
getProps(): {
|
|
24
|
+
enabled: boolean;
|
|
25
|
+
priority: number;
|
|
26
|
+
noiseScale: number;
|
|
27
|
+
noiseIntensity: number;
|
|
28
|
+
noiseSpeed: number;
|
|
29
|
+
noiseDirection: {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
};
|
|
33
|
+
name: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import BehaviourNames from './BehaviourNames';
|
|
2
|
+
import { Point } from '../util';
|
|
3
|
+
import Behaviour from './Behaviour';
|
|
4
|
+
export default class NoiseBasedMotionBehaviour extends Behaviour {
|
|
5
|
+
constructor() {
|
|
6
|
+
super();
|
|
7
|
+
this.enabled = true;
|
|
8
|
+
this.priority = 50;
|
|
9
|
+
this.noiseScale = 0.01;
|
|
10
|
+
this.noiseIntensity = 10;
|
|
11
|
+
this.noiseSpeed = 0.1;
|
|
12
|
+
this.noiseDirection = new Point(1, 1);
|
|
13
|
+
this.gradients = new Map();
|
|
14
|
+
this.gridSize = 256;
|
|
15
|
+
this.init = (particle) => {
|
|
16
|
+
particle.noiseOffset = new Point(Math.random() * this.gridSize, Math.random() * this.gridSize);
|
|
17
|
+
};
|
|
18
|
+
this.apply = (particle, deltaTime) => {
|
|
19
|
+
if (!this.enabled || particle.skipPositionBehaviour)
|
|
20
|
+
return;
|
|
21
|
+
const { noiseOffset } = particle;
|
|
22
|
+
noiseOffset.x += this.noiseSpeed * deltaTime * this.noiseDirection.x;
|
|
23
|
+
noiseOffset.y += this.noiseSpeed * deltaTime * this.noiseDirection.y;
|
|
24
|
+
const noiseX = this.perlinNoise(noiseOffset.x * this.noiseScale, noiseOffset.y * this.noiseScale);
|
|
25
|
+
const noiseY = this.perlinNoise(noiseOffset.y * this.noiseScale, noiseOffset.x * this.noiseScale);
|
|
26
|
+
// Adjust movement instead of x, y directly
|
|
27
|
+
particle.movement.x += noiseX * this.noiseIntensity * deltaTime;
|
|
28
|
+
particle.movement.y += noiseY * this.noiseIntensity * deltaTime;
|
|
29
|
+
};
|
|
30
|
+
this.initializeGradients();
|
|
31
|
+
}
|
|
32
|
+
initializeGradients() {
|
|
33
|
+
for (let i = 0; i < this.gridSize; i++) {
|
|
34
|
+
for (let j = 0; j < this.gridSize; j++) {
|
|
35
|
+
const angle = Math.random() * Math.PI * 2;
|
|
36
|
+
this.gradients.set(this._gridKey(i, j), new Point(Math.cos(angle), Math.sin(angle)));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
getGradient(ix, iy) {
|
|
41
|
+
return this.gradients.get(this._gridKey(ix, iy)) || new Point(0, 0);
|
|
42
|
+
}
|
|
43
|
+
_gridKey(x, y) {
|
|
44
|
+
return `${x % this.gridSize},${y % this.gridSize}`;
|
|
45
|
+
}
|
|
46
|
+
lerp(a, b, t) {
|
|
47
|
+
return a + t * (b - a);
|
|
48
|
+
}
|
|
49
|
+
fade(t) {
|
|
50
|
+
return t * t * t * (t * (t * 6 - 15) + 10);
|
|
51
|
+
}
|
|
52
|
+
perlinNoise(x, y) {
|
|
53
|
+
const x0 = Math.floor(x);
|
|
54
|
+
const x1 = x0 + 1;
|
|
55
|
+
const y0 = Math.floor(y);
|
|
56
|
+
const y1 = y0 + 1;
|
|
57
|
+
const sx = x - x0;
|
|
58
|
+
const sy = y - y0;
|
|
59
|
+
const g00 = this.getGradient(x0, y0);
|
|
60
|
+
const g10 = this.getGradient(x1, y0);
|
|
61
|
+
const g01 = this.getGradient(x0, y1);
|
|
62
|
+
const g11 = this.getGradient(x1, y1);
|
|
63
|
+
const dot00 = g00.x * (x - x0) + g00.y * (y - y0);
|
|
64
|
+
const dot10 = g10.x * (x - x1) + g10.y * (y - y0);
|
|
65
|
+
const dot01 = g01.x * (x - x0) + g01.y * (y - y1);
|
|
66
|
+
const dot11 = g11.x * (x - x1) + g11.y * (y - y1);
|
|
67
|
+
const u = this.fade(sx);
|
|
68
|
+
const v = this.fade(sy);
|
|
69
|
+
const nx0 = this.lerp(dot00, dot10, u);
|
|
70
|
+
const nx1 = this.lerp(dot01, dot11, u);
|
|
71
|
+
return this.lerp(nx0, nx1, v);
|
|
72
|
+
}
|
|
73
|
+
getName() {
|
|
74
|
+
return BehaviourNames.NOISE_BASED_MOTION_BEHAVIOUR;
|
|
75
|
+
}
|
|
76
|
+
getProps() {
|
|
77
|
+
return {
|
|
78
|
+
enabled: this.enabled,
|
|
79
|
+
priority: this.priority,
|
|
80
|
+
noiseScale: this.noiseScale,
|
|
81
|
+
noiseIntensity: this.noiseIntensity,
|
|
82
|
+
noiseSpeed: this.noiseSpeed,
|
|
83
|
+
noiseDirection: {
|
|
84
|
+
x: this.noiseDirection.x,
|
|
85
|
+
y: this.noiseDirection.y,
|
|
86
|
+
},
|
|
87
|
+
name: this.getName(),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=NoiseBasedMotionBehaviour.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoiseBasedMotionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/NoiseBasedMotionBehaviour.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TurbulenceBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/TurbulenceBehaviour.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TurbulenceBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/TurbulenceBehaviour.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAI/B,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAAS;IAA1D;;QACE,aAAQ,GAAG,IAAI,CAAA;QACf,aAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;QACtB,qBAAgB,GAAG,IAAI,KAAK,EAAE,CAAA;QAC9B,aAAQ,GAAG,IAAI,KAAK,EAAE,CAAA;QACtB,qBAAgB,GAAG,IAAI,KAAK,EAAE,CAAA;QAC9B,iBAAY,GAAG,IAAI,KAAK,EAAE,CAAA;QAC1B,yBAAoB,GAAG,IAAI,KAAK,EAAE,CAAA;QAClC,cAAS,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,YAAO,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACzB,kBAAa,GAAG,CAAC,CAAA;QACjB,gBAAW,GAAG,CAAC,CAAA;QACf,kBAAa,GAAG,CAAC,CAAA;QACjB,aAAQ,GAAG,CAAC,CAAA;QACZ,gBAAW,GAAG,CAAC,CAAA;QAEP,YAAO,GAAY,KAAK,CAAA;QACxB,iBAAY,GAAY,KAAK,CAAA;QAC7B,WAAM,GAAW,CAAC,CAAA;QAClB,eAAU,GAAY,KAAK,CAAA;QAC3B,kBAAa,GAAW,GAAG,CAAA;QAEnC,SAAI,GAAG,CAAC,QAAkB,EAAE,KAAY,EAAE,cAA8B,EAAE,EAAE;YAC1E,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;YACzC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACtC,CAAC,CAAA;QAED,UAAK,GAAG,CAAC,QAAkB,EAAE,EAAE;YAC7B,IAAI,QAAQ,CAAC,UAAU;gBAAE,OAAM;YAE/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAgB,EAAE,EAAE;gBACpD,IAAI,EAAE,GAAG,CAAC,CAAA;gBACV,IAAI,EAAE,GAAG,CAAC,CAAA;gBACV,IAAI,MAAM,GAAG,CAAC,CAAA;gBAEd,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;gBAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;gBAEhC,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBAAE,OAAM;gBACnD,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBAAE,OAAM;gBAEnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACjB,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;wBAC5B,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC7B,CAAC;yBAAM,CAAC;wBACN,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;wBAC3B,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC9B,CAAC;oBAED,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/E,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC3B,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAE3B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/E,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC3B,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAE3B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/E,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC5B,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAE5B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/E,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAC5B,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;oBAE5B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/E,CAAC;gBAED,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;gBAC1D,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;YAC5D,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;IAmDH,CAAC;IAjDC,OAAO;QACL,OAAO,cAAc,CAAC,oBAAoB,CAAA;IAC5C,CAAC;IAED,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE;gBACR,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACnB;YACD,gBAAgB,EAAE;gBAChB,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1B,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC3B;YACD,QAAQ,EAAE;gBACR,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACnB;YACD,gBAAgB,EAAE;gBAChB,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1B,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC3B;YACD,YAAY,EAAE;gBACZ,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACtB,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aACvB;YACD,oBAAoB,EAAE;gBACpB,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAC9B,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC/B;YACD,SAAS,EAAE;gBACT,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACpB;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAClB;YACD,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
|
|
@@ -4,10 +4,12 @@ import Behaviour from './Behaviour';
|
|
|
4
4
|
import LifeBehaviour from './LifeBehaviour';
|
|
5
5
|
import PositionBehaviour from './PositionBehaviour';
|
|
6
6
|
import ColorBehaviour from './ColorBehaviour';
|
|
7
|
+
import AttractionRepulsionBehaviour from './AttractionRepulsionBehaviour';
|
|
7
8
|
import SizeBehaviour from './SizeBehaviour';
|
|
8
9
|
import AngularVelocityBehaviour from './AngularVelocityBehaviour';
|
|
9
10
|
import EmitDirectionBehaviour from './EmitDirectionBehaviour';
|
|
10
11
|
import RotationBehaviour from './RotationBehaviour';
|
|
11
12
|
import TurbulenceBehaviour from './TurbulenceBehaviour';
|
|
12
13
|
import CollisionBehaviour from './CollisionBehaviour';
|
|
13
|
-
|
|
14
|
+
import NoiseBasedMotionBehaviour from './NoiseBasedMotionBehaviour';
|
|
15
|
+
export { EmitterBehaviours, Behaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, AttractionRepulsionBehaviour, NoiseBasedMotionBehaviour, BehaviourNames, };
|
|
@@ -4,11 +4,13 @@ import Behaviour from './Behaviour';
|
|
|
4
4
|
import LifeBehaviour from './LifeBehaviour';
|
|
5
5
|
import PositionBehaviour from './PositionBehaviour';
|
|
6
6
|
import ColorBehaviour from './ColorBehaviour';
|
|
7
|
+
import AttractionRepulsionBehaviour from './AttractionRepulsionBehaviour';
|
|
7
8
|
import SizeBehaviour from './SizeBehaviour';
|
|
8
9
|
import AngularVelocityBehaviour from './AngularVelocityBehaviour';
|
|
9
10
|
import EmitDirectionBehaviour from './EmitDirectionBehaviour';
|
|
10
11
|
import RotationBehaviour from './RotationBehaviour';
|
|
11
12
|
import TurbulenceBehaviour from './TurbulenceBehaviour';
|
|
12
13
|
import CollisionBehaviour from './CollisionBehaviour';
|
|
13
|
-
|
|
14
|
+
import NoiseBasedMotionBehaviour from './NoiseBasedMotionBehaviour';
|
|
15
|
+
export { EmitterBehaviours, Behaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, AttractionRepulsionBehaviour, NoiseBasedMotionBehaviour, BehaviourNames, };
|
|
14
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/behaviour/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/behaviour/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,4BAA4B,MAAM,gCAAgC,CAAA;AACzE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,yBAAyB,MAAM,6BAA6B,CAAA;AAEnE,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,yBAAyB,EACzB,cAAc,GACf,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import BehaviourNames from '../behaviour/BehaviourNames';
|
|
2
1
|
const deepClone = (obj, hash = new WeakMap()) => {
|
|
3
2
|
if (Object(obj) !== obj || obj instanceof Function)
|
|
4
3
|
return obj; // Primitives or functions
|
|
@@ -59,9 +58,7 @@ export default class BehaviourParser {
|
|
|
59
58
|
*/
|
|
60
59
|
this.read = (config) => {
|
|
61
60
|
for (const key in config) {
|
|
62
|
-
if (this._behaviour[key] instanceof Object &&
|
|
63
|
-
this._behaviour.name !== BehaviourNames.COLLISION_BEHAVIOUR &&
|
|
64
|
-
this._behaviour.getName() !== BehaviourNames.COLLISION_BEHAVIOUR) {
|
|
61
|
+
if (this._behaviour[key] instanceof Object && typeof this._behaviour[key].copyFromRawData === 'function') {
|
|
65
62
|
this._behaviour[key].copyFromRawData(config[key]);
|
|
66
63
|
}
|
|
67
64
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BehaviourParser.js","sourceRoot":"","sources":["../../../src/lib/parser/BehaviourParser.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"BehaviourParser.js","sourceRoot":"","sources":["../../../src/lib/parser/BehaviourParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED