three-nebula 11.0.0 → 11.1.1

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.
Files changed (248) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/three-nebula.cjs +109 -0
  3. package/dist/three-nebula.cjs.map +1 -0
  4. package/dist/three-nebula.mjs +2969 -0
  5. package/dist/three-nebula.mjs.map +1 -0
  6. package/dist/three-nebula.umd.js +109 -0
  7. package/dist/three-nebula.umd.js.map +1 -0
  8. package/package.json +23 -47
  9. package/specs/01-emitter-hierarchy.md +200 -0
  10. package/specs/02-determinism-scrubbing.md +188 -0
  11. package/specs/03-sound-renderer.md +183 -0
  12. package/specs/04-schema-versioning.md +140 -0
  13. package/specs/05-content-addressed-assets.md +288 -0
  14. package/specs/README.md +80 -0
  15. package/build/cjs/behaviour/Alpha.js +0 -189
  16. package/build/cjs/behaviour/Attraction.js +0 -189
  17. package/build/cjs/behaviour/Behaviour.js +0 -253
  18. package/build/cjs/behaviour/Collision.js +0 -146
  19. package/build/cjs/behaviour/Color.js +0 -148
  20. package/build/cjs/behaviour/CrossZone.js +0 -141
  21. package/build/cjs/behaviour/Force.js +0 -126
  22. package/build/cjs/behaviour/Gravity.js +0 -78
  23. package/build/cjs/behaviour/RandomDrift.js +0 -153
  24. package/build/cjs/behaviour/Repulsion.js +0 -123
  25. package/build/cjs/behaviour/Rotate.js +0 -265
  26. package/build/cjs/behaviour/Scale.js +0 -177
  27. package/build/cjs/behaviour/Spring.js +0 -133
  28. package/build/cjs/behaviour/constants.js +0 -28
  29. package/build/cjs/behaviour/index.js +0 -112
  30. package/build/cjs/behaviour/types.js +0 -33
  31. package/build/cjs/constants/index.js +0 -61
  32. package/build/cjs/core/Particle.js +0 -390
  33. package/build/cjs/core/Pool.js +0 -203
  34. package/build/cjs/core/System.js +0 -366
  35. package/build/cjs/core/constants.js +0 -163
  36. package/build/cjs/core/fromJSON.js +0 -128
  37. package/build/cjs/core/fromJSONAsync.js +0 -239
  38. package/build/cjs/core/index.js +0 -32
  39. package/build/cjs/core/three/Euler.js +0 -233
  40. package/build/cjs/core/three/Math.js +0 -91
  41. package/build/cjs/core/three/Matrix4.js +0 -745
  42. package/build/cjs/core/three/Quaternion.js +0 -451
  43. package/build/cjs/core/three/Vector3.js +0 -464
  44. package/build/cjs/core/three/constants.js +0 -298
  45. package/build/cjs/core/three/index.js +0 -48
  46. package/build/cjs/core/types.js +0 -13
  47. package/build/cjs/debug/Debug.js +0 -209
  48. package/build/cjs/debug/constants.js +0 -19
  49. package/build/cjs/debug/index.js +0 -24
  50. package/build/cjs/debug/log.js +0 -38
  51. package/build/cjs/ease/index.js +0 -149
  52. package/build/cjs/emitter/Emitter.js +0 -798
  53. package/build/cjs/emitter/FollowEmitter.js +0 -146
  54. package/build/cjs/emitter/constants.js +0 -20
  55. package/build/cjs/emitter/index.js +0 -24
  56. package/build/cjs/emitter/types.js +0 -11
  57. package/build/cjs/events/EventDispatcher.js +0 -105
  58. package/build/cjs/events/constants.js +0 -23
  59. package/build/cjs/events/index.js +0 -27
  60. package/build/cjs/index.js +0 -151
  61. package/build/cjs/initializer/Body.js +0 -122
  62. package/build/cjs/initializer/BodySprite.js +0 -146
  63. package/build/cjs/initializer/Initializer.js +0 -109
  64. package/build/cjs/initializer/InitializerUtil.js +0 -54
  65. package/build/cjs/initializer/Life.js +0 -106
  66. package/build/cjs/initializer/Mass.js +0 -101
  67. package/build/cjs/initializer/Position.js +0 -152
  68. package/build/cjs/initializer/Radius.js +0 -118
  69. package/build/cjs/initializer/Rate.js +0 -150
  70. package/build/cjs/initializer/Rotation.js +0 -95
  71. package/build/cjs/initializer/Texture.js +0 -139
  72. package/build/cjs/initializer/Velocity/PolarVelocity.js +0 -102
  73. package/build/cjs/initializer/Velocity/RadialVelocity.js +0 -111
  74. package/build/cjs/initializer/Velocity/VectorVelocity.js +0 -108
  75. package/build/cjs/initializer/Velocity/Velocity.js +0 -94
  76. package/build/cjs/initializer/Velocity/index.js +0 -32
  77. package/build/cjs/initializer/constants.js +0 -43
  78. package/build/cjs/initializer/index.js +0 -108
  79. package/build/cjs/initializer/types.js +0 -37
  80. package/build/cjs/math/ArraySpan.js +0 -103
  81. package/build/cjs/math/Box.js +0 -46
  82. package/build/cjs/math/ColorSpan.js +0 -113
  83. package/build/cjs/math/MathUtils.js +0 -57
  84. package/build/cjs/math/Polar3D.js +0 -115
  85. package/build/cjs/math/Span.js +0 -88
  86. package/build/cjs/math/Vector3D.js +0 -76
  87. package/build/cjs/math/constants.js +0 -35
  88. package/build/cjs/math/index.js +0 -122
  89. package/build/cjs/math/integration.js +0 -59
  90. package/build/cjs/math/types.js +0 -19
  91. package/build/cjs/renderer/BaseRenderer.js +0 -108
  92. package/build/cjs/renderer/CustomRenderer.js +0 -65
  93. package/build/cjs/renderer/GPURenderer/Desktop/index.js +0 -371
  94. package/build/cjs/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -13
  95. package/build/cjs/renderer/GPURenderer/Desktop/shaders/index.js +0 -22
  96. package/build/cjs/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -17
  97. package/build/cjs/renderer/GPURenderer/Mobile/index.js +0 -385
  98. package/build/cjs/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -13
  99. package/build/cjs/renderer/GPURenderer/Mobile/shaders/index.js +0 -22
  100. package/build/cjs/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -15
  101. package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -58
  102. package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -93
  103. package/build/cjs/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -9
  104. package/build/cjs/renderer/GPURenderer/common/TextureAtlas/index.js +0 -221
  105. package/build/cjs/renderer/GPURenderer/common/constants.js +0 -22
  106. package/build/cjs/renderer/GPURenderer/common/index.js +0 -38
  107. package/build/cjs/renderer/GPURenderer/common/shaders/constants.js +0 -9
  108. package/build/cjs/renderer/GPURenderer/common/stores/Target.js +0 -45
  109. package/build/cjs/renderer/GPURenderer/common/stores/UniqueList.js +0 -51
  110. package/build/cjs/renderer/GPURenderer/common/stores/index.js +0 -22
  111. package/build/cjs/renderer/GPURenderer/index.js +0 -97
  112. package/build/cjs/renderer/MeshRenderer.js +0 -136
  113. package/build/cjs/renderer/SpriteRenderer.js +0 -68
  114. package/build/cjs/renderer/index.js +0 -40
  115. package/build/cjs/renderer/types.js +0 -21
  116. package/build/cjs/utils/ColorUtil.js +0 -39
  117. package/build/cjs/utils/PUID.js +0 -26
  118. package/build/cjs/utils/THREEUtil.js +0 -40
  119. package/build/cjs/utils/Util.js +0 -69
  120. package/build/cjs/utils/index.js +0 -61
  121. package/build/cjs/utils/uid.js +0 -12
  122. package/build/cjs/zone/BoxZone.js +0 -178
  123. package/build/cjs/zone/LineZone.js +0 -101
  124. package/build/cjs/zone/MeshZone.js +0 -101
  125. package/build/cjs/zone/PointZone.js +0 -99
  126. package/build/cjs/zone/ScreenZone.js +0 -164
  127. package/build/cjs/zone/SphereZone.js +0 -155
  128. package/build/cjs/zone/Zone.js +0 -172
  129. package/build/cjs/zone/index.js +0 -56
  130. package/build/cjs/zone/types.js +0 -21
  131. package/build/esm/behaviour/Alpha.js +0 -134
  132. package/build/esm/behaviour/Attraction.js +0 -135
  133. package/build/esm/behaviour/Behaviour.js +0 -215
  134. package/build/esm/behaviour/Collision.js +0 -100
  135. package/build/esm/behaviour/Color.js +0 -101
  136. package/build/esm/behaviour/CrossZone.js +0 -82
  137. package/build/esm/behaviour/Force.js +0 -83
  138. package/build/esm/behaviour/Gravity.js +0 -40
  139. package/build/esm/behaviour/RandomDrift.js +0 -97
  140. package/build/esm/behaviour/Repulsion.js +0 -81
  141. package/build/esm/behaviour/Rotate.js +0 -214
  142. package/build/esm/behaviour/Scale.js +0 -131
  143. package/build/esm/behaviour/Spring.js +0 -90
  144. package/build/esm/behaviour/constants.js +0 -11
  145. package/build/esm/behaviour/index.js +0 -14
  146. package/build/esm/behaviour/types.js +0 -14
  147. package/build/esm/constants/index.js +0 -42
  148. package/build/esm/core/Particle.js +0 -357
  149. package/build/esm/core/Pool.js +0 -161
  150. package/build/esm/core/System.js +0 -320
  151. package/build/esm/core/constants.js +0 -127
  152. package/build/esm/core/fromJSON.js +0 -107
  153. package/build/esm/core/fromJSONAsync.js +0 -210
  154. package/build/esm/core/index.js +0 -4
  155. package/build/esm/core/three/Euler.js +0 -224
  156. package/build/esm/core/three/Math.js +0 -84
  157. package/build/esm/core/three/Matrix4.js +0 -739
  158. package/build/esm/core/three/Quaternion.js +0 -445
  159. package/build/esm/core/three/Vector3.js +0 -457
  160. package/build/esm/core/three/constants.js +0 -148
  161. package/build/esm/core/three/index.js +0 -5
  162. package/build/esm/core/types.js +0 -4
  163. package/build/esm/debug/Debug.js +0 -195
  164. package/build/esm/debug/constants.js +0 -7
  165. package/build/esm/debug/index.js +0 -3
  166. package/build/esm/debug/log.js +0 -31
  167. package/build/esm/ease/index.js +0 -113
  168. package/build/esm/emitter/Emitter.js +0 -708
  169. package/build/esm/emitter/FollowEmitter.js +0 -97
  170. package/build/esm/emitter/constants.js +0 -7
  171. package/build/esm/emitter/index.js +0 -3
  172. package/build/esm/emitter/types.js +0 -3
  173. package/build/esm/events/EventDispatcher.js +0 -82
  174. package/build/esm/events/constants.js +0 -9
  175. package/build/esm/events/index.js +0 -4
  176. package/build/esm/index.js +0 -13
  177. package/build/esm/initializer/Body.js +0 -83
  178. package/build/esm/initializer/BodySprite.js +0 -108
  179. package/build/esm/initializer/Initializer.js +0 -84
  180. package/build/esm/initializer/InitializerUtil.js +0 -48
  181. package/build/esm/initializer/Life.js +0 -66
  182. package/build/esm/initializer/Mass.js +0 -60
  183. package/build/esm/initializer/Position.js +0 -98
  184. package/build/esm/initializer/Radius.js +0 -75
  185. package/build/esm/initializer/Rate.js +0 -107
  186. package/build/esm/initializer/Rotation.js +0 -54
  187. package/build/esm/initializer/Texture.js +0 -101
  188. package/build/esm/initializer/Velocity/PolarVelocity.js +0 -63
  189. package/build/esm/initializer/Velocity/RadialVelocity.js +0 -72
  190. package/build/esm/initializer/Velocity/VectorVelocity.js +0 -69
  191. package/build/esm/initializer/Velocity/Velocity.js +0 -52
  192. package/build/esm/initializer/Velocity/index.js +0 -4
  193. package/build/esm/initializer/constants.js +0 -26
  194. package/build/esm/initializer/index.js +0 -12
  195. package/build/esm/initializer/types.js +0 -16
  196. package/build/esm/math/ArraySpan.js +0 -62
  197. package/build/esm/math/Box.js +0 -25
  198. package/build/esm/math/ColorSpan.js +0 -71
  199. package/build/esm/math/MathUtils.js +0 -48
  200. package/build/esm/math/Polar3D.js +0 -81
  201. package/build/esm/math/Span.js +0 -63
  202. package/build/esm/math/Vector3D.js +0 -34
  203. package/build/esm/math/constants.js +0 -24
  204. package/build/esm/math/index.js +0 -10
  205. package/build/esm/math/integration.js +0 -47
  206. package/build/esm/math/types.js +0 -7
  207. package/build/esm/renderer/BaseRenderer.js +0 -78
  208. package/build/esm/renderer/CustomRenderer.js +0 -23
  209. package/build/esm/renderer/GPURenderer/Desktop/index.js +0 -357
  210. package/build/esm/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -30
  211. package/build/esm/renderer/GPURenderer/Desktop/shaders/index.js +0 -3
  212. package/build/esm/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -36
  213. package/build/esm/renderer/GPURenderer/Mobile/index.js +0 -375
  214. package/build/esm/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -27
  215. package/build/esm/renderer/GPURenderer/Mobile/shaders/index.js +0 -3
  216. package/build/esm/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -33
  217. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -30
  218. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -70
  219. package/build/esm/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -2
  220. package/build/esm/renderer/GPURenderer/common/TextureAtlas/index.js +0 -206
  221. package/build/esm/renderer/GPURenderer/common/constants.js +0 -13
  222. package/build/esm/renderer/GPURenderer/common/index.js +0 -4
  223. package/build/esm/renderer/GPURenderer/common/shaders/constants.js +0 -2
  224. package/build/esm/renderer/GPURenderer/common/stores/Target.js +0 -26
  225. package/build/esm/renderer/GPURenderer/common/stores/UniqueList.js +0 -29
  226. package/build/esm/renderer/GPURenderer/common/stores/index.js +0 -3
  227. package/build/esm/renderer/GPURenderer/index.js +0 -57
  228. package/build/esm/renderer/MeshRenderer.js +0 -93
  229. package/build/esm/renderer/SpriteRenderer.js +0 -30
  230. package/build/esm/renderer/index.js +0 -5
  231. package/build/esm/renderer/types.js +0 -8
  232. package/build/esm/utils/ColorUtil.js +0 -32
  233. package/build/esm/utils/PUID.js +0 -19
  234. package/build/esm/utils/THREEUtil.js +0 -31
  235. package/build/esm/utils/Util.js +0 -60
  236. package/build/esm/utils/index.js +0 -13
  237. package/build/esm/utils/uid.js +0 -3
  238. package/build/esm/zone/BoxZone.js +0 -133
  239. package/build/esm/zone/LineZone.js +0 -61
  240. package/build/esm/zone/MeshZone.js +0 -60
  241. package/build/esm/zone/PointZone.js +0 -59
  242. package/build/esm/zone/ScreenZone.js +0 -116
  243. package/build/esm/zone/SphereZone.js +0 -113
  244. package/build/esm/zone/Zone.js +0 -141
  245. package/build/esm/zone/index.js +0 -7
  246. package/build/esm/zone/types.js +0 -8
  247. package/build/three-nebula.js +0 -2
  248. 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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
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 _constants = require("./constants");
23
-
24
- var _Initializer2 = _interopRequireDefault(require("./Initializer"));
25
-
26
- var _types = require("./types");
27
-
28
- var _utils = require("../utils");
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
- 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); }; }
35
-
36
- 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; } }
37
-
38
- /**
39
- * Sets the body property to be a THREE.Sprite on initialized particles.
40
- *
41
- * NOTE The texture map MUST be set on the SpriteMaterial in the TextureLoader.load
42
- * callback. Not doing so will cause WebGL buffer errors.
43
- */
44
- var BodySprite = /*#__PURE__*/function (_Initializer) {
45
- (0, _inherits2["default"])(BodySprite, _Initializer);
46
-
47
- var _super = _createSuper(BodySprite);
48
-
49
- /**
50
- * Constructs a BodySprite initializer.
51
- *
52
- * @param {object} THREE - The Web GL API we are using eg., THREE
53
- * @param {string} texture - The sprite texture
54
- * @param {object} materialProperties - The sprite material properties
55
- * @throws {Error} If the TextureLoader fails to load the supplied texture
56
- * @return void
57
- */
58
- function BodySprite(THREE, texture) {
59
- var _this;
60
-
61
- var materialProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _constants.DEFAULT_MATERIAL_PROPERTIES;
62
- var isEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
63
- (0, _classCallCheck2["default"])(this, BodySprite);
64
- _this = _super.call(this, _types.INITIALIZER_TYPE_BODY_SPRITE, isEnabled);
65
- var Sprite = THREE.Sprite,
66
- SpriteMaterial = THREE.SpriteMaterial,
67
- TextureLoader = THREE.TextureLoader;
68
- /**
69
- * @desc The material properties for this object's SpriteMaterial
70
- * NOTE This is required for testing purposes
71
- * @type {object}
72
- */
73
-
74
- _this.materialProperties = (0, _utils.withDefaults)(_constants.DEFAULT_MATERIAL_PROPERTIES, materialProperties);
75
- new TextureLoader().load(texture, function (map) {
76
- /**
77
- * @desc The texture for the THREE.SpriteMaterial map.
78
- * @type {Texture}
79
- */
80
- _this.texture = map;
81
- /**
82
- * @desc THREE.SpriteMaterial instance.
83
- * @type {SpriteMaterial}
84
- */
85
-
86
- _this.material = new SpriteMaterial(_objectSpread(_objectSpread({}, {
87
- map: map
88
- }), _this.materialProperties));
89
- /**
90
- * @desc THREE.Sprite instance.
91
- * @type {Sprite}
92
- */
93
-
94
- _this.sprite = new Sprite(_this.material);
95
- }, undefined, function (error) {
96
- throw new Error(error);
97
- });
98
- return _this;
99
- }
100
- /**
101
- * Sets the particle body to the sprite.
102
- *
103
- * @param {Particle} particle - The particle to set the body of
104
- * @return void
105
- */
106
-
107
-
108
- (0, _createClass2["default"])(BodySprite, [{
109
- key: "initialize",
110
- value: function initialize(particle) {
111
- particle.body = this.sprite;
112
- }
113
- /**
114
- * Creates a BodySprite initializer from JSON.
115
- *
116
- * @param {object} json - The JSON to construct the instance from
117
- * @param {object} THREE - The Web GL API we are using eg., THREE
118
- * @param {string} json.texture - The sprite texture
119
- * @param {object} json.materialProperties - The sprite material properties
120
- * @return {BodySprite}
121
- */
122
-
123
- }], [{
124
- key: "fromJSON",
125
- value: function fromJSON(json, THREE) {
126
- var texture = json.texture,
127
- _json$materialPropert = json.materialProperties,
128
- materialProperties = _json$materialPropert === void 0 ? _constants.DEFAULT_JSON_MATERIAL_PROPERTIES : _json$materialPropert,
129
- _json$isEnabled = json.isEnabled,
130
- isEnabled = _json$isEnabled === void 0 ? true : _json$isEnabled;
131
-
132
- var ensureMappedBlendingMode = function ensureMappedBlendingMode(properties) {
133
- var blending = properties.blending;
134
- return _objectSpread(_objectSpread({}, properties), {}, {
135
- blending: blending ? _constants.SUPPORTED_MATERIAL_BLENDING_MODES[blending] : _constants.SUPPORTED_MATERIAL_BLENDING_MODES[_constants.DEFAULT_JSON_MATERIAL_PROPERTIES.blending]
136
- });
137
- };
138
-
139
- return new BodySprite(THREE, texture, (0, _utils.withDefaults)(_constants.DEFAULT_JSON_MATERIAL_PROPERTIES, ensureMappedBlendingMode(materialProperties)), isEnabled);
140
- }
141
- }]);
142
- return BodySprite;
143
- }(_Initializer2["default"]);
144
-
145
- exports["default"] = BodySprite;
146
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbml0aWFsaXplci9Cb2R5U3ByaXRlLmpzIl0sIm5hbWVzIjpbIkJvZHlTcHJpdGUiLCJUSFJFRSIsInRleHR1cmUiLCJtYXRlcmlhbFByb3BlcnRpZXMiLCJERUZBVUxUX01BVEVSSUFMX1BST1BFUlRJRVMiLCJpc0VuYWJsZWQiLCJ0eXBlIiwiU3ByaXRlIiwiU3ByaXRlTWF0ZXJpYWwiLCJUZXh0dXJlTG9hZGVyIiwibG9hZCIsIm1hcCIsIm1hdGVyaWFsIiwic3ByaXRlIiwidW5kZWZpbmVkIiwiZXJyb3IiLCJFcnJvciIsInBhcnRpY2xlIiwiYm9keSIsImpzb24iLCJERUZBVUxUX0pTT05fTUFURVJJQUxfUFJPUEVSVElFUyIsImVuc3VyZU1hcHBlZEJsZW5kaW5nTW9kZSIsInByb3BlcnRpZXMiLCJibGVuZGluZyIsIlNVUFBPUlRFRF9NQVRFUklBTF9CTEVORElOR19NT0RFUyIsIkluaXRpYWxpemVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFNQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNxQkEsVTs7Ozs7QUFDbkI7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Usc0JBQ0VDLEtBREYsRUFFRUMsT0FGRixFQUtFO0FBQUE7O0FBQUEsUUFGQUMsa0JBRUEsdUVBRnFCQyxzQ0FFckI7QUFBQSxRQURBQyxTQUNBLHVFQURZLElBQ1o7QUFBQTtBQUNBLDhCQUFNQyxtQ0FBTixFQUFZRCxTQUFaO0FBREEsUUFHUUUsTUFIUixHQUdrRE4sS0FIbEQsQ0FHUU0sTUFIUjtBQUFBLFFBR2dCQyxjQUhoQixHQUdrRFAsS0FIbEQsQ0FHZ0JPLGNBSGhCO0FBQUEsUUFHZ0NDLGFBSGhDLEdBR2tEUixLQUhsRCxDQUdnQ1EsYUFIaEM7QUFLQTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUNJLFVBQUtOLGtCQUFMLEdBQTBCLHlCQUN4QkMsc0NBRHdCLEVBRXhCRCxrQkFGd0IsQ0FBMUI7QUFLQSxRQUFJTSxhQUFKLEdBQW9CQyxJQUFwQixDQUNFUixPQURGLEVBRUUsVUFBQVMsR0FBRyxFQUFJO0FBQ0w7QUFDUjtBQUNBO0FBQ0E7QUFDUSxZQUFLVCxPQUFMLEdBQWVTLEdBQWY7QUFFQTtBQUNSO0FBQ0E7QUFDQTs7QUFDUSxZQUFLQyxRQUFMLEdBQWdCLElBQUlKLGNBQUosaUNBQ1g7QUFBRUcsUUFBQUEsR0FBRyxFQUFIQTtBQUFGLE9BRFcsR0FFWCxNQUFLUixrQkFGTSxFQUFoQjtBQUtBO0FBQ1I7QUFDQTtBQUNBOztBQUNRLFlBQUtVLE1BQUwsR0FBYyxJQUFJTixNQUFKLENBQVcsTUFBS0ssUUFBaEIsQ0FBZDtBQUNELEtBdkJILEVBd0JFRSxTQXhCRixFQXlCRSxVQUFBQyxLQUFLLEVBQUk7QUFDUCxZQUFNLElBQUlDLEtBQUosQ0FBVUQsS0FBVixDQUFOO0FBQ0QsS0EzQkg7QUFmQTtBQTRDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7K0JBQ2FFLFEsRUFBVTtBQUNuQkEsTUFBQUEsUUFBUSxDQUFDQyxJQUFULEdBQWdCLEtBQUtMLE1BQXJCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7NkJBQ2tCTSxJLEVBQU1sQixLLEVBQU87QUFBQSxVQUV6QkMsT0FGeUIsR0FLdkJpQixJQUx1QixDQUV6QmpCLE9BRnlCO0FBQUEsa0NBS3ZCaUIsSUFMdUIsQ0FHekJoQixrQkFIeUI7QUFBQSxVQUd6QkEsa0JBSHlCLHNDQUdKaUIsMkNBSEk7QUFBQSw0QkFLdkJELElBTHVCLENBSXpCZCxTQUp5QjtBQUFBLFVBSXpCQSxTQUp5QixnQ0FJYixJQUphOztBQU8zQixVQUFNZ0Isd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUEyQixDQUFBQyxVQUFVLEVBQUk7QUFBQSxZQUNyQ0MsUUFEcUMsR0FDeEJELFVBRHdCLENBQ3JDQyxRQURxQztBQUc3QywrQ0FDS0QsVUFETDtBQUVFQyxVQUFBQSxRQUFRLEVBQUVBLFFBQVEsR0FDZEMsNkNBQWtDRCxRQUFsQyxDQURjLEdBRWRDLDZDQUNBSiw0Q0FBaUNHLFFBRGpDO0FBSk47QUFRRCxPQVhEOztBQWFBLGFBQU8sSUFBSXZCLFVBQUosQ0FDTEMsS0FESyxFQUVMQyxPQUZLLEVBR0wseUJBQ0VrQiwyQ0FERixFQUVFQyx3QkFBd0IsQ0FBQ2xCLGtCQUFELENBRjFCLENBSEssRUFPTEUsU0FQSyxDQUFQO0FBU0Q7OztFQTdHcUNvQix3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERFRkFVTFRfSlNPTl9NQVRFUklBTF9QUk9QRVJUSUVTLFxuICBERUZBVUxUX01BVEVSSUFMX1BST1BFUlRJRVMsXG4gIFNVUFBPUlRFRF9NQVRFUklBTF9CTEVORElOR19NT0RFUyxcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5pbXBvcnQgSW5pdGlhbGl6ZXIgZnJvbSAnLi9Jbml0aWFsaXplcic7XG5pbXBvcnQgeyBJTklUSUFMSVpFUl9UWVBFX0JPRFlfU1BSSVRFIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHdpdGhEZWZhdWx0cyB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBTZXRzIHRoZSBib2R5IHByb3BlcnR5IHRvIGJlIGEgVEhSRUUuU3ByaXRlIG9uIGluaXRpYWxpemVkIHBhcnRpY2xlcy5cbiAqXG4gKiBOT1RFIFRoZSB0ZXh0dXJlIG1hcCBNVVNUIGJlIHNldCBvbiB0aGUgU3ByaXRlTWF0ZXJpYWwgaW4gdGhlIFRleHR1cmVMb2FkZXIubG9hZFxuICogY2FsbGJhY2suIE5vdCBkb2luZyBzbyB3aWxsIGNhdXNlIFdlYkdMIGJ1ZmZlciBlcnJvcnMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJvZHlTcHJpdGUgZXh0ZW5kcyBJbml0aWFsaXplciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgQm9keVNwcml0ZSBpbml0aWFsaXplci5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IFRIUkVFIC0gVGhlIFdlYiBHTCBBUEkgd2UgYXJlIHVzaW5nIGVnLiwgVEhSRUVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHR1cmUgLSBUaGUgc3ByaXRlIHRleHR1cmVcbiAgICogQHBhcmFtIHtvYmplY3R9IG1hdGVyaWFsUHJvcGVydGllcyAtIFRoZSBzcHJpdGUgbWF0ZXJpYWwgcHJvcGVydGllc1xuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIFRleHR1cmVMb2FkZXIgZmFpbHMgdG8gbG9hZCB0aGUgc3VwcGxpZWQgdGV4dHVyZVxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIFRIUkVFLFxuICAgIHRleHR1cmUsXG4gICAgbWF0ZXJpYWxQcm9wZXJ0aWVzID0gREVGQVVMVF9NQVRFUklBTF9QUk9QRVJUSUVTLFxuICAgIGlzRW5hYmxlZCA9IHRydWVcbiAgKSB7XG4gICAgc3VwZXIodHlwZSwgaXNFbmFibGVkKTtcblxuICAgIGNvbnN0IHsgU3ByaXRlLCBTcHJpdGVNYXRlcmlhbCwgVGV4dHVyZUxvYWRlciB9ID0gVEhSRUU7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgbWF0ZXJpYWwgcHJvcGVydGllcyBmb3IgdGhpcyBvYmplY3QncyBTcHJpdGVNYXRlcmlhbFxuICAgICAqIE5PVEUgVGhpcyBpcyByZXF1aXJlZCBmb3IgdGVzdGluZyBwdXJwb3Nlc1xuICAgICAqIEB0eXBlIHtvYmplY3R9XG4gICAgICovXG4gICAgdGhpcy5tYXRlcmlhbFByb3BlcnRpZXMgPSB3aXRoRGVmYXVsdHMoXG4gICAgICBERUZBVUxUX01BVEVSSUFMX1BST1BFUlRJRVMsXG4gICAgICBtYXRlcmlhbFByb3BlcnRpZXNcbiAgICApO1xuXG4gICAgbmV3IFRleHR1cmVMb2FkZXIoKS5sb2FkKFxuICAgICAgdGV4dHVyZSxcbiAgICAgIG1hcCA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVzYyBUaGUgdGV4dHVyZSBmb3IgdGhlIFRIUkVFLlNwcml0ZU1hdGVyaWFsIG1hcC5cbiAgICAgICAgICogQHR5cGUge1RleHR1cmV9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLnRleHR1cmUgPSBtYXA7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXNjIFRIUkVFLlNwcml0ZU1hdGVyaWFsIGluc3RhbmNlLlxuICAgICAgICAgKiBAdHlwZSB7U3ByaXRlTWF0ZXJpYWx9XG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLm1hdGVyaWFsID0gbmV3IFNwcml0ZU1hdGVyaWFsKHtcbiAgICAgICAgICAuLi57IG1hcCB9LFxuICAgICAgICAgIC4uLnRoaXMubWF0ZXJpYWxQcm9wZXJ0aWVzLFxuICAgICAgICB9KTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlc2MgVEhSRUUuU3ByaXRlIGluc3RhbmNlLlxuICAgICAgICAgKiBAdHlwZSB7U3ByaXRlfVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5zcHJpdGUgPSBuZXcgU3ByaXRlKHRoaXMubWF0ZXJpYWwpO1xuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcnRpY2xlIGJvZHkgdG8gdGhlIHNwcml0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGUgLSBUaGUgcGFydGljbGUgdG8gc2V0IHRoZSBib2R5IG9mXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgaW5pdGlhbGl6ZShwYXJ0aWNsZSkge1xuICAgIHBhcnRpY2xlLmJvZHkgPSB0aGlzLnNwcml0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQm9keVNwcml0ZSBpbml0aWFsaXplciBmcm9tIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZSBmcm9tXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBUSFJFRSAtIFRoZSBXZWIgR0wgQVBJIHdlIGFyZSB1c2luZyBlZy4sIFRIUkVFXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBqc29uLnRleHR1cmUgLSBUaGUgc3ByaXRlIHRleHR1cmVcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24ubWF0ZXJpYWxQcm9wZXJ0aWVzIC0gVGhlIHNwcml0ZSBtYXRlcmlhbCBwcm9wZXJ0aWVzXG4gICAqIEByZXR1cm4ge0JvZHlTcHJpdGV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgVEhSRUUpIHtcbiAgICBjb25zdCB7XG4gICAgICB0ZXh0dXJlLFxuICAgICAgbWF0ZXJpYWxQcm9wZXJ0aWVzID0gREVGQVVMVF9KU09OX01BVEVSSUFMX1BST1BFUlRJRVMsXG4gICAgICBpc0VuYWJsZWQgPSB0cnVlLFxuICAgIH0gPSBqc29uO1xuXG4gICAgY29uc3QgZW5zdXJlTWFwcGVkQmxlbmRpbmdNb2RlID0gcHJvcGVydGllcyA9PiB7XG4gICAgICBjb25zdCB7IGJsZW5kaW5nIH0gPSBwcm9wZXJ0aWVzO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcm9wZXJ0aWVzLFxuICAgICAgICBibGVuZGluZzogYmxlbmRpbmdcbiAgICAgICAgICA/IFNVUFBPUlRFRF9NQVRFUklBTF9CTEVORElOR19NT0RFU1tibGVuZGluZ11cbiAgICAgICAgICA6IFNVUFBPUlRFRF9NQVRFUklBTF9CTEVORElOR19NT0RFU1tcbiAgICAgICAgICAgIERFRkFVTFRfSlNPTl9NQVRFUklBTF9QUk9QRVJUSUVTLmJsZW5kaW5nXG4gICAgICAgICAgXSxcbiAgICAgIH07XG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgQm9keVNwcml0ZShcbiAgICAgIFRIUkVFLFxuICAgICAgdGV4dHVyZSxcbiAgICAgIHdpdGhEZWZhdWx0cyhcbiAgICAgICAgREVGQVVMVF9KU09OX01BVEVSSUFMX1BST1BFUlRJRVMsXG4gICAgICAgIGVuc3VyZU1hcHBlZEJsZW5kaW5nTW9kZShtYXRlcmlhbFByb3BlcnRpZXMpXG4gICAgICApLFxuICAgICAgaXNFbmFibGVkXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,109 +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 _types = require("./types");
15
-
16
- /**
17
- * The base Emitter / Particle property class.
18
- *
19
- * @abstract
20
- */
21
- var Initializer = /*#__PURE__*/function () {
22
- /**
23
- * Constructs an Initializer instance.
24
- *
25
- * @param {string} [type=INITIALIZER_TYPE_ABSTRACT] - The intiializer type
26
- * @param {boolean} [isEnabled=true] - Determines if the initializer should be enabled or not
27
- * @return void
28
- */
29
- function Initializer() {
30
- var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _types.INITIALIZER_TYPE_ABSTRACT;
31
- var isEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
32
- (0, _classCallCheck2["default"])(this, Initializer);
33
- this.type = type;
34
- this.isEnabled = isEnabled;
35
- }
36
- /**
37
- * Initializes the property on the emitter or particle.
38
- *
39
- * @see {@link '../emitter/emitter.js'} setupParticle
40
- * @param {Emitter} emitter - the emitter to initialize the property on
41
- * @param {Particle} particle - the particle to intiialize the property on
42
- * @return void
43
- */
44
-
45
-
46
- (0, _createClass2["default"])(Initializer, [{
47
- key: "init",
48
- value: function init(emitter, particle) {
49
- if (!this.isEnabled) {
50
- return;
51
- }
52
-
53
- if (particle) {
54
- this.initialize(particle);
55
- particle.hasBeenInitialized = true;
56
- } else {
57
- this.initialize(emitter);
58
- emitter.hasBeenInitialized = true;
59
- }
60
- }
61
- /**
62
- * @abstract
63
- */
64
-
65
- }, {
66
- key: "reset",
67
- value: function reset() {}
68
- /**
69
- * Place custom property initialization code in this method in the subclass.
70
- *
71
- * @param {object} target - either an Emitter or a Particle
72
- * @abstract
73
- */
74
-
75
- }, {
76
- key: "initialize",
77
- value: function initialize(target) {} // eslint-disable-line
78
-
79
- /**
80
- * Determines if the initializer requires a Web GL API to be provided to its constructor.
81
- * If true, the WebGL API will need to be provided as the first argument to the constructor
82
- * and fromJSON methods.
83
- *
84
- * @return {boolean}
85
- */
86
-
87
- }], [{
88
- key: "requiresWebGlApi",
89
- value: function requiresWebGlApi() {
90
- return false;
91
- }
92
- /**
93
- * Returns a new instance of the initializer from the JSON object passed.
94
- *
95
- * @abstract
96
- * @param {object} json - JSON object containing the required constructor properties
97
- * @return {Behaviour}
98
- */
99
-
100
- }, {
101
- key: "fromJSON",
102
- value: function fromJSON(json) {} // eslint-disable-line
103
-
104
- }]);
105
- return Initializer;
106
- }();
107
-
108
- exports["default"] = Initializer;
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbml0aWFsaXplci9Jbml0aWFsaXplci5qcyJdLCJuYW1lcyI6WyJJbml0aWFsaXplciIsInR5cGUiLCJJTklUSUFMSVpFUl9UWVBFX0FCU1RSQUNUIiwiaXNFbmFibGVkIiwiZW1pdHRlciIsInBhcnRpY2xlIiwiaW5pdGlhbGl6ZSIsImhhc0JlZW5Jbml0aWFsaXplZCIsInRhcmdldCIsImpzb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ3FCQSxXO0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUUseUJBQWdFO0FBQUEsUUFBcERDLElBQW9ELHVFQUE3Q0MsZ0NBQTZDO0FBQUEsUUFBbEJDLFNBQWtCLHVFQUFOLElBQU07QUFBQTtBQUM5RCxTQUFLRixJQUFMLEdBQVlBLElBQVo7QUFDQSxTQUFLRSxTQUFMLEdBQWlCQSxTQUFqQjtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7eUJBQ09DLE8sRUFBU0MsUSxFQUFVO0FBQ3RCLFVBQUksQ0FBQyxLQUFLRixTQUFWLEVBQXFCO0FBQ25CO0FBQ0Q7O0FBRUQsVUFBSUUsUUFBSixFQUFjO0FBQ1osYUFBS0MsVUFBTCxDQUFnQkQsUUFBaEI7QUFDQUEsUUFBQUEsUUFBUSxDQUFDRSxrQkFBVCxHQUE4QixJQUE5QjtBQUNELE9BSEQsTUFHTztBQUNMLGFBQUtELFVBQUwsQ0FBZ0JGLE9BQWhCO0FBQ0FBLFFBQUFBLE9BQU8sQ0FBQ0csa0JBQVIsR0FBNkIsSUFBN0I7QUFDRDtBQUNGO0FBRUQ7QUFDRjtBQUNBOzs7OzRCQUNVLENBQUU7QUFFVjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7K0JBQ2FDLE0sRUFBUSxDQUFFLEMsQ0FBQzs7QUFFdEI7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7dUNBQzRCO0FBQ3hCLGFBQU8sS0FBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7NkJBQ2tCQyxJLEVBQU0sQ0FBRSxDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTklUSUFMSVpFUl9UWVBFX0FCU1RSQUNUIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGJhc2UgRW1pdHRlciAvIFBhcnRpY2xlIHByb3BlcnR5IGNsYXNzLlxuICpcbiAqIEBhYnN0cmFjdFxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbml0aWFsaXplciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIEluaXRpYWxpemVyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3R5cGU9SU5JVElBTElaRVJfVFlQRV9BQlNUUkFDVF0gLSBUaGUgaW50aWlhbGl6ZXIgdHlwZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0VuYWJsZWQ9dHJ1ZV0gLSBEZXRlcm1pbmVzIGlmIHRoZSBpbml0aWFsaXplciBzaG91bGQgYmUgZW5hYmxlZCBvciBub3RcblxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHR5cGUgPSBJTklUSUFMSVpFUl9UWVBFX0FCU1RSQUNULCBpc0VuYWJsZWQgPSB0cnVlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmlzRW5hYmxlZCA9IGlzRW5hYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgcHJvcGVydHkgb24gdGhlIGVtaXR0ZXIgb3IgcGFydGljbGUuXG4gICAqXG4gICAqIEBzZWUge0BsaW5rICcuLi9lbWl0dGVyL2VtaXR0ZXIuanMnfSBzZXR1cFBhcnRpY2xlXG4gICAqIEBwYXJhbSB7RW1pdHRlcn0gZW1pdHRlciAtIHRoZSBlbWl0dGVyIHRvIGluaXRpYWxpemUgdGhlIHByb3BlcnR5IG9uXG4gICAqIEBwYXJhbSB7UGFydGljbGV9IHBhcnRpY2xlIC0gdGhlIHBhcnRpY2xlIHRvIGludGlpYWxpemUgdGhlIHByb3BlcnR5IG9uXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgaW5pdChlbWl0dGVyLCBwYXJ0aWNsZSkge1xuICAgIGlmICghdGhpcy5pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocGFydGljbGUpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZShwYXJ0aWNsZSk7XG4gICAgICBwYXJ0aWNsZS5oYXNCZWVuSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxpemUoZW1pdHRlcik7XG4gICAgICBlbWl0dGVyLmhhc0JlZW5Jbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKi9cbiAgcmVzZXQoKSB7fVxuXG4gIC8qKlxuICAgKiBQbGFjZSBjdXN0b20gcHJvcGVydHkgaW5pdGlhbGl6YXRpb24gY29kZSBpbiB0aGlzIG1ldGhvZCBpbiB0aGUgc3ViY2xhc3MuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSB0YXJnZXQgLSBlaXRoZXIgYW4gRW1pdHRlciBvciBhIFBhcnRpY2xlXG4gICAqIEBhYnN0cmFjdFxuICAgKi9cbiAgaW5pdGlhbGl6ZSh0YXJnZXQpIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgaW5pdGlhbGl6ZXIgcmVxdWlyZXMgYSBXZWIgR0wgQVBJIHRvIGJlIHByb3ZpZGVkIHRvIGl0cyBjb25zdHJ1Y3Rvci5cbiAgICogSWYgdHJ1ZSwgdGhlIFdlYkdMIEFQSSB3aWxsIG5lZWQgdG8gYmUgcHJvdmlkZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3RvclxuICAgKiBhbmQgZnJvbUpTT04gbWV0aG9kcy5cbiAgICpcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHN0YXRpYyByZXF1aXJlc1dlYkdsQXBpKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBpbml0aWFsaXplciBmcm9tIHRoZSBKU09OIG9iamVjdCBwYXNzZWQuXG4gICAqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHByb3BlcnRpZXNcbiAgICogQHJldHVybiB7QmVoYXZpb3VyfVxuICAgKi9cbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbn1cbiJdfQ==
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- var _three = require("../core/three/");
9
-
10
- var particleEuler = new _three.Euler();
11
- var _default = {
12
- particleEuler: null,
13
-
14
- /**
15
- * Loops through the initializers array and calls each initializer's initialize method
16
- * on the supplied particle. This sets the particle's initial properties.
17
- *
18
- * @see {@link '../emitter/Emitter'} setupParticle
19
- * @param {Emitter} emitter - The emitter that has called this method
20
- * @param {Particle} particle - The particle that has just been created
21
- * @param {array<Initializer>} initializers - All of the emitter's initializers
22
- * @return void
23
- */
24
- initialize: function initialize(emitter, particle, initializers) {
25
- var i = initializers.length;
26
-
27
- while (i--) {
28
- initializers[i].init(emitter, particle);
29
- }
30
-
31
- emitter.bindEmitter && this.bindEmitter(emitter, particle);
32
- },
33
-
34
- /**
35
- * Ensures that the emitter's position, velocity and accleration are added
36
- * to each created particle.
37
- *
38
- * @param {Emitter} emitter - The emitter that is emitting the particles
39
- * @param {Particle} particle - The newly created particle
40
- * @return void
41
- */
42
- bindEmitter: function bindEmitter(emitter, particle) {
43
- var _emitter$rotation = emitter.rotation,
44
- x = _emitter$rotation.x,
45
- y = _emitter$rotation.y,
46
- z = _emitter$rotation.z;
47
- particle.position.add(emitter.position);
48
- particle.velocity.add(emitter.velocity);
49
- particle.acceleration.add(emitter.acceleration);
50
- particle.velocity.applyEuler(particleEuler.set(x, y, z));
51
- }
52
- };
53
- exports["default"] = _default;
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbml0aWFsaXplci9Jbml0aWFsaXplclV0aWwuanMiXSwibmFtZXMiOlsicGFydGljbGVFdWxlciIsIkV1bGVyIiwiaW5pdGlhbGl6ZSIsImVtaXR0ZXIiLCJwYXJ0aWNsZSIsImluaXRpYWxpemVycyIsImkiLCJsZW5ndGgiLCJpbml0IiwiYmluZEVtaXR0ZXIiLCJyb3RhdGlvbiIsIngiLCJ5IiwieiIsInBvc2l0aW9uIiwiYWRkIiwidmVsb2NpdHkiLCJhY2NlbGVyYXRpb24iLCJhcHBseUV1bGVyIiwic2V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUEsSUFBTUEsYUFBYSxHQUFHLElBQUlDLFlBQUosRUFBdEI7ZUFFZTtBQUNiRCxFQUFBQSxhQUFhLEVBQUUsSUFERjs7QUFFYjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFRSxFQUFBQSxVQUFVLEVBQUUsb0JBQVNDLE9BQVQsRUFBa0JDLFFBQWxCLEVBQTRCQyxZQUE1QixFQUEwQztBQUNwRCxRQUFJQyxDQUFDLEdBQUdELFlBQVksQ0FBQ0UsTUFBckI7O0FBRUEsV0FBT0QsQ0FBQyxFQUFSLEVBQVk7QUFDVkQsTUFBQUEsWUFBWSxDQUFDQyxDQUFELENBQVosQ0FBZ0JFLElBQWhCLENBQXFCTCxPQUFyQixFQUE4QkMsUUFBOUI7QUFDRDs7QUFFREQsSUFBQUEsT0FBTyxDQUFDTSxXQUFSLElBQXVCLEtBQUtBLFdBQUwsQ0FBaUJOLE9BQWpCLEVBQTBCQyxRQUExQixDQUF2QjtBQUNELEdBcEJZOztBQXNCYjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0VLLEVBQUFBLFdBQVcsRUFBRSxxQkFBU04sT0FBVCxFQUFrQkMsUUFBbEIsRUFBNEI7QUFBQSw0QkFHbkNELE9BSG1DLENBRXJDTyxRQUZxQztBQUFBLFFBRXpCQyxDQUZ5QixxQkFFekJBLENBRnlCO0FBQUEsUUFFdEJDLENBRnNCLHFCQUV0QkEsQ0FGc0I7QUFBQSxRQUVuQkMsQ0FGbUIscUJBRW5CQSxDQUZtQjtBQUt2Q1QsSUFBQUEsUUFBUSxDQUFDVSxRQUFULENBQWtCQyxHQUFsQixDQUFzQlosT0FBTyxDQUFDVyxRQUE5QjtBQUNBVixJQUFBQSxRQUFRLENBQUNZLFFBQVQsQ0FBa0JELEdBQWxCLENBQXNCWixPQUFPLENBQUNhLFFBQTlCO0FBQ0FaLElBQUFBLFFBQVEsQ0FBQ2EsWUFBVCxDQUFzQkYsR0FBdEIsQ0FBMEJaLE9BQU8sQ0FBQ2MsWUFBbEM7QUFDQWIsSUFBQUEsUUFBUSxDQUFDWSxRQUFULENBQWtCRSxVQUFsQixDQUE2QmxCLGFBQWEsQ0FBQ21CLEdBQWQsQ0FBa0JSLENBQWxCLEVBQXFCQyxDQUFyQixFQUF3QkMsQ0FBeEIsQ0FBN0I7QUFDRDtBQXZDWSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXVsZXIgfSBmcm9tICcuLi9jb3JlL3RocmVlLyc7XG5cbmNvbnN0IHBhcnRpY2xlRXVsZXIgPSBuZXcgRXVsZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBwYXJ0aWNsZUV1bGVyOiBudWxsLFxuICAvKipcbiAgICogTG9vcHMgdGhyb3VnaCB0aGUgaW5pdGlhbGl6ZXJzIGFycmF5IGFuZCBjYWxscyBlYWNoIGluaXRpYWxpemVyJ3MgaW5pdGlhbGl6ZSBtZXRob2RcbiAgICogb24gdGhlIHN1cHBsaWVkIHBhcnRpY2xlLiBUaGlzIHNldHMgdGhlIHBhcnRpY2xlJ3MgaW5pdGlhbCBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAc2VlIHtAbGluayAnLi4vZW1pdHRlci9FbWl0dGVyJ30gc2V0dXBQYXJ0aWNsZVxuICAgKiBAcGFyYW0ge0VtaXR0ZXJ9IGVtaXR0ZXIgLSBUaGUgZW1pdHRlciB0aGF0IGhhcyBjYWxsZWQgdGhpcyBtZXRob2RcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGUgLSBUaGUgcGFydGljbGUgdGhhdCBoYXMganVzdCBiZWVuIGNyZWF0ZWRcbiAgICogQHBhcmFtIHthcnJheTxJbml0aWFsaXplcj59IGluaXRpYWxpemVycyAtIEFsbCBvZiB0aGUgZW1pdHRlcidzIGluaXRpYWxpemVyc1xuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGluaXRpYWxpemU6IGZ1bmN0aW9uKGVtaXR0ZXIsIHBhcnRpY2xlLCBpbml0aWFsaXplcnMpIHtcbiAgICBsZXQgaSA9IGluaXRpYWxpemVycy5sZW5ndGg7XG5cbiAgICB3aGlsZSAoaS0tKSB7XG4gICAgICBpbml0aWFsaXplcnNbaV0uaW5pdChlbWl0dGVyLCBwYXJ0aWNsZSk7XG4gICAgfVxuXG4gICAgZW1pdHRlci5iaW5kRW1pdHRlciAmJiB0aGlzLmJpbmRFbWl0dGVyKGVtaXR0ZXIsIHBhcnRpY2xlKTtcbiAgfSxcblxuICAvKipcbiAgICogRW5zdXJlcyB0aGF0IHRoZSBlbWl0dGVyJ3MgcG9zaXRpb24sIHZlbG9jaXR5IGFuZCBhY2NsZXJhdGlvbiBhcmUgYWRkZWRcbiAgICogdG8gZWFjaCBjcmVhdGVkIHBhcnRpY2xlLlxuICAgKlxuICAgKiBAcGFyYW0ge0VtaXR0ZXJ9IGVtaXR0ZXIgLSBUaGUgZW1pdHRlciB0aGF0IGlzIGVtaXR0aW5nIHRoZSBwYXJ0aWNsZXNcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGUgLSBUaGUgbmV3bHkgY3JlYXRlZCBwYXJ0aWNsZVxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGJpbmRFbWl0dGVyOiBmdW5jdGlvbihlbWl0dGVyLCBwYXJ0aWNsZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIHJvdGF0aW9uOiB7IHgsIHksIHogfSxcbiAgICB9ID0gZW1pdHRlcjtcblxuICAgIHBhcnRpY2xlLnBvc2l0aW9uLmFkZChlbWl0dGVyLnBvc2l0aW9uKTtcbiAgICBwYXJ0aWNsZS52ZWxvY2l0eS5hZGQoZW1pdHRlci52ZWxvY2l0eSk7XG4gICAgcGFydGljbGUuYWNjZWxlcmF0aW9uLmFkZChlbWl0dGVyLmFjY2VsZXJhdGlvbik7XG4gICAgcGFydGljbGUudmVsb2NpdHkuYXBwbHlFdWxlcihwYXJ0aWNsZUV1bGVyLnNldCh4LCB5LCB6KSk7XG4gIH0sXG59O1xuIl19
@@ -1,106 +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 _Initializer2 = _interopRequireDefault(require("./Initializer"));
21
-
22
- var _math = require("../math");
23
-
24
- var _types = require("./types");
25
-
26
- 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); }; }
27
-
28
- 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; } }
29
-
30
- /**
31
- * Sets the life property on initialized particles.
32
- *
33
- */
34
- var Life = /*#__PURE__*/function (_Initializer) {
35
- (0, _inherits2["default"])(Life, _Initializer);
36
-
37
- var _super = _createSuper(Life);
38
-
39
- /**
40
- * Constructs a Life property instance.
41
- *
42
- * @param {number} min - The minimum life
43
- * @param {number} max - The maximum life
44
- * @param {boolean} [center] - Determines whether to average the life value
45
- * @param {boolean} [isEnabled=true] - Determines if the initializer should be enabled or not
46
- * @return void
47
- */
48
- function Life(min, max, center) {
49
- var _this;
50
-
51
- var isEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
52
- (0, _classCallCheck2["default"])(this, Life);
53
- _this = _super.call(this, _types.INITIALIZER_TYPE_LIFE, isEnabled);
54
- /**
55
- * @desc The life span of the particle.
56
- * @type {Span}
57
- */
58
-
59
- _this.lifePan = (0, _math.createSpan)(min, max, center);
60
- return _this;
61
- }
62
- /**
63
- * Sets the particle's initial life.
64
- *
65
- * @param {Particle} particle - the particle to initialize the property on
66
- * @return void
67
- */
68
-
69
-
70
- (0, _createClass2["default"])(Life, [{
71
- key: "initialize",
72
- value: function initialize(particle) {
73
- if (this.lifePan.a == Infinity || this.lifePan.a == 'infi') {
74
- particle.life = Infinity;
75
- } else {
76
- particle.life = this.lifePan.getValue();
77
- }
78
- }
79
- /**
80
- * Creates a Life initializer from JSON.
81
- *
82
- * @param {object} json - The JSON to construct the instance from.
83
- * @param {number} json.min - The minimum life time
84
- * @param {number} json.max - The maximum life time
85
- * @param {number} json.center - The center of the life time
86
- * @param {boolean} [json.isEnabled=true] - Determines if the initializer should be enabled or not
87
- * @return {Life}
88
- */
89
-
90
- }], [{
91
- key: "fromJSON",
92
- value: function fromJSON(json) {
93
- var min = json.min,
94
- max = json.max,
95
- _json$center = json.center,
96
- center = _json$center === void 0 ? false : _json$center,
97
- _json$isEnabled = json.isEnabled,
98
- isEnabled = _json$isEnabled === void 0 ? true : _json$isEnabled;
99
- return new Life(min, max, center, isEnabled);
100
- }
101
- }]);
102
- return Life;
103
- }(_Initializer2["default"]);
104
-
105
- exports["default"] = Life;
106
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbml0aWFsaXplci9MaWZlLmpzIl0sIm5hbWVzIjpbIkxpZmUiLCJtaW4iLCJtYXgiLCJjZW50ZXIiLCJpc0VuYWJsZWQiLCJ0eXBlIiwibGlmZVBhbiIsInBhcnRpY2xlIiwiYSIsIkluZmluaXR5IiwibGlmZSIsImdldFZhbHVlIiwianNvbiIsIkluaXRpYWxpemVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0lBQ3FCQSxJOzs7OztBQUNuQjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRSxnQkFBWUMsR0FBWixFQUFpQkMsR0FBakIsRUFBc0JDLE1BQXRCLEVBQWdEO0FBQUE7O0FBQUEsUUFBbEJDLFNBQWtCLHVFQUFOLElBQU07QUFBQTtBQUM5Qyw4QkFBTUMsNEJBQU4sRUFBWUQsU0FBWjtBQUVBO0FBQ0o7QUFDQTtBQUNBOztBQUNJLFVBQUtFLE9BQUwsR0FBZSxzQkFBV0wsR0FBWCxFQUFnQkMsR0FBaEIsRUFBcUJDLE1BQXJCLENBQWY7QUFQOEM7QUFRL0M7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OytCQUNhSSxRLEVBQVU7QUFDbkIsVUFBSSxLQUFLRCxPQUFMLENBQWFFLENBQWIsSUFBa0JDLFFBQWxCLElBQThCLEtBQUtILE9BQUwsQ0FBYUUsQ0FBYixJQUFrQixNQUFwRCxFQUE0RDtBQUMxREQsUUFBQUEsUUFBUSxDQUFDRyxJQUFULEdBQWdCRCxRQUFoQjtBQUNELE9BRkQsTUFFTztBQUNMRixRQUFBQSxRQUFRLENBQUNHLElBQVQsR0FBZ0IsS0FBS0osT0FBTCxDQUFhSyxRQUFiLEVBQWhCO0FBQ0Q7QUFDRjtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzZCQUNrQkMsSSxFQUFNO0FBQUEsVUFDWlgsR0FEWSxHQUNtQ1csSUFEbkMsQ0FDWlgsR0FEWTtBQUFBLFVBQ1BDLEdBRE8sR0FDbUNVLElBRG5DLENBQ1BWLEdBRE87QUFBQSx5QkFDbUNVLElBRG5DLENBQ0ZULE1BREU7QUFBQSxVQUNGQSxNQURFLDZCQUNPLEtBRFA7QUFBQSw0QkFDbUNTLElBRG5DLENBQ2NSLFNBRGQ7QUFBQSxVQUNjQSxTQURkLGdDQUMwQixJQUQxQjtBQUdwQixhQUFPLElBQUlKLElBQUosQ0FBU0MsR0FBVCxFQUFjQyxHQUFkLEVBQW1CQyxNQUFuQixFQUEyQkMsU0FBM0IsQ0FBUDtBQUNEOzs7RUFoRCtCUyx3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJbml0aWFsaXplciBmcm9tICcuL0luaXRpYWxpemVyJztcbmltcG9ydCB7IGNyZWF0ZVNwYW4gfSBmcm9tICcuLi9tYXRoJztcbmltcG9ydCB7IElOSVRJQUxJWkVSX1RZUEVfTElGRSBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogU2V0cyB0aGUgbGlmZSBwcm9wZXJ0eSBvbiBpbml0aWFsaXplZCBwYXJ0aWNsZXMuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaWZlIGV4dGVuZHMgSW5pdGlhbGl6ZXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIExpZmUgcHJvcGVydHkgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaW4gLSBUaGUgbWluaW11bSBsaWZlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXggLSBUaGUgbWF4aW11bSBsaWZlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2NlbnRlcl0gLSBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gYXZlcmFnZSB0aGUgbGlmZSB2YWx1ZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0VuYWJsZWQ9dHJ1ZV0gLSBEZXRlcm1pbmVzIGlmIHRoZSBpbml0aWFsaXplciBzaG91bGQgYmUgZW5hYmxlZCBvciBub3RcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihtaW4sIG1heCwgY2VudGVyLCBpc0VuYWJsZWQgPSB0cnVlKSB7XG4gICAgc3VwZXIodHlwZSwgaXNFbmFibGVkKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBsaWZlIHNwYW4gb2YgdGhlIHBhcnRpY2xlLlxuICAgICAqIEB0eXBlIHtTcGFufVxuICAgICAqL1xuICAgIHRoaXMubGlmZVBhbiA9IGNyZWF0ZVNwYW4obWluLCBtYXgsIGNlbnRlcik7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGFydGljbGUncyBpbml0aWFsIGxpZmUuXG4gICAqXG4gICAqIEBwYXJhbSB7UGFydGljbGV9IHBhcnRpY2xlIC0gdGhlIHBhcnRpY2xlIHRvIGluaXRpYWxpemUgdGhlIHByb3BlcnR5IG9uXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgaW5pdGlhbGl6ZShwYXJ0aWNsZSkge1xuICAgIGlmICh0aGlzLmxpZmVQYW4uYSA9PSBJbmZpbml0eSB8fCB0aGlzLmxpZmVQYW4uYSA9PSAnaW5maScpIHtcbiAgICAgIHBhcnRpY2xlLmxpZmUgPSBJbmZpbml0eTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFydGljbGUubGlmZSA9IHRoaXMubGlmZVBhbi5nZXRWYWx1ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgTGlmZSBpbml0aWFsaXplciBmcm9tIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZSBmcm9tLlxuICAgKiBAcGFyYW0ge251bWJlcn0ganNvbi5taW4gLSBUaGUgbWluaW11bSBsaWZlIHRpbWVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGpzb24ubWF4IC0gVGhlIG1heGltdW0gbGlmZSB0aW1lXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBqc29uLmNlbnRlciAtIFRoZSBjZW50ZXIgb2YgdGhlIGxpZmUgdGltZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtqc29uLmlzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGluaXRpYWxpemVyIHNob3VsZCBiZSBlbmFibGVkIG9yIG5vdFxuICAgKiBAcmV0dXJuIHtMaWZlfVxuICAgKi9cbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHtcbiAgICBjb25zdCB7IG1pbiwgbWF4LCBjZW50ZXIgPSBmYWxzZSwgaXNFbmFibGVkID0gdHJ1ZSB9ID0ganNvbjtcblxuICAgIHJldHVybiBuZXcgTGlmZShtaW4sIG1heCwgY2VudGVyLCBpc0VuYWJsZWQpO1xuICB9XG59XG4iXX0=
@@ -1,101 +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 _Initializer2 = _interopRequireDefault(require("./Initializer"));
21
-
22
- var _math = require("../math");
23
-
24
- var _types = require("./types");
25
-
26
- 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); }; }
27
-
28
- 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; } }
29
-
30
- /**
31
- * Sets the mass property on initialized particles.
32
- *
33
- */
34
- var Mass = /*#__PURE__*/function (_Initializer) {
35
- (0, _inherits2["default"])(Mass, _Initializer);
36
-
37
- var _super = _createSuper(Mass);
38
-
39
- /**
40
- * Constructs a Mass initializer instance.
41
- *
42
- * @param {number} min - The minumum mass for the particle
43
- * @param {number} max - The maximum mass for the particle
44
- * @param {boolean} [center] - Determines whether to average the mass value
45
- * @return void
46
- */
47
- function Mass(min, max) {
48
- var _this;
49
-
50
- var center = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
51
- var isEnabled = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
52
- (0, _classCallCheck2["default"])(this, Mass);
53
- _this = _super.call(this, _types.INITIALIZER_TYPE_MASS, isEnabled);
54
- /**
55
- * @desc The mass span which is used to set the particle mass value.
56
- * @type {Span}
57
- */
58
-
59
- _this.massPan = (0, _math.createSpan)(min, max, center);
60
- return _this;
61
- }
62
- /**
63
- * Sets the particle's initial mass.
64
- *
65
- * @param {Particle} particle - the particle to initialize the property on
66
- * @return void
67
- */
68
-
69
-
70
- (0, _createClass2["default"])(Mass, [{
71
- key: "initialize",
72
- value: function initialize(particle) {
73
- particle.mass = this.massPan.getValue();
74
- }
75
- /**
76
- * Creates a Mass initializer from JSON.
77
- *
78
- * @param {object} json - The JSON to construct the instance from.
79
- * @property {number} json.min - The minimum mass
80
- * @property {number} json.max - The maximum mass
81
- * @property {number} json.center - The center of the mass
82
- * @return {Mass}
83
- */
84
-
85
- }], [{
86
- key: "fromJSON",
87
- value: function fromJSON(json) {
88
- var min = json.min,
89
- max = json.max,
90
- _json$center = json.center,
91
- center = _json$center === void 0 ? false : _json$center,
92
- _json$isEnabled = json.isEnabled,
93
- isEnabled = _json$isEnabled === void 0 ? true : _json$isEnabled;
94
- return new Mass(min, max, center, isEnabled);
95
- }
96
- }]);
97
- return Mass;
98
- }(_Initializer2["default"]);
99
-
100
- exports["default"] = Mass;
101
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbml0aWFsaXplci9NYXNzLmpzIl0sIm5hbWVzIjpbIk1hc3MiLCJtaW4iLCJtYXgiLCJjZW50ZXIiLCJpc0VuYWJsZWQiLCJ0eXBlIiwibWFzc1BhbiIsInBhcnRpY2xlIiwibWFzcyIsImdldFZhbHVlIiwianNvbiIsIkluaXRpYWxpemVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0lBQ3FCQSxJOzs7OztBQUNuQjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0UsZ0JBQVlDLEdBQVosRUFBaUJDLEdBQWpCLEVBQXdEO0FBQUE7O0FBQUEsUUFBbENDLE1BQWtDLHVFQUF6QixLQUF5QjtBQUFBLFFBQWxCQyxTQUFrQix1RUFBTixJQUFNO0FBQUE7QUFDdEQsOEJBQU1DLDRCQUFOLEVBQVlELFNBQVo7QUFFQTtBQUNKO0FBQ0E7QUFDQTs7QUFDSSxVQUFLRSxPQUFMLEdBQWUsc0JBQVdMLEdBQVgsRUFBZ0JDLEdBQWhCLEVBQXFCQyxNQUFyQixDQUFmO0FBUHNEO0FBUXZEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzsrQkFDYUksUSxFQUFVO0FBQ25CQSxNQUFBQSxRQUFRLENBQUNDLElBQVQsR0FBZ0IsS0FBS0YsT0FBTCxDQUFhRyxRQUFiLEVBQWhCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7NkJBQ2tCQyxJLEVBQU07QUFBQSxVQUNaVCxHQURZLEdBQ21DUyxJQURuQyxDQUNaVCxHQURZO0FBQUEsVUFDUEMsR0FETyxHQUNtQ1EsSUFEbkMsQ0FDUFIsR0FETztBQUFBLHlCQUNtQ1EsSUFEbkMsQ0FDRlAsTUFERTtBQUFBLFVBQ0ZBLE1BREUsNkJBQ08sS0FEUDtBQUFBLDRCQUNtQ08sSUFEbkMsQ0FDY04sU0FEZDtBQUFBLFVBQ2NBLFNBRGQsZ0NBQzBCLElBRDFCO0FBR3BCLGFBQU8sSUFBSUosSUFBSixDQUFTQyxHQUFULEVBQWNDLEdBQWQsRUFBbUJDLE1BQW5CLEVBQTJCQyxTQUEzQixDQUFQO0FBQ0Q7OztFQTFDK0JPLHdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEluaXRpYWxpemVyIGZyb20gJy4vSW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgY3JlYXRlU3BhbiB9IGZyb20gJy4uL21hdGgnO1xuaW1wb3J0IHsgSU5JVElBTElaRVJfVFlQRV9NQVNTIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXRzIHRoZSBtYXNzIHByb3BlcnR5IG9uIGluaXRpYWxpemVkIHBhcnRpY2xlcy5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1hc3MgZXh0ZW5kcyBJbml0aWFsaXplciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgTWFzcyBpbml0aWFsaXplciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IG1pbiAtIFRoZSBtaW51bXVtIG1hc3MgZm9yIHRoZSBwYXJ0aWNsZVxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4IC0gVGhlIG1heGltdW0gbWFzcyBmb3IgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2NlbnRlcl0gLSBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gYXZlcmFnZSB0aGUgbWFzcyB2YWx1ZVxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKG1pbiwgbWF4LCBjZW50ZXIgPSBmYWxzZSwgaXNFbmFibGVkID0gdHJ1ZSkge1xuICAgIHN1cGVyKHR5cGUsIGlzRW5hYmxlZCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgbWFzcyBzcGFuIHdoaWNoIGlzIHVzZWQgdG8gc2V0IHRoZSBwYXJ0aWNsZSBtYXNzIHZhbHVlLlxuICAgICAqIEB0eXBlIHtTcGFufVxuICAgICAqL1xuICAgIHRoaXMubWFzc1BhbiA9IGNyZWF0ZVNwYW4obWluLCBtYXgsIGNlbnRlcik7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGFydGljbGUncyBpbml0aWFsIG1hc3MuXG4gICAqXG4gICAqIEBwYXJhbSB7UGFydGljbGV9IHBhcnRpY2xlIC0gdGhlIHBhcnRpY2xlIHRvIGluaXRpYWxpemUgdGhlIHByb3BlcnR5IG9uXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgaW5pdGlhbGl6ZShwYXJ0aWNsZSkge1xuICAgIHBhcnRpY2xlLm1hc3MgPSB0aGlzLm1hc3NQYW4uZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgTWFzcyBpbml0aWFsaXplciBmcm9tIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZSBmcm9tLlxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi5taW4gLSBUaGUgbWluaW11bSBtYXNzXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLm1heCAtIFRoZSBtYXhpbXVtIG1hc3NcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24uY2VudGVyIC0gVGhlIGNlbnRlciBvZiB0aGUgbWFzc1xuICAgKiBAcmV0dXJuIHtNYXNzfVxuICAgKi9cbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHtcbiAgICBjb25zdCB7IG1pbiwgbWF4LCBjZW50ZXIgPSBmYWxzZSwgaXNFbmFibGVkID0gdHJ1ZSB9ID0ganNvbjtcblxuICAgIHJldHVybiBuZXcgTWFzcyhtaW4sIG1heCwgY2VudGVyLCBpc0VuYWJsZWQpO1xuICB9XG59XG4iXX0=