three-nebula 11.0.0 → 11.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/three-nebula.cjs +109 -0
- package/dist/three-nebula.cjs.map +1 -0
- package/dist/three-nebula.mjs +2969 -0
- package/dist/three-nebula.mjs.map +1 -0
- package/dist/three-nebula.umd.js +109 -0
- package/dist/three-nebula.umd.js.map +1 -0
- package/package.json +23 -47
- package/specs/01-emitter-hierarchy.md +200 -0
- package/specs/02-determinism-scrubbing.md +188 -0
- package/specs/03-sound-renderer.md +183 -0
- package/specs/04-schema-versioning.md +140 -0
- package/specs/05-content-addressed-assets.md +288 -0
- package/specs/README.md +80 -0
- package/build/cjs/behaviour/Alpha.js +0 -189
- package/build/cjs/behaviour/Attraction.js +0 -189
- package/build/cjs/behaviour/Behaviour.js +0 -253
- package/build/cjs/behaviour/Collision.js +0 -146
- package/build/cjs/behaviour/Color.js +0 -148
- package/build/cjs/behaviour/CrossZone.js +0 -141
- package/build/cjs/behaviour/Force.js +0 -126
- package/build/cjs/behaviour/Gravity.js +0 -78
- package/build/cjs/behaviour/RandomDrift.js +0 -153
- package/build/cjs/behaviour/Repulsion.js +0 -123
- package/build/cjs/behaviour/Rotate.js +0 -265
- package/build/cjs/behaviour/Scale.js +0 -177
- package/build/cjs/behaviour/Spring.js +0 -133
- package/build/cjs/behaviour/constants.js +0 -28
- package/build/cjs/behaviour/index.js +0 -112
- package/build/cjs/behaviour/types.js +0 -33
- package/build/cjs/constants/index.js +0 -61
- package/build/cjs/core/Particle.js +0 -390
- package/build/cjs/core/Pool.js +0 -203
- package/build/cjs/core/System.js +0 -366
- package/build/cjs/core/constants.js +0 -163
- package/build/cjs/core/fromJSON.js +0 -128
- package/build/cjs/core/fromJSONAsync.js +0 -239
- package/build/cjs/core/index.js +0 -32
- package/build/cjs/core/three/Euler.js +0 -233
- package/build/cjs/core/three/Math.js +0 -91
- package/build/cjs/core/three/Matrix4.js +0 -745
- package/build/cjs/core/three/Quaternion.js +0 -451
- package/build/cjs/core/three/Vector3.js +0 -464
- package/build/cjs/core/three/constants.js +0 -298
- package/build/cjs/core/three/index.js +0 -48
- package/build/cjs/core/types.js +0 -13
- package/build/cjs/debug/Debug.js +0 -209
- package/build/cjs/debug/constants.js +0 -19
- package/build/cjs/debug/index.js +0 -24
- package/build/cjs/debug/log.js +0 -38
- package/build/cjs/ease/index.js +0 -149
- package/build/cjs/emitter/Emitter.js +0 -798
- package/build/cjs/emitter/FollowEmitter.js +0 -146
- package/build/cjs/emitter/constants.js +0 -20
- package/build/cjs/emitter/index.js +0 -24
- package/build/cjs/emitter/types.js +0 -11
- package/build/cjs/events/EventDispatcher.js +0 -105
- package/build/cjs/events/constants.js +0 -23
- package/build/cjs/events/index.js +0 -27
- package/build/cjs/index.js +0 -151
- package/build/cjs/initializer/Body.js +0 -122
- package/build/cjs/initializer/BodySprite.js +0 -146
- package/build/cjs/initializer/Initializer.js +0 -109
- package/build/cjs/initializer/InitializerUtil.js +0 -54
- package/build/cjs/initializer/Life.js +0 -106
- package/build/cjs/initializer/Mass.js +0 -101
- package/build/cjs/initializer/Position.js +0 -152
- package/build/cjs/initializer/Radius.js +0 -118
- package/build/cjs/initializer/Rate.js +0 -150
- package/build/cjs/initializer/Rotation.js +0 -95
- package/build/cjs/initializer/Texture.js +0 -139
- package/build/cjs/initializer/Velocity/PolarVelocity.js +0 -102
- package/build/cjs/initializer/Velocity/RadialVelocity.js +0 -111
- package/build/cjs/initializer/Velocity/VectorVelocity.js +0 -108
- package/build/cjs/initializer/Velocity/Velocity.js +0 -94
- package/build/cjs/initializer/Velocity/index.js +0 -32
- package/build/cjs/initializer/constants.js +0 -43
- package/build/cjs/initializer/index.js +0 -108
- package/build/cjs/initializer/types.js +0 -37
- package/build/cjs/math/ArraySpan.js +0 -103
- package/build/cjs/math/Box.js +0 -46
- package/build/cjs/math/ColorSpan.js +0 -113
- package/build/cjs/math/MathUtils.js +0 -57
- package/build/cjs/math/Polar3D.js +0 -115
- package/build/cjs/math/Span.js +0 -88
- package/build/cjs/math/Vector3D.js +0 -76
- package/build/cjs/math/constants.js +0 -35
- package/build/cjs/math/index.js +0 -122
- package/build/cjs/math/integration.js +0 -59
- package/build/cjs/math/types.js +0 -19
- package/build/cjs/renderer/BaseRenderer.js +0 -108
- package/build/cjs/renderer/CustomRenderer.js +0 -65
- package/build/cjs/renderer/GPURenderer/Desktop/index.js +0 -371
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -13
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/index.js +0 -22
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -17
- package/build/cjs/renderer/GPURenderer/Mobile/index.js +0 -385
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -13
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/index.js +0 -22
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -15
- package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -58
- package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -93
- package/build/cjs/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -9
- package/build/cjs/renderer/GPURenderer/common/TextureAtlas/index.js +0 -221
- package/build/cjs/renderer/GPURenderer/common/constants.js +0 -22
- package/build/cjs/renderer/GPURenderer/common/index.js +0 -38
- package/build/cjs/renderer/GPURenderer/common/shaders/constants.js +0 -9
- package/build/cjs/renderer/GPURenderer/common/stores/Target.js +0 -45
- package/build/cjs/renderer/GPURenderer/common/stores/UniqueList.js +0 -51
- package/build/cjs/renderer/GPURenderer/common/stores/index.js +0 -22
- package/build/cjs/renderer/GPURenderer/index.js +0 -97
- package/build/cjs/renderer/MeshRenderer.js +0 -136
- package/build/cjs/renderer/SpriteRenderer.js +0 -68
- package/build/cjs/renderer/index.js +0 -40
- package/build/cjs/renderer/types.js +0 -21
- package/build/cjs/utils/ColorUtil.js +0 -39
- package/build/cjs/utils/PUID.js +0 -26
- package/build/cjs/utils/THREEUtil.js +0 -40
- package/build/cjs/utils/Util.js +0 -69
- package/build/cjs/utils/index.js +0 -61
- package/build/cjs/utils/uid.js +0 -12
- package/build/cjs/zone/BoxZone.js +0 -178
- package/build/cjs/zone/LineZone.js +0 -101
- package/build/cjs/zone/MeshZone.js +0 -101
- package/build/cjs/zone/PointZone.js +0 -99
- package/build/cjs/zone/ScreenZone.js +0 -164
- package/build/cjs/zone/SphereZone.js +0 -155
- package/build/cjs/zone/Zone.js +0 -172
- package/build/cjs/zone/index.js +0 -56
- package/build/cjs/zone/types.js +0 -21
- package/build/esm/behaviour/Alpha.js +0 -134
- package/build/esm/behaviour/Attraction.js +0 -135
- package/build/esm/behaviour/Behaviour.js +0 -215
- package/build/esm/behaviour/Collision.js +0 -100
- package/build/esm/behaviour/Color.js +0 -101
- package/build/esm/behaviour/CrossZone.js +0 -82
- package/build/esm/behaviour/Force.js +0 -83
- package/build/esm/behaviour/Gravity.js +0 -40
- package/build/esm/behaviour/RandomDrift.js +0 -97
- package/build/esm/behaviour/Repulsion.js +0 -81
- package/build/esm/behaviour/Rotate.js +0 -214
- package/build/esm/behaviour/Scale.js +0 -131
- package/build/esm/behaviour/Spring.js +0 -90
- package/build/esm/behaviour/constants.js +0 -11
- package/build/esm/behaviour/index.js +0 -14
- package/build/esm/behaviour/types.js +0 -14
- package/build/esm/constants/index.js +0 -42
- package/build/esm/core/Particle.js +0 -357
- package/build/esm/core/Pool.js +0 -161
- package/build/esm/core/System.js +0 -320
- package/build/esm/core/constants.js +0 -127
- package/build/esm/core/fromJSON.js +0 -107
- package/build/esm/core/fromJSONAsync.js +0 -210
- package/build/esm/core/index.js +0 -4
- package/build/esm/core/three/Euler.js +0 -224
- package/build/esm/core/three/Math.js +0 -84
- package/build/esm/core/three/Matrix4.js +0 -739
- package/build/esm/core/three/Quaternion.js +0 -445
- package/build/esm/core/three/Vector3.js +0 -457
- package/build/esm/core/three/constants.js +0 -148
- package/build/esm/core/three/index.js +0 -5
- package/build/esm/core/types.js +0 -4
- package/build/esm/debug/Debug.js +0 -195
- package/build/esm/debug/constants.js +0 -7
- package/build/esm/debug/index.js +0 -3
- package/build/esm/debug/log.js +0 -31
- package/build/esm/ease/index.js +0 -113
- package/build/esm/emitter/Emitter.js +0 -708
- package/build/esm/emitter/FollowEmitter.js +0 -97
- package/build/esm/emitter/constants.js +0 -7
- package/build/esm/emitter/index.js +0 -3
- package/build/esm/emitter/types.js +0 -3
- package/build/esm/events/EventDispatcher.js +0 -82
- package/build/esm/events/constants.js +0 -9
- package/build/esm/events/index.js +0 -4
- package/build/esm/index.js +0 -13
- package/build/esm/initializer/Body.js +0 -83
- package/build/esm/initializer/BodySprite.js +0 -108
- package/build/esm/initializer/Initializer.js +0 -84
- package/build/esm/initializer/InitializerUtil.js +0 -48
- package/build/esm/initializer/Life.js +0 -66
- package/build/esm/initializer/Mass.js +0 -60
- package/build/esm/initializer/Position.js +0 -98
- package/build/esm/initializer/Radius.js +0 -75
- package/build/esm/initializer/Rate.js +0 -107
- package/build/esm/initializer/Rotation.js +0 -54
- package/build/esm/initializer/Texture.js +0 -101
- package/build/esm/initializer/Velocity/PolarVelocity.js +0 -63
- package/build/esm/initializer/Velocity/RadialVelocity.js +0 -72
- package/build/esm/initializer/Velocity/VectorVelocity.js +0 -69
- package/build/esm/initializer/Velocity/Velocity.js +0 -52
- package/build/esm/initializer/Velocity/index.js +0 -4
- package/build/esm/initializer/constants.js +0 -26
- package/build/esm/initializer/index.js +0 -12
- package/build/esm/initializer/types.js +0 -16
- package/build/esm/math/ArraySpan.js +0 -62
- package/build/esm/math/Box.js +0 -25
- package/build/esm/math/ColorSpan.js +0 -71
- package/build/esm/math/MathUtils.js +0 -48
- package/build/esm/math/Polar3D.js +0 -81
- package/build/esm/math/Span.js +0 -63
- package/build/esm/math/Vector3D.js +0 -34
- package/build/esm/math/constants.js +0 -24
- package/build/esm/math/index.js +0 -10
- package/build/esm/math/integration.js +0 -47
- package/build/esm/math/types.js +0 -7
- package/build/esm/renderer/BaseRenderer.js +0 -78
- package/build/esm/renderer/CustomRenderer.js +0 -23
- package/build/esm/renderer/GPURenderer/Desktop/index.js +0 -357
- package/build/esm/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -30
- package/build/esm/renderer/GPURenderer/Desktop/shaders/index.js +0 -3
- package/build/esm/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -36
- package/build/esm/renderer/GPURenderer/Mobile/index.js +0 -375
- package/build/esm/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -27
- package/build/esm/renderer/GPURenderer/Mobile/shaders/index.js +0 -3
- package/build/esm/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -33
- package/build/esm/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -30
- package/build/esm/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -70
- package/build/esm/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -2
- package/build/esm/renderer/GPURenderer/common/TextureAtlas/index.js +0 -206
- package/build/esm/renderer/GPURenderer/common/constants.js +0 -13
- package/build/esm/renderer/GPURenderer/common/index.js +0 -4
- package/build/esm/renderer/GPURenderer/common/shaders/constants.js +0 -2
- package/build/esm/renderer/GPURenderer/common/stores/Target.js +0 -26
- package/build/esm/renderer/GPURenderer/common/stores/UniqueList.js +0 -29
- package/build/esm/renderer/GPURenderer/common/stores/index.js +0 -3
- package/build/esm/renderer/GPURenderer/index.js +0 -57
- package/build/esm/renderer/MeshRenderer.js +0 -93
- package/build/esm/renderer/SpriteRenderer.js +0 -30
- package/build/esm/renderer/index.js +0 -5
- package/build/esm/renderer/types.js +0 -8
- package/build/esm/utils/ColorUtil.js +0 -32
- package/build/esm/utils/PUID.js +0 -19
- package/build/esm/utils/THREEUtil.js +0 -31
- package/build/esm/utils/Util.js +0 -60
- package/build/esm/utils/index.js +0 -13
- package/build/esm/utils/uid.js +0 -3
- package/build/esm/zone/BoxZone.js +0 -133
- package/build/esm/zone/LineZone.js +0 -61
- package/build/esm/zone/MeshZone.js +0 -60
- package/build/esm/zone/PointZone.js +0 -59
- package/build/esm/zone/ScreenZone.js +0 -116
- package/build/esm/zone/SphereZone.js +0 -113
- package/build/esm/zone/Zone.js +0 -141
- package/build/esm/zone/index.js +0 -7
- package/build/esm/zone/types.js +0 -8
- package/build/three-nebula.js +0 -2
- package/build/three-nebula.js.map +0 -1
|
@@ -1,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=
|