custom-pixi-particles 4.5.3 → 4.6.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 +1 -0
- package/dist/lib/Particle.js +2 -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 +1 -0
- package/dist/lib/behaviour/BehaviourNames.js +1 -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 +5 -0
- package/dist/lib/behaviour/CollisionBehaviour.js.map +1 -1
- package/dist/lib/behaviour/index.d.ts +2 -1
- package/dist/lib/behaviour/index.js +2 -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
|
*/
|
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();
|
|
@@ -100,6 +101,7 @@ class Particle {
|
|
|
100
101
|
this.skipPositionBehaviour = false;
|
|
101
102
|
this.skipAngularVelocityBehaviour = false;
|
|
102
103
|
this.skipColorBehaviour = false;
|
|
104
|
+
this.skipAttractionRepulsionBehaviour = false;
|
|
103
105
|
this.skipEmitDirectionBehaviour = false;
|
|
104
106
|
this.skipRotationBehaviour = false;
|
|
105
107
|
this.skipSizeBehaviour = false;
|
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,6 @@ export default {
|
|
|
8
8
|
ROTATION_BEHAVIOUR: 'RotationBehaviour',
|
|
9
9
|
TURBULENCE_BEHAVIOUR: 'TurbulenceBehaviour',
|
|
10
10
|
COLLISION_BEHAVIOUR: 'CollisionBehaviour',
|
|
11
|
+
ATTRACTION_REPULSION_BEHAVIOUR: 'AttractionRepulsionBehaviour',
|
|
11
12
|
};
|
|
12
13
|
//# 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;CAC/D,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,6 +6,7 @@ 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;
|
|
@@ -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":"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
|
|
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,gDAA2C,GAAY,KAAK,CAAA;QAC5D,0CAAqC,GAAY,KAAK,CAAA;QACtD,qCAAgC,GAAY,KAAK,CAAA;QACjD,iCAA4B,GAAY,KAAK,CAAA;QAC7C,aAAQ,GAAG,GAAG,CAAA;QACd,aAAQ,GAAG,EAAE,CAAA;QACb,UAAK,GAA6E;YAChF,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;SACnD,CAAA;QAED;;;;WAIG;QACH,SAAI,GAAG,CAAC,QAAkB,EAAE,KAAY,EAAE,EAAE;YAC1C,aAAa;QACf,CAAC,CAAA;QAED;;;;;WAKG;QACH,UAAK,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,KAAY,EAAE,EAAE;YAC9D,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAM;YACzB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAA;QACzC,CAAC,CAAA;QAED,oBAAe,GAAG,CAAC,QAAkB,EAAE,MAAgC,EAAE,EAAE;YACzE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;YAClF,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,CAAA;YACrE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,CAAA;YACrE,IAAI,IAAI,CAAC,gCAAgC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAA;YACvC,CAAC;YACD,IAAI,IAAI,CAAC,uCAAuC,EAAE,CAAC;gBACjD,QAAQ,CAAC,4BAA4B,GAAG,IAAI,CAAA;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACvC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAA;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,2CAA2C,EAAE,CAAC;gBACrD,QAAQ,CAAC,gCAAgC,GAAG,IAAI,CAAA;YAClD,CAAC;YACD,IAAI,IAAI,CAAC,qCAAqC,EAAE,CAAC;gBAC/C,QAAQ,CAAC,0BAA0B,GAAG,IAAI,CAAA;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,gCAAgC,EAAE,CAAC;gBAC1C,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAA;YACvC,CAAC;YACD,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACtC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAA;YACnC,CAAC;QACH,CAAC,CAAA;QAED,6BAAwB,GAAG,CAAC,QAAkB,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA,CAAC,8BAA8B;YAExE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;gBAE/B,6EAA6E;gBAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;gBACrG,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC1B,8CAA8C;oBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBACnD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBACtC,OAAO,IAAI,CAAA,CAAC,4CAA4C;gBAC1D,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QAED,oBAAe,GAAG,CAAC,MAAgC,EAAE,MAAgC,EAAE,EAAE;YACvF,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;YAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YAC3C,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,CAAA,CAAC,oCAAoC;QACjF,CAAC,CAAA;QAED,wBAAmB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE;YAC7F,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;YAChB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;YAChB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;YACjB,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;YAEjB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACzB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC3B,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAE5C,IAAI,EAAE,CAAA;YACN,IAAI,EAAE,CAAA;YAEN,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,EAAE,GAAG,EAAE,CAAA;gBACP,EAAE,GAAG,EAAE,CAAA;YACT,CAAC;iBAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrB,EAAE,GAAG,EAAE,CAAA;gBACP,EAAE,GAAG,EAAE,CAAA;YACT,CAAC;iBAAM,CAAC;gBACN,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;gBACnB,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,CAAA;YACrB,CAAC;YAED,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAA;YACjB,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAA;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;QACrC,CAAC,CAAA;IA8BH,CAAC;IA5BC;;;OAGG;IACH,OAAO;QACL,OAAO,cAAc,CAAC,mBAAmB,CAAA;IAC3C,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gCAAgC,EAAE,IAAI,CAAC,gCAAgC;YACvE,uCAAuC,EAAE,IAAI,CAAC,uCAAuC;YACrF,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;YACjE,2CAA2C,EAAE,IAAI,CAAC,2CAA2C;YAC7F,qCAAqC,EAAE,IAAI,CAAC,qCAAqC;YACjF,gCAAgC,EAAE,IAAI,CAAC,gCAAgC;YACvE,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;YAC/D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;CACF"}
|
|
@@ -4,10 +4,11 @@ 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
|
-
export { EmitterBehaviours, Behaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, BehaviourNames, };
|
|
14
|
+
export { EmitterBehaviours, Behaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, AttractionRepulsionBehaviour, BehaviourNames, };
|
|
@@ -4,11 +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
|
-
export { EmitterBehaviours, Behaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, BehaviourNames, };
|
|
14
|
+
export { EmitterBehaviours, Behaviour, LifeBehaviour, PositionBehaviour, ColorBehaviour, SizeBehaviour, AngularVelocityBehaviour, EmitDirectionBehaviour, RotationBehaviour, TurbulenceBehaviour, CollisionBehaviour, AttractionRepulsionBehaviour, BehaviourNames, };
|
|
14
15
|
//# 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;AAErD,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,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;AAErD,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,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