three-nebula 11.0.0 → 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 (248) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/three-nebula.cjs +109 -0
  3. package/dist/three-nebula.cjs.map +1 -0
  4. package/dist/three-nebula.mjs +2968 -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,152 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _construct2 = _interopRequireDefault(require("@babel/runtime/helpers/construct"));
13
-
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
-
18
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
-
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
-
26
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
-
28
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
-
30
- var Zone = _interopRequireWildcard(require("../zone"));
31
-
32
- var _Initializer2 = _interopRequireDefault(require("./Initializer"));
33
-
34
- var _constants = require("../core/constants");
35
-
36
- var _types = require("./types");
37
-
38
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
-
40
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
-
42
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
43
-
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
-
46
- /**
47
- * Sets the starting position property for initialized particles.
48
- * This is derived from a zone randomly chosen from those supplied to the constructor.
49
- *
50
- */
51
- var Position = /*#__PURE__*/function (_Initializer) {
52
- (0, _inherits2["default"])(Position, _Initializer);
53
-
54
- var _super = _createSuper(Position);
55
-
56
- /**
57
- * Constructs a Position initializer instance.
58
- *
59
- * @param {Zone|array<Zone>}
60
- * @return void
61
- */
62
- function Position() {
63
- var _this;
64
-
65
- (0, _classCallCheck2["default"])(this, Position);
66
- _this = _super.call(this, _types.INITIALIZER_TYPE_POSITION);
67
-
68
- _this.reset.apply((0, _assertThisInitialized2["default"])(_this), arguments);
69
-
70
- return _this;
71
- }
72
- /**
73
- * Resets the initializer properties.
74
- * Clears all previously set zones and resets the zones according to args passed.
75
- *
76
- * @param {Zone|array<Zone>}
77
- * @return void
78
- */
79
-
80
-
81
- (0, _createClass2["default"])(Position, [{
82
- key: "reset",
83
- value: function reset() {
84
- if (!this.zones) {
85
- this.zones = [];
86
- } else {
87
- this.zones.length = 0;
88
- }
89
- /**
90
- * @desc The zones to use as bounds for calculating the particle's starting position.
91
- * @type {array<Zone>}
92
- */
93
-
94
-
95
- this.zones = this.zones.concat(Array.prototype.slice.call(arguments));
96
- }
97
- /**
98
- * Adds a zone or zones to this.zones.
99
- *
100
- * @param {Zone|array<Zone>}
101
- * @return void
102
- */
103
-
104
- }, {
105
- key: "addZone",
106
- value: function addZone() {
107
- this.zones = this.zones.concat(Array.prototype.slice.call(arguments));
108
- }
109
- /**
110
- * Creates a Position initializer from JSON.
111
- *
112
- * @param {object} json - The JSON to construct the instance from.
113
- * @param {string} json.zoneType - The type of zone to use for initial position
114
- * @return {Position}
115
- */
116
-
117
- }], [{
118
- key: "fromJSON",
119
- value: function fromJSON(json) {
120
- var zoneType = json.zoneType,
121
- params = (0, _objectWithoutProperties2["default"])(json, ["zoneType"]);
122
-
123
- if (!_constants.SUPPORTED_JSON_ZONE_TYPES.includes(zoneType)) {
124
- throw new Error("The zone type ".concat(zoneType, " is invalid or not yet supported"));
125
- }
126
-
127
- return new Position((0, _construct2["default"])(Zone[zoneType], (0, _toConsumableArray2["default"])(Object.values(params))));
128
- }
129
- }]);
130
- return Position;
131
- }(_Initializer2["default"]);
132
- /**
133
- * Sets the particle's initial position.
134
- *
135
- * @param {Particle} particle - the particle to initialize the property on
136
- * @return void
137
- */
138
-
139
-
140
- exports["default"] = Position;
141
-
142
- Position.prototype.initialize = function () {
143
- var zone;
144
- return function (target) {
145
- zone = this.zones[Math.random() * this.zones.length >> 0];
146
- zone.getPosition();
147
- target.position.x = zone.vector.x;
148
- target.position.y = zone.vector.y;
149
- target.position.z = zone.vector.z;
150
- };
151
- }();
152
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbml0aWFsaXplci9Qb3NpdGlvbi5qcyJdLCJuYW1lcyI6WyJQb3NpdGlvbiIsInR5cGUiLCJyZXNldCIsImFwcGx5IiwiYXJndW1lbnRzIiwiem9uZXMiLCJsZW5ndGgiLCJjb25jYXQiLCJBcnJheSIsInByb3RvdHlwZSIsInNsaWNlIiwiY2FsbCIsImpzb24iLCJ6b25lVHlwZSIsInBhcmFtcyIsIlNVUFBPUlRFRF9KU09OX1pPTkVfVFlQRVMiLCJpbmNsdWRlcyIsIkVycm9yIiwiWm9uZSIsIk9iamVjdCIsInZhbHVlcyIsIkluaXRpYWxpemVyIiwiaW5pdGlhbGl6ZSIsInpvbmUiLCJ0YXJnZXQiLCJNYXRoIiwicmFuZG9tIiwiZ2V0UG9zaXRpb24iLCJwb3NpdGlvbiIsIngiLCJ2ZWN0b3IiLCJ5IiwieiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDcUJBLFE7Ozs7O0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFLHNCQUFjO0FBQUE7O0FBQUE7QUFDWiw4QkFBTUMsZ0NBQU47O0FBRUEsVUFBS0MsS0FBTCxDQUFXQyxLQUFYLGlEQUF1QkMsU0FBdkI7O0FBSFk7QUFJYjtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs0QkFDVTtBQUNOLFVBQUksQ0FBQyxLQUFLQyxLQUFWLEVBQWlCO0FBQ2YsYUFBS0EsS0FBTCxHQUFhLEVBQWI7QUFDRCxPQUZELE1BRU87QUFDTCxhQUFLQSxLQUFMLENBQVdDLE1BQVgsR0FBb0IsQ0FBcEI7QUFDRDtBQUVEO0FBQ0o7QUFDQTtBQUNBOzs7QUFDSSxXQUFLRCxLQUFMLEdBQWEsS0FBS0EsS0FBTCxDQUFXRSxNQUFYLENBQWtCQyxLQUFLLENBQUNDLFNBQU4sQ0FBZ0JDLEtBQWhCLENBQXNCQyxJQUF0QixDQUEyQlAsU0FBM0IsQ0FBbEIsQ0FBYjtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzhCQUNZO0FBQ1IsV0FBS0MsS0FBTCxHQUFhLEtBQUtBLEtBQUwsQ0FBV0UsTUFBWCxDQUFrQkMsS0FBSyxDQUFDQyxTQUFOLENBQWdCQyxLQUFoQixDQUFzQkMsSUFBdEIsQ0FBMkJQLFNBQTNCLENBQWxCLENBQWI7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzZCQUNrQlEsSSxFQUFNO0FBQUEsVUFDWkMsUUFEWSxHQUNZRCxJQURaLENBQ1pDLFFBRFk7QUFBQSxVQUNDQyxNQURELDZDQUNZRixJQURaOztBQUdwQixVQUFJLENBQUNHLHFDQUEwQkMsUUFBMUIsQ0FBbUNILFFBQW5DLENBQUwsRUFBbUQ7QUFDakQsY0FBTSxJQUFJSSxLQUFKLHlCQUNhSixRQURiLHNDQUFOO0FBR0Q7O0FBRUQsYUFBTyxJQUFJYixRQUFKLDZCQUFpQmtCLElBQUksQ0FBQ0wsUUFBRCxDQUFyQixzQ0FBbUNNLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjTixNQUFkLENBQW5DLEdBQVA7QUFDRDs7O0VBN0RtQ08sd0I7QUFnRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFDQXJCLFFBQVEsQ0FBQ1MsU0FBVCxDQUFtQmEsVUFBbkIsR0FBaUMsWUFBVztBQUMxQyxNQUFJQyxJQUFKO0FBRUEsU0FBTyxVQUFTQyxNQUFULEVBQWlCO0FBQ3RCRCxJQUFBQSxJQUFJLEdBQUcsS0FBS2xCLEtBQUwsQ0FBWW9CLElBQUksQ0FBQ0MsTUFBTCxLQUFnQixLQUFLckIsS0FBTCxDQUFXQyxNQUE1QixJQUF1QyxDQUFsRCxDQUFQO0FBRUFpQixJQUFBQSxJQUFJLENBQUNJLFdBQUw7QUFFQUgsSUFBQUEsTUFBTSxDQUFDSSxRQUFQLENBQWdCQyxDQUFoQixHQUFvQk4sSUFBSSxDQUFDTyxNQUFMLENBQVlELENBQWhDO0FBQ0FMLElBQUFBLE1BQU0sQ0FBQ0ksUUFBUCxDQUFnQkcsQ0FBaEIsR0FBb0JSLElBQUksQ0FBQ08sTUFBTCxDQUFZQyxDQUFoQztBQUNBUCxJQUFBQSxNQUFNLENBQUNJLFFBQVAsQ0FBZ0JJLENBQWhCLEdBQW9CVCxJQUFJLENBQUNPLE1BQUwsQ0FBWUUsQ0FBaEM7QUFDRCxHQVJEO0FBU0QsQ0FaK0IsRUFBaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBab25lIGZyb20gJy4uL3pvbmUnO1xuXG5pbXBvcnQgSW5pdGlhbGl6ZXIgZnJvbSAnLi9Jbml0aWFsaXplcic7XG5pbXBvcnQgeyBTVVBQT1JURURfSlNPTl9aT05FX1RZUEVTIH0gZnJvbSAnLi4vY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHsgSU5JVElBTElaRVJfVFlQRV9QT1NJVElPTiBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogU2V0cyB0aGUgc3RhcnRpbmcgcG9zaXRpb24gcHJvcGVydHkgZm9yIGluaXRpYWxpemVkIHBhcnRpY2xlcy5cbiAqIFRoaXMgaXMgZGVyaXZlZCBmcm9tIGEgem9uZSByYW5kb21seSBjaG9zZW4gZnJvbSB0aG9zZSBzdXBwbGllZCB0byB0aGUgY29uc3RydWN0b3IuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQb3NpdGlvbiBleHRlbmRzIEluaXRpYWxpemVyIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBQb3NpdGlvbiBpbml0aWFsaXplciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtab25lfGFycmF5PFpvbmU+fVxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHR5cGUpO1xuXG4gICAgdGhpcy5yZXNldC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgaW5pdGlhbGl6ZXIgcHJvcGVydGllcy5cbiAgICogQ2xlYXJzIGFsbCBwcmV2aW91c2x5IHNldCB6b25lcyBhbmQgcmVzZXRzIHRoZSB6b25lcyBhY2NvcmRpbmcgdG8gYXJncyBwYXNzZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9uZXxhcnJheTxab25lPn1cbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICByZXNldCgpIHtcbiAgICBpZiAoIXRoaXMuem9uZXMpIHtcbiAgICAgIHRoaXMuem9uZXMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy56b25lcy5sZW5ndGggPSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSB6b25lcyB0byB1c2UgYXMgYm91bmRzIGZvciBjYWxjdWxhdGluZyB0aGUgcGFydGljbGUncyBzdGFydGluZyBwb3NpdGlvbi5cbiAgICAgKiBAdHlwZSB7YXJyYXk8Wm9uZT59XG4gICAgICovXG4gICAgdGhpcy56b25lcyA9IHRoaXMuem9uZXMuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB6b25lIG9yIHpvbmVzIHRvIHRoaXMuem9uZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9uZXxhcnJheTxab25lPn1cbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBhZGRab25lKCkge1xuICAgIHRoaXMuem9uZXMgPSB0aGlzLnpvbmVzLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUG9zaXRpb24gaW5pdGlhbGl6ZXIgZnJvbSBKU09OLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBKU09OIHRvIGNvbnN0cnVjdCB0aGUgaW5zdGFuY2UgZnJvbS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGpzb24uem9uZVR5cGUgLSBUaGUgdHlwZSBvZiB6b25lIHRvIHVzZSBmb3IgaW5pdGlhbCBwb3NpdGlvblxuICAgKiBAcmV0dXJuIHtQb3NpdGlvbn1cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyB6b25lVHlwZSwgLi4ucGFyYW1zIH0gPSBqc29uO1xuXG4gICAgaWYgKCFTVVBQT1JURURfSlNPTl9aT05FX1RZUEVTLmluY2x1ZGVzKHpvbmVUeXBlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIHpvbmUgdHlwZSAke3pvbmVUeXBlfSBpcyBpbnZhbGlkIG9yIG5vdCB5ZXQgc3VwcG9ydGVkYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFBvc2l0aW9uKG5ldyBab25lW3pvbmVUeXBlXSguLi5PYmplY3QudmFsdWVzKHBhcmFtcykpKTtcbiAgfVxufVxuXG4vKipcbiAqIFNldHMgdGhlIHBhcnRpY2xlJ3MgaW5pdGlhbCBwb3NpdGlvbi5cbiAqXG4gKiBAcGFyYW0ge1BhcnRpY2xlfSBwYXJ0aWNsZSAtIHRoZSBwYXJ0aWNsZSB0byBpbml0aWFsaXplIHRoZSBwcm9wZXJ0eSBvblxuICogQHJldHVybiB2b2lkXG4gKi9cblBvc2l0aW9uLnByb3RvdHlwZS5pbml0aWFsaXplID0gKGZ1bmN0aW9uKCkge1xuICBsZXQgem9uZTtcblxuICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0KSB7XG4gICAgem9uZSA9IHRoaXMuem9uZXNbKE1hdGgucmFuZG9tKCkgKiB0aGlzLnpvbmVzLmxlbmd0aCkgPj4gMF07XG5cbiAgICB6b25lLmdldFBvc2l0aW9uKCk7XG5cbiAgICB0YXJnZXQucG9zaXRpb24ueCA9IHpvbmUudmVjdG9yLng7XG4gICAgdGFyZ2V0LnBvc2l0aW9uLnkgPSB6b25lLnZlY3Rvci55O1xuICAgIHRhcmdldC5wb3NpdGlvbi56ID0gem9uZS52ZWN0b3IuejtcbiAgfTtcbn0pKCk7XG4iXX0=
@@ -1,118 +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 radius property on initialized particles.
32
- *
33
- */
34
- var Radius = /*#__PURE__*/function (_Initializer) {
35
- (0, _inherits2["default"])(Radius, _Initializer);
36
-
37
- var _super = _createSuper(Radius);
38
-
39
- /**
40
- * Constructs a Radius initializer instance.
41
- *
42
- * @param {number} width - The width of the particle radius
43
- * @param {number} height - The height of the particle radius
44
- * @param {boolean} [center=false] - Determines whether to average the radius value
45
- * @return void
46
- */
47
- function Radius(width, height) {
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, Radius);
53
- _this = _super.call(this, _types.INITIALIZER_TYPE_RADIUS, isEnabled);
54
- /**
55
- * @desc The radius span which is used to set the particle radius value.
56
- * @type {Span}
57
- */
58
-
59
- _this.radius = (0, _math.createSpan)(width, height, center);
60
- return _this;
61
- }
62
- /**
63
- * Resets the initializer properties.
64
- * Clears all previously set zones and resets the zones according to args passed.
65
- *
66
- * @param {number} width - The width of the particle radius
67
- * @param {number} height - The height of the particle radius
68
- * @param {boolean} [center=false] - Determines whether to average the radius value
69
- * @return void
70
- */
71
-
72
-
73
- (0, _createClass2["default"])(Radius, [{
74
- key: "reset",
75
- value: function reset(width, height) {
76
- var center = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
77
- this.radius = (0, _math.createSpan)(width, height, center);
78
- }
79
- /**
80
- * Sets the particle's initial radius.
81
- *
82
- * @param {Particle} particle - the particle to initialize the property on
83
- * @return void
84
- */
85
-
86
- }, {
87
- key: "initialize",
88
- value: function initialize(particle) {
89
- particle.radius = this.radius.getValue();
90
- particle.transform.oldRadius = particle.radius;
91
- }
92
- /**
93
- * Creates a Radius initializer from JSON.
94
- *
95
- * @param {object} json - The JSON to construct the instance from.
96
- * @property {number} json.width - The width of the particle radius
97
- * @property {number} json.height - The height of the particle radius
98
- * @property {number} json.center - The center of the particle radius
99
- * @return {Radius}
100
- */
101
-
102
- }], [{
103
- key: "fromJSON",
104
- value: function fromJSON(json) {
105
- var width = json.width,
106
- height = json.height,
107
- _json$center = json.center,
108
- center = _json$center === void 0 ? false : _json$center,
109
- _json$isEnabled = json.isEnabled,
110
- isEnabled = _json$isEnabled === void 0 ? true : _json$isEnabled;
111
- return new Radius(width, height, center, isEnabled);
112
- }
113
- }]);
114
- return Radius;
115
- }(_Initializer2["default"]);
116
-
117
- exports["default"] = Radius;
118
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbml0aWFsaXplci9SYWRpdXMuanMiXSwibmFtZXMiOlsiUmFkaXVzIiwid2lkdGgiLCJoZWlnaHQiLCJjZW50ZXIiLCJpc0VuYWJsZWQiLCJ0eXBlIiwicmFkaXVzIiwicGFydGljbGUiLCJnZXRWYWx1ZSIsInRyYW5zZm9ybSIsIm9sZFJhZGl1cyIsImpzb24iLCJJbml0aWFsaXplciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNxQkEsTTs7Ozs7QUFDbkI7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFLGtCQUFZQyxLQUFaLEVBQW1CQyxNQUFuQixFQUE2RDtBQUFBOztBQUFBLFFBQWxDQyxNQUFrQyx1RUFBekIsS0FBeUI7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQzNELDhCQUFNQyw4QkFBTixFQUFZRCxTQUFaO0FBRUE7QUFDSjtBQUNBO0FBQ0E7O0FBQ0ksVUFBS0UsTUFBTCxHQUFjLHNCQUFXTCxLQUFYLEVBQWtCQyxNQUFsQixFQUEwQkMsTUFBMUIsQ0FBZDtBQVAyRDtBQVE1RDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7MEJBQ1FGLEssRUFBT0MsTSxFQUF3QjtBQUFBLFVBQWhCQyxNQUFnQix1RUFBUCxLQUFPO0FBQ25DLFdBQUtHLE1BQUwsR0FBYyxzQkFBV0wsS0FBWCxFQUFrQkMsTUFBbEIsRUFBMEJDLE1BQTFCLENBQWQ7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OzsrQkFDYUksUSxFQUFVO0FBQ25CQSxNQUFBQSxRQUFRLENBQUNELE1BQVQsR0FBa0IsS0FBS0EsTUFBTCxDQUFZRSxRQUFaLEVBQWxCO0FBQ0FELE1BQUFBLFFBQVEsQ0FBQ0UsU0FBVCxDQUFtQkMsU0FBbkIsR0FBK0JILFFBQVEsQ0FBQ0QsTUFBeEM7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs2QkFDa0JLLEksRUFBTTtBQUFBLFVBQ1pWLEtBRFksR0FDd0NVLElBRHhDLENBQ1pWLEtBRFk7QUFBQSxVQUNMQyxNQURLLEdBQ3dDUyxJQUR4QyxDQUNMVCxNQURLO0FBQUEseUJBQ3dDUyxJQUR4QyxDQUNHUixNQURIO0FBQUEsVUFDR0EsTUFESCw2QkFDWSxLQURaO0FBQUEsNEJBQ3dDUSxJQUR4QyxDQUNtQlAsU0FEbkI7QUFBQSxVQUNtQkEsU0FEbkIsZ0NBQytCLElBRC9CO0FBR3BCLGFBQU8sSUFBSUosTUFBSixDQUFXQyxLQUFYLEVBQWtCQyxNQUFsQixFQUEwQkMsTUFBMUIsRUFBa0NDLFNBQWxDLENBQVA7QUFDRDs7O0VBeERpQ1Esd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSW5pdGlhbGl6ZXIgZnJvbSAnLi9Jbml0aWFsaXplcic7XG5pbXBvcnQgeyBjcmVhdGVTcGFuIH0gZnJvbSAnLi4vbWF0aCc7XG5pbXBvcnQgeyBJTklUSUFMSVpFUl9UWVBFX1JBRElVUyBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG4vKipcbiAqIFNldHMgdGhlIHJhZGl1cyBwcm9wZXJ0eSBvbiBpbml0aWFsaXplZCBwYXJ0aWNsZXMuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWRpdXMgZXh0ZW5kcyBJbml0aWFsaXplciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgUmFkaXVzIGluaXRpYWxpemVyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gd2lkdGggLSBUaGUgd2lkdGggb2YgdGhlIHBhcnRpY2xlIHJhZGl1c1xuICAgKiBAcGFyYW0ge251bWJlcn0gaGVpZ2h0IC0gVGhlIGhlaWdodCBvZiB0aGUgcGFydGljbGUgcmFkaXVzXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2NlbnRlcj1mYWxzZV0gLSBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gYXZlcmFnZSB0aGUgcmFkaXVzIHZhbHVlXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3Iod2lkdGgsIGhlaWdodCwgY2VudGVyID0gZmFsc2UsIGlzRW5hYmxlZCA9IHRydWUpIHtcbiAgICBzdXBlcih0eXBlLCBpc0VuYWJsZWQpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIHJhZGl1cyBzcGFuIHdoaWNoIGlzIHVzZWQgdG8gc2V0IHRoZSBwYXJ0aWNsZSByYWRpdXMgdmFsdWUuXG4gICAgICogQHR5cGUge1NwYW59XG4gICAgICovXG4gICAgdGhpcy5yYWRpdXMgPSBjcmVhdGVTcGFuKHdpZHRoLCBoZWlnaHQsIGNlbnRlcik7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBpbml0aWFsaXplciBwcm9wZXJ0aWVzLlxuICAgKiBDbGVhcnMgYWxsIHByZXZpb3VzbHkgc2V0IHpvbmVzIGFuZCByZXNldHMgdGhlIHpvbmVzIGFjY29yZGluZyB0byBhcmdzIHBhc3NlZC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoIC0gVGhlIHdpZHRoIG9mIHRoZSBwYXJ0aWNsZSByYWRpdXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodCAtIFRoZSBoZWlnaHQgb2YgdGhlIHBhcnRpY2xlIHJhZGl1c1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtjZW50ZXI9ZmFsc2VdIC0gRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGF2ZXJhZ2UgdGhlIHJhZGl1cyB2YWx1ZVxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIHJlc2V0KHdpZHRoLCBoZWlnaHQsIGNlbnRlciA9IGZhbHNlKSB7XG4gICAgdGhpcy5yYWRpdXMgPSBjcmVhdGVTcGFuKHdpZHRoLCBoZWlnaHQsIGNlbnRlcik7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGFydGljbGUncyBpbml0aWFsIHJhZGl1cy5cbiAgICpcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGUgLSB0aGUgcGFydGljbGUgdG8gaW5pdGlhbGl6ZSB0aGUgcHJvcGVydHkgb25cbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBpbml0aWFsaXplKHBhcnRpY2xlKSB7XG4gICAgcGFydGljbGUucmFkaXVzID0gdGhpcy5yYWRpdXMuZ2V0VmFsdWUoKTtcbiAgICBwYXJ0aWNsZS50cmFuc2Zvcm0ub2xkUmFkaXVzID0gcGFydGljbGUucmFkaXVzO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBSYWRpdXMgaW5pdGlhbGl6ZXIgZnJvbSBKU09OLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBKU09OIHRvIGNvbnN0cnVjdCB0aGUgaW5zdGFuY2UgZnJvbS5cbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ud2lkdGggLSBUaGUgd2lkdGggb2YgdGhlIHBhcnRpY2xlIHJhZGl1c1xuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi5oZWlnaHQgLSBUaGUgaGVpZ2h0IG9mIHRoZSBwYXJ0aWNsZSByYWRpdXNcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24uY2VudGVyIC0gVGhlIGNlbnRlciBvZiB0aGUgcGFydGljbGUgcmFkaXVzXG4gICAqIEByZXR1cm4ge1JhZGl1c31cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0LCBjZW50ZXIgPSBmYWxzZSwgaXNFbmFibGVkID0gdHJ1ZSB9ID0ganNvbjtcblxuICAgIHJldHVybiBuZXcgUmFkaXVzKHdpZHRoLCBoZWlnaHQsIGNlbnRlciwgaXNFbmFibGVkKTtcbiAgfVxufVxuIl19
@@ -1,150 +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 _constants = require("./constants");
21
-
22
- var _math = require("../math");
23
-
24
- var _Initializer2 = _interopRequireDefault(require("./Initializer"));
25
-
26
- var _types = require("./types");
27
-
28
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
29
-
30
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
-
32
- /**
33
- * Calculates the rate of particle emission.
34
- *
35
- * NOTE This doesn't need to be an initializer, it doesn't have an initialize
36
- * method, it overrides the base init method and it is only relevent to the Emitter class.
37
- * It would be better to move this to the Emitter module itself as a standalone class.
38
- *
39
- */
40
- var Rate = /*#__PURE__*/function (_Initializer) {
41
- (0, _inherits2["default"])(Rate, _Initializer);
42
-
43
- var _super = _createSuper(Rate);
44
-
45
- /**
46
- * Constructs a Rate instance.
47
- *
48
- * @param {number|array|Span} numPan - The number of particles to emit
49
- * @param {number|array|Span} timePan - The time between each particle emission
50
- * @return void
51
- */
52
- function Rate() {
53
- var _this;
54
-
55
- var numPan = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.DEFAULT_RATE_NUM_PAN;
56
- var timePan = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.DEFAULT_RATE_TIME_PAN;
57
- (0, _classCallCheck2["default"])(this, Rate);
58
- _this = _super.call(this, _types.INITIALIZER_TYPE_RATE);
59
- /**
60
- * @desc Sets the number of particles to emit.
61
- * @type {Span}
62
- */
63
-
64
- _this.numPan = (0, _math.createSpan)(numPan);
65
- /**
66
- * @desc Sets the time between each particle emission.
67
- * @type {Span}
68
- */
69
-
70
- _this.timePan = (0, _math.createSpan)(timePan);
71
- /**
72
- * @desc The rate's start time.
73
- * @type {number}
74
- */
75
-
76
- _this.startTime = 0;
77
- /**
78
- * @desc The rate's next time.
79
- * @type {number}
80
- */
81
-
82
- _this.nextTime = 0;
83
-
84
- _this.init();
85
-
86
- return _this;
87
- }
88
- /**
89
- * Sets the startTime and nextTime properties.
90
- *
91
- * @return void
92
- */
93
-
94
-
95
- (0, _createClass2["default"])(Rate, [{
96
- key: "init",
97
- value: function init() {
98
- this.startTime = 0;
99
- this.nextTime = this.timePan.getValue();
100
- }
101
- /**
102
- * Gets the number of particles to emit.
103
- *
104
- * @param {number} time - Current particle engine time
105
- * @return {number}
106
- */
107
-
108
- }, {
109
- key: "getValue",
110
- value: function getValue(time) {
111
- this.startTime += time;
112
-
113
- if (this.startTime >= this.nextTime) {
114
- this.init();
115
-
116
- if (this.numPan.b == 1) {
117
- if (this.numPan.getValue('Float') > 0.5) return 1;else return 0;
118
- } else {
119
- return this.numPan.getValue('Int');
120
- }
121
- }
122
-
123
- return 0;
124
- }
125
- /**
126
- * Creates a Rate initializer from JSON.
127
- *
128
- * @param {object} json - The JSON to construct the instance from.
129
- * @property {number} json.particlesMin - The minimum number of particles to emit
130
- * @property {number} json.particlesMax - The maximum number of particles to emit
131
- * @property {number} json.perSecondMin - The minimum per second emit rate
132
- * @property {number} json.perSecondMax - The maximum per second emit rate
133
- * @return {Rate}
134
- */
135
-
136
- }], [{
137
- key: "fromJSON",
138
- value: function fromJSON(json) {
139
- var particlesMin = json.particlesMin,
140
- particlesMax = json.particlesMax,
141
- perSecondMin = json.perSecondMin,
142
- perSecondMax = json.perSecondMax;
143
- return new Rate(new _math.Span(particlesMin, particlesMax), new _math.Span(perSecondMin, perSecondMax));
144
- }
145
- }]);
146
- return Rate;
147
- }(_Initializer2["default"]);
148
-
149
- exports["default"] = Rate;
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbml0aWFsaXplci9SYXRlLmpzIl0sIm5hbWVzIjpbIlJhdGUiLCJudW1QYW4iLCJERUZBVUxUX1JBVEVfTlVNX1BBTiIsInRpbWVQYW4iLCJERUZBVUxUX1JBVEVfVElNRV9QQU4iLCJ0eXBlIiwic3RhcnRUaW1lIiwibmV4dFRpbWUiLCJpbml0IiwiZ2V0VmFsdWUiLCJ0aW1lIiwiYiIsImpzb24iLCJwYXJ0aWNsZXNNaW4iLCJwYXJ0aWNsZXNNYXgiLCJwZXJTZWNvbmRNaW4iLCJwZXJTZWNvbmRNYXgiLCJTcGFuIiwiSW5pdGlhbGl6ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNxQkEsSTs7Ozs7QUFDbkI7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRSxrQkFBNEU7QUFBQTs7QUFBQSxRQUFoRUMsTUFBZ0UsdUVBQXZEQywrQkFBdUQ7QUFBQSxRQUFqQ0MsT0FBaUMsdUVBQXZCQyxnQ0FBdUI7QUFBQTtBQUMxRSw4QkFBTUMsNEJBQU47QUFFQTtBQUNKO0FBQ0E7QUFDQTs7QUFDSSxVQUFLSixNQUFMLEdBQWMsc0JBQVdBLE1BQVgsQ0FBZDtBQUVBO0FBQ0o7QUFDQTtBQUNBOztBQUNJLFVBQUtFLE9BQUwsR0FBZSxzQkFBV0EsT0FBWCxDQUFmO0FBRUE7QUFDSjtBQUNBO0FBQ0E7O0FBQ0ksVUFBS0csU0FBTCxHQUFpQixDQUFqQjtBQUVBO0FBQ0o7QUFDQTtBQUNBOztBQUNJLFVBQUtDLFFBQUwsR0FBZ0IsQ0FBaEI7O0FBRUEsVUFBS0MsSUFBTDs7QUEzQjBFO0FBNEIzRTtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7Ozs7OzJCQUNTO0FBQ0wsV0FBS0YsU0FBTCxHQUFpQixDQUFqQjtBQUNBLFdBQUtDLFFBQUwsR0FBZ0IsS0FBS0osT0FBTCxDQUFhTSxRQUFiLEVBQWhCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7NkJBQ1dDLEksRUFBTTtBQUNiLFdBQUtKLFNBQUwsSUFBa0JJLElBQWxCOztBQUVBLFVBQUksS0FBS0osU0FBTCxJQUFrQixLQUFLQyxRQUEzQixFQUFxQztBQUNuQyxhQUFLQyxJQUFMOztBQUVBLFlBQUksS0FBS1AsTUFBTCxDQUFZVSxDQUFaLElBQWlCLENBQXJCLEVBQXdCO0FBQ3RCLGNBQUksS0FBS1YsTUFBTCxDQUFZUSxRQUFaLENBQXFCLE9BQXJCLElBQWdDLEdBQXBDLEVBQXlDLE9BQU8sQ0FBUCxDQUF6QyxLQUNLLE9BQU8sQ0FBUDtBQUNOLFNBSEQsTUFHTztBQUNMLGlCQUFPLEtBQUtSLE1BQUwsQ0FBWVEsUUFBWixDQUFxQixLQUFyQixDQUFQO0FBQ0Q7QUFDRjs7QUFFRCxhQUFPLENBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzZCQUNrQkcsSSxFQUFNO0FBQUEsVUFDWkMsWUFEWSxHQUMrQ0QsSUFEL0MsQ0FDWkMsWUFEWTtBQUFBLFVBQ0VDLFlBREYsR0FDK0NGLElBRC9DLENBQ0VFLFlBREY7QUFBQSxVQUNnQkMsWUFEaEIsR0FDK0NILElBRC9DLENBQ2dCRyxZQURoQjtBQUFBLFVBQzhCQyxZQUQ5QixHQUMrQ0osSUFEL0MsQ0FDOEJJLFlBRDlCO0FBR3BCLGFBQU8sSUFBSWhCLElBQUosQ0FDTCxJQUFJaUIsVUFBSixDQUFTSixZQUFULEVBQXVCQyxZQUF2QixDQURLLEVBRUwsSUFBSUcsVUFBSixDQUFTRixZQUFULEVBQXVCQyxZQUF2QixDQUZLLENBQVA7QUFJRDs7O0VBeEYrQkUsd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUZBVUxUX1JBVEVfTlVNX1BBTiwgREVGQVVMVF9SQVRFX1RJTUVfUEFOIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgU3BhbiwgY3JlYXRlU3BhbiB9IGZyb20gJy4uL21hdGgnO1xuXG5pbXBvcnQgSW5pdGlhbGl6ZXIgZnJvbSAnLi9Jbml0aWFsaXplcic7XG5pbXBvcnQgeyBJTklUSUFMSVpFUl9UWVBFX1JBVEUgYXMgdHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIHJhdGUgb2YgcGFydGljbGUgZW1pc3Npb24uXG4gKlxuICogTk9URSBUaGlzIGRvZXNuJ3QgbmVlZCB0byBiZSBhbiBpbml0aWFsaXplciwgaXQgZG9lc24ndCBoYXZlIGFuIGluaXRpYWxpemVcbiAqIG1ldGhvZCwgaXQgb3ZlcnJpZGVzIHRoZSBiYXNlIGluaXQgbWV0aG9kIGFuZCBpdCBpcyBvbmx5IHJlbGV2ZW50IHRvIHRoZSBFbWl0dGVyIGNsYXNzLlxuICogSXQgd291bGQgYmUgYmV0dGVyIHRvIG1vdmUgdGhpcyB0byB0aGUgRW1pdHRlciBtb2R1bGUgaXRzZWxmIGFzIGEgc3RhbmRhbG9uZSBjbGFzcy5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhdGUgZXh0ZW5kcyBJbml0aWFsaXplciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgUmF0ZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ8YXJyYXl8U3Bhbn0gbnVtUGFuIC0gVGhlIG51bWJlciBvZiBwYXJ0aWNsZXMgdG8gZW1pdFxuICAgKiBAcGFyYW0ge251bWJlcnxhcnJheXxTcGFufSB0aW1lUGFuIC0gVGhlIHRpbWUgYmV0d2VlbiBlYWNoIHBhcnRpY2xlIGVtaXNzaW9uXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IobnVtUGFuID0gREVGQVVMVF9SQVRFX05VTV9QQU4sIHRpbWVQYW4gPSBERUZBVUxUX1JBVEVfVElNRV9QQU4pIHtcbiAgICBzdXBlcih0eXBlKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFNldHMgdGhlIG51bWJlciBvZiBwYXJ0aWNsZXMgdG8gZW1pdC5cbiAgICAgKiBAdHlwZSB7U3Bhbn1cbiAgICAgKi9cbiAgICB0aGlzLm51bVBhbiA9IGNyZWF0ZVNwYW4obnVtUGFuKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFNldHMgdGhlIHRpbWUgYmV0d2VlbiBlYWNoIHBhcnRpY2xlIGVtaXNzaW9uLlxuICAgICAqIEB0eXBlIHtTcGFufVxuICAgICAqL1xuICAgIHRoaXMudGltZVBhbiA9IGNyZWF0ZVNwYW4odGltZVBhbik7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgcmF0ZSdzIHN0YXJ0IHRpbWUuXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICB0aGlzLnN0YXJ0VGltZSA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgcmF0ZSdzIG5leHQgdGltZS5cbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAqL1xuICAgIHRoaXMubmV4dFRpbWUgPSAwO1xuXG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc3RhcnRUaW1lIGFuZCBuZXh0VGltZSBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGluaXQoKSB7XG4gICAgdGhpcy5zdGFydFRpbWUgPSAwO1xuICAgIHRoaXMubmV4dFRpbWUgPSB0aGlzLnRpbWVQYW4uZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBudW1iZXIgb2YgcGFydGljbGVzIHRvIGVtaXQuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIC0gQ3VycmVudCBwYXJ0aWNsZSBlbmdpbmUgdGltZVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBnZXRWYWx1ZSh0aW1lKSB7XG4gICAgdGhpcy5zdGFydFRpbWUgKz0gdGltZTtcblxuICAgIGlmICh0aGlzLnN0YXJ0VGltZSA+PSB0aGlzLm5leHRUaW1lKSB7XG4gICAgICB0aGlzLmluaXQoKTtcblxuICAgICAgaWYgKHRoaXMubnVtUGFuLmIgPT0gMSkge1xuICAgICAgICBpZiAodGhpcy5udW1QYW4uZ2V0VmFsdWUoJ0Zsb2F0JykgPiAwLjUpIHJldHVybiAxO1xuICAgICAgICBlbHNlIHJldHVybiAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubnVtUGFuLmdldFZhbHVlKCdJbnQnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUmF0ZSBpbml0aWFsaXplciBmcm9tIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZSBmcm9tLlxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi5wYXJ0aWNsZXNNaW4gLSBUaGUgbWluaW11bSBudW1iZXIgb2YgcGFydGljbGVzIHRvIGVtaXRcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ucGFydGljbGVzTWF4IC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpY2xlcyB0byBlbWl0XG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLnBlclNlY29uZE1pbiAtIFRoZSBtaW5pbXVtIHBlciBzZWNvbmQgZW1pdCByYXRlXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLnBlclNlY29uZE1heCAtIFRoZSBtYXhpbXVtIHBlciBzZWNvbmQgZW1pdCByYXRlXG4gICAqIEByZXR1cm4ge1JhdGV9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IHsgcGFydGljbGVzTWluLCBwYXJ0aWNsZXNNYXgsIHBlclNlY29uZE1pbiwgcGVyU2Vjb25kTWF4IH0gPSBqc29uO1xuXG4gICAgcmV0dXJuIG5ldyBSYXRlKFxuICAgICAgbmV3IFNwYW4ocGFydGljbGVzTWluLCBwYXJ0aWNsZXNNYXgpLFxuICAgICAgbmV3IFNwYW4ocGVyU2Vjb25kTWluLCBwZXJTZWNvbmRNYXgpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,95 +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 _three = require("../core/three");
21
-
22
- var _Initializer2 = _interopRequireDefault(require("./Initializer"));
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 rotation property on initialized particles.
32
- *
33
- */
34
- var Rotation = /*#__PURE__*/function (_Initializer) {
35
- (0, _inherits2["default"])(Rotation, _Initializer);
36
-
37
- var _super = _createSuper(Rotation);
38
-
39
- /**
40
- * Constructs a Rotation property instance.
41
- *
42
- * @param {number} x - X axis rotation
43
- * @param {number} y - Y axis rotation
44
- * @param {number} z - Z axis rotation
45
- * @param {boolean} [useEmitterRotation=true] - Determines if we should use the emitter's rotation as the starting rotation
46
- * @param {boolean} [isEnabled=true] - Determines if the initializer should be enabled or not
47
- * @return void
48
- */
49
- function Rotation(x, y, z) {
50
- var _this;
51
-
52
- var useEmitterRotation = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
53
- var isEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
54
- (0, _classCallCheck2["default"])(this, Rotation);
55
- _this = _super.call(this, _types.INITIALIZER_TYPE_ROTATION, isEnabled);
56
- _this.rotation = new _three.Vector3(x, y, z);
57
- _this.useEmitterRotation = useEmitterRotation;
58
- return _this;
59
- }
60
- /**
61
- * Sets the particle's initial rotation.
62
- *
63
- * @param {Particle} particle - the particle to initialize the property on
64
- * @return void
65
- */
66
-
67
-
68
- (0, _createClass2["default"])(Rotation, [{
69
- key: "initialize",
70
- value: function initialize(particle) {
71
- if (this.useEmitterRotation) {
72
- // set initial particle rotation to that of the particle's emitter then add our set rotation
73
- particle.rotation.copy(particle.parent.rotation).add(this.rotation);
74
- } else {
75
- particle.rotation.copy(this.rotation);
76
- }
77
- }
78
- }], [{
79
- key: "fromJSON",
80
- value: function fromJSON(json) {
81
- var x = json.x,
82
- y = json.y,
83
- z = json.z,
84
- _json$useEmitterRotat = json.useEmitterRotation,
85
- useEmitterRotation = _json$useEmitterRotat === void 0 ? true : _json$useEmitterRotat,
86
- _json$isEnabled = json.isEnabled,
87
- isEnabled = _json$isEnabled === void 0 ? true : _json$isEnabled;
88
- return new Rotation(x, y, z, useEmitterRotation, isEnabled);
89
- }
90
- }]);
91
- return Rotation;
92
- }(_Initializer2["default"]);
93
-
94
- exports["default"] = Rotation;
95
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbml0aWFsaXplci9Sb3RhdGlvbi5qcyJdLCJuYW1lcyI6WyJSb3RhdGlvbiIsIngiLCJ5IiwieiIsInVzZUVtaXR0ZXJSb3RhdGlvbiIsImlzRW5hYmxlZCIsInR5cGUiLCJyb3RhdGlvbiIsIlZlY3RvcjMiLCJwYXJ0aWNsZSIsImNvcHkiLCJwYXJlbnQiLCJhZGQiLCJqc29uIiwiSW5pdGlhbGl6ZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7SUFDcUJBLFE7Ozs7O0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Usb0JBQVlDLENBQVosRUFBZUMsQ0FBZixFQUFrQkMsQ0FBbEIsRUFBZ0U7QUFBQTs7QUFBQSxRQUEzQ0Msa0JBQTJDLHVFQUF4QixJQUF3QjtBQUFBLFFBQWxCQyxTQUFrQix1RUFBTixJQUFNO0FBQUE7QUFDOUQsOEJBQU1DLGdDQUFOLEVBQVlELFNBQVo7QUFDQSxVQUFLRSxRQUFMLEdBQWdCLElBQUlDLGNBQUosQ0FBWVAsQ0FBWixFQUFjQyxDQUFkLEVBQWdCQyxDQUFoQixDQUFoQjtBQUNBLFVBQUtDLGtCQUFMLEdBQTBCQSxrQkFBMUI7QUFIOEQ7QUFJL0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OytCQUNhSyxRLEVBQVU7QUFDbkIsVUFBRyxLQUFLTCxrQkFBUixFQUNBO0FBQ0U7QUFDQUssUUFBQUEsUUFBUSxDQUFDRixRQUFULENBQWtCRyxJQUFsQixDQUF1QkQsUUFBUSxDQUFDRSxNQUFULENBQWdCSixRQUF2QyxFQUFpREssR0FBakQsQ0FBcUQsS0FBS0wsUUFBMUQ7QUFDRCxPQUpELE1BTUE7QUFDRUUsUUFBQUEsUUFBUSxDQUFDRixRQUFULENBQWtCRyxJQUFsQixDQUF1QixLQUFLSCxRQUE1QjtBQUNEO0FBQ0Y7Ozs2QkFFZU0sSSxFQUFNO0FBQUEsVUFDWlosQ0FEWSxHQUM2Q1ksSUFEN0MsQ0FDWlosQ0FEWTtBQUFBLFVBQ1RDLENBRFMsR0FDNkNXLElBRDdDLENBQ1RYLENBRFM7QUFBQSxVQUNOQyxDQURNLEdBQzZDVSxJQUQ3QyxDQUNOVixDQURNO0FBQUEsa0NBQzZDVSxJQUQ3QyxDQUNIVCxrQkFERztBQUFBLFVBQ0hBLGtCQURHLHNDQUNrQixJQURsQjtBQUFBLDRCQUM2Q1MsSUFEN0MsQ0FDd0JSLFNBRHhCO0FBQUEsVUFDd0JBLFNBRHhCLGdDQUNvQyxJQURwQztBQUdwQixhQUFPLElBQUlMLFFBQUosQ0FBYUMsQ0FBYixFQUFnQkMsQ0FBaEIsRUFBbUJDLENBQW5CLEVBQXNCQyxrQkFBdEIsRUFBMENDLFNBQTFDLENBQVA7QUFDRDs7O0VBdkNtQ1Msd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZWN0b3IzIH0gZnJvbSAnLi4vY29yZS90aHJlZSc7XG5pbXBvcnQgSW5pdGlhbGl6ZXIgZnJvbSAnLi9Jbml0aWFsaXplcic7XG5pbXBvcnQgeyBJTklUSUFMSVpFUl9UWVBFX1JPVEFUSU9OIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXRzIHRoZSByb3RhdGlvbiBwcm9wZXJ0eSBvbiBpbml0aWFsaXplZCBwYXJ0aWNsZXMuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb3RhdGlvbiBleHRlbmRzIEluaXRpYWxpemVyIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBSb3RhdGlvbiBwcm9wZXJ0eSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHggLSBYIGF4aXMgcm90YXRpb25cbiAgICogQHBhcmFtIHtudW1iZXJ9IHkgLSBZIGF4aXMgcm90YXRpb25cbiAgICogQHBhcmFtIHtudW1iZXJ9IHogLSBaIGF4aXMgcm90YXRpb25cbiAgICogQHBhcmFtIHtib29sZWFufSBbdXNlRW1pdHRlclJvdGF0aW9uPXRydWVdIC0gRGV0ZXJtaW5lcyBpZiB3ZSBzaG91bGQgdXNlIHRoZSBlbWl0dGVyJ3Mgcm90YXRpb24gYXMgdGhlIHN0YXJ0aW5nIHJvdGF0aW9uXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGluaXRpYWxpemVyIHNob3VsZCBiZSBlbmFibGVkIG9yIG5vdFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHgsIHksIHosIHVzZUVtaXR0ZXJSb3RhdGlvbj10cnVlLCBpc0VuYWJsZWQgPSB0cnVlKSB7XG4gICAgc3VwZXIodHlwZSwgaXNFbmFibGVkKTtcbiAgICB0aGlzLnJvdGF0aW9uID0gbmV3IFZlY3RvcjMoeCx5LHopO1xuICAgIHRoaXMudXNlRW1pdHRlclJvdGF0aW9uID0gdXNlRW1pdHRlclJvdGF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcnRpY2xlJ3MgaW5pdGlhbCByb3RhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGUgLSB0aGUgcGFydGljbGUgdG8gaW5pdGlhbGl6ZSB0aGUgcHJvcGVydHkgb25cbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBpbml0aWFsaXplKHBhcnRpY2xlKSB7XG4gICAgaWYodGhpcy51c2VFbWl0dGVyUm90YXRpb24pXG4gICAge1xuICAgICAgLy8gc2V0IGluaXRpYWwgcGFydGljbGUgcm90YXRpb24gdG8gdGhhdCBvZiB0aGUgcGFydGljbGUncyBlbWl0dGVyIHRoZW4gYWRkIG91ciBzZXQgcm90YXRpb25cbiAgICAgIHBhcnRpY2xlLnJvdGF0aW9uLmNvcHkocGFydGljbGUucGFyZW50LnJvdGF0aW9uKS5hZGQodGhpcy5yb3RhdGlvbik7XG4gICAgfVxuICAgIGVsc2VcbiAgICB7XG4gICAgICBwYXJ0aWNsZS5yb3RhdGlvbi5jb3B5KHRoaXMucm90YXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyB4LCB5LCB6LCB1c2VFbWl0dGVyUm90YXRpb24gPSB0cnVlLCBpc0VuYWJsZWQgPSB0cnVlIH0gPSBqc29uO1xuXG4gICAgcmV0dXJuIG5ldyBSb3RhdGlvbih4LCB5LCB6LCB1c2VFbWl0dGVyUm90YXRpb24sIGlzRW5hYmxlZCk7XG4gIH1cbn0iXX0=