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,128 +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 Behaviour = _interopRequireWildcard(require("../behaviour"));
|
|
13
|
-
|
|
14
|
-
var Initializer = _interopRequireWildcard(require("../initializer"));
|
|
15
|
-
|
|
16
|
-
var _constants = require("../constants");
|
|
17
|
-
|
|
18
|
-
var _constants2 = require("./constants");
|
|
19
|
-
|
|
20
|
-
var _Rate = _interopRequireDefault(require("../initializer/Rate"));
|
|
21
|
-
|
|
22
|
-
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); }
|
|
23
|
-
|
|
24
|
-
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; }
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Makes a rate instance.
|
|
28
|
-
*
|
|
29
|
-
* @param {object} json - The data required to construct a Rate instance
|
|
30
|
-
* @return {Rate}
|
|
31
|
-
*/
|
|
32
|
-
var makeRate = function makeRate(json) {
|
|
33
|
-
return _Rate["default"].fromJSON(json);
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Makes initializers from json items.
|
|
37
|
-
*
|
|
38
|
-
* @param {array<object>} items - An array of objects which provide initializer constructor params
|
|
39
|
-
* @param {object} THREE - The Web GL Api to use
|
|
40
|
-
* @return {array<Initializer>}
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var makeInitializers = function makeInitializers(items, THREE) {
|
|
45
|
-
var initializers = [];
|
|
46
|
-
items.forEach(function (data) {
|
|
47
|
-
var type = data.type,
|
|
48
|
-
properties = data.properties;
|
|
49
|
-
|
|
50
|
-
if (!_constants2.SUPPORTED_JSON_INITIALIZER_TYPES.includes(type)) {
|
|
51
|
-
throw new Error("The initializer type ".concat(type, " is invalid or not yet supported"));
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if (_constants2.INITIALIZER_TYPES_THAT_REQUIRE_THREE.includes(type)) {
|
|
55
|
-
initializers.push(Initializer[type].fromJSON(properties, THREE));
|
|
56
|
-
} else {
|
|
57
|
-
initializers.push(Initializer[type].fromJSON(properties));
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
return initializers;
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Makes behaviours from json items.
|
|
64
|
-
*
|
|
65
|
-
* @param {array<object>} items - An array of objects which provide behaviour constructor params
|
|
66
|
-
* @return {array<Behaviour>}
|
|
67
|
-
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
var makeBehaviours = function makeBehaviours(items) {
|
|
71
|
-
var behaviours = [];
|
|
72
|
-
items.forEach(function (data) {
|
|
73
|
-
var type = data.type,
|
|
74
|
-
properties = data.properties;
|
|
75
|
-
|
|
76
|
-
if (!_constants2.SUPPORTED_JSON_BEHAVIOUR_TYPES.includes(type)) {
|
|
77
|
-
throw new Error("The behaviour type ".concat(type, " is invalid or not yet supported"));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
behaviours.push(Behaviour[type].fromJSON(properties));
|
|
81
|
-
});
|
|
82
|
-
return behaviours;
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* Creates a System instance from a JSON object.
|
|
86
|
-
*
|
|
87
|
-
* @deprecated Use fromJSONAsync instead.
|
|
88
|
-
*
|
|
89
|
-
* @param {object} json - The JSON to create the System instance from
|
|
90
|
-
* @param {object} THREE - The Web GL Api to use
|
|
91
|
-
* @param {function} System - The system class
|
|
92
|
-
* @param {function} Emitter - The emitter class
|
|
93
|
-
* @param {number} json.preParticles - The predetermined number of particles
|
|
94
|
-
* @param {string} json.integrationType - The integration algorithm to use
|
|
95
|
-
* @param {array<object>} json.emitters - The emitters for the system instance
|
|
96
|
-
* @return {System}
|
|
97
|
-
*/
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var _default = function _default(json, THREE, System, Emitter) {
|
|
101
|
-
var _json$preParticles = json.preParticles,
|
|
102
|
-
preParticles = _json$preParticles === void 0 ? _constants.POOL_MAX : _json$preParticles,
|
|
103
|
-
_json$integrationType = json.integrationType,
|
|
104
|
-
integrationType = _json$integrationType === void 0 ? _constants.EULER : _json$integrationType,
|
|
105
|
-
_json$emitters = json.emitters,
|
|
106
|
-
emitters = _json$emitters === void 0 ? [] : _json$emitters;
|
|
107
|
-
var system = new System(THREE, preParticles, integrationType);
|
|
108
|
-
emitters.forEach(function (data) {
|
|
109
|
-
var emitter = new Emitter();
|
|
110
|
-
var rate = data.rate,
|
|
111
|
-
rotation = data.rotation,
|
|
112
|
-
initializers = data.initializers,
|
|
113
|
-
behaviours = data.behaviours,
|
|
114
|
-
_data$emitterBehaviou = data.emitterBehaviours,
|
|
115
|
-
emitterBehaviours = _data$emitterBehaviou === void 0 ? [] : _data$emitterBehaviou,
|
|
116
|
-
position = data.position,
|
|
117
|
-
_data$totalEmitTimes = data.totalEmitTimes,
|
|
118
|
-
totalEmitTimes = _data$totalEmitTimes === void 0 ? Infinity : _data$totalEmitTimes,
|
|
119
|
-
_data$life = data.life,
|
|
120
|
-
life = _data$life === void 0 ? Infinity : _data$life;
|
|
121
|
-
emitter.setRate(makeRate(rate)).setRotation(rotation).setInitializers(makeInitializers(initializers, THREE)).setBehaviours(makeBehaviours(behaviours)).setEmitterBehaviours(makeBehaviours(emitterBehaviours)).setPosition(position).emit(totalEmitTimes, life);
|
|
122
|
-
system.addEmitter(emitter);
|
|
123
|
-
});
|
|
124
|
-
return system;
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
exports["default"] = _default;
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2Zyb21KU09OLmpzIl0sIm5hbWVzIjpbIm1ha2VSYXRlIiwianNvbiIsIlJhdGUiLCJmcm9tSlNPTiIsIm1ha2VJbml0aWFsaXplcnMiLCJpdGVtcyIsIlRIUkVFIiwiaW5pdGlhbGl6ZXJzIiwiZm9yRWFjaCIsImRhdGEiLCJ0eXBlIiwicHJvcGVydGllcyIsIlNVUFBPUlRFRF9KU09OX0lOSVRJQUxJWkVSX1RZUEVTIiwiaW5jbHVkZXMiLCJFcnJvciIsIklOSVRJQUxJWkVSX1RZUEVTX1RIQVRfUkVRVUlSRV9USFJFRSIsInB1c2giLCJJbml0aWFsaXplciIsIm1ha2VCZWhhdmlvdXJzIiwiYmVoYXZpb3VycyIsIlNVUFBPUlRFRF9KU09OX0JFSEFWSU9VUl9UWVBFUyIsIkJlaGF2aW91ciIsIlN5c3RlbSIsIkVtaXR0ZXIiLCJwcmVQYXJ0aWNsZXMiLCJQT09MX01BWCIsImludGVncmF0aW9uVHlwZSIsIkVVTEVSIiwiZW1pdHRlcnMiLCJzeXN0ZW0iLCJlbWl0dGVyIiwicmF0ZSIsInJvdGF0aW9uIiwiZW1pdHRlckJlaGF2aW91cnMiLCJwb3NpdGlvbiIsInRvdGFsRW1pdFRpbWVzIiwiSW5maW5pdHkiLCJsaWZlIiwic2V0UmF0ZSIsInNldFJvdGF0aW9uIiwic2V0SW5pdGlhbGl6ZXJzIiwic2V0QmVoYXZpb3VycyIsInNldEVtaXR0ZXJCZWhhdmlvdXJzIiwic2V0UG9zaXRpb24iLCJlbWl0IiwiYWRkRW1pdHRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFNQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQUMsSUFBSTtBQUFBLFNBQUlDLGlCQUFLQyxRQUFMLENBQWNGLElBQWQsQ0FBSjtBQUFBLENBQXJCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNB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LFFBT3JCQSxpQkFQcUIsc0NBT0QsRUFQQztBQUFBLFFBUXJCQyxRQVJxQixHQVduQnpCLElBWG1CLENBUXJCeUIsUUFScUI7QUFBQSwrQkFXbkJ6QixJQVhtQixDQVNyQjBCLGNBVHFCO0FBQUEsUUFTckJBLGNBVHFCLHFDQVNKQyxRQVRJO0FBQUEscUJBV25CM0IsSUFYbUIsQ0FVckI0QixJQVZxQjtBQUFBLFFBVXJCQSxJQVZxQiwyQkFVZEQsUUFWYztBQWF2Qk4sSUFBQUEsT0FBTyxDQUNKUSxPQURILENBQ1d0QyxRQUFRLENBQUMrQixJQUFELENBRG5CLEVBRUdRLFdBRkgsQ0FFZVAsUUFGZixFQUdHUSxlQUhILENBR21CcEMsZ0JBQWdCLENBQUNHLFlBQUQsRUFBZUQsS0FBZixDQUhuQyxFQUlHbUMsYUFKSCxDQUlpQnZCLGNBQWMsQ0FBQ0MsVUFBRCxDQUovQixFQUtHdUIsb0JBTEgsQ0FLd0J4QixjQUFjLENBQUNlLGlCQUFELENBTHRDLEVBTUdVLFdBTkgsQ0FNZVQsUUFOZixFQU9HVSxJQVBILENBT1FULGNBUFIsRUFPd0JFLElBUHhCO0FBU0FSLElBQUFBLE1BQU0sQ0FBQ2dCLFVBQVAsQ0FBa0JmLE9BQWxCO0FBQ0QsR0F2QkQ7QUF5QkEsU0FBT0QsTUFBUDtBQUNELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBCZWhhdmlvdXIgZnJvbSAnLi4vYmVoYXZpb3VyJztcbmltcG9ydCAqIGFzIEluaXRpYWxpemVyIGZyb20gJy4uL2luaXRpYWxpemVyJztcblxuaW1wb3J0IHsgRVVMRVIsIFBPT0xfTUFYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIElOSVRJQUxJWkVSX1RZUEVTX1RIQVRfUkVRVUlSRV9USFJFRSxcbiAgU1VQUE9SVEVEX0pTT05fQkVIQVZJT1VSX1RZUEVTLFxuICBTVVBQT1JURURfSlNPTl9JTklUSUFMSVpFUl9UWVBFUyxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5pbXBvcnQgUmF0ZSBmcm9tICcuLi9pbml0aWFsaXplci9SYXRlJztcblxuLyoqXG4gKiBNYWtlcyBhIHJhdGUgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgZGF0YSByZXF1aXJlZCB0byBjb25zdHJ1Y3QgYSBSYXRlIGluc3RhbmNlXG4gKiBAcmV0dXJuIHtSYXRlfVxuICovXG5jb25zdCBtYWtlUmF0ZSA9IGpzb24gPT4gUmF0ZS5mcm9tSlNPTihqc29uKTtcblxuLyoqXG4gKiBNYWtlcyBpbml0aWFsaXplcnMgZnJvbSBqc29uIGl0ZW1zLlxuICpcbiAqIEBwYXJhbSB7YXJyYXk8b2JqZWN0Pn0gaXRlbXMgLSBBbiBhcnJheSBvZiBvYmplY3RzIHdoaWNoIHByb3ZpZGUgaW5pdGlhbGl6ZXIgY29uc3RydWN0b3IgcGFyYW1zXG4gKiBAcGFyYW0ge29iamVjdH0gVEhSRUUgLSBUaGUgV2ViIEdMIEFwaSB0byB1c2VcbiAqIEByZXR1cm4ge2FycmF5PEluaXRpYWxpemVyPn1cbiAqL1xuY29uc3QgbWFrZUluaXRpYWxpemVycyA9IChpdGVtcywgVEhSRUUpID0+IHtcbiAgY29uc3QgaW5pdGlhbGl6ZXJzID0gW107XG5cbiAgaXRlbXMuZm9yRWFjaChkYXRhID0+IHtcbiAgICBjb25zdCB7IHR5cGUsIHByb3BlcnRpZXMgfSA9IGRhdGE7XG5cbiAgICBpZiAoIVNVUFBPUlRFRF9KU09OX0lOSVRJQUxJWkVSX1RZUEVTLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGUgaW5pdGlhbGl6ZXIgdHlwZSAke3R5cGV9IGlzIGludmFsaWQgb3Igbm90IHlldCBzdXBwb3J0ZWRgXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChJTklUSUFMSVpFUl9UWVBFU19USEFUX1JFUVVJUkVfVEhSRUUuaW5jbHVkZXModHlwZSkpIHtcbiAgICAgIGluaXRpYWxpemVycy5wdXNoKEluaXRpYWxpemVyW3R5cGVdLmZyb21KU09OKHByb3BlcnRpZXMsIFRIUkVFKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluaXRpYWxpemVycy5wdXNoKEluaXRpYWxpemVyW3R5cGVdLmZyb21KU09OKHByb3BlcnRpZXMpKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBpbml0aWFsaXplcnM7XG59O1xuXG4vKipcbiAqIE1ha2VzIGJlaGF2aW91cnMgZnJvbSBqc29uIGl0ZW1zLlxuICpcbiAqIEBwYXJhbSB7YXJyYXk8b2JqZWN0Pn0gaXRlbXMgLSBBbiBhcnJheSBvZiBvYmplY3RzIHdoaWNoIHByb3ZpZGUgYmVoYXZpb3VyIGNvbnN0cnVjdG9yIHBhcmFtc1xuICogQHJldHVybiB7YXJyYXk8QmVoYXZpb3VyPn1cbiAqL1xuY29uc3QgbWFrZUJlaGF2aW91cnMgPSBpdGVtcyA9PiB7XG4gIGNvbnN0IGJlaGF2aW91cnMgPSBbXTtcblxuICBpdGVtcy5mb3JFYWNoKGRhdGEgPT4ge1xuICAgIGNvbnN0IHsgdHlwZSwgcHJvcGVydGllcyB9ID0gZGF0YTtcblxuICAgIGlmICghU1VQUE9SVEVEX0pTT05fQkVIQVZJT1VSX1RZUEVTLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGUgYmVoYXZpb3VyIHR5cGUgJHt0eXBlfSBpcyBpbnZhbGlkIG9yIG5vdCB5ZXQgc3VwcG9ydGVkYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBiZWhhdmlvdXJzLnB1c2goQmVoYXZpb3VyW3R5cGVdLmZyb21KU09OKHByb3BlcnRpZXMpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGJlaGF2aW91cnM7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBTeXN0ZW0gaW5zdGFuY2UgZnJvbSBhIEpTT04gb2JqZWN0LlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBmcm9tSlNPTkFzeW5jIGluc3RlYWQuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgSlNPTiB0byBjcmVhdGUgdGhlIFN5c3RlbSBpbnN0YW5jZSBmcm9tXG4gKiBAcGFyYW0ge29iamVjdH0gVEhSRUUgLSBUaGUgV2ViIEdMIEFwaSB0byB1c2VcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IFN5c3RlbSAtIFRoZSBzeXN0ZW0gY2xhc3NcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IEVtaXR0ZXIgLSBUaGUgZW1pdHRlciBjbGFzc1xuICogQHBhcmFtIHtudW1iZXJ9IGpzb24ucHJlUGFydGljbGVzIC0gVGhlIHByZWRldGVybWluZWQgbnVtYmVyIG9mIHBhcnRpY2xlc1xuICogQHBhcmFtIHtzdHJpbmd9IGpzb24uaW50ZWdyYXRpb25UeXBlIC0gVGhlIGludGVncmF0aW9uIGFsZ29yaXRobSB0byB1c2VcbiAqIEBwYXJhbSB7YXJyYXk8b2JqZWN0Pn0ganNvbi5lbWl0dGVycyAtIFRoZSBlbWl0dGVycyBmb3IgdGhlIHN5c3RlbSBpbnN0YW5jZVxuICogQHJldHVybiB7U3lzdGVtfVxuICovXG5leHBvcnQgZGVmYXVsdCAoanNvbiwgVEhSRUUsIFN5c3RlbSwgRW1pdHRlcikgPT4ge1xuICBjb25zdCB7XG4gICAgcHJlUGFydGljbGVzID0gUE9PTF9NQVgsXG4gICAgaW50ZWdyYXRpb25UeXBlID0gRVVMRVIsXG4gICAgZW1pdHRlcnMgPSBbXSxcbiAgfSA9IGpzb247XG4gIGNvbnN0IHN5c3RlbSA9IG5ldyBTeXN0ZW0oVEhSRUUsIHByZVBhcnRpY2xlcywgaW50ZWdyYXRpb25UeXBlKTtcblxuICBlbWl0dGVycy5mb3JFYWNoKGRhdGEgPT4ge1xuICAgIGNvbnN0IGVtaXR0ZXIgPSBuZXcgRW1pdHRlcigpO1xuICAgIGNvbnN0IHtcbiAgICAgIHJhdGUsXG4gICAgICByb3RhdGlvbixcbiAgICAgIGluaXRpYWxpemVycyxcbiAgICAgIGJlaGF2aW91cnMsXG4gICAgICBlbWl0dGVyQmVoYXZpb3VycyA9IFtdLFxuICAgICAgcG9zaXRpb24sXG4gICAgICB0b3RhbEVtaXRUaW1lcyA9IEluZmluaXR5LFxuICAgICAgbGlmZSA9IEluZmluaXR5LFxuICAgIH0gPSBkYXRhO1xuXG4gICAgZW1pdHRlclxuICAgICAgLnNldFJhdGUobWFrZVJhdGUocmF0ZSkpXG4gICAgICAuc2V0Um90YXRpb24ocm90YXRpb24pXG4gICAgICAuc2V0SW5pdGlhbGl6ZXJzKG1ha2VJbml0aWFsaXplcnMoaW5pdGlhbGl6ZXJzLCBUSFJFRSkpXG4gICAgICAuc2V0QmVoYXZpb3VycyhtYWtlQmVoYXZpb3VycyhiZWhhdmlvdXJzKSlcbiAgICAgIC5zZXRFbWl0dGVyQmVoYXZpb3VycyhtYWtlQmVoYXZpb3VycyhlbWl0dGVyQmVoYXZpb3VycykpXG4gICAgICAuc2V0UG9zaXRpb24ocG9zaXRpb24pXG4gICAgICAuZW1pdCh0b3RhbEVtaXRUaW1lcywgbGlmZSk7XG5cbiAgICBzeXN0ZW0uYWRkRW1pdHRlcihlbWl0dGVyKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHN5c3RlbTtcbn07XG4iXX0=
|
|
@@ -1,239 +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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var Behaviour = _interopRequireWildcard(require("../behaviour"));
|
|
15
|
-
|
|
16
|
-
var Initializer = _interopRequireWildcard(require("../initializer"));
|
|
17
|
-
|
|
18
|
-
var _constants = require("../constants");
|
|
19
|
-
|
|
20
|
-
var _constants2 = require("./constants");
|
|
21
|
-
|
|
22
|
-
var _Rate = _interopRequireDefault(require("../initializer/Rate"));
|
|
23
|
-
|
|
24
|
-
var _Texture = _interopRequireDefault(require("../initializer/Texture"));
|
|
25
|
-
|
|
26
|
-
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); }
|
|
27
|
-
|
|
28
|
-
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; }
|
|
29
|
-
|
|
30
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
31
|
-
|
|
32
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
33
|
-
|
|
34
|
-
var DEFAULT_OPTIONS = {
|
|
35
|
-
shouldAutoEmit: true
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Makes a rate instance.
|
|
39
|
-
*
|
|
40
|
-
* @param {object} json - The data required to construct a Rate instance
|
|
41
|
-
* @return {Rate}
|
|
42
|
-
*/
|
|
43
|
-
|
|
44
|
-
var makeRate = function makeRate(json) {
|
|
45
|
-
return _Rate["default"].fromJSON(json);
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Makes initializers from json items.
|
|
49
|
-
*
|
|
50
|
-
* @param {array<object>} items - An array of objects which provide initializer constructor params
|
|
51
|
-
* @param {object} THREE - The Web GL Api to use
|
|
52
|
-
* @return {array<Initializer>}
|
|
53
|
-
*/
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var makeInitializers = function makeInitializers(items, THREE) {
|
|
57
|
-
return new Promise(function (resolve, reject) {
|
|
58
|
-
if (!items.length) {
|
|
59
|
-
return resolve([]);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
var numberOfInitializers = items.length;
|
|
63
|
-
var madeInitializers = [];
|
|
64
|
-
var doNotRequireTextureLoading = items.filter(function (_ref) {
|
|
65
|
-
var properties = _ref.properties;
|
|
66
|
-
return !properties.texture;
|
|
67
|
-
});
|
|
68
|
-
var doRequireTextureLoading = items.filter(function (_ref2) {
|
|
69
|
-
var properties = _ref2.properties;
|
|
70
|
-
return properties.texture;
|
|
71
|
-
});
|
|
72
|
-
doNotRequireTextureLoading.forEach(function (data) {
|
|
73
|
-
var type = data.type,
|
|
74
|
-
properties = data.properties;
|
|
75
|
-
|
|
76
|
-
if (!_constants2.SUPPORTED_JSON_INITIALIZER_TYPES.includes(type)) {
|
|
77
|
-
return reject("The initializer type ".concat(type, " is invalid or not yet supported"));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (_constants2.INITIALIZER_TYPES_THAT_REQUIRE_THREE.includes(type)) {
|
|
81
|
-
madeInitializers.push(Initializer[type].fromJSON(properties, THREE));
|
|
82
|
-
} else {
|
|
83
|
-
madeInitializers.push(Initializer[type].fromJSON(properties));
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (madeInitializers.length === numberOfInitializers) {
|
|
87
|
-
return resolve(madeInitializers);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
doRequireTextureLoading.forEach(function (data) {
|
|
91
|
-
var type = data.type,
|
|
92
|
-
properties = data.properties,
|
|
93
|
-
texture = data.properties.texture;
|
|
94
|
-
var textureLoader = new THREE.TextureLoader();
|
|
95
|
-
|
|
96
|
-
if (!_constants2.SUPPORTED_JSON_INITIALIZER_TYPES.includes(type)) {
|
|
97
|
-
return reject("The initializer type ".concat(type, " is invalid or not yet supported"));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
textureLoader.load(texture, function (loadedTexture) {
|
|
101
|
-
madeInitializers.push(_Texture["default"].fromJSON(_objectSpread(_objectSpread({}, properties), {}, {
|
|
102
|
-
loadedTexture: loadedTexture
|
|
103
|
-
}), THREE));
|
|
104
|
-
|
|
105
|
-
if (madeInitializers.length === numberOfInitializers) {
|
|
106
|
-
return resolve(madeInitializers);
|
|
107
|
-
}
|
|
108
|
-
}, undefined, reject);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* Makes behaviours from json items.
|
|
114
|
-
*
|
|
115
|
-
* @param {array<object>} items - An array of objects which provide behaviour constructor params
|
|
116
|
-
* @return {Promise<array>}
|
|
117
|
-
*/
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
var makeBehaviours = function makeBehaviours(items) {
|
|
121
|
-
return new Promise(function (resolve, reject) {
|
|
122
|
-
if (!items.length) {
|
|
123
|
-
return resolve([]);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
var numberOfBehaviours = items.length;
|
|
127
|
-
var madeBehaviours = [];
|
|
128
|
-
items.forEach(function (data) {
|
|
129
|
-
var type = data.type,
|
|
130
|
-
properties = data.properties;
|
|
131
|
-
|
|
132
|
-
if (!_constants2.SUPPORTED_JSON_BEHAVIOUR_TYPES.includes(type)) {
|
|
133
|
-
return reject("The behaviour type ".concat(type, " is invalid or not yet supported"));
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
madeBehaviours.push(Behaviour[type].fromJSON(properties));
|
|
137
|
-
|
|
138
|
-
if (madeBehaviours.length === numberOfBehaviours) {
|
|
139
|
-
return resolve(madeBehaviours);
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
var makeEmitters = function makeEmitters(emitters, Emitter, THREE, shouldAutoEmit) {
|
|
146
|
-
return new Promise(function (resolve, reject) {
|
|
147
|
-
if (!emitters.length) {
|
|
148
|
-
return resolve([]);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
var madeEmitters = [];
|
|
152
|
-
var numberOfEmitters = emitters.length;
|
|
153
|
-
|
|
154
|
-
if (!numberOfEmitters) {
|
|
155
|
-
return resolve(madeEmitters);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
emitters.forEach(function (data) {
|
|
159
|
-
var emitter = new Emitter();
|
|
160
|
-
var rate = data.rate,
|
|
161
|
-
rotation = data.rotation,
|
|
162
|
-
initializers = data.initializers,
|
|
163
|
-
behaviours = data.behaviours,
|
|
164
|
-
_data$emitterBehaviou = data.emitterBehaviours,
|
|
165
|
-
emitterBehaviours = _data$emitterBehaviou === void 0 ? [] : _data$emitterBehaviou,
|
|
166
|
-
position = data.position,
|
|
167
|
-
_data$totalEmitTimes = data.totalEmitTimes,
|
|
168
|
-
totalEmitTimes = _data$totalEmitTimes === void 0 ? Infinity : _data$totalEmitTimes,
|
|
169
|
-
_data$life = data.life,
|
|
170
|
-
life = _data$life === void 0 ? Infinity : _data$life;
|
|
171
|
-
emitter.setRate(makeRate(rate)).setRotation(rotation).setPosition(position);
|
|
172
|
-
makeInitializers(initializers, THREE).then(function (madeInitializers) {
|
|
173
|
-
emitter.setInitializers(madeInitializers);
|
|
174
|
-
return makeBehaviours(behaviours);
|
|
175
|
-
}).then(function (madeBehaviours) {
|
|
176
|
-
emitter.setBehaviours(madeBehaviours);
|
|
177
|
-
return makeBehaviours(emitterBehaviours);
|
|
178
|
-
}).then(function (madeEmitterBehaviours) {
|
|
179
|
-
emitter.setEmitterBehaviours(madeEmitterBehaviours);
|
|
180
|
-
return Promise.resolve(emitter);
|
|
181
|
-
}).then(function (emitter) {
|
|
182
|
-
madeEmitters.push(shouldAutoEmit ? emitter.emit(totalEmitTimes, life) : emitter.setTotalEmitTimes(totalEmitTimes).setLife(life));
|
|
183
|
-
|
|
184
|
-
if (madeEmitters.length === numberOfEmitters) {
|
|
185
|
-
return resolve(madeEmitters);
|
|
186
|
-
}
|
|
187
|
-
})["catch"](reject);
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
};
|
|
191
|
-
/**
|
|
192
|
-
* Creates a System instance from a JSON object.
|
|
193
|
-
*
|
|
194
|
-
* @param {object} json - The JSON to create the System instance from
|
|
195
|
-
* @param {number} json.preParticles - The predetermined number of particles
|
|
196
|
-
* @param {string} json.integrationType - The integration algorithm to use
|
|
197
|
-
* @param {array<object>} json.emitters - The emitters for the system instance
|
|
198
|
-
* @param {object} THREE - The Web GL Api to use
|
|
199
|
-
* @param {function} System - The system class
|
|
200
|
-
* @param {function} Emitter - The emitter class
|
|
201
|
-
* @param {object} [options={}] - Optional config options
|
|
202
|
-
* @return {Promise<System>}
|
|
203
|
-
*/
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
var _default = function _default(json, THREE, System, Emitter) {
|
|
207
|
-
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
208
|
-
return new Promise(function (resolve, reject) {
|
|
209
|
-
var _json$preParticles = json.preParticles,
|
|
210
|
-
preParticles = _json$preParticles === void 0 ? _constants.POOL_MAX : _json$preParticles,
|
|
211
|
-
_json$integrationType = json.integrationType,
|
|
212
|
-
integrationType = _json$integrationType === void 0 ? _constants.EULER : _json$integrationType,
|
|
213
|
-
_json$emitters = json.emitters,
|
|
214
|
-
emitters = _json$emitters === void 0 ? [] : _json$emitters;
|
|
215
|
-
var system = new System(preParticles, integrationType);
|
|
216
|
-
|
|
217
|
-
var _DEFAULT_OPTIONS$opti = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options),
|
|
218
|
-
shouldAutoEmit = _DEFAULT_OPTIONS$opti.shouldAutoEmit;
|
|
219
|
-
|
|
220
|
-
makeEmitters(emitters, Emitter, THREE, shouldAutoEmit).then(function (madeEmitters) {
|
|
221
|
-
var numberOfEmitters = madeEmitters.length;
|
|
222
|
-
|
|
223
|
-
if (!numberOfEmitters) {
|
|
224
|
-
return resolve(system);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
madeEmitters.forEach(function (madeEmitter) {
|
|
228
|
-
system.addEmitter(madeEmitter);
|
|
229
|
-
|
|
230
|
-
if (system.emitters.length === numberOfEmitters) {
|
|
231
|
-
resolve(system);
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
})["catch"](reject);
|
|
235
|
-
});
|
|
236
|
-
};
|
|
237
|
-
|
|
238
|
-
exports["default"] = _default;
|
|
239
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2Zyb21KU09OQXN5bmMuanMiXSwibmFtZXMiOlsiREVGQVVMVF9PUFRJT05TIiwic2hvdWxkQXV0b0VtaXQiLCJtYWtlUmF0ZSIsImpzb24iLCJSYXRlIiwiZnJvbUpTT04iLCJtYWtlSW5pdGlhbGl6ZXJzIiwiaXRlbXMiLCJUSFJFRSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwibGVuZ3RoIiwibnVtYmVyT2ZJbml0aWFsaXplcnMiLCJtYWRlSW5pdGlhbGl6ZXJzIiwiZG9Ob3RSZXF1aXJlVGV4dHVyZUxvYWRpbmciLCJmaWx0ZXIiLCJwcm9wZXJ0aWVzIiwidGV4dHVyZSIsImRvUmVxdWlyZVRleHR1cmVMb2FkaW5nIiwiZm9yRWFjaCIsImRhdGEiLCJ0eXBlIiwiU1VQUE9SVEVEX0pTT05fSU5JVElBTElaRVJfVFlQRVMiLCJpbmNsdWRlcyIsIklOSVRJQUxJWkVSX1RZUEVTX1RIQVRfUkVRVUlSRV9USFJFRSIsInB1c2giLCJJbml0aWFsaXplciIsInRleHR1cmVMb2FkZXIiLCJUZXh0dXJlTG9hZGVyIiwibG9hZCIsImxvYWRlZFRleHR1cmUiLCJUZXh0dXJlSW5pdGlhbGl6ZXIiLCJ1bmRlZmluZWQiLCJtYWtlQmVoYXZpb3VycyIsIm51bWJlck9mQmVoYXZpb3VycyIsIm1hZGVCZWhhdmlvdXJzIiwiU1VQUE9SVEVEX0pTT05fQkVIQVZJT1VSX1RZUEVTIiwiQmVoYXZpb3VyIiwibWFrZUVtaXR0ZXJzIiwiZW1pdHRlcnMiLCJFbWl0dGVyIiwibWFkZUVtaXR0ZXJzIiwibnVtYmVyT2ZFbWl0dGVycyIsImVtaXR0ZXIiLCJyYXRlIiwicm90YXRpb24iLCJpbml0aWFsaXplcnMiLCJiZWhhdmlvdXJzIiwiZW1pdHRlckJlaGF2aW91cnMiLCJwb3NpdGlvbiIsInRvdGFsRW1pdFRpbWVzIiwiSW5maW5pdHkiLCJsaWZlIiwic2V0UmF0ZSIsInNldFJvdGF0aW9uIiwic2V0UG9zaXRpb24iLCJ0aGVuIiwic2V0SW5pdGlhbGl6ZXJzIiwic2V0QmVoYXZpb3VycyIsIm1hZGVFbWl0dGVyQmVoYXZpb3VycyIsInNldEVtaXR0ZXJCZWhhdmlvdXJzIiwiZW1pdCIsInNldFRvdGFsRW1pdFRpbWVzIiwic2V0TGlmZSIsIlN5c3RlbSIsIm9wdGlvbnMiLCJwcmVQYXJ0aWNsZXMiLCJQT09MX01BWCIsImludGVncmF0aW9uVHlwZSIsIkVVTEVSIiwic3lzdGVtIiwibWFkZUVtaXR0ZXIiLCJhZGRFbWl0dGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBTUE7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxlQUFlLEdBQUc7QUFBRUMsRUFBQUEsY0FBYyxFQUFFO0FBQWxCLENBQXhCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLElBQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUFDLElBQUk7QUFBQSxTQUFJQyxpQkFBS0MsUUFBTCxDQUFjRixJQUFkLENBQUo7QUFBQSxDQUFyQjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxJQUFNRyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNDLEtBQUQsRUFBUUMsS0FBUjtBQUFBLFNBQ3ZCLElBQUlDLE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDL0IsUUFBSSxDQUFDSixLQUFLLENBQUNLLE1BQVgsRUFBbUI7QUFDakIsYUFBT0YsT0FBTyxDQUFDLEVBQUQsQ0FBZDtBQUNEOztBQUVELFFBQU1HLG9CQUFvQixHQUFHTixLQUFLLENBQUNLLE1BQW5DO0FBQ0EsUUFBTUUsZ0JBQWdCLEdBQUcsRUFBekI7QUFDQSxRQUFNQywwQkFBMEIsR0FBR1IsS0FBSyxDQUFDUyxNQUFOLENBQ2pDO0FBQUEsVUFBR0MsVUFBSCxRQUFHQSxVQUFIO0FBQUEsYUFBb0IsQ0FBQ0EsVUFBVSxDQUFDQyxPQUFoQztBQUFBLEtBRGlDLENBQW5DO0FBR0Es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QUNHd0QsSUFESCxDQUNRLFVBQUFmLFlBQVksRUFBSTtBQUNwQixVQUFNQyxnQkFBZ0IsR0FBR0QsWUFBWSxDQUFDOUIsTUFBdEM7O0FBRUEsVUFBSSxDQUFDK0IsZ0JBQUwsRUFBdUI7QUFDckIsZUFBT2pDLE9BQU8sQ0FBQzZELE1BQUQsQ0FBZDtBQUNEOztBQUVEN0IsTUFBQUEsWUFBWSxDQUFDdEIsT0FBYixDQUFxQixVQUFBb0QsV0FBVyxFQUFJO0FBQ2xDRCxRQUFBQSxNQUFNLENBQUNFLFVBQVAsQ0FBa0JELFdBQWxCOztBQUVBLFlBQUlELE1BQU0sQ0FBQy9CLFFBQVAsQ0FBZ0I1QixNQUFoQixLQUEyQitCLGdCQUEvQixFQUFpRDtBQUMvQ2pDLFVBQUFBLE9BQU8sQ0FBQzZELE1BQUQsQ0FBUDtBQUNEO0FBQ0YsT0FORDtBQU9ELEtBZkgsV0FnQlM1RCxNQWhCVDtBQWlCRCxHQTFCRCxDQURhO0FBQUEsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEJlaGF2aW91ciBmcm9tICcuLi9iZWhhdmlvdXInO1xuaW1wb3J0ICogYXMgSW5pdGlhbGl6ZXIgZnJvbSAnLi4vaW5pdGlhbGl6ZXInO1xuXG5pbXBvcnQgeyBFVUxFUiwgUE9PTF9NQVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgSU5JVElBTElaRVJfVFlQRVNfVEhBVF9SRVFVSVJFX1RIUkVFLFxuICBTVVBQT1JURURfSlNPTl9CRUhBVklPVVJfVFlQRVMsXG4gIFNVUFBPUlRFRF9KU09OX0lOSVRJQUxJWkVSX1RZUEVTLFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmltcG9ydCBSYXRlIGZyb20gJy4uL2luaXRpYWxpemVyL1JhdGUnO1xuaW1wb3J0IFRleHR1cmVJbml0aWFsaXplciBmcm9tICcuLi9pbml0aWFsaXplci9UZXh0dXJlJztcblxuY29uc3QgREVGQVVMVF9PUFRJT05TID0geyBzaG91bGRBdXRvRW1pdDogdHJ1ZSB9O1xuXG4vKipcbiAqIE1ha2VzIGEgcmF0ZSBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBkYXRhIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCBhIFJhdGUgaW5zdGFuY2VcbiAqIEByZXR1cm4ge1JhdGV9XG4gKi9cbmNvbnN0IG1ha2VSYXRlID0ganNvbiA9PiBSYXRlLmZyb21KU09OKGpzb24pO1xuXG4vKipcbiAqIE1ha2VzIGluaXRpYWxpemVycyBmcm9tIGpzb24gaXRlbXMuXG4gKlxuICogQHBhcmFtIHthcnJheTxvYmplY3Q+fSBpdGVtcyAtIEFuIGFycmF5IG9mIG9iamVjdHMgd2hpY2ggcHJvdmlkZSBpbml0aWFsaXplciBjb25zdHJ1Y3RvciBwYXJhbXNcbiAqIEBwYXJhbSB7b2JqZWN0fSBUSFJFRSAtIFRoZSBXZWIgR0wgQXBpIHRvIHVzZVxuICogQHJldHVybiB7YXJyYXk8SW5pdGlhbGl6ZXI+fVxuICovXG5jb25zdCBtYWtlSW5pdGlhbGl6ZXJzID0gKGl0ZW1zLCBUSFJFRSkgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmICghaXRlbXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZShbXSk7XG4gICAgfVxuXG4gICAgY29uc3QgbnVtYmVyT2ZJbml0aWFsaXplcnMgPSBpdGVtcy5sZW5ndGg7XG4gICAgY29uc3QgbWFkZUluaXRpYWxpemVycyA9IFtdO1xuICAgIGNvbnN0IGRvTm90UmVxdWlyZVRleHR1cmVMb2FkaW5nID0gaXRlbXMuZmlsdGVyKFxuICAgICAgKHsgcHJvcGVydGllcyB9KSA9PiAhcHJvcGVydGllcy50ZXh0dXJlXG4gICAgKTtcbiAgICBjb25zdCBkb1JlcXVpcmVUZXh0dXJlTG9hZGluZyA9IGl0ZW1zLmZpbHRlcihcbiAgICAgICh7IHByb3BlcnRpZXMgfSkgPT4gcHJvcGVydGllcy50ZXh0dXJlXG4gICAgKTtcblxuICAgIGRvTm90UmVxdWlyZVRleHR1cmVMb2FkaW5nLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICBjb25zdCB7IHR5cGUsIHByb3BlcnRpZXMgfSA9IGRhdGE7XG5cbiAgICAgIGlmICghU1VQUE9SVEVEX0pTT05fSU5JVElBTElaRVJfVFlQRVMuaW5jbHVkZXModHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChcbiAgICAgICAgICBgVGhlIGluaXRpYWxpemVyIHR5cGUgJHt0eXBlfSBpcyBpbnZhbGlkIG9yIG5vdCB5ZXQgc3VwcG9ydGVkYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoSU5JVElBTElaRVJfVFlQRVNfVEhBVF9SRVFVSVJFX1RIUkVFLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICAgIG1hZGVJbml0aWFsaXplcnMucHVzaChJbml0aWFsaXplclt0eXBlXS5mcm9tSlNPTihwcm9wZXJ0aWVzLCBUSFJFRSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWFkZUluaXRpYWxpemVycy5wdXNoKEluaXRpYWxpemVyW3R5cGVdLmZyb21KU09OKHByb3BlcnRpZXMpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hZGVJbml0aWFsaXplcnMubGVuZ3RoID09PSBudW1iZXJPZkluaXRpYWxpemVycykge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZShtYWRlSW5pdGlhbGl6ZXJzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGRvUmVxdWlyZVRleHR1cmVMb2FkaW5nLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgIHByb3BlcnRpZXM6IHsgdGV4dHVyZSB9LFxuICAgICAgfSA9IGRhdGE7XG4gICAgICBjb25zdCB0ZXh0dXJlTG9hZGVyID0gbmV3IFRIUkVFLlRleHR1cmVMb2FkZXIoKTtcblxuICAgICAgaWYgKCFTVVBQT1JURURfSlNPTl9JTklUSUFMSVpFUl9UWVBFUy5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICByZXR1cm4gcmVqZWN0KFxuICAgICAgICAgIGBUaGUgaW5pdGlhbGl6ZXIgdHlwZSAke3R5cGV9IGlzIGludmFsaWQgb3Igbm90IHlldCBzdXBwb3J0ZWRgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRleHR1cmVMb2FkZXIubG9hZChcbiAgICAgICAgdGV4dHVyZSxcbiAgICAgICAgbG9hZGVkVGV4dHVyZSA9PiB7XG4gICAgICAgICAgbWFkZUluaXRpYWxpemVycy5wdXNoKFxuICAgICAgICAgICAgVGV4dHVyZUluaXRpYWxpemVyLmZyb21KU09OKFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4ucHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICBsb2FkZWRUZXh0dXJlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBUSFJFRVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAobWFkZUluaXRpYWxpemVycy5sZW5ndGggPT09IG51bWJlck9mSW5pdGlhbGl6ZXJzKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShtYWRlSW5pdGlhbGl6ZXJzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgcmVqZWN0XG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuLyoqXG4gKiBNYWtlcyBiZWhhdmlvdXJzIGZyb20ganNvbiBpdGVtcy5cbiAqXG4gKiBAcGFyYW0ge2FycmF5PG9iamVjdD59IGl0ZW1zIC0gQW4gYXJyYXkgb2Ygb2JqZWN0cyB3aGljaCBwcm92aWRlIGJlaGF2aW91ciBjb25zdHJ1Y3RvciBwYXJhbXNcbiAqIEByZXR1cm4ge1Byb21pc2U8YXJyYXk+fVxuICovXG5jb25zdCBtYWtlQmVoYXZpb3VycyA9IGl0ZW1zID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHJlc29sdmUoW10pO1xuICAgIH1cblxuICAgIGNvbnN0IG51bWJlck9mQmVoYXZpb3VycyA9IGl0ZW1zLmxlbmd0aDtcbiAgICBjb25zdCBtYWRlQmVoYXZpb3VycyA9IFtdO1xuXG4gICAgaXRlbXMuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgIGNvbnN0IHsgdHlwZSwgcHJvcGVydGllcyB9ID0gZGF0YTtcblxuICAgICAgaWYgKCFTVVBQT1JURURfSlNPTl9CRUhBVklPVVJfVFlQRVMuaW5jbHVkZXModHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChcbiAgICAgICAgICBgVGhlIGJlaGF2aW91ciB0eXBlICR7dHlwZX0gaXMgaW52YWxpZCBvciBub3QgeWV0IHN1cHBvcnRlZGBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgbWFkZUJlaGF2aW91cnMucHVzaChCZWhhdmlvdXJbdHlwZV0uZnJvbUpTT04ocHJvcGVydGllcykpO1xuXG4gICAgICBpZiAobWFkZUJlaGF2aW91cnMubGVuZ3RoID09PSBudW1iZXJPZkJlaGF2aW91cnMpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUobWFkZUJlaGF2aW91cnMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuY29uc3QgbWFrZUVtaXR0ZXJzID0gKGVtaXR0ZXJzLCBFbWl0dGVyLCBUSFJFRSwgc2hvdWxkQXV0b0VtaXQpID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBpZiAoIWVtaXR0ZXJzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHJlc29sdmUoW10pO1xuICAgIH1cblxuICAgIGNvbnN0IG1hZGVFbWl0dGVycyA9IFtdO1xuICAgIGNvbnN0IG51bWJlck9mRW1pdHRlcnMgPSBlbWl0dGVycy5sZW5ndGg7XG5cbiAgICBpZiAoIW51bWJlck9mRW1pdHRlcnMpIHtcbiAgICAgIHJldHVybiByZXNvbHZlKG1hZGVFbWl0dGVycyk7XG4gICAgfVxuXG4gICAgZW1pdHRlcnMuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgIGNvbnN0IGVtaXR0ZXIgPSBuZXcgRW1pdHRlcigpO1xuICAgICAgY29uc3Qge1xuICAgICAgICByYXRlLFxuICAgICAgICByb3RhdGlvbixcbiAgICAgICAgaW5pdGlhbGl6ZXJzLFxuICAgICAgICBiZWhhdmlvdXJzLFxuICAgICAgICBlbWl0dGVyQmVoYXZpb3VycyA9IFtdLFxuICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgdG90YWxFbWl0VGltZXMgPSBJbmZpbml0eSxcbiAgICAgICAgbGlmZSA9IEluZmluaXR5LFxuICAgICAgfSA9IGRhdGE7XG5cbiAgICAgIGVtaXR0ZXJcbiAgICAgICAgLnNldFJhdGUobWFrZVJhdGUocmF0ZSkpXG4gICAgICAgIC5zZXRSb3RhdGlvbihyb3RhdGlvbilcbiAgICAgICAgLnNldFBvc2l0aW9uKHBvc2l0aW9uKTtcblxuICAgICAgbWFrZUluaXRpYWxpemVycyhpbml0aWFsaXplcnMsIFRIUkVFKVxuICAgICAgICAudGhlbihtYWRlSW5pdGlhbGl6ZXJzID0+IHtcbiAgICAgICAgICBlbWl0dGVyLnNldEluaXRpYWxpemVycyhtYWRlSW5pdGlhbGl6ZXJzKTtcblxuICAgICAgICAgIHJldHVybiBtYWtlQmVoYXZpb3VycyhiZWhhdmlvdXJzKTtcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4obWFkZUJlaGF2aW91cnMgPT4ge1xuICAgICAgICAgIGVtaXR0ZXIuc2V0QmVoYXZpb3VycyhtYWRlQmVoYXZpb3Vycyk7XG5cbiAgICAgICAgICByZXR1cm4gbWFrZUJlaGF2aW91cnMoZW1pdHRlckJlaGF2aW91cnMpO1xuICAgICAgICB9KVxuICAgICAgICAudGhlbihtYWRlRW1pdHRlckJlaGF2aW91cnMgPT4ge1xuICAgICAgICAgIGVtaXR0ZXIuc2V0RW1pdHRlckJlaGF2aW91cnMobWFkZUVtaXR0ZXJCZWhhdmlvdXJzKTtcblxuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZW1pdHRlcik7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKGVtaXR0ZXIgPT4ge1xuICAgICAgICAgIG1hZGVFbWl0dGVycy5wdXNoKFxuICAgICAgICAgICAgc2hvdWxkQXV0b0VtaXRcbiAgICAgICAgICAgICAgPyBlbWl0dGVyLmVtaXQodG90YWxFbWl0VGltZXMsIGxpZmUpXG4gICAgICAgICAgICAgIDogZW1pdHRlci5zZXRUb3RhbEVtaXRUaW1lcyh0b3RhbEVtaXRUaW1lcykuc2V0TGlmZShsaWZlKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAobWFkZUVtaXR0ZXJzLmxlbmd0aCA9PT0gbnVtYmVyT2ZFbWl0dGVycykge1xuICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUobWFkZUVtaXR0ZXJzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9KTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgU3lzdGVtIGluc3RhbmNlIGZyb20gYSBKU09OIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBKU09OIHRvIGNyZWF0ZSB0aGUgU3lzdGVtIGluc3RhbmNlIGZyb21cbiAqIEBwYXJhbSB7bnVtYmVyfSBqc29uLnByZVBhcnRpY2xlcyAtIFRoZSBwcmVkZXRlcm1pbmVkIG51bWJlciBvZiBwYXJ0aWNsZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBqc29uLmludGVncmF0aW9uVHlwZSAtIFRoZSBpbnRlZ3JhdGlvbiBhbGdvcml0aG0gdG8gdXNlXG4gKiBAcGFyYW0ge2FycmF5PG9iamVjdD59IGpzb24uZW1pdHRlcnMgLSBUaGUgZW1pdHRlcnMgZm9yIHRoZSBzeXN0ZW0gaW5zdGFuY2VcbiAqIEBwYXJhbSB7b2JqZWN0fSBUSFJFRSAtIFRoZSBXZWIgR0wgQXBpIHRvIHVzZVxuICogQHBhcmFtIHtmdW5jdGlvbn0gU3lzdGVtIC0gVGhlIHN5c3RlbSBjbGFzc1xuICogQHBhcmFtIHtmdW5jdGlvbn0gRW1pdHRlciAtIFRoZSBlbWl0dGVyIGNsYXNzXG4gKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnM9e31dIC0gT3B0aW9uYWwgY29uZmlnIG9wdGlvbnNcbiAqIEByZXR1cm4ge1Byb21pc2U8U3lzdGVtPn1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgKGpzb24sIFRIUkVFLCBTeXN0ZW0sIEVtaXR0ZXIsIG9wdGlvbnMgPSB7fSkgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHByZVBhcnRpY2xlcyA9IFBPT0xfTUFYLFxuICAgICAgaW50ZWdyYXRpb25UeXBlID0gRVVMRVIsXG4gICAgICBlbWl0dGVycyA9IFtdLFxuICAgIH0gPSBqc29uO1xuICAgIGNvbnN0IHN5c3RlbSA9IG5ldyBTeXN0ZW0ocHJlUGFydGljbGVzLCBpbnRlZ3JhdGlvblR5cGUpO1xuICAgIGNvbnN0IHsgc2hvdWxkQXV0b0VtaXQgfSA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICBtYWtlRW1pdHRlcnMoZW1pdHRlcnMsIEVtaXR0ZXIsIFRIUkVFLCBzaG91bGRBdXRvRW1pdClcbiAgICAgIC50aGVuKG1hZGVFbWl0dGVycyA9PiB7XG4gICAgICAgIGNvbnN0IG51bWJlck9mRW1pdHRlcnMgPSBtYWRlRW1pdHRlcnMubGVuZ3RoO1xuXG4gICAgICAgIGlmICghbnVtYmVyT2ZFbWl0dGVycykge1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKHN5c3RlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBtYWRlRW1pdHRlcnMuZm9yRWFjaChtYWRlRW1pdHRlciA9PiB7XG4gICAgICAgICAgc3lzdGVtLmFkZEVtaXR0ZXIobWFkZUVtaXR0ZXIpO1xuXG4gICAgICAgICAgaWYgKHN5c3RlbS5lbWl0dGVycy5sZW5ndGggPT09IG51bWJlck9mRW1pdHRlcnMpIHtcbiAgICAgICAgICAgIHJlc29sdmUoc3lzdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChyZWplY3QpO1xuICB9KTtcbiJdfQ==
|
package/build/cjs/core/index.js
DELETED
|
@@ -1,32 +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
|
-
Object.defineProperty(exports, "Particle", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function get() {
|
|
11
|
-
return _Particle["default"];
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(exports, "Pool", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function get() {
|
|
17
|
-
return _Pool["default"];
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
Object.defineProperty(exports, "System", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
get: function get() {
|
|
23
|
-
return _System["default"];
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
var _Particle = _interopRequireDefault(require("./Particle"));
|
|
28
|
-
|
|
29
|
-
var _Pool = _interopRequireDefault(require("./Pool"));
|
|
30
|
-
|
|
31
|
-
var _System = _interopRequireDefault(require("./System"));
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIFBhcnRpY2xlIH0gZnJvbSAnLi9QYXJ0aWNsZSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFBvb2wgfSBmcm9tICcuL1Bvb2wnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTeXN0ZW0gfSBmcm9tICcuL1N5c3RlbSc7XG4iXX0=
|