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.
Files changed (247) hide show
  1. package/.claude/rules/no-coauthor.md +4 -0
  2. package/CHANGELOG.md +33 -0
  3. package/dist/three-nebula.cjs +109 -0
  4. package/dist/three-nebula.cjs.map +1 -0
  5. package/dist/three-nebula.mjs +2968 -0
  6. package/dist/three-nebula.mjs.map +1 -0
  7. package/dist/three-nebula.umd.js +109 -0
  8. package/dist/three-nebula.umd.js.map +1 -0
  9. package/package.json +32 -56
  10. package/specs/01-emitter-hierarchy.md +200 -0
  11. package/specs/02-determinism-scrubbing.md +188 -0
  12. package/specs/03-sound-renderer.md +183 -0
  13. package/specs/04-schema-versioning.md +140 -0
  14. package/specs/05-content-addressed-assets.md +288 -0
  15. package/specs/README.md +80 -0
  16. package/build/cjs/behaviour/Alpha.js +0 -189
  17. package/build/cjs/behaviour/Attraction.js +0 -189
  18. package/build/cjs/behaviour/Behaviour.js +0 -253
  19. package/build/cjs/behaviour/Collision.js +0 -146
  20. package/build/cjs/behaviour/Color.js +0 -148
  21. package/build/cjs/behaviour/CrossZone.js +0 -141
  22. package/build/cjs/behaviour/Force.js +0 -126
  23. package/build/cjs/behaviour/Gravity.js +0 -78
  24. package/build/cjs/behaviour/RandomDrift.js +0 -153
  25. package/build/cjs/behaviour/Repulsion.js +0 -123
  26. package/build/cjs/behaviour/Rotate.js +0 -265
  27. package/build/cjs/behaviour/Scale.js +0 -177
  28. package/build/cjs/behaviour/Spring.js +0 -133
  29. package/build/cjs/behaviour/constants.js +0 -28
  30. package/build/cjs/behaviour/index.js +0 -112
  31. package/build/cjs/behaviour/types.js +0 -33
  32. package/build/cjs/constants/index.js +0 -61
  33. package/build/cjs/core/Particle.js +0 -390
  34. package/build/cjs/core/Pool.js +0 -203
  35. package/build/cjs/core/System.js +0 -366
  36. package/build/cjs/core/constants.js +0 -163
  37. package/build/cjs/core/fromJSON.js +0 -128
  38. package/build/cjs/core/fromJSONAsync.js +0 -239
  39. package/build/cjs/core/index.js +0 -32
  40. package/build/cjs/core/three/Euler.js +0 -233
  41. package/build/cjs/core/three/Math.js +0 -91
  42. package/build/cjs/core/three/Matrix4.js +0 -745
  43. package/build/cjs/core/three/Quaternion.js +0 -451
  44. package/build/cjs/core/three/Vector3.js +0 -464
  45. package/build/cjs/core/three/constants.js +0 -298
  46. package/build/cjs/core/three/index.js +0 -48
  47. package/build/cjs/core/types.js +0 -13
  48. package/build/cjs/debug/Debug.js +0 -209
  49. package/build/cjs/debug/constants.js +0 -19
  50. package/build/cjs/debug/index.js +0 -24
  51. package/build/cjs/debug/log.js +0 -38
  52. package/build/cjs/ease/index.js +0 -149
  53. package/build/cjs/emitter/Emitter.js +0 -791
  54. package/build/cjs/emitter/FollowEmitter.js +0 -146
  55. package/build/cjs/emitter/constants.js +0 -20
  56. package/build/cjs/emitter/index.js +0 -24
  57. package/build/cjs/emitter/types.js +0 -11
  58. package/build/cjs/events/EventDispatcher.js +0 -105
  59. package/build/cjs/events/constants.js +0 -23
  60. package/build/cjs/events/index.js +0 -27
  61. package/build/cjs/index.js +0 -151
  62. package/build/cjs/initializer/Body.js +0 -122
  63. package/build/cjs/initializer/BodySprite.js +0 -146
  64. package/build/cjs/initializer/Initializer.js +0 -109
  65. package/build/cjs/initializer/InitializerUtil.js +0 -54
  66. package/build/cjs/initializer/Life.js +0 -106
  67. package/build/cjs/initializer/Mass.js +0 -101
  68. package/build/cjs/initializer/Position.js +0 -152
  69. package/build/cjs/initializer/Radius.js +0 -118
  70. package/build/cjs/initializer/Rate.js +0 -150
  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 -100
  79. package/build/cjs/initializer/types.js +0 -35
  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 -350
  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 -364
  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 -53
  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 -43
  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 -63
  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 -14
  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 -701
  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/Texture.js +0 -101
  187. package/build/esm/initializer/Velocity/PolarVelocity.js +0 -63
  188. package/build/esm/initializer/Velocity/RadialVelocity.js +0 -72
  189. package/build/esm/initializer/Velocity/VectorVelocity.js +0 -69
  190. package/build/esm/initializer/Velocity/Velocity.js +0 -52
  191. package/build/esm/initializer/Velocity/index.js +0 -4
  192. package/build/esm/initializer/constants.js +0 -26
  193. package/build/esm/initializer/index.js +0 -11
  194. package/build/esm/initializer/types.js +0 -15
  195. package/build/esm/math/ArraySpan.js +0 -62
  196. package/build/esm/math/Box.js +0 -25
  197. package/build/esm/math/ColorSpan.js +0 -71
  198. package/build/esm/math/MathUtils.js +0 -48
  199. package/build/esm/math/Polar3D.js +0 -81
  200. package/build/esm/math/Span.js +0 -63
  201. package/build/esm/math/Vector3D.js +0 -34
  202. package/build/esm/math/constants.js +0 -24
  203. package/build/esm/math/index.js +0 -10
  204. package/build/esm/math/integration.js +0 -47
  205. package/build/esm/math/types.js +0 -7
  206. package/build/esm/renderer/BaseRenderer.js +0 -78
  207. package/build/esm/renderer/CustomRenderer.js +0 -23
  208. package/build/esm/renderer/GPURenderer/Desktop/index.js +0 -331
  209. package/build/esm/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -23
  210. package/build/esm/renderer/GPURenderer/Desktop/shaders/index.js +0 -3
  211. package/build/esm/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -33
  212. package/build/esm/renderer/GPURenderer/Mobile/index.js +0 -349
  213. package/build/esm/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -20
  214. package/build/esm/renderer/GPURenderer/Mobile/shaders/index.js +0 -3
  215. package/build/esm/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -30
  216. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -27
  217. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -70
  218. package/build/esm/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -2
  219. package/build/esm/renderer/GPURenderer/common/TextureAtlas/index.js +0 -206
  220. package/build/esm/renderer/GPURenderer/common/constants.js +0 -13
  221. package/build/esm/renderer/GPURenderer/common/index.js +0 -4
  222. package/build/esm/renderer/GPURenderer/common/shaders/constants.js +0 -2
  223. package/build/esm/renderer/GPURenderer/common/stores/Target.js +0 -24
  224. package/build/esm/renderer/GPURenderer/common/stores/UniqueList.js +0 -29
  225. package/build/esm/renderer/GPURenderer/common/stores/index.js +0 -3
  226. package/build/esm/renderer/GPURenderer/index.js +0 -57
  227. package/build/esm/renderer/MeshRenderer.js +0 -94
  228. package/build/esm/renderer/SpriteRenderer.js +0 -26
  229. package/build/esm/renderer/index.js +0 -5
  230. package/build/esm/renderer/types.js +0 -8
  231. package/build/esm/utils/ColorUtil.js +0 -32
  232. package/build/esm/utils/PUID.js +0 -19
  233. package/build/esm/utils/THREEUtil.js +0 -31
  234. package/build/esm/utils/Util.js +0 -60
  235. package/build/esm/utils/index.js +0 -13
  236. package/build/esm/utils/uid.js +0 -3
  237. package/build/esm/zone/BoxZone.js +0 -133
  238. package/build/esm/zone/LineZone.js +0 -61
  239. package/build/esm/zone/MeshZone.js +0 -60
  240. package/build/esm/zone/PointZone.js +0 -59
  241. package/build/esm/zone/ScreenZone.js +0 -116
  242. package/build/esm/zone/SphereZone.js +0 -113
  243. package/build/esm/zone/Zone.js +0 -141
  244. package/build/esm/zone/index.js +0 -7
  245. package/build/esm/zone/types.js +0 -8
  246. package/build/three-nebula.js +0 -2
  247. 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=