three-nebula 10.0.3 → 11.1.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/.claude/rules/no-coauthor.md +4 -0
- package/CHANGELOG.md +33 -0
- package/dist/three-nebula.cjs +109 -0
- package/dist/three-nebula.cjs.map +1 -0
- package/dist/three-nebula.mjs +2968 -0
- package/dist/three-nebula.mjs.map +1 -0
- package/dist/three-nebula.umd.js +109 -0
- package/dist/three-nebula.umd.js.map +1 -0
- package/package.json +32 -56
- package/specs/01-emitter-hierarchy.md +200 -0
- package/specs/02-determinism-scrubbing.md +188 -0
- package/specs/03-sound-renderer.md +183 -0
- package/specs/04-schema-versioning.md +140 -0
- package/specs/05-content-addressed-assets.md +288 -0
- package/specs/README.md +80 -0
- package/build/cjs/behaviour/Alpha.js +0 -189
- package/build/cjs/behaviour/Attraction.js +0 -189
- package/build/cjs/behaviour/Behaviour.js +0 -253
- package/build/cjs/behaviour/Collision.js +0 -146
- package/build/cjs/behaviour/Color.js +0 -148
- package/build/cjs/behaviour/CrossZone.js +0 -141
- package/build/cjs/behaviour/Force.js +0 -126
- package/build/cjs/behaviour/Gravity.js +0 -78
- package/build/cjs/behaviour/RandomDrift.js +0 -153
- package/build/cjs/behaviour/Repulsion.js +0 -123
- package/build/cjs/behaviour/Rotate.js +0 -265
- package/build/cjs/behaviour/Scale.js +0 -177
- package/build/cjs/behaviour/Spring.js +0 -133
- package/build/cjs/behaviour/constants.js +0 -28
- package/build/cjs/behaviour/index.js +0 -112
- package/build/cjs/behaviour/types.js +0 -33
- package/build/cjs/constants/index.js +0 -61
- package/build/cjs/core/Particle.js +0 -390
- package/build/cjs/core/Pool.js +0 -203
- package/build/cjs/core/System.js +0 -366
- package/build/cjs/core/constants.js +0 -163
- package/build/cjs/core/fromJSON.js +0 -128
- package/build/cjs/core/fromJSONAsync.js +0 -239
- package/build/cjs/core/index.js +0 -32
- package/build/cjs/core/three/Euler.js +0 -233
- package/build/cjs/core/three/Math.js +0 -91
- package/build/cjs/core/three/Matrix4.js +0 -745
- package/build/cjs/core/three/Quaternion.js +0 -451
- package/build/cjs/core/three/Vector3.js +0 -464
- package/build/cjs/core/three/constants.js +0 -298
- package/build/cjs/core/three/index.js +0 -48
- package/build/cjs/core/types.js +0 -13
- package/build/cjs/debug/Debug.js +0 -209
- package/build/cjs/debug/constants.js +0 -19
- package/build/cjs/debug/index.js +0 -24
- package/build/cjs/debug/log.js +0 -38
- package/build/cjs/ease/index.js +0 -149
- package/build/cjs/emitter/Emitter.js +0 -791
- package/build/cjs/emitter/FollowEmitter.js +0 -146
- package/build/cjs/emitter/constants.js +0 -20
- package/build/cjs/emitter/index.js +0 -24
- package/build/cjs/emitter/types.js +0 -11
- package/build/cjs/events/EventDispatcher.js +0 -105
- package/build/cjs/events/constants.js +0 -23
- package/build/cjs/events/index.js +0 -27
- package/build/cjs/index.js +0 -151
- package/build/cjs/initializer/Body.js +0 -122
- package/build/cjs/initializer/BodySprite.js +0 -146
- package/build/cjs/initializer/Initializer.js +0 -109
- package/build/cjs/initializer/InitializerUtil.js +0 -54
- package/build/cjs/initializer/Life.js +0 -106
- package/build/cjs/initializer/Mass.js +0 -101
- package/build/cjs/initializer/Position.js +0 -152
- package/build/cjs/initializer/Radius.js +0 -118
- package/build/cjs/initializer/Rate.js +0 -150
- package/build/cjs/initializer/Texture.js +0 -139
- package/build/cjs/initializer/Velocity/PolarVelocity.js +0 -102
- package/build/cjs/initializer/Velocity/RadialVelocity.js +0 -111
- package/build/cjs/initializer/Velocity/VectorVelocity.js +0 -108
- package/build/cjs/initializer/Velocity/Velocity.js +0 -94
- package/build/cjs/initializer/Velocity/index.js +0 -32
- package/build/cjs/initializer/constants.js +0 -43
- package/build/cjs/initializer/index.js +0 -100
- package/build/cjs/initializer/types.js +0 -35
- package/build/cjs/math/ArraySpan.js +0 -103
- package/build/cjs/math/Box.js +0 -46
- package/build/cjs/math/ColorSpan.js +0 -113
- package/build/cjs/math/MathUtils.js +0 -57
- package/build/cjs/math/Polar3D.js +0 -115
- package/build/cjs/math/Span.js +0 -88
- package/build/cjs/math/Vector3D.js +0 -76
- package/build/cjs/math/constants.js +0 -35
- package/build/cjs/math/index.js +0 -122
- package/build/cjs/math/integration.js +0 -59
- package/build/cjs/math/types.js +0 -19
- package/build/cjs/renderer/BaseRenderer.js +0 -108
- package/build/cjs/renderer/CustomRenderer.js +0 -65
- package/build/cjs/renderer/GPURenderer/Desktop/index.js +0 -350
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -13
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/index.js +0 -22
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -17
- package/build/cjs/renderer/GPURenderer/Mobile/index.js +0 -364
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -13
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/index.js +0 -22
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -15
- package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -53
- package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -93
- package/build/cjs/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -9
- package/build/cjs/renderer/GPURenderer/common/TextureAtlas/index.js +0 -221
- package/build/cjs/renderer/GPURenderer/common/constants.js +0 -22
- package/build/cjs/renderer/GPURenderer/common/index.js +0 -38
- package/build/cjs/renderer/GPURenderer/common/shaders/constants.js +0 -9
- package/build/cjs/renderer/GPURenderer/common/stores/Target.js +0 -43
- package/build/cjs/renderer/GPURenderer/common/stores/UniqueList.js +0 -51
- package/build/cjs/renderer/GPURenderer/common/stores/index.js +0 -22
- package/build/cjs/renderer/GPURenderer/index.js +0 -97
- package/build/cjs/renderer/MeshRenderer.js +0 -136
- package/build/cjs/renderer/SpriteRenderer.js +0 -63
- package/build/cjs/renderer/index.js +0 -40
- package/build/cjs/renderer/types.js +0 -21
- package/build/cjs/utils/ColorUtil.js +0 -39
- package/build/cjs/utils/PUID.js +0 -26
- package/build/cjs/utils/THREEUtil.js +0 -40
- package/build/cjs/utils/Util.js +0 -69
- package/build/cjs/utils/index.js +0 -61
- package/build/cjs/utils/uid.js +0 -14
- package/build/cjs/zone/BoxZone.js +0 -178
- package/build/cjs/zone/LineZone.js +0 -101
- package/build/cjs/zone/MeshZone.js +0 -101
- package/build/cjs/zone/PointZone.js +0 -99
- package/build/cjs/zone/ScreenZone.js +0 -164
- package/build/cjs/zone/SphereZone.js +0 -155
- package/build/cjs/zone/Zone.js +0 -172
- package/build/cjs/zone/index.js +0 -56
- package/build/cjs/zone/types.js +0 -21
- package/build/esm/behaviour/Alpha.js +0 -134
- package/build/esm/behaviour/Attraction.js +0 -135
- package/build/esm/behaviour/Behaviour.js +0 -215
- package/build/esm/behaviour/Collision.js +0 -100
- package/build/esm/behaviour/Color.js +0 -101
- package/build/esm/behaviour/CrossZone.js +0 -82
- package/build/esm/behaviour/Force.js +0 -83
- package/build/esm/behaviour/Gravity.js +0 -40
- package/build/esm/behaviour/RandomDrift.js +0 -97
- package/build/esm/behaviour/Repulsion.js +0 -81
- package/build/esm/behaviour/Rotate.js +0 -214
- package/build/esm/behaviour/Scale.js +0 -131
- package/build/esm/behaviour/Spring.js +0 -90
- package/build/esm/behaviour/constants.js +0 -11
- package/build/esm/behaviour/index.js +0 -14
- package/build/esm/behaviour/types.js +0 -14
- package/build/esm/constants/index.js +0 -42
- package/build/esm/core/Particle.js +0 -357
- package/build/esm/core/Pool.js +0 -161
- package/build/esm/core/System.js +0 -320
- package/build/esm/core/constants.js +0 -127
- package/build/esm/core/fromJSON.js +0 -107
- package/build/esm/core/fromJSONAsync.js +0 -210
- package/build/esm/core/index.js +0 -4
- package/build/esm/core/three/Euler.js +0 -224
- package/build/esm/core/three/Math.js +0 -84
- package/build/esm/core/three/Matrix4.js +0 -739
- package/build/esm/core/three/Quaternion.js +0 -445
- package/build/esm/core/three/Vector3.js +0 -457
- package/build/esm/core/three/constants.js +0 -148
- package/build/esm/core/three/index.js +0 -5
- package/build/esm/core/types.js +0 -4
- package/build/esm/debug/Debug.js +0 -195
- package/build/esm/debug/constants.js +0 -7
- package/build/esm/debug/index.js +0 -3
- package/build/esm/debug/log.js +0 -31
- package/build/esm/ease/index.js +0 -113
- package/build/esm/emitter/Emitter.js +0 -701
- package/build/esm/emitter/FollowEmitter.js +0 -97
- package/build/esm/emitter/constants.js +0 -7
- package/build/esm/emitter/index.js +0 -3
- package/build/esm/emitter/types.js +0 -3
- package/build/esm/events/EventDispatcher.js +0 -82
- package/build/esm/events/constants.js +0 -9
- package/build/esm/events/index.js +0 -4
- package/build/esm/index.js +0 -13
- package/build/esm/initializer/Body.js +0 -83
- package/build/esm/initializer/BodySprite.js +0 -108
- package/build/esm/initializer/Initializer.js +0 -84
- package/build/esm/initializer/InitializerUtil.js +0 -48
- package/build/esm/initializer/Life.js +0 -66
- package/build/esm/initializer/Mass.js +0 -60
- package/build/esm/initializer/Position.js +0 -98
- package/build/esm/initializer/Radius.js +0 -75
- package/build/esm/initializer/Rate.js +0 -107
- package/build/esm/initializer/Texture.js +0 -101
- package/build/esm/initializer/Velocity/PolarVelocity.js +0 -63
- package/build/esm/initializer/Velocity/RadialVelocity.js +0 -72
- package/build/esm/initializer/Velocity/VectorVelocity.js +0 -69
- package/build/esm/initializer/Velocity/Velocity.js +0 -52
- package/build/esm/initializer/Velocity/index.js +0 -4
- package/build/esm/initializer/constants.js +0 -26
- package/build/esm/initializer/index.js +0 -11
- package/build/esm/initializer/types.js +0 -15
- package/build/esm/math/ArraySpan.js +0 -62
- package/build/esm/math/Box.js +0 -25
- package/build/esm/math/ColorSpan.js +0 -71
- package/build/esm/math/MathUtils.js +0 -48
- package/build/esm/math/Polar3D.js +0 -81
- package/build/esm/math/Span.js +0 -63
- package/build/esm/math/Vector3D.js +0 -34
- package/build/esm/math/constants.js +0 -24
- package/build/esm/math/index.js +0 -10
- package/build/esm/math/integration.js +0 -47
- package/build/esm/math/types.js +0 -7
- package/build/esm/renderer/BaseRenderer.js +0 -78
- package/build/esm/renderer/CustomRenderer.js +0 -23
- package/build/esm/renderer/GPURenderer/Desktop/index.js +0 -331
- package/build/esm/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -23
- package/build/esm/renderer/GPURenderer/Desktop/shaders/index.js +0 -3
- package/build/esm/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -33
- package/build/esm/renderer/GPURenderer/Mobile/index.js +0 -349
- package/build/esm/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -20
- package/build/esm/renderer/GPURenderer/Mobile/shaders/index.js +0 -3
- package/build/esm/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -30
- package/build/esm/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -27
- package/build/esm/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -70
- package/build/esm/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -2
- package/build/esm/renderer/GPURenderer/common/TextureAtlas/index.js +0 -206
- package/build/esm/renderer/GPURenderer/common/constants.js +0 -13
- package/build/esm/renderer/GPURenderer/common/index.js +0 -4
- package/build/esm/renderer/GPURenderer/common/shaders/constants.js +0 -2
- package/build/esm/renderer/GPURenderer/common/stores/Target.js +0 -24
- package/build/esm/renderer/GPURenderer/common/stores/UniqueList.js +0 -29
- package/build/esm/renderer/GPURenderer/common/stores/index.js +0 -3
- package/build/esm/renderer/GPURenderer/index.js +0 -57
- package/build/esm/renderer/MeshRenderer.js +0 -94
- package/build/esm/renderer/SpriteRenderer.js +0 -26
- package/build/esm/renderer/index.js +0 -5
- package/build/esm/renderer/types.js +0 -8
- package/build/esm/utils/ColorUtil.js +0 -32
- package/build/esm/utils/PUID.js +0 -19
- package/build/esm/utils/THREEUtil.js +0 -31
- package/build/esm/utils/Util.js +0 -60
- package/build/esm/utils/index.js +0 -13
- package/build/esm/utils/uid.js +0 -3
- package/build/esm/zone/BoxZone.js +0 -133
- package/build/esm/zone/LineZone.js +0 -61
- package/build/esm/zone/MeshZone.js +0 -60
- package/build/esm/zone/PointZone.js +0 -59
- package/build/esm/zone/ScreenZone.js +0 -116
- package/build/esm/zone/SphereZone.js +0 -113
- package/build/esm/zone/Zone.js +0 -141
- package/build/esm/zone/index.js +0 -7
- package/build/esm/zone/types.js +0 -8
- package/build/three-nebula.js +0 -2
- package/build/three-nebula.js.map +0 -1
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _Behaviour2 = _interopRequireDefault(require("./Behaviour"));
|
|
23
|
-
|
|
24
|
-
var _math = require("../math");
|
|
25
|
-
|
|
26
|
-
var _types = require("./types");
|
|
27
|
-
|
|
28
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
29
|
-
|
|
30
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Behaviour that causes particles to move away from other particles they collide with.
|
|
34
|
-
*/
|
|
35
|
-
var Collision = /*#__PURE__*/function (_Behaviour) {
|
|
36
|
-
(0, _inherits2["default"])(Collision, _Behaviour);
|
|
37
|
-
|
|
38
|
-
var _super = _createSuper(Collision);
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Constructs a Collision behaviour instance.
|
|
42
|
-
*
|
|
43
|
-
* @param {Emitter} emitter - The emitter containing the particles to detect collisions against
|
|
44
|
-
* @param {boolean} useMass - Determiens whether to use mass or not
|
|
45
|
-
* @param {function} onCollide - Function to call when particles collide
|
|
46
|
-
* @param {number} life - The life of the particle
|
|
47
|
-
* @param {function} easing - The behaviour's decaying trend
|
|
48
|
-
* @param {boolean} [isEnabled=true] - Determines if the behaviour will be applied or not
|
|
49
|
-
* @return void
|
|
50
|
-
*/
|
|
51
|
-
function Collision(emitter, useMass, onCollide, life, easing) {
|
|
52
|
-
var _this;
|
|
53
|
-
|
|
54
|
-
var isEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
|
|
55
|
-
(0, _classCallCheck2["default"])(this, Collision);
|
|
56
|
-
_this = _super.call(this, life, easing, _types.BEHAVIOUR_TYPE_COLLISION, isEnabled);
|
|
57
|
-
|
|
58
|
-
_this.reset(emitter, useMass, onCollide);
|
|
59
|
-
|
|
60
|
-
return _this;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Resets the behaviour properties.
|
|
64
|
-
*
|
|
65
|
-
* @param {Emitter} emitter - The emitter containing the particles to detect collisions against
|
|
66
|
-
* @param {boolean} useMass - Determiens whether to use mass or not
|
|
67
|
-
* @param {function} onCollide - Function to call when particles collide
|
|
68
|
-
* @param {number} life - The life of the particle
|
|
69
|
-
* @param {function} easing - The behaviour's decaying trend
|
|
70
|
-
* @return void
|
|
71
|
-
*/
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
(0, _createClass2["default"])(Collision, [{
|
|
75
|
-
key: "reset",
|
|
76
|
-
value: function reset(emitter, useMass, onCollide, life, easing) {
|
|
77
|
-
this.emitter = emitter;
|
|
78
|
-
this.useMass = useMass;
|
|
79
|
-
this.onCollide = onCollide;
|
|
80
|
-
this.particles = [];
|
|
81
|
-
this.delta = new _math.Vector3D();
|
|
82
|
-
life && (0, _get2["default"])((0, _getPrototypeOf2["default"])(Collision.prototype), "reset", this).call(this, life, easing);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Detects collisions with other particles and calls the
|
|
86
|
-
* onCollide function on colliding particles.
|
|
87
|
-
*
|
|
88
|
-
* @param {Particle} particle - the particle to apply the behaviour to
|
|
89
|
-
* @param {number} time - particle engine time
|
|
90
|
-
* @param {integer} index - the particle index
|
|
91
|
-
* @return void
|
|
92
|
-
*/
|
|
93
|
-
|
|
94
|
-
}, {
|
|
95
|
-
key: "mutate",
|
|
96
|
-
value: function mutate(particle, time, index) {
|
|
97
|
-
var particles = this.emitter ? this.emitter.particles.slice(index) : this.particles.slice(index);
|
|
98
|
-
var otherParticle, lengthSq, overlap, distance, averageMass1, averageMass2;
|
|
99
|
-
var i = particles.length;
|
|
100
|
-
|
|
101
|
-
while (i--) {
|
|
102
|
-
otherParticle = particles[i];
|
|
103
|
-
|
|
104
|
-
if (otherParticle == particle) {
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
this.delta.copy(otherParticle.position).sub(particle.position);
|
|
109
|
-
lengthSq = this.delta.lengthSq();
|
|
110
|
-
distance = particle.radius + otherParticle.radius;
|
|
111
|
-
|
|
112
|
-
if (lengthSq <= distance * distance) {
|
|
113
|
-
overlap = distance - Math.sqrt(lengthSq);
|
|
114
|
-
overlap += 0.5;
|
|
115
|
-
averageMass1 = this._getAverageMass(particle, otherParticle);
|
|
116
|
-
averageMass2 = this._getAverageMass(otherParticle, particle);
|
|
117
|
-
particle.position.add(this.delta.clone().normalize().scalar(overlap * -averageMass1));
|
|
118
|
-
otherParticle.position.add(this.delta.normalize().scalar(overlap * averageMass2));
|
|
119
|
-
this.onCollide && this.onCollide(particle, otherParticle);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Gets the average mass of both particles.
|
|
125
|
-
*
|
|
126
|
-
* @param {Particle} particleA - The first particle
|
|
127
|
-
* @param {Particle} particleB - The second particle
|
|
128
|
-
* @return {number}
|
|
129
|
-
*/
|
|
130
|
-
|
|
131
|
-
}, {
|
|
132
|
-
key: "_getAverageMass",
|
|
133
|
-
value: function _getAverageMass(particleA, particleB) {
|
|
134
|
-
return this.useMass ? particleB.mass / (particleA.mass + particleB.mass) : 0.5;
|
|
135
|
-
} // TODO
|
|
136
|
-
|
|
137
|
-
}, {
|
|
138
|
-
key: "fromJSON",
|
|
139
|
-
value: function fromJSON(json) {} // eslint-disable-line
|
|
140
|
-
|
|
141
|
-
}]);
|
|
142
|
-
return Collision;
|
|
143
|
-
}(_Behaviour2["default"]);
|
|
144
|
-
|
|
145
|
-
exports["default"] = Collision;
|
|
146
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQ29sbGlzaW9uLmpzIl0sIm5hbWVzIjpbIkNvbGxpc2lvbiIsImVtaXR0ZXIiLCJ1c2VNYXNzIiwib25Db2xsaWRlIiwibGlmZSIsImVhc2luZyIsImlzRW5hYmxlZCIsInR5cGUiLCJyZXNldCIsInBhcnRpY2xlcyIsImRlbHRhIiwiVmVjdG9yM0QiLCJwYXJ0aWNsZSIsInRpbWUiLCJpbmRleCIsInNsaWNlIiwib3RoZXJQYXJ0aWNsZSIsImxlbmd0aFNxIiwib3ZlcmxhcCIsImRpc3RhbmNlIiwiYXZlcmFnZU1hc3MxIiwiYXZlcmFnZU1hc3MyIiwiaSIsImxlbmd0aCIsImNvcHkiLCJwb3NpdGlvbiIsInN1YiIsInJhZGl1cyIsIk1hdGgiLCJzcXJ0IiwiX2dldEF2ZXJhZ2VNYXNzIiwiYWRkIiwiY2xvbmUiLCJub3JtYWxpemUiLCJzY2FsYXIiLCJwYXJ0aWNsZUEiLCJwYXJ0aWNsZUIiLCJtYXNzIiwianNvbiIsIkJlaGF2aW91ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDQTtJQUNxQkEsUzs7Ozs7QUFDbkI7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFLHFCQUFZQyxPQUFaLEVBQXFCQyxPQUFyQixFQUE4QkMsU0FBOUIsRUFBeUNDLElBQXpDLEVBQStDQyxNQUEvQyxFQUF5RTtBQUFBOztBQUFBLFFBQWxCQyxTQUFrQix1RUFBTixJQUFNO0FBQUE7QUFDdkUsOEJBQU1GLElBQU4sRUFBWUMsTUFBWixFQUFvQkUsK0JBQXBCLEVBQTBCRCxTQUExQjs7QUFFQSxVQUFLRSxLQUFMLENBQVdQLE9BQVgsRUFBb0JDLE9BQXBCLEVBQTZCQyxTQUE3Qjs7QUFIdUU7QUFJeEU7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7MEJBQ1FGLE8sRUFBU0MsTyxFQUFTQyxTLEVBQVdDLEksRUFBTUMsTSxFQUFRO0FBQy9DLFdBQUtKLE9BQUwsR0FBZUEsT0FBZjtBQUNBLFdBQUtDLE9BQUwsR0FBZUEsT0FBZjtBQUNBLFdBQUtDLFNBQUwsR0FBaUJBLFNBQWpCO0FBQ0EsV0FBS00sU0FBTCxHQUFpQixFQUFqQjtBQUNBLFdBQUtDLEtBQUwsR0FBYSxJQUFJQyxjQUFKLEVBQWI7QUFFQVAsTUFBQUEsSUFBSSwyR0FBZ0JBLElBQWhCLEVBQXNCQyxNQUF0QixDQUFKO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7MkJBQ1NPLFEsRUFBVUMsSSxFQUFNQyxLLEVBQU87QUFDNUIsVUFBTUwsU0FBUyxHQUFHLEtBQUtSLE9BQUwsR0FDZCxLQUFLQSxPQUFMLENBQWFRLFNBQWIsQ0FBdUJNLEtBQXZCLENBQTZCRCxLQUE3QixDQURjLEdBRWQsS0FBS0wsU0FBTCxDQUFlTSxLQUFmLENBQXFCRCxLQUFyQixDQUZKO0FBSUEsVUFBSUUsYUFBSixFQUFtQkMsUUFBbkIsRUFBNkJDLE9BQTdCLEVBQXNDQyxRQUF0QyxFQUFnREMsWUFBaEQsRUFBOERDLFlBQTlEO0FBRUEsVUFBSUMsQ0FBQyxHQUFHYixTQUFTLENBQUNjLE1BQWxCOztBQUVBLGFBQU9ELENBQUMsRUFBUixFQUFZO0FBQ1ZOLFFBQUFBLGFBQWEsR0FBR1AsU0FBUyxDQUFDYSxDQUFELENBQXpCOztBQUVBLFlBQUlOLGFBQWEsSUFBSUosUUFBckIsRUFBK0I7QUFDN0I7QUFDRDs7QUFFRCxhQUFLRixLQUFMLENBQVdjLElBQVgsQ0FBZ0JSLGFBQWEsQ0FBQ1MsUUFBOUIsRUFBd0NDLEdBQXhDLENBQTRDZCxRQUFRLENBQUNhLFFBQXJEO0FBRUFSLFFBQUFBLFFBQVEsR0FBRyxLQUFLUCxLQUFMLENBQVdPLFFBQVgsRUFBWDtBQUNBRSxRQUFBQSxRQUFRLEdBQUdQLFFBQVEsQ0FBQ2UsTUFBVCxHQUFrQlgsYUFBYSxDQUFDVyxNQUEzQzs7QUFFQSxZQUFJVixRQUFRLElBQUlFLFFBQVEsR0FBR0EsUUFBM0IsRUFBcUM7QUFDbkNELFVBQUFBLE9BQU8sR0FBR0MsUUFBUSxHQUFHUyxJQUFJLENBQUNDLElBQUwsQ0FBVVosUUFBVixDQUFyQjtBQUNBQyxVQUFBQSxPQUFPLElBQUksR0FBWDtBQUVBRSxVQUFBQSxZQUFZLEdBQUcsS0FBS1UsZUFBTCxDQUFxQmxCLFFBQXJCLEVBQStCSSxhQUEvQixDQUFmO0FBQ0FLLFVBQUFBLFlBQVksR0FBRyxLQUFLUyxlQUFMLENBQXFCZCxhQUFyQixFQUFvQ0osUUFBcEMsQ0FBZjtBQUVBQSxVQUFBQSxRQUFRLENBQUNhLFFBQVQsQ0FBa0JNLEdBQWxCLENBQ0UsS0FBS3JCLEtBQUwsQ0FDR3NCLEtBREgsR0FFR0MsU0FGSCxHQUdHQyxNQUhILENBR1VoQixPQUFPLEdBQUcsQ0FBQ0UsWUFIckIsQ0FERjtBQU9BSixVQUFBQSxhQUFhLENBQUNTLFFBQWQsQ0FBdUJNLEdBQXZCLENBQ0UsS0FBS3JCLEtBQUwsQ0FBV3VCLFNBQVgsR0FBdUJDLE1BQXZCLENBQThCaEIsT0FBTyxHQUFHRyxZQUF4QyxDQURGO0FBSUEsZUFBS2xCLFNBQUwsSUFBa0IsS0FBS0EsU0FBTCxDQUFlUyxRQUFmLEVBQXlCSSxhQUF6QixDQUFsQjtBQUNEO0FBQ0Y7QUFDRjtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O29DQUNrQm1CLFMsRUFBV0MsUyxFQUFXO0FBQ3BDLGFBQU8sS0FBS2xDLE9BQUwsR0FDSGtDLFNBQVMsQ0FBQ0MsSUFBVixJQUFrQkYsU0FBUyxDQUFDRSxJQUFWLEdBQWlCRCxTQUFTLENBQUNDLElBQTdDLENBREcsR0FFSCxHQUZKO0FBR0QsSyxDQUVEOzs7OzZCQUNTQyxJLEVBQU0sQ0FBRSxDLENBQUM7Ozs7RUF6R21CQyxzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgVmVjdG9yM0QgfSBmcm9tICcuLi9tYXRoJztcbmltcG9ydCB7IEJFSEFWSU9VUl9UWVBFX0NPTExJU0lPTiBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQmVoYXZpb3VyIHRoYXQgY2F1c2VzIHBhcnRpY2xlcyB0byBtb3ZlIGF3YXkgZnJvbSBvdGhlciBwYXJ0aWNsZXMgdGhleSBjb2xsaWRlIHdpdGguXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbGxpc2lvbiBleHRlbmRzIEJlaGF2aW91ciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgQ29sbGlzaW9uIGJlaGF2aW91ciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtFbWl0dGVyfSBlbWl0dGVyIC0gVGhlIGVtaXR0ZXIgY29udGFpbmluZyB0aGUgcGFydGljbGVzIHRvIGRldGVjdCBjb2xsaXNpb25zIGFnYWluc3RcbiAgICogQHBhcmFtIHtib29sZWFufSB1c2VNYXNzIC0gRGV0ZXJtaWVucyB3aGV0aGVyIHRvIHVzZSBtYXNzIG9yIG5vdFxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkNvbGxpZGUgLSBGdW5jdGlvbiB0byBjYWxsIHdoZW4gcGFydGljbGVzIGNvbGxpZGVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IoZW1pdHRlciwgdXNlTWFzcywgb25Db2xsaWRlLCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUpIHtcbiAgICBzdXBlcihsaWZlLCBlYXNpbmcsIHR5cGUsIGlzRW5hYmxlZCk7XG5cbiAgICB0aGlzLnJlc2V0KGVtaXR0ZXIsIHVzZU1hc3MsIG9uQ29sbGlkZSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBiZWhhdmlvdXIgcHJvcGVydGllcy5cbiAgICpcbiAgICogQHBhcmFtIHtFbWl0dGVyfSBlbWl0dGVyIC0gVGhlIGVtaXR0ZXIgY29udGFpbmluZyB0aGUgcGFydGljbGVzIHRvIGRldGVjdCBjb2xsaXNpb25zIGFnYWluc3RcbiAgICogQHBhcmFtIHtib29sZWFufSB1c2VNYXNzIC0gRGV0ZXJtaWVucyB3aGV0aGVyIHRvIHVzZSBtYXNzIG9yIG5vdFxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkNvbGxpZGUgLSBGdW5jdGlvbiB0byBjYWxsIHdoZW4gcGFydGljbGVzIGNvbGxpZGVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgcmVzZXQoZW1pdHRlciwgdXNlTWFzcywgb25Db2xsaWRlLCBsaWZlLCBlYXNpbmcpIHtcbiAgICB0aGlzLmVtaXR0ZXIgPSBlbWl0dGVyO1xuICAgIHRoaXMudXNlTWFzcyA9IHVzZU1hc3M7XG4gICAgdGhpcy5vbkNvbGxpZGUgPSBvbkNvbGxpZGU7XG4gICAgdGhpcy5wYXJ0aWNsZXMgPSBbXTtcbiAgICB0aGlzLmRlbHRhID0gbmV3IFZlY3RvcjNEKCk7XG5cbiAgICBsaWZlICYmIHN1cGVyLnJlc2V0KGxpZmUsIGVhc2luZyk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0cyBjb2xsaXNpb25zIHdpdGggb3RoZXIgcGFydGljbGVzIGFuZCBjYWxscyB0aGVcbiAgICogb25Db2xsaWRlIGZ1bmN0aW9uIG9uIGNvbGxpZGluZyBwYXJ0aWNsZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7UGFydGljbGV9IHBhcnRpY2xlIC0gdGhlIHBhcnRpY2xlIHRvIGFwcGx5IHRoZSBiZWhhdmlvdXIgdG9cbiAgICogQHBhcmFtIHtudW1iZXJ9IHRpbWUgLSBwYXJ0aWNsZSBlbmdpbmUgdGltZVxuICAgKiBAcGFyYW0ge2ludGVnZXJ9IGluZGV4IC0gdGhlIHBhcnRpY2xlIGluZGV4XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgbXV0YXRlKHBhcnRpY2xlLCB0aW1lLCBpbmRleCkge1xuICAgIGNvbnN0IHBhcnRpY2xlcyA9IHRoaXMuZW1pdHRlclxuICAgICAgPyB0aGlzLmVtaXR0ZXIucGFydGljbGVzLnNsaWNlKGluZGV4KVxuICAgICAgOiB0aGlzLnBhcnRpY2xlcy5zbGljZShpbmRleCk7XG5cbiAgICBsZXQgb3RoZXJQYXJ0aWNsZSwgbGVuZ3RoU3EsIG92ZXJsYXAsIGRpc3RhbmNlLCBhdmVyYWdlTWFzczEsIGF2ZXJhZ2VNYXNzMjtcblxuICAgIGxldCBpID0gcGFydGljbGVzLmxlbmd0aDtcblxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIG90aGVyUGFydGljbGUgPSBwYXJ0aWNsZXNbaV07XG5cbiAgICAgIGlmIChvdGhlclBhcnRpY2xlID09IHBhcnRpY2xlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRlbHRhLmNvcHkob3RoZXJQYXJ0aWNsZS5wb3NpdGlvbikuc3ViKHBhcnRpY2xlLnBvc2l0aW9uKTtcblxuICAgICAgbGVuZ3RoU3EgPSB0aGlzLmRlbHRhLmxlbmd0aFNxKCk7XG4gICAgICBkaXN0YW5jZSA9IHBhcnRpY2xlLnJhZGl1cyArIG90aGVyUGFydGljbGUucmFkaXVzO1xuXG4gICAgICBpZiAobGVuZ3RoU3EgPD0gZGlzdGFuY2UgKiBkaXN0YW5jZSkge1xuICAgICAgICBvdmVybGFwID0gZGlzdGFuY2UgLSBNYXRoLnNxcnQobGVuZ3RoU3EpO1xuICAgICAgICBvdmVybGFwICs9IDAuNTtcblxuICAgICAgICBhdmVyYWdlTWFzczEgPSB0aGlzLl9nZXRBdmVyYWdlTWFzcyhwYXJ0aWNsZSwgb3RoZXJQYXJ0aWNsZSk7XG4gICAgICAgIGF2ZXJhZ2VNYXNzMiA9IHRoaXMuX2dldEF2ZXJhZ2VNYXNzKG90aGVyUGFydGljbGUsIHBhcnRpY2xlKTtcblxuICAgICAgICBwYXJ0aWNsZS5wb3NpdGlvbi5hZGQoXG4gICAgICAgICAgdGhpcy5kZWx0YVxuICAgICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAgIC5ub3JtYWxpemUoKVxuICAgICAgICAgICAgLnNjYWxhcihvdmVybGFwICogLWF2ZXJhZ2VNYXNzMSlcbiAgICAgICAgKTtcblxuICAgICAgICBvdGhlclBhcnRpY2xlLnBvc2l0aW9uLmFkZChcbiAgICAgICAgICB0aGlzLmRlbHRhLm5vcm1hbGl6ZSgpLnNjYWxhcihvdmVybGFwICogYXZlcmFnZU1hc3MyKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMub25Db2xsaWRlICYmIHRoaXMub25Db2xsaWRlKHBhcnRpY2xlLCBvdGhlclBhcnRpY2xlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYXZlcmFnZSBtYXNzIG9mIGJvdGggcGFydGljbGVzLlxuICAgKlxuICAgKiBAcGFyYW0ge1BhcnRpY2xlfSBwYXJ0aWNsZUEgLSBUaGUgZmlyc3QgcGFydGljbGVcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGVCIC0gVGhlIHNlY29uZCBwYXJ0aWNsZVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBfZ2V0QXZlcmFnZU1hc3MocGFydGljbGVBLCBwYXJ0aWNsZUIpIHtcbiAgICByZXR1cm4gdGhpcy51c2VNYXNzXG4gICAgICA/IHBhcnRpY2xlQi5tYXNzIC8gKHBhcnRpY2xlQS5tYXNzICsgcGFydGljbGVCLm1hc3MpXG4gICAgICA6IDAuNTtcbiAgfVxuXG4gIC8vIFRPRE9cbiAgZnJvbUpTT04oanNvbikge30gLy8gZXNsaW50LWRpc2FibGUtbGluZVxufVxuIl19
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _math = require("../math");
|
|
23
|
-
|
|
24
|
-
var _Behaviour2 = _interopRequireDefault(require("./Behaviour"));
|
|
25
|
-
|
|
26
|
-
var _utils = require("../utils");
|
|
27
|
-
|
|
28
|
-
var _ease = require("../ease");
|
|
29
|
-
|
|
30
|
-
var _types = require("./types");
|
|
31
|
-
|
|
32
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
33
|
-
|
|
34
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* A behaviour which mutates the color of a particle over time.
|
|
38
|
-
*
|
|
39
|
-
*/
|
|
40
|
-
var Color = /*#__PURE__*/function (_Behaviour) {
|
|
41
|
-
(0, _inherits2["default"])(Color, _Behaviour);
|
|
42
|
-
|
|
43
|
-
var _super = _createSuper(Color);
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Constructs a Color behaviour instance.
|
|
47
|
-
*
|
|
48
|
-
* @param {number|string} colorA - the starting color
|
|
49
|
-
* @param {number|string} colorB - the ending color
|
|
50
|
-
* @param {number} life - the life of the particle
|
|
51
|
-
* @param {function} easing - The behaviour's decaying trend
|
|
52
|
-
* @param {boolean} [isEnabled=true] - Determines if the behaviour will be applied or not
|
|
53
|
-
* @return void
|
|
54
|
-
*/
|
|
55
|
-
function Color(colorA, colorB, life, easing) {
|
|
56
|
-
var _this;
|
|
57
|
-
|
|
58
|
-
var isEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
|
|
59
|
-
(0, _classCallCheck2["default"])(this, Color);
|
|
60
|
-
_this = _super.call(this, life, easing, _types.BEHAVIOUR_TYPE_COLOR, isEnabled);
|
|
61
|
-
|
|
62
|
-
_this.reset(colorA, colorB);
|
|
63
|
-
|
|
64
|
-
return _this;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Gets the _same property which determines if the alpha are the same.
|
|
68
|
-
*
|
|
69
|
-
* @return {boolean}
|
|
70
|
-
*/
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
(0, _createClass2["default"])(Color, [{
|
|
74
|
-
key: "reset",
|
|
75
|
-
value: function reset(colorA, colorB, life, easing) {
|
|
76
|
-
this.same = colorB === null || colorB === undefined ? true : false;
|
|
77
|
-
this.colorA = (0, _math.createColorSpan)(colorA);
|
|
78
|
-
this.colorB = (0, _math.createColorSpan)(colorB);
|
|
79
|
-
life && (0, _get2["default"])((0, _getPrototypeOf2["default"])(Color.prototype), "reset", this).call(this, life, easing);
|
|
80
|
-
}
|
|
81
|
-
}, {
|
|
82
|
-
key: "initialize",
|
|
83
|
-
value: function initialize(particle) {
|
|
84
|
-
particle.transform.colorA = _utils.ColorUtil.getRGB(this.colorA.getValue());
|
|
85
|
-
particle.useColor = true;
|
|
86
|
-
particle.transform.colorB = this.same ? particle.transform.colorA : _utils.ColorUtil.getRGB(this.colorB.getValue());
|
|
87
|
-
}
|
|
88
|
-
}, {
|
|
89
|
-
key: "mutate",
|
|
90
|
-
value: function mutate(particle, time, index) {
|
|
91
|
-
this.energize(particle, time, index);
|
|
92
|
-
|
|
93
|
-
if (!this._same) {
|
|
94
|
-
particle.color.r = _math.MathUtils.lerp(particle.transform.colorA.r, particle.transform.colorB.r, this.energy);
|
|
95
|
-
particle.color.g = _math.MathUtils.lerp(particle.transform.colorA.g, particle.transform.colorB.g, this.energy);
|
|
96
|
-
particle.color.b = _math.MathUtils.lerp(particle.transform.colorA.b, particle.transform.colorB.b, this.energy);
|
|
97
|
-
} else {
|
|
98
|
-
particle.color.r = particle.transform.colorA.r;
|
|
99
|
-
particle.color.g = particle.transform.colorA.g;
|
|
100
|
-
particle.color.b = particle.transform.colorA.b;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Creates a Color initializer from JSON.
|
|
105
|
-
*
|
|
106
|
-
* @param {object} json - The JSON to construct the instance from.
|
|
107
|
-
* @property {number} json.colorA - The starting color
|
|
108
|
-
* @property {number} json.colorB - The ending color
|
|
109
|
-
* @property {number} json.life - The life of the particle
|
|
110
|
-
* @property {string} json.easing - The behaviour's decaying trend
|
|
111
|
-
* @return {Color}
|
|
112
|
-
*/
|
|
113
|
-
|
|
114
|
-
}, {
|
|
115
|
-
key: "same",
|
|
116
|
-
get: function get() {
|
|
117
|
-
return this._same;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Sets the _same property which determines if the alpha are the same.
|
|
121
|
-
*
|
|
122
|
-
* @param {boolean} same
|
|
123
|
-
* @return {boolean}
|
|
124
|
-
*/
|
|
125
|
-
,
|
|
126
|
-
set: function set(same) {
|
|
127
|
-
/**
|
|
128
|
-
* @type {boolean}
|
|
129
|
-
*/
|
|
130
|
-
this._same = same;
|
|
131
|
-
}
|
|
132
|
-
}], [{
|
|
133
|
-
key: "fromJSON",
|
|
134
|
-
value: function fromJSON(json) {
|
|
135
|
-
var colorA = json.colorA,
|
|
136
|
-
colorB = json.colorB,
|
|
137
|
-
life = json.life,
|
|
138
|
-
easing = json.easing,
|
|
139
|
-
_json$isEnabled = json.isEnabled,
|
|
140
|
-
isEnabled = _json$isEnabled === void 0 ? true : _json$isEnabled;
|
|
141
|
-
return new Color(colorA, colorB, life, (0, _ease.getEasingByName)(easing), isEnabled);
|
|
142
|
-
}
|
|
143
|
-
}]);
|
|
144
|
-
return Color;
|
|
145
|
-
}(_Behaviour2["default"]);
|
|
146
|
-
|
|
147
|
-
exports["default"] = Color;
|
|
148
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQ29sb3IuanMiXSwibmFtZXMiOlsiQ29sb3IiLCJjb2xvckEiLCJjb2xvckIiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0Iiwic2FtZSIsInVuZGVmaW5lZCIsInBhcnRpY2xlIiwidHJhbnNmb3JtIiwiQ29sb3JVdGlsIiwiZ2V0UkdCIiwiZ2V0VmFsdWUiLCJ1c2VDb2xvciIsInRpbWUiLCJpbmRleCIsImVuZXJnaXplIiwiX3NhbWUiLCJjb2xvciIsInIiLCJNYXRoVXRpbHMiLCJsZXJwIiwiZW5lcmd5IiwiZyIsImIiLCJqc29uIiwiQmVoYXZpb3VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7SUFDcUJBLEs7Ozs7O0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0UsaUJBQVlDLE1BQVosRUFBb0JDLE1BQXBCLEVBQTRCQyxJQUE1QixFQUFrQ0MsTUFBbEMsRUFBNEQ7QUFBQTs7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQzFELDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLDJCQUFwQixFQUEwQkQsU0FBMUI7O0FBRUEsVUFBS0UsS0FBTCxDQUFXTixNQUFYLEVBQW1CQyxNQUFuQjs7QUFIMEQ7QUFJM0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7OzswQkFrQlFELE0sRUFBUUMsTSxFQUFRQyxJLEVBQU1DLE0sRUFBUTtBQUNsQyxXQUFLSSxJQUFMLEdBQVlOLE1BQU0sS0FBSyxJQUFYLElBQW1CQSxNQUFNLEtBQUtPLFNBQTlCLEdBQTBDLElBQTFDLEdBQWlELEtBQTdEO0FBRUEsV0FBS1IsTUFBTCxHQUFjLDJCQUFnQkEsTUFBaEIsQ0FBZDtBQUNBLFdBQUtDLE1BQUwsR0FBYywyQkFBZ0JBLE1BQWhCLENBQWQ7QUFDQUMsTUFBQUEsSUFBSSx1R0FBZ0JBLElBQWhCLEVBQXNCQyxNQUF0QixDQUFKO0FBQ0Q7OzsrQkFFVU0sUSxFQUFVO0FBQ25CQSxNQUFBQSxRQUFRLENBQUNDLFNBQVQsQ0FBbUJWLE1BQW5CLEdBQTRCVyxpQkFBVUMsTUFBVixDQUFpQixLQUFLWixNQUFMLENBQVlhLFFBQVosRUFBakIsQ0FBNUI7QUFFQUosTUFBQUEsUUFBUSxDQUFDSyxRQUFULEdBQW9CLElBQXBCO0FBQ0FMLE1BQUFBLFFBQVEsQ0FBQ0MsU0FBVCxDQUFtQlQsTUFBbkIsR0FBNEIsS0FBS00sSUFBTCxHQUN4QkUsUUFBUSxDQUFDQyxTQUFULENBQW1CVixNQURLLEdBRXhCVyxpQkFBVUMsTUFBVixDQUFpQixLQUFLWCxNQUFMLENBQVlZLFFBQVosRUFBakIsQ0FGSjtBQUdEOzs7MkJBRU1KLFEsRUFBVU0sSSxFQUFNQyxLLEVBQU87QUFDNUIsV0FBS0MsUUFBTCxDQUFjUixRQUFkLEVBQXdCTSxJQUF4QixFQUE4QkMsS0FBOUI7O0FBRUEsVUFBSSxDQUFDLEtBQUtFLEtBQVYsRUFBaUI7QUFDZlQsUUFBQUEsUUFBUSxDQUFDVSxLQUFULENBQWVDLENBQWYsR0FBbUJDLGdCQUFVQyxJQUFWLENBQ2pCYixRQUFRLENBQUNDLFNBQVQsQ0FBbUJWLE1BQW5CLENBQTBCb0IsQ0FEVCxFQUVqQlgsUUFBUSxDQUFDQyxTQUFULENBQW1CVCxNQUFuQixDQUEwQm1CLENBRlQsRUFHakIsS0FBS0csTUFIWSxDQUFuQjtBQUtBZCxRQUFBQSxRQUFRLENBQUNVLEtBQVQsQ0FBZUssQ0FBZixHQUFtQkgsZ0JBQVVDLElBQVYsQ0FDakJiLFFBQVEsQ0FBQ0MsU0FBVCxDQUFtQlYsTUFBbkIsQ0FBMEJ3QixDQURULEVBRWpCZixRQUFRLENBQUNDLFNBQVQsQ0FBbUJULE1BQW5CLENBQTBCdUIsQ0FGVCxFQUdqQixLQUFLRCxNQUhZLENBQW5CO0FBS0FkLFFBQUFBLFFBQVEsQ0FBQ1UsS0FBVCxDQUFlTSxDQUFmLEdBQW1CSixnQkFBVUMsSUFBVixDQUNqQmIsUUFBUSxDQUFDQyxTQUFULENBQW1CVixNQUFuQixDQUEwQnlCLENBRFQsRUFFakJoQixRQUFRLENBQUNDLFNBQVQsQ0FBbUJULE1BQW5CLENBQTBCd0IsQ0FGVCxFQUdqQixLQUFLRixNQUhZLENBQW5CO0FBS0QsT0FoQkQsTUFnQk87QUFDTGQsUUFBQUEsUUFBUSxDQUFDVSxLQUFULENBQWVDLENBQWYsR0FBbUJYLFFBQVEsQ0FBQ0MsU0FBVCxDQUFtQlYsTUFBbkIsQ0FBMEJvQixDQUE3QztBQUNBWCxRQUFBQSxRQUFRLENBQUNVLEtBQVQsQ0FBZUssQ0FBZixHQUFtQmYsUUFBUSxDQUFDQyxTQUFULENBQW1CVixNQUFuQixDQUEwQndCLENBQTdDO0FBQ0FmLFFBQUFBLFFBQVEsQ0FBQ1UsS0FBVCxDQUFlTSxDQUFmLEdBQW1CaEIsUUFBUSxDQUFDQyxTQUFULENBQW1CVixNQUFuQixDQUEwQnlCLENBQTdDO0FBQ0Q7QUFDRjtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O3dCQXJFYTtBQUNULGFBQU8sS0FBS1AsS0FBWjtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztzQkFDV1gsSSxFQUFNO0FBQ2I7QUFDSjtBQUNBO0FBQ0ksV0FBS1csS0FBTCxHQUFhWCxJQUFiO0FBQ0Q7Ozs2QkF1RGVtQixJLEVBQU07QUFBQSxVQUNaMUIsTUFEWSxHQUN1QzBCLElBRHZDLENBQ1oxQixNQURZO0FBQUEsVUFDSkMsTUFESSxHQUN1Q3lCLElBRHZDLENBQ0p6QixNQURJO0FBQUEsVUFDSUMsSUFESixHQUN1Q3dCLElBRHZDLENBQ0l4QixJQURKO0FBQUEsVUFDVUMsTUFEVixHQUN1Q3VCLElBRHZDLENBQ1V2QixNQURWO0FBQUEsNEJBQ3VDdUIsSUFEdkMsQ0FDa0J0QixTQURsQjtBQUFBLFVBQ2tCQSxTQURsQixnQ0FDOEIsSUFEOUI7QUFHcEIsYUFBTyxJQUFJTCxLQUFKLENBQVVDLE1BQVYsRUFBa0JDLE1BQWxCLEVBQTBCQyxJQUExQixFQUFnQywyQkFBZ0JDLE1BQWhCLENBQWhDLEVBQXlEQyxTQUF6RCxDQUFQO0FBQ0Q7OztFQWhHZ0N1QixzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdGhVdGlscywgY3JlYXRlQ29sb3JTcGFuIH0gZnJvbSAnLi4vbWF0aCc7XG5cbmltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgQ29sb3JVdGlsIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9DT0xPUiBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQSBiZWhhdmlvdXIgd2hpY2ggbXV0YXRlcyB0aGUgY29sb3Igb2YgYSBwYXJ0aWNsZSBvdmVyIHRpbWUuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvciBleHRlbmRzIEJlaGF2aW91ciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgQ29sb3IgYmVoYXZpb3VyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcnxzdHJpbmd9IGNvbG9yQSAtIHRoZSBzdGFydGluZyBjb2xvclxuICAgKiBAcGFyYW0ge251bWJlcnxzdHJpbmd9IGNvbG9yQiAtIHRoZSBlbmRpbmcgY29sb3JcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSB0aGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IoY29sb3JBLCBjb2xvckIsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSkge1xuICAgIHN1cGVyKGxpZmUsIGVhc2luZywgdHlwZSwgaXNFbmFibGVkKTtcblxuICAgIHRoaXMucmVzZXQoY29sb3JBLCBjb2xvckIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIF9zYW1lIHByb3BlcnR5IHdoaWNoIGRldGVybWluZXMgaWYgdGhlIGFscGhhIGFyZSB0aGUgc2FtZS5cbiAgICpcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBzYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9zYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIF9zYW1lIHByb3BlcnR5IHdoaWNoIGRldGVybWluZXMgaWYgdGhlIGFscGhhIGFyZSB0aGUgc2FtZS5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBzYW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzZXQgc2FtZShzYW1lKSB7XG4gICAgLyoqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgdGhpcy5fc2FtZSA9IHNhbWU7XG4gIH1cblxuICByZXNldChjb2xvckEsIGNvbG9yQiwgbGlmZSwgZWFzaW5nKSB7XG4gICAgdGhpcy5zYW1lID0gY29sb3JCID09PSBudWxsIHx8IGNvbG9yQiA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgdGhpcy5jb2xvckEgPSBjcmVhdGVDb2xvclNwYW4oY29sb3JBKTtcbiAgICB0aGlzLmNvbG9yQiA9IGNyZWF0ZUNvbG9yU3Bhbihjb2xvckIpO1xuICAgIGxpZmUgJiYgc3VwZXIucmVzZXQobGlmZSwgZWFzaW5nKTtcbiAgfVxuXG4gIGluaXRpYWxpemUocGFydGljbGUpIHtcbiAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JBID0gQ29sb3JVdGlsLmdldFJHQih0aGlzLmNvbG9yQS5nZXRWYWx1ZSgpKTtcblxuICAgIHBhcnRpY2xlLnVzZUNvbG9yID0gdHJ1ZTtcbiAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JCID0gdGhpcy5zYW1lXG4gICAgICA/IHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckFcbiAgICAgIDogQ29sb3JVdGlsLmdldFJHQih0aGlzLmNvbG9yQi5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICB0aGlzLmVuZXJnaXplKHBhcnRpY2xlLCB0aW1lLCBpbmRleCk7XG5cbiAgICBpZiAoIXRoaXMuX3NhbWUpIHtcbiAgICAgIHBhcnRpY2xlLmNvbG9yLnIgPSBNYXRoVXRpbHMubGVycChcbiAgICAgICAgcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQS5yLFxuICAgICAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JCLnIsXG4gICAgICAgIHRoaXMuZW5lcmd5XG4gICAgICApO1xuICAgICAgcGFydGljbGUuY29sb3IuZyA9IE1hdGhVdGlscy5sZXJwKFxuICAgICAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JBLmcsXG4gICAgICAgIHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckIuZyxcbiAgICAgICAgdGhpcy5lbmVyZ3lcbiAgICAgICk7XG4gICAgICBwYXJ0aWNsZS5jb2xvci5iID0gTWF0aFV0aWxzLmxlcnAoXG4gICAgICAgIHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckEuYixcbiAgICAgICAgcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQi5iLFxuICAgICAgICB0aGlzLmVuZXJneVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFydGljbGUuY29sb3IuciA9IHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckEucjtcbiAgICAgIHBhcnRpY2xlLmNvbG9yLmcgPSBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JBLmc7XG4gICAgICBwYXJ0aWNsZS5jb2xvci5iID0gcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQS5iO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ29sb3IgaW5pdGlhbGl6ZXIgZnJvbSBKU09OLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBKU09OIHRvIGNvbnN0cnVjdCB0aGUgaW5zdGFuY2UgZnJvbS5cbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24uY29sb3JBIC0gVGhlIHN0YXJ0aW5nIGNvbG9yXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmNvbG9yQiAtIFRoZSBlbmRpbmcgY29sb3JcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ubGlmZSAtIFRoZSBsaWZlIG9mIHRoZSBwYXJ0aWNsZVxuICAgKiBAcHJvcGVydHkge3N0cmluZ30ganNvbi5lYXNpbmcgLSBUaGUgYmVoYXZpb3VyJ3MgZGVjYXlpbmcgdHJlbmRcbiAgICogQHJldHVybiB7Q29sb3J9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IHsgY29sb3JBLCBjb2xvckIsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSB9ID0ganNvbjtcblxuICAgIHJldHVybiBuZXcgQ29sb3IoY29sb3JBLCBjb2xvckIsIGxpZmUsIGdldEVhc2luZ0J5TmFtZShlYXNpbmcpLCBpc0VuYWJsZWQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _construct2 = _interopRequireDefault(require("@babel/runtime/helpers/construct"));
|
|
13
|
-
|
|
14
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
|
|
18
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
-
|
|
20
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
21
|
-
|
|
22
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
-
|
|
24
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
-
|
|
26
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
-
|
|
28
|
-
var Zone = _interopRequireWildcard(require("../zone"));
|
|
29
|
-
|
|
30
|
-
var _Behaviour2 = _interopRequireDefault(require("./Behaviour"));
|
|
31
|
-
|
|
32
|
-
var _constants = require("./constants");
|
|
33
|
-
|
|
34
|
-
var _ease = require("../ease");
|
|
35
|
-
|
|
36
|
-
var _types = require("./types");
|
|
37
|
-
|
|
38
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
|
-
|
|
40
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
|
-
|
|
42
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
43
|
-
|
|
44
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Behaviour that allows for specific functions to be called on particles when
|
|
48
|
-
* they interact with a zone.
|
|
49
|
-
*
|
|
50
|
-
*/
|
|
51
|
-
var CrossZone = /*#__PURE__*/function (_Behaviour) {
|
|
52
|
-
(0, _inherits2["default"])(CrossZone, _Behaviour);
|
|
53
|
-
|
|
54
|
-
var _super = _createSuper(CrossZone);
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Constructs a CrossZone behaviour instance.
|
|
58
|
-
*
|
|
59
|
-
* @param {Zone} zone - the zone used to apply to particles with this behaviour
|
|
60
|
-
* @param {string} [crossType=DEFAULT_CROSS_TYPE] - enum of cross types, valid strings include 'dead', 'bound', 'cross'
|
|
61
|
-
* @param {number} life - The life of the particle
|
|
62
|
-
* @param {function} easing - The behaviour's decaying trend
|
|
63
|
-
* @param {boolean} [isEnabled=true] - Determines if the behaviour will be applied or not
|
|
64
|
-
*/
|
|
65
|
-
function CrossZone(zone, crossType, life, easing, isEnabled) {
|
|
66
|
-
var _this;
|
|
67
|
-
|
|
68
|
-
(0, _classCallCheck2["default"])(this, CrossZone);
|
|
69
|
-
_this = _super.call(this, life, easing, _types.BEHAVIOUR_TYPE_CROSS_ZONE, isEnabled);
|
|
70
|
-
|
|
71
|
-
_this.reset(zone, crossType);
|
|
72
|
-
|
|
73
|
-
return _this;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Resets the behaviour properties.
|
|
77
|
-
*
|
|
78
|
-
* @param {Zone} zone - the zone used to apply to particles with this behaviour
|
|
79
|
-
* @param {string} [crossType=DEFAULT_CROSS_TYPE] - enum of cross types, valid strings include 'dead', 'bound', 'cross'
|
|
80
|
-
* @param {number} life - The life of the particle
|
|
81
|
-
* @param {function} easing - The behaviour's decaying trend
|
|
82
|
-
*/
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
(0, _createClass2["default"])(CrossZone, [{
|
|
86
|
-
key: "reset",
|
|
87
|
-
value: function reset(zone) {
|
|
88
|
-
var crossType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.DEFAULT_CROSS_TYPE;
|
|
89
|
-
var life = arguments.length > 2 ? arguments[2] : undefined;
|
|
90
|
-
var easing = arguments.length > 3 ? arguments[3] : undefined;
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* @desc The zone used to apply to particles with this behaviour
|
|
94
|
-
* @type {Zone}
|
|
95
|
-
*/
|
|
96
|
-
this.zone = zone;
|
|
97
|
-
this.zone.crossType = crossType;
|
|
98
|
-
life && (0, _get2["default"])((0, _getPrototypeOf2["default"])(CrossZone.prototype), "reset", this).call(this, life, easing);
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Applies the behaviour to the particle.
|
|
102
|
-
*
|
|
103
|
-
* @see {@link '../zone/Zone.js'} crossing
|
|
104
|
-
* @param {object} particle - the particle to apply the behaviour to
|
|
105
|
-
* @param {number} time - engine time
|
|
106
|
-
* @param {integer} index - the particle index
|
|
107
|
-
* @return void
|
|
108
|
-
*/
|
|
109
|
-
|
|
110
|
-
}, {
|
|
111
|
-
key: "mutate",
|
|
112
|
-
value: function mutate(particle, time, index) {
|
|
113
|
-
this.energize(particle, time, index);
|
|
114
|
-
this.zone.crossing.call(this.zone, particle);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Creates a CrossZone initializer from JSON.
|
|
118
|
-
*
|
|
119
|
-
* @param {object} json - The JSON to construct the instance from.
|
|
120
|
-
* @return {CrossZone}
|
|
121
|
-
*/
|
|
122
|
-
|
|
123
|
-
}], [{
|
|
124
|
-
key: "fromJSON",
|
|
125
|
-
value: function fromJSON(json) {
|
|
126
|
-
var zoneType = json.zoneType,
|
|
127
|
-
zoneParams = json.zoneParams,
|
|
128
|
-
crossType = json.crossType,
|
|
129
|
-
life = json.life,
|
|
130
|
-
easing = json.easing,
|
|
131
|
-
_json$isEnabled = json.isEnabled,
|
|
132
|
-
isEnabled = _json$isEnabled === void 0 ? true : _json$isEnabled;
|
|
133
|
-
var zone = (0, _construct2["default"])(Zone[zoneType], (0, _toConsumableArray2["default"])(Object.values(zoneParams)));
|
|
134
|
-
return new CrossZone(zone, crossType, life, (0, _ease.getEasingByName)(easing), isEnabled);
|
|
135
|
-
}
|
|
136
|
-
}]);
|
|
137
|
-
return CrossZone;
|
|
138
|
-
}(_Behaviour2["default"]);
|
|
139
|
-
|
|
140
|
-
exports["default"] = CrossZone;
|
|
141
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQ3Jvc3Nab25lLmpzIl0sIm5hbWVzIjpbIkNyb3NzWm9uZSIsInpvbmUiLCJjcm9zc1R5cGUiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0IiwiREVGQVVMVF9DUk9TU19UWVBFIiwicGFydGljbGUiLCJ0aW1lIiwiaW5kZXgiLCJlbmVyZ2l6ZSIsImNyb3NzaW5nIiwiY2FsbCIsImpzb24iLCJ6b25lVHlwZSIsInpvbmVQYXJhbXMiLCJab25lIiwiT2JqZWN0IiwidmFsdWVzIiwiQmVoYXZpb3VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDcUJBLFM7Ozs7O0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFLHFCQUFZQyxJQUFaLEVBQWtCQyxTQUFsQixFQUE2QkMsSUFBN0IsRUFBbUNDLE1BQW5DLEVBQTJDQyxTQUEzQyxFQUFzRDtBQUFBOztBQUFBO0FBQ3BELDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLGdDQUFwQixFQUEwQkQsU0FBMUI7O0FBRUEsVUFBS0UsS0FBTCxDQUFXTixJQUFYLEVBQWlCQyxTQUFqQjs7QUFIb0Q7QUFJckQ7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzswQkFDUUQsSSxFQUFvRDtBQUFBLFVBQTlDQyxTQUE4Qyx1RUFBbENNLDZCQUFrQztBQUFBLFVBQWRMLElBQWM7QUFBQSxVQUFSQyxNQUFROztBQUN4RDtBQUNKO0FBQ0E7QUFDQTtBQUNJLFdBQUtILElBQUwsR0FBWUEsSUFBWjtBQUNBLFdBQUtBLElBQUwsQ0FBVUMsU0FBVixHQUFzQkEsU0FBdEI7QUFFQUMsTUFBQUEsSUFBSSwyR0FBZ0JBLElBQWhCLEVBQXNCQyxNQUF0QixDQUFKO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7MkJBQ1NLLFEsRUFBVUMsSSxFQUFNQyxLLEVBQU87QUFDNUIsV0FBS0MsUUFBTCxDQUFjSCxRQUFkLEVBQXdCQyxJQUF4QixFQUE4QkMsS0FBOUI7QUFFQSxXQUFLVixJQUFMLENBQVVZLFFBQVYsQ0FBbUJDLElBQW5CLENBQXdCLEtBQUtiLElBQTdCLEVBQW1DUSxRQUFuQztBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzZCQUNrQk0sSSxFQUFNO0FBQUEsVUFFbEJDLFFBRmtCLEdBUWhCRCxJQVJnQixDQUVsQkMsUUFGa0I7QUFBQSxVQUdsQkMsVUFIa0IsR0FRaEJGLElBUmdCLENBR2xCRSxVQUhrQjtBQUFBLFVBSWxCZixTQUprQixHQVFoQmEsSUFSZ0IsQ0FJbEJiLFNBSmtCO0FBQUEsVUFLbEJDLElBTGtCLEdBUWhCWSxJQVJnQixDQUtsQlosSUFMa0I7QUFBQSxVQU1sQkMsTUFOa0IsR0FRaEJXLElBUmdCLENBTWxCWCxNQU5rQjtBQUFBLDRCQVFoQlcsSUFSZ0IsQ0FPbEJWLFNBUGtCO0FBQUEsVUFPbEJBLFNBUGtCLGdDQU9OLElBUE07QUFVcEIsVUFBTUosSUFBSSwrQkFBT2lCLElBQUksQ0FBQ0YsUUFBRCxDQUFYLHNDQUF5QkcsTUFBTSxDQUFDQyxNQUFQLENBQWNILFVBQWQsQ0FBekIsRUFBVjtBQUVBLGFBQU8sSUFBSWpCLFNBQUosQ0FDTEMsSUFESyxFQUVMQyxTQUZLLEVBR0xDLElBSEssRUFJTCwyQkFBZ0JDLE1BQWhCLENBSkssRUFLTEMsU0FMSyxDQUFQO0FBT0Q7OztFQTNFb0NnQixzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFpvbmUgZnJvbSAnLi4vem9uZSc7XG5cbmltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgREVGQVVMVF9DUk9TU19UWVBFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9DUk9TU19aT05FIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBhbGxvd3MgZm9yIHNwZWNpZmljIGZ1bmN0aW9ucyB0byBiZSBjYWxsZWQgb24gcGFydGljbGVzIHdoZW5cbiAqIHRoZXkgaW50ZXJhY3Qgd2l0aCBhIHpvbmUuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDcm9zc1pvbmUgZXh0ZW5kcyBCZWhhdmlvdXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIENyb3NzWm9uZSBiZWhhdmlvdXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9uZX0gem9uZSAtIHRoZSB6b25lIHVzZWQgdG8gYXBwbHkgdG8gcGFydGljbGVzIHdpdGggdGhpcyBiZWhhdmlvdXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtjcm9zc1R5cGU9REVGQVVMVF9DUk9TU19UWVBFXSAtIGVudW0gb2YgY3Jvc3MgdHlwZXMsIHZhbGlkIHN0cmluZ3MgaW5jbHVkZSAnZGVhZCcsICdib3VuZCcsICdjcm9zcydcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqL1xuICBjb25zdHJ1Y3Rvcih6b25lLCBjcm9zc1R5cGUsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkKSB7XG4gICAgc3VwZXIobGlmZSwgZWFzaW5nLCB0eXBlLCBpc0VuYWJsZWQpO1xuXG4gICAgdGhpcy5yZXNldCh6b25lLCBjcm9zc1R5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgYmVoYXZpb3VyIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9uZX0gem9uZSAtIHRoZSB6b25lIHVzZWQgdG8gYXBwbHkgdG8gcGFydGljbGVzIHdpdGggdGhpcyBiZWhhdmlvdXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtjcm9zc1R5cGU9REVGQVVMVF9DUk9TU19UWVBFXSAtIGVudW0gb2YgY3Jvc3MgdHlwZXMsIHZhbGlkIHN0cmluZ3MgaW5jbHVkZSAnZGVhZCcsICdib3VuZCcsICdjcm9zcydcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqL1xuICByZXNldCh6b25lLCBjcm9zc1R5cGUgPSBERUZBVUxUX0NST1NTX1RZUEUsIGxpZmUsIGVhc2luZykge1xuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSB6b25lIHVzZWQgdG8gYXBwbHkgdG8gcGFydGljbGVzIHdpdGggdGhpcyBiZWhhdmlvdXJcbiAgICAgKiBAdHlwZSB7Wm9uZX1cbiAgICAgKi9cbiAgICB0aGlzLnpvbmUgPSB6b25lO1xuICAgIHRoaXMuem9uZS5jcm9zc1R5cGUgPSBjcm9zc1R5cGU7XG5cbiAgICBsaWZlICYmIHN1cGVyLnJlc2V0KGxpZmUsIGVhc2luZyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyB0aGUgYmVoYXZpb3VyIHRvIHRoZSBwYXJ0aWNsZS5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgJy4uL3pvbmUvWm9uZS5qcyd9IGNyb3NzaW5nXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBwYXJ0aWNsZSAtIHRoZSBwYXJ0aWNsZSB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIC0gZW5naW5lIHRpbWVcbiAgICogQHBhcmFtIHtpbnRlZ2VyfSBpbmRleCAtIHRoZSBwYXJ0aWNsZSBpbmRleFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICB0aGlzLmVuZXJnaXplKHBhcnRpY2xlLCB0aW1lLCBpbmRleCk7XG5cbiAgICB0aGlzLnpvbmUuY3Jvc3NpbmcuY2FsbCh0aGlzLnpvbmUsIHBhcnRpY2xlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ3Jvc3Nab25lIGluaXRpYWxpemVyIGZyb20gSlNPTi5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgSlNPTiB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlIGZyb20uXG4gICAqIEByZXR1cm4ge0Nyb3NzWm9uZX1cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3Qge1xuICAgICAgem9uZVR5cGUsXG4gICAgICB6b25lUGFyYW1zLFxuICAgICAgY3Jvc3NUeXBlLFxuICAgICAgbGlmZSxcbiAgICAgIGVhc2luZyxcbiAgICAgIGlzRW5hYmxlZCA9IHRydWUsXG4gICAgfSA9IGpzb247XG5cbiAgICBjb25zdCB6b25lID0gbmV3IFpvbmVbem9uZVR5cGVdKC4uLk9iamVjdC52YWx1ZXMoem9uZVBhcmFtcykpO1xuXG4gICAgcmV0dXJuIG5ldyBDcm9zc1pvbmUoXG4gICAgICB6b25lLFxuICAgICAgY3Jvc3NUeXBlLFxuICAgICAgbGlmZSxcbiAgICAgIGdldEVhc2luZ0J5TmFtZShlYXNpbmcpLFxuICAgICAgaXNFbmFibGVkXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
|
-
var _Behaviour2 = _interopRequireDefault(require("./Behaviour"));
|
|
21
|
-
|
|
22
|
-
var _math = require("../math");
|
|
23
|
-
|
|
24
|
-
var _ease = require("../ease");
|
|
25
|
-
|
|
26
|
-
var _types = require("./types");
|
|
27
|
-
|
|
28
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
29
|
-
|
|
30
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Behaviour that forces particles along a specific axis.
|
|
34
|
-
*
|
|
35
|
-
*/
|
|
36
|
-
var Force = /*#__PURE__*/function (_Behaviour) {
|
|
37
|
-
(0, _inherits2["default"])(Force, _Behaviour);
|
|
38
|
-
|
|
39
|
-
var _super = _createSuper(Force);
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Constructs a Force behaviour instance.
|
|
43
|
-
*
|
|
44
|
-
* @param {number} fx - the x axis force
|
|
45
|
-
* @param {number} fy - the y axis force
|
|
46
|
-
* @param {number} fz - the z axis force
|
|
47
|
-
* @param {number} life - the life of the particle
|
|
48
|
-
* @param {function} easing - The behaviour's decaying trend
|
|
49
|
-
* @param {boolean} [isEnabled=true] - Determines if the behaviour will be applied or not
|
|
50
|
-
* @return void
|
|
51
|
-
*/
|
|
52
|
-
function Force(fx, fy, fz, life, easing) {
|
|
53
|
-
var _this;
|
|
54
|
-
|
|
55
|
-
var isEnabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
|
|
56
|
-
(0, _classCallCheck2["default"])(this, Force);
|
|
57
|
-
_this = _super.call(this, life, easing, _types.BEHAVIOUR_TYPE_FORCE, isEnabled);
|
|
58
|
-
|
|
59
|
-
_this.reset(fx, fy, fz);
|
|
60
|
-
|
|
61
|
-
return _this;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Resets the behaviour properties.
|
|
65
|
-
*
|
|
66
|
-
* @param {number} fx - the x axis force
|
|
67
|
-
* @param {number} fy - the y axis force
|
|
68
|
-
* @param {number} fz - the z axis force
|
|
69
|
-
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
(0, _createClass2["default"])(Force, [{
|
|
73
|
-
key: "reset",
|
|
74
|
-
value: function reset(fx, fy, fz) {
|
|
75
|
-
/**
|
|
76
|
-
* @desc The normalized force to exert on the particle in
|
|
77
|
-
* @type {Vector3D}
|
|
78
|
-
*/
|
|
79
|
-
this.force = this.normalizeForce(new _math.Vector3D(fx, fy, fz));
|
|
80
|
-
/**
|
|
81
|
-
* @desc The id of the force vector
|
|
82
|
-
* @property {number} this.force.id
|
|
83
|
-
*/
|
|
84
|
-
|
|
85
|
-
this.force.id = Math.random();
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Mutates the particle.acceleration property.
|
|
89
|
-
*
|
|
90
|
-
* @param {object} particle - the particle to apply the behaviour to
|
|
91
|
-
* @param {number} time - engine time
|
|
92
|
-
* @param {integer} index - the particle index
|
|
93
|
-
* @return void
|
|
94
|
-
*/
|
|
95
|
-
|
|
96
|
-
}, {
|
|
97
|
-
key: "mutate",
|
|
98
|
-
value: function mutate(particle, time, index) {
|
|
99
|
-
this.energize(particle, time, index);
|
|
100
|
-
particle.acceleration.add(this.force);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Creates a Force initializer from JSON.
|
|
104
|
-
*
|
|
105
|
-
* @param {object} json - The JSON to construct the instance from.
|
|
106
|
-
* @return {Force}
|
|
107
|
-
*/
|
|
108
|
-
|
|
109
|
-
}], [{
|
|
110
|
-
key: "fromJSON",
|
|
111
|
-
value: function fromJSON(json) {
|
|
112
|
-
var fx = json.fx,
|
|
113
|
-
fy = json.fy,
|
|
114
|
-
fz = json.fz,
|
|
115
|
-
life = json.life,
|
|
116
|
-
easing = json.easing,
|
|
117
|
-
_json$isEnabled = json.isEnabled,
|
|
118
|
-
isEnabled = _json$isEnabled === void 0 ? true : _json$isEnabled;
|
|
119
|
-
return new Force(fx, fy, fz, life, (0, _ease.getEasingByName)(easing), isEnabled);
|
|
120
|
-
}
|
|
121
|
-
}]);
|
|
122
|
-
return Force;
|
|
123
|
-
}(_Behaviour2["default"]);
|
|
124
|
-
|
|
125
|
-
exports["default"] = Force;
|
|
126
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvRm9yY2UuanMiXSwibmFtZXMiOlsiRm9yY2UiLCJmeCIsImZ5IiwiZnoiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0IiwiZm9yY2UiLCJub3JtYWxpemVGb3JjZSIsIlZlY3RvcjNEIiwiaWQiLCJNYXRoIiwicmFuZG9tIiwicGFydGljbGUiLCJ0aW1lIiwiaW5kZXgiLCJlbmVyZ2l6ZSIsImFjY2VsZXJhdGlvbiIsImFkZCIsImpzb24iLCJCZWhhdmlvdXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDcUJBLEs7Ozs7O0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRSxpQkFBWUMsRUFBWixFQUFnQkMsRUFBaEIsRUFBb0JDLEVBQXBCLEVBQXdCQyxJQUF4QixFQUE4QkMsTUFBOUIsRUFBd0Q7QUFBQTs7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQ3RELDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLDJCQUFwQixFQUEwQkQsU0FBMUI7O0FBRUEsVUFBS0UsS0FBTCxDQUFXUCxFQUFYLEVBQWVDLEVBQWYsRUFBbUJDLEVBQW5COztBQUhzRDtBQUl2RDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzswQkFDUUYsRSxFQUFJQyxFLEVBQUlDLEUsRUFBSTtBQUNoQjtBQUNKO0FBQ0E7QUFDQTtBQUNJLFdBQUtNLEtBQUwsR0FBYSxLQUFLQyxjQUFMLENBQW9CLElBQUlDLGNBQUosQ0FBYVYsRUFBYixFQUFpQkMsRUFBakIsRUFBcUJDLEVBQXJCLENBQXBCLENBQWI7QUFFQTtBQUNKO0FBQ0E7QUFDQTs7QUFDSSxXQUFLTSxLQUFMLENBQVdHLEVBQVgsR0FBZ0JDLElBQUksQ0FBQ0MsTUFBTCxFQUFoQjtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OzsyQkFDU0MsUSxFQUFVQyxJLEVBQU1DLEssRUFBTztBQUM1QixXQUFLQyxRQUFMLENBQWNILFFBQWQsRUFBd0JDLElBQXhCLEVBQThCQyxLQUE5QjtBQUVBRixNQUFBQSxRQUFRLENBQUNJLFlBQVQsQ0FBc0JDLEdBQXRCLENBQTBCLEtBQUtYLEtBQS9CO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7NkJBQ2tCWSxJLEVBQU07QUFBQSxVQUNacEIsRUFEWSxHQUNtQ29CLElBRG5DLENBQ1pwQixFQURZO0FBQUEsVUFDUkMsRUFEUSxHQUNtQ21CLElBRG5DLENBQ1JuQixFQURRO0FBQUEsVUFDSkMsRUFESSxHQUNtQ2tCLElBRG5DLENBQ0psQixFQURJO0FBQUEsVUFDQUMsSUFEQSxHQUNtQ2lCLElBRG5DLENBQ0FqQixJQURBO0FBQUEsVUFDTUMsTUFETixHQUNtQ2dCLElBRG5DLENBQ01oQixNQUROO0FBQUEsNEJBQ21DZ0IsSUFEbkMsQ0FDY2YsU0FEZDtBQUFBLFVBQ2NBLFNBRGQsZ0NBQzBCLElBRDFCO0FBR3BCLGFBQU8sSUFBSU4sS0FBSixDQUFVQyxFQUFWLEVBQWNDLEVBQWQsRUFBa0JDLEVBQWxCLEVBQXNCQyxJQUF0QixFQUE0QiwyQkFBZ0JDLE1BQWhCLENBQTVCLEVBQXFEQyxTQUFyRCxDQUFQO0FBQ0Q7OztFQS9EZ0NnQixzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgVmVjdG9yM0QgfSBmcm9tICcuLi9tYXRoJztcbmltcG9ydCB7IGdldEVhc2luZ0J5TmFtZSB9IGZyb20gJy4uL2Vhc2UnO1xuaW1wb3J0IHsgQkVIQVZJT1VSX1RZUEVfRk9SQ0UgYXMgdHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBmb3JjZXMgcGFydGljbGVzIGFsb25nIGEgc3BlY2lmaWMgYXhpcy5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZvcmNlIGV4dGVuZHMgQmVoYXZpb3VyIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBGb3JjZSBiZWhhdmlvdXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmeCAtIHRoZSB4IGF4aXMgZm9yY2VcbiAgICogQHBhcmFtIHtudW1iZXJ9IGZ5IC0gdGhlIHkgYXhpcyBmb3JjZVxuICAgKiBAcGFyYW0ge251bWJlcn0gZnogLSB0aGUgeiBheGlzIGZvcmNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaWZlIC0gdGhlIGxpZmUgb2YgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGVhc2luZyAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0VuYWJsZWQ9dHJ1ZV0gLSBEZXRlcm1pbmVzIGlmIHRoZSBiZWhhdmlvdXIgd2lsbCBiZSBhcHBsaWVkIG9yIG5vdFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKGZ4LCBmeSwgZnosIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSkge1xuICAgIHN1cGVyKGxpZmUsIGVhc2luZywgdHlwZSwgaXNFbmFibGVkKTtcblxuICAgIHRoaXMucmVzZXQoZngsIGZ5LCBmeik7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBiZWhhdmlvdXIgcHJvcGVydGllcy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IGZ4IC0gdGhlIHggYXhpcyBmb3JjZVxuICAgKiBAcGFyYW0ge251bWJlcn0gZnkgLSB0aGUgeSBheGlzIGZvcmNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmeiAtIHRoZSB6IGF4aXMgZm9yY2VcbiAgICovXG4gIHJlc2V0KGZ4LCBmeSwgZnopIHtcbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgbm9ybWFsaXplZCBmb3JjZSB0byBleGVydCBvbiB0aGUgcGFydGljbGUgaW5cbiAgICAgKiBAdHlwZSB7VmVjdG9yM0R9XG4gICAgICovXG4gICAgdGhpcy5mb3JjZSA9IHRoaXMubm9ybWFsaXplRm9yY2UobmV3IFZlY3RvcjNEKGZ4LCBmeSwgZnopKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBpZCBvZiB0aGUgZm9yY2UgdmVjdG9yXG4gICAgICogQHByb3BlcnR5IHtudW1iZXJ9IHRoaXMuZm9yY2UuaWRcbiAgICAgKi9cbiAgICB0aGlzLmZvcmNlLmlkID0gTWF0aC5yYW5kb20oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNdXRhdGVzIHRoZSBwYXJ0aWNsZS5hY2NlbGVyYXRpb24gcHJvcGVydHkuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBwYXJ0aWNsZSAtIHRoZSBwYXJ0aWNsZSB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIC0gZW5naW5lIHRpbWVcbiAgICogQHBhcmFtIHtpbnRlZ2VyfSBpbmRleCAtIHRoZSBwYXJ0aWNsZSBpbmRleFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICB0aGlzLmVuZXJnaXplKHBhcnRpY2xlLCB0aW1lLCBpbmRleCk7XG5cbiAgICBwYXJ0aWNsZS5hY2NlbGVyYXRpb24uYWRkKHRoaXMuZm9yY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBGb3JjZSBpbml0aWFsaXplciBmcm9tIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZSBmcm9tLlxuICAgKiBAcmV0dXJuIHtGb3JjZX1cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyBmeCwgZnksIGZ6LCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUgfSA9IGpzb247XG5cbiAgICByZXR1cm4gbmV3IEZvcmNlKGZ4LCBmeSwgZnosIGxpZmUsIGdldEVhc2luZ0J5TmFtZShlYXNpbmcpLCBpc0VuYWJsZWQpO1xuICB9XG59XG4iXX0=
|