custom-pixi-particles 2.0.7 → 2.0.8

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 (118) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.js +16 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/lib/Particle.d.ts +45 -0
  5. package/dist/lib/Particle.js +69 -0
  6. package/dist/lib/Particle.js.map +1 -0
  7. package/dist/lib/ParticlePool.d.ts +9 -0
  8. package/dist/lib/ParticlePool.js +34 -0
  9. package/dist/lib/ParticlePool.js.map +1 -0
  10. package/dist/lib/behaviour/AngularVelocityBehaviour.d.ts +26 -0
  11. package/dist/lib/behaviour/AngularVelocityBehaviour.js +78 -0
  12. package/dist/lib/behaviour/AngularVelocityBehaviour.js.map +1 -0
  13. package/dist/lib/behaviour/Behaviour.d.ts +7 -0
  14. package/dist/lib/behaviour/Behaviour.js +27 -0
  15. package/dist/lib/behaviour/Behaviour.js.map +1 -0
  16. package/dist/lib/behaviour/BehaviourNames.d.ts +11 -0
  17. package/dist/lib/behaviour/BehaviourNames.js +13 -0
  18. package/dist/lib/behaviour/BehaviourNames.js.map +1 -0
  19. package/dist/lib/behaviour/ColorBehaviour.d.ts +45 -0
  20. package/dist/lib/behaviour/ColorBehaviour.js +104 -0
  21. package/dist/lib/behaviour/ColorBehaviour.js.map +1 -0
  22. package/dist/lib/behaviour/EmitDirectionBehaviour.d.ts +22 -0
  23. package/dist/lib/behaviour/EmitDirectionBehaviour.js +84 -0
  24. package/dist/lib/behaviour/EmitDirectionBehaviour.js.map +1 -0
  25. package/dist/lib/behaviour/EmitterBehaviours.d.ts +12 -0
  26. package/dist/lib/behaviour/EmitterBehaviours.js +60 -0
  27. package/dist/lib/behaviour/EmitterBehaviours.js.map +1 -0
  28. package/dist/lib/behaviour/LifeBehaviour.d.ts +18 -0
  29. package/dist/lib/behaviour/LifeBehaviour.js +56 -0
  30. package/dist/lib/behaviour/LifeBehaviour.js.map +1 -0
  31. package/dist/lib/behaviour/PositionBehaviour.d.ts +62 -0
  32. package/dist/lib/behaviour/PositionBehaviour.js +147 -0
  33. package/dist/lib/behaviour/PositionBehaviour.js.map +1 -0
  34. package/dist/lib/behaviour/RotationBehaviour.d.ts +22 -0
  35. package/dist/lib/behaviour/RotationBehaviour.js +78 -0
  36. package/dist/lib/behaviour/RotationBehaviour.js.map +1 -0
  37. package/dist/lib/behaviour/SizeBehaviour.d.ts +31 -0
  38. package/dist/lib/behaviour/SizeBehaviour.js +85 -0
  39. package/dist/lib/behaviour/SizeBehaviour.js.map +1 -0
  40. package/dist/lib/behaviour/TurbulenceBehaviour.d.ts +69 -0
  41. package/dist/lib/behaviour/TurbulenceBehaviour.js +154 -0
  42. package/dist/lib/behaviour/TurbulenceBehaviour.js.map +1 -0
  43. package/dist/lib/behaviour/index.d.ts +12 -0
  44. package/dist/lib/behaviour/index.js +29 -0
  45. package/dist/lib/behaviour/index.js.map +1 -0
  46. package/dist/lib/customPixiParticlesSettingsInterface.d.ts +8 -0
  47. package/dist/lib/customPixiParticlesSettingsInterface.js +3 -0
  48. package/dist/lib/customPixiParticlesSettingsInterface.js.map +1 -0
  49. package/dist/lib/emission/AbstractEmission.d.ts +7 -0
  50. package/dist/lib/emission/AbstractEmission.js +22 -0
  51. package/dist/lib/emission/AbstractEmission.js.map +1 -0
  52. package/dist/lib/emission/EmissionTypes.d.ts +6 -0
  53. package/dist/lib/emission/EmissionTypes.js +8 -0
  54. package/dist/lib/emission/EmissionTypes.js.map +1 -0
  55. package/dist/lib/emission/RandomEmission.d.ts +11 -0
  56. package/dist/lib/emission/RandomEmission.js +62 -0
  57. package/dist/lib/emission/RandomEmission.js.map +1 -0
  58. package/dist/lib/emission/StandardEmission.d.ts +12 -0
  59. package/dist/lib/emission/StandardEmission.js +66 -0
  60. package/dist/lib/emission/StandardEmission.js.map +1 -0
  61. package/dist/lib/emission/UniformEmission.d.ts +14 -0
  62. package/dist/lib/emission/UniformEmission.js +74 -0
  63. package/dist/lib/emission/UniformEmission.js.map +1 -0
  64. package/dist/lib/emission/index.d.ts +6 -0
  65. package/dist/lib/emission/index.js +17 -0
  66. package/dist/lib/emission/index.js.map +1 -0
  67. package/dist/lib/emitter/Duration.d.ts +10 -0
  68. package/dist/lib/emitter/Duration.js +29 -0
  69. package/dist/lib/emitter/Duration.js.map +1 -0
  70. package/dist/lib/emitter/Emitter.d.ts +45 -0
  71. package/dist/lib/emitter/Emitter.js +215 -0
  72. package/dist/lib/emitter/Emitter.js.map +1 -0
  73. package/dist/lib/emitter/index.d.ts +3 -0
  74. package/dist/lib/emitter/index.js +11 -0
  75. package/dist/lib/emitter/index.js.map +1 -0
  76. package/dist/lib/index.d.ts +20 -0
  77. package/dist/lib/index.js +45 -0
  78. package/dist/lib/index.js.map +1 -0
  79. package/dist/lib/parser/BehaviourParser.d.ts +10 -0
  80. package/dist/lib/parser/BehaviourParser.js +49 -0
  81. package/dist/lib/parser/BehaviourParser.js.map +1 -0
  82. package/dist/lib/parser/CompatibilityHelper.d.ts +3 -0
  83. package/dist/lib/parser/CompatibilityHelper.js +15 -0
  84. package/dist/lib/parser/CompatibilityHelper.js.map +1 -0
  85. package/dist/lib/parser/EmitControllerParser.d.ts +6 -0
  86. package/dist/lib/parser/EmitControllerParser.js +23 -0
  87. package/dist/lib/parser/EmitControllerParser.js.map +1 -0
  88. package/dist/lib/parser/EmitterParser.d.ts +12 -0
  89. package/dist/lib/parser/EmitterParser.js +127 -0
  90. package/dist/lib/parser/EmitterParser.js.map +1 -0
  91. package/dist/lib/parser/index.d.ts +5 -0
  92. package/dist/lib/parser/index.js +15 -0
  93. package/dist/lib/parser/index.js.map +1 -0
  94. package/dist/lib/pixi/Renderer.d.ts +49 -0
  95. package/dist/lib/pixi/Renderer.js +438 -0
  96. package/dist/lib/pixi/Renderer.js.map +1 -0
  97. package/dist/lib/util/Color.d.ts +32 -0
  98. package/dist/lib/util/Color.js +99 -0
  99. package/dist/lib/util/Color.js.map +1 -0
  100. package/dist/lib/util/List.d.ts +9 -0
  101. package/dist/lib/util/List.js +51 -0
  102. package/dist/lib/util/List.js.map +1 -0
  103. package/dist/lib/util/Point.d.ts +13 -0
  104. package/dist/lib/util/Point.js +30 -0
  105. package/dist/lib/util/Point.js.map +1 -0
  106. package/dist/lib/util/Random.d.ts +4 -0
  107. package/dist/lib/util/Random.js +15 -0
  108. package/dist/lib/util/Random.js.map +1 -0
  109. package/dist/lib/util/index.d.ts +5 -0
  110. package/dist/lib/util/index.js +15 -0
  111. package/dist/lib/util/index.js.map +1 -0
  112. package/dist/lib/util/maths.d.ts +7 -0
  113. package/dist/lib/util/maths.js +17 -0
  114. package/dist/lib/util/maths.js.map +1 -0
  115. package/dist/lib/util/turbulencePool.d.ts +5 -0
  116. package/dist/lib/util/turbulencePool.js +10 -0
  117. package/dist/lib/util/turbulencePool.js.map +1 -0
  118. package/package.json +1 -1
@@ -0,0 +1,12 @@
1
+ import Particle from '../Particle';
2
+ export default class EmitterBehaviours {
3
+ behaviours: any;
4
+ getAll: () => any;
5
+ isEmpty: () => boolean;
6
+ clear: () => void;
7
+ add: (behaviour: any) => any;
8
+ getByName: (name: string) => any;
9
+ removeByName: (name: string) => void;
10
+ init: (particle: Particle) => void;
11
+ apply: (particle: Particle, deltaTime: number) => void;
12
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // tslint:disable:prefer-for-of
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var EmitterBehaviours = /** @class */ (function () {
5
+ function EmitterBehaviours() {
6
+ var _this = this;
7
+ this.behaviours = [];
8
+ this.getAll = function () {
9
+ return _this.behaviours.filter(function (behaviour) {
10
+ return behaviour.enabled;
11
+ });
12
+ };
13
+ this.isEmpty = function () {
14
+ return _this.getAll().length === 0;
15
+ };
16
+ this.clear = function () {
17
+ _this.behaviours = [];
18
+ };
19
+ this.add = function (behaviour) {
20
+ if (_this.getByName(behaviour.getName()) !== null) {
21
+ throw new Error('Emitter duplicate');
22
+ }
23
+ _this.behaviours.push(behaviour);
24
+ _this.behaviours.sort(function (a, b) {
25
+ return b.priority - a.priority;
26
+ });
27
+ return behaviour;
28
+ };
29
+ this.getByName = function (name) {
30
+ for (var i = 0; i < _this.behaviours.length; ++i) {
31
+ if (_this.behaviours[i].getName() === name) {
32
+ return _this.behaviours[i];
33
+ }
34
+ }
35
+ return null;
36
+ };
37
+ this.removeByName = function (name) {
38
+ var behaviours = [];
39
+ for (var i = 0; i < _this.behaviours.length; ++i) {
40
+ if (_this.behaviours[i].getName() !== name) {
41
+ behaviours.push(_this.behaviours[i]);
42
+ }
43
+ }
44
+ _this.behaviours = behaviours;
45
+ };
46
+ this.init = function (particle) {
47
+ for (var i = 0; i < _this.behaviours.length; ++i) {
48
+ _this.behaviours[i].init(particle);
49
+ }
50
+ };
51
+ this.apply = function (particle, deltaTime) {
52
+ for (var i = 0; i < _this.behaviours.length; ++i) {
53
+ _this.behaviours[i].apply(particle, deltaTime);
54
+ }
55
+ };
56
+ }
57
+ return EmitterBehaviours;
58
+ }());
59
+ exports.default = EmitterBehaviours;
60
+ //# sourceMappingURL=EmitterBehaviours.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmitterBehaviours.js","sourceRoot":"","sources":["../../../src/lib/behaviour/EmitterBehaviours.ts"],"names":[],"mappings":";AAAA,+BAA+B;;AAI/B;IAAA;QAAA,iBA8DC;QA7DC,eAAU,GAAQ,EAAE,CAAA;QAEpB,WAAM,GAAG;YACP,OAAO,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,SAAc;gBAC3C,OAAO,SAAS,CAAC,OAAO,CAAA;YAC1B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,YAAO,GAAG;YACR,OAAO,KAAI,CAAC,MAAM,EAAE,CAAC,MAAM,KAAK,CAAC,CAAA;QACnC,CAAC,CAAA;QAED,UAAK,GAAG;YACN,KAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACtB,CAAC,CAAA;QAED,QAAG,GAAG,UAAC,SAAc;YACnB,IAAI,KAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,EAAE;gBAChD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;aACrC;YAED,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC/B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAM,EAAE,CAAM;gBAClC,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAA;YAChC,CAAC,CAAC,CAAA;YAEF,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;QAED,cAAS,GAAG,UAAC,IAAY;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC/C,IAAI,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBACzC,OAAO,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;iBAC1B;aACF;YAED,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QAED,iBAAY,GAAG,UAAC,IAAY;YAC1B,IAAM,UAAU,GAAG,EAAE,CAAA;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC/C,IAAI,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBACzC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;iBACpC;aACF;YAED,KAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC9B,CAAC,CAAA;QAED,SAAI,GAAG,UAAC,QAAkB;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC/C,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aAClC;QACH,CAAC,CAAA;QAED,UAAK,GAAG,UAAC,QAAkB,EAAE,SAAiB;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC/C,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;aAC9C;QACH,CAAC,CAAA;IACH,CAAC;IAAD,wBAAC;AAAD,CAAC,AA9DD,IA8DC"}
@@ -0,0 +1,18 @@
1
+ import { Behaviour } from './index';
2
+ import Particle from '../Particle';
3
+ export default class LifeBehaviour extends Behaviour {
4
+ enabled: boolean;
5
+ priority: number;
6
+ maxLifeTime: number;
7
+ timeVariance: number;
8
+ init: (particle: Particle) => void;
9
+ apply: (particle: Particle, deltaTime: number) => void;
10
+ getName(): string;
11
+ getProps(): {
12
+ enabled: boolean;
13
+ priority: number;
14
+ maxLifeTime: number;
15
+ timeVariance: number;
16
+ name: string;
17
+ };
18
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var index_1 = require("./index");
19
+ var LifeBehaviour = /** @class */ (function (_super) {
20
+ __extends(LifeBehaviour, _super);
21
+ function LifeBehaviour() {
22
+ var _this = _super !== null && _super.apply(this, arguments) || this;
23
+ _this.enabled = true;
24
+ _this.priority = 10000;
25
+ _this.maxLifeTime = 0;
26
+ _this.timeVariance = 0;
27
+ _this.init = function (particle) {
28
+ particle.lifeTime = 0;
29
+ particle.lifeProgress = 0;
30
+ particle.maxLifeTime = _this.maxLifeTime + _this.varianceFrom(_this.timeVariance);
31
+ particle.maxLifeTime = Math.max(particle.maxLifeTime, 0.0);
32
+ };
33
+ _this.apply = function (particle, deltaTime) {
34
+ particle.lifeTime += deltaTime;
35
+ if (particle.maxLifeTime > 0) {
36
+ particle.lifeProgress = Math.min(1.0, particle.lifeTime / particle.maxLifeTime);
37
+ }
38
+ };
39
+ return _this;
40
+ }
41
+ LifeBehaviour.prototype.getName = function () {
42
+ return index_1.BehaviourNames.LIFE_BEHAVIOUR;
43
+ };
44
+ LifeBehaviour.prototype.getProps = function () {
45
+ return {
46
+ enabled: this.enabled,
47
+ priority: this.priority,
48
+ maxLifeTime: this.maxLifeTime,
49
+ timeVariance: this.timeVariance,
50
+ name: this.getName(),
51
+ };
52
+ };
53
+ return LifeBehaviour;
54
+ }(index_1.Behaviour));
55
+ exports.default = LifeBehaviour;
56
+ //# sourceMappingURL=LifeBehaviour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LifeBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/LifeBehaviour.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iCAAmD;AAGnD;IAA2C,iCAAS;IAApD;QAAA,qEAmCC;QAlCC,aAAO,GAAG,IAAI,CAAA;QACd,cAAQ,GAAG,KAAK,CAAA;QAChB,iBAAW,GAAG,CAAC,CAAA;QACf,kBAAY,GAAG,CAAC,CAAA;QAEhB,UAAI,GAAG,UAAC,QAAkB;YACxB,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAA;YACrB,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAA;YAEzB,QAAQ,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,YAAY,CAAC,CAAA;YAC9E,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAC5D,CAAC,CAAA;QAED,WAAK,GAAG,UAAC,QAAkB,EAAE,SAAiB;YAC5C,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAA;YAE9B,IAAI,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE;gBAC5B,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;aAChF;QACH,CAAC,CAAA;;IAeH,CAAC;IAbC,+BAAO,GAAP;QACE,OAAO,sBAAc,CAAC,cAAc,CAAA;IACtC,CAAC;IAED,gCAAQ,GAAR;QACE,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;IACH,oBAAC;AAAD,CAAC,AAnCD,CAA2C,iBAAS,GAmCnD"}
@@ -0,0 +1,62 @@
1
+ import { Point } from '../util';
2
+ import { Behaviour } from './index';
3
+ import Particle from '../Particle';
4
+ export default class PositionBehaviour extends Behaviour {
5
+ enabled: boolean;
6
+ priority: number;
7
+ spawnType: string;
8
+ radius: number;
9
+ sinX: boolean;
10
+ sinY: boolean;
11
+ sinXVal: Point;
12
+ sinYVal: Point;
13
+ sinXValVariance: Point;
14
+ sinYValVariance: Point;
15
+ position: Point;
16
+ positionVariance: Point;
17
+ velocity: Point;
18
+ velocityVariance: Point;
19
+ acceleration: Point;
20
+ accelerationVariance: Point;
21
+ init: (particle: Particle) => void;
22
+ calculate: (value: number, variance: number) => number;
23
+ apply: (particle: Particle, deltaTime: number) => void;
24
+ getName(): string;
25
+ getProps(): {
26
+ enabled: boolean;
27
+ priority: number;
28
+ spawnType: string;
29
+ radius: number;
30
+ sinX: boolean;
31
+ sinY: boolean;
32
+ sinXVal: Point;
33
+ sinYVal: Point;
34
+ sinXValVariance: Point;
35
+ sinYValVariance: Point;
36
+ position: {
37
+ x: number;
38
+ y: number;
39
+ };
40
+ positionVariance: {
41
+ x: number;
42
+ y: number;
43
+ };
44
+ velocity: {
45
+ x: number;
46
+ y: number;
47
+ };
48
+ velocityVariance: {
49
+ x: number;
50
+ y: number;
51
+ };
52
+ acceleration: {
53
+ x: number;
54
+ y: number;
55
+ };
56
+ accelerationVariance: {
57
+ x: number;
58
+ y: number;
59
+ };
60
+ name: string;
61
+ };
62
+ }
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var util_1 = require("../util");
19
+ var index_1 = require("./index");
20
+ var PositionBehaviour = /** @class */ (function (_super) {
21
+ __extends(PositionBehaviour, _super);
22
+ function PositionBehaviour() {
23
+ var _this = _super !== null && _super.apply(this, arguments) || this;
24
+ _this.enabled = false;
25
+ _this.priority = 100;
26
+ _this.spawnType = 'Rectangle';
27
+ _this.radius = 0;
28
+ _this.sinX = false;
29
+ _this.sinY = false;
30
+ _this.sinXVal = new util_1.Point();
31
+ _this.sinYVal = new util_1.Point();
32
+ _this.sinXValVariance = new util_1.Point();
33
+ _this.sinYValVariance = new util_1.Point();
34
+ _this.position = new util_1.Point();
35
+ _this.positionVariance = new util_1.Point();
36
+ _this.velocity = new util_1.Point();
37
+ _this.velocityVariance = new util_1.Point();
38
+ _this.acceleration = new util_1.Point();
39
+ _this.accelerationVariance = new util_1.Point();
40
+ _this.init = function (particle) {
41
+ if (!_this.enabled)
42
+ return;
43
+ if (_this.spawnType === 'Rectangle') {
44
+ particle.movement.x = _this.calculate(_this.position.x, _this.positionVariance.x);
45
+ particle.movement.y = _this.calculate(_this.position.y, _this.positionVariance.y);
46
+ }
47
+ else if (_this.spawnType === 'Ring') {
48
+ var angle = Math.random() * Math.PI * 2;
49
+ particle.movement.x = _this.calculate(_this.position.x, _this.positionVariance.x) + Math.cos(angle) * _this.radius;
50
+ particle.movement.y = _this.calculate(_this.position.y, _this.positionVariance.y) + Math.sin(angle) * _this.radius;
51
+ }
52
+ else if (_this.spawnType === 'Frame') {
53
+ var w = _this.radius;
54
+ var h = _this.radius;
55
+ if (Math.random() < w / (w + h)) {
56
+ particle.movement.x = Math.random() * w + particle.movement.x;
57
+ particle.movement.y = Math.random() < 0.5 ? particle.movement.y : particle.movement.y + h - 1;
58
+ }
59
+ else {
60
+ particle.movement.y = Math.random() * h + particle.movement.y;
61
+ particle.movement.x = Math.random() < 0.5 ? particle.movement.x : particle.movement.x + w - 1;
62
+ }
63
+ particle.movement.x += _this.calculate(_this.position.x, _this.positionVariance.x);
64
+ particle.movement.y += _this.calculate(_this.position.y, _this.positionVariance.y);
65
+ }
66
+ particle.velocity.x = _this.calculate(_this.velocity.x, _this.velocityVariance.x);
67
+ particle.velocity.y = _this.calculate(_this.velocity.y, _this.velocityVariance.y);
68
+ particle.acceleration.x = _this.calculate(_this.acceleration.x, _this.accelerationVariance.x);
69
+ particle.acceleration.y = _this.calculate(_this.acceleration.y, _this.accelerationVariance.y);
70
+ particle.sinXVal.x = _this.calculate(_this.sinXVal.x, _this.sinXValVariance.x);
71
+ particle.sinXVal.y = _this.calculate(_this.sinXVal.y, _this.sinXValVariance.y);
72
+ particle.sinYVal.x = _this.calculate(_this.sinYVal.x, _this.sinYValVariance.x);
73
+ particle.sinYVal.y = _this.calculate(_this.sinYVal.y, _this.sinYValVariance.y);
74
+ particle.x = particle.movement.x;
75
+ particle.y = particle.movement.y;
76
+ };
77
+ _this.calculate = function (value, variance) {
78
+ return value + _this.varianceFrom(variance);
79
+ };
80
+ _this.apply = function (particle, deltaTime) {
81
+ if (!_this.enabled)
82
+ return;
83
+ particle.velocity.x += particle.acceleration.x * deltaTime;
84
+ particle.velocity.y += particle.acceleration.y * deltaTime;
85
+ particle.movement.x += particle.velocity.x * deltaTime;
86
+ particle.movement.y += particle.velocity.y * deltaTime;
87
+ if (_this.sinX) {
88
+ particle.x = particle.movement.x + Math.sin(Math.PI * (particle.movement.y / particle.sinXVal.x)) * particle.sinXVal.y;
89
+ }
90
+ else {
91
+ particle.x = particle.movement.x;
92
+ }
93
+ if (_this.sinY) {
94
+ particle.y = particle.movement.y + Math.sin(Math.PI * (particle.movement.x / particle.sinYVal.x)) * particle.sinYVal.y;
95
+ }
96
+ else {
97
+ particle.y = particle.movement.y;
98
+ }
99
+ };
100
+ return _this;
101
+ }
102
+ PositionBehaviour.prototype.getName = function () {
103
+ return index_1.BehaviourNames.POSITION_BEHAVIOUR;
104
+ };
105
+ PositionBehaviour.prototype.getProps = function () {
106
+ return {
107
+ enabled: this.enabled,
108
+ priority: this.priority,
109
+ spawnType: this.spawnType,
110
+ radius: this.radius,
111
+ sinX: this.sinX,
112
+ sinY: this.sinY,
113
+ sinXVal: this.sinXVal,
114
+ sinYVal: this.sinYVal,
115
+ sinXValVariance: this.sinXValVariance,
116
+ sinYValVariance: this.sinYValVariance,
117
+ position: {
118
+ x: this.position.x,
119
+ y: this.position.y,
120
+ },
121
+ positionVariance: {
122
+ x: this.position.x,
123
+ y: this.position.y,
124
+ },
125
+ velocity: {
126
+ x: this.position.x,
127
+ y: this.position.y,
128
+ },
129
+ velocityVariance: {
130
+ x: this.position.x,
131
+ y: this.position.y,
132
+ },
133
+ acceleration: {
134
+ x: this.position.x,
135
+ y: this.position.y,
136
+ },
137
+ accelerationVariance: {
138
+ x: this.position.x,
139
+ y: this.position.y,
140
+ },
141
+ name: this.getName(),
142
+ };
143
+ };
144
+ return PositionBehaviour;
145
+ }(index_1.Behaviour));
146
+ exports.default = PositionBehaviour;
147
+ //# sourceMappingURL=PositionBehaviour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PositionBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/PositionBehaviour.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Behaviour } from './index';
2
+ import Particle from '../Particle';
3
+ export default class RotationBehaviour extends Behaviour {
4
+ enabled: boolean;
5
+ priority: number;
6
+ rotation: number;
7
+ variance: number;
8
+ init: (particle: Particle) => void;
9
+ apply: (particle: Particle, deltaTime: number) => void;
10
+ getName(): string;
11
+ get rotationInDegrees(): number;
12
+ set rotationInDegrees(value: number);
13
+ get varianceInDegrees(): number;
14
+ set varianceInDegrees(value: number);
15
+ getProps(): {
16
+ enabled: boolean;
17
+ priority: number;
18
+ rotation: number;
19
+ variance: number;
20
+ name: string;
21
+ };
22
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ var index_1 = require("./index");
22
+ var maths_1 = __importDefault(require("../util/maths"));
23
+ var RotationBehaviour = /** @class */ (function (_super) {
24
+ __extends(RotationBehaviour, _super);
25
+ function RotationBehaviour() {
26
+ var _this = _super !== null && _super.apply(this, arguments) || this;
27
+ _this.enabled = false;
28
+ _this.priority = 0;
29
+ _this.rotation = 0;
30
+ _this.variance = 0;
31
+ _this.init = function (particle) {
32
+ if (!_this.enabled)
33
+ return;
34
+ particle.rotationDelta = _this.rotation + _this.varianceFrom(_this.variance);
35
+ };
36
+ _this.apply = function (particle, deltaTime) {
37
+ if (!_this.enabled)
38
+ return;
39
+ particle.rotation += particle.rotationDelta * deltaTime;
40
+ };
41
+ return _this;
42
+ }
43
+ RotationBehaviour.prototype.getName = function () {
44
+ return index_1.BehaviourNames.ROTATION_BEHAVIOUR;
45
+ };
46
+ Object.defineProperty(RotationBehaviour.prototype, "rotationInDegrees", {
47
+ get: function () {
48
+ return maths_1.default.radiansToDegrees(this.variance);
49
+ },
50
+ set: function (value) {
51
+ this.rotation = maths_1.default.radiansToDegrees(value);
52
+ },
53
+ enumerable: false,
54
+ configurable: true
55
+ });
56
+ Object.defineProperty(RotationBehaviour.prototype, "varianceInDegrees", {
57
+ get: function () {
58
+ return maths_1.default.radiansToDegrees(this.variance);
59
+ },
60
+ set: function (value) {
61
+ this.variance = maths_1.default.radiansToDegrees(value);
62
+ },
63
+ enumerable: false,
64
+ configurable: true
65
+ });
66
+ RotationBehaviour.prototype.getProps = function () {
67
+ return {
68
+ enabled: this.enabled,
69
+ priority: this.priority,
70
+ rotation: this.rotation,
71
+ variance: this.variance,
72
+ name: this.getName(),
73
+ };
74
+ };
75
+ return RotationBehaviour;
76
+ }(index_1.Behaviour));
77
+ exports.default = RotationBehaviour;
78
+ //# sourceMappingURL=RotationBehaviour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RotationBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/RotationBehaviour.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,iCAAmD;AACnD,wDAAgC;AAGhC;IAA+C,qCAAS;IAAxD;QAAA,qEA6CC;QA5CC,aAAO,GAAG,KAAK,CAAA;QACf,cAAQ,GAAG,CAAC,CAAA;QACZ,cAAQ,GAAG,CAAC,CAAA;QACZ,cAAQ,GAAG,CAAC,CAAA;QAEZ,UAAI,GAAG,UAAC,QAAkB;YACxB,IAAI,CAAC,KAAI,CAAC,OAAO;gBAAE,OAAM;YACzB,QAAQ,CAAC,aAAa,GAAG,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAA;QAC3E,CAAC,CAAA;QAED,WAAK,GAAG,UAAC,QAAkB,EAAE,SAAiB;YAC5C,IAAI,CAAC,KAAI,CAAC,OAAO;gBAAE,OAAM;YACzB,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;QACzD,CAAC,CAAA;;IA+BH,CAAC;IA7BC,mCAAO,GAAP;QACE,OAAO,sBAAc,CAAC,kBAAkB,CAAA;IAC1C,CAAC;IAED,sBAAI,gDAAiB;aAArB;YACE,OAAO,eAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC;aAED,UAAsB,KAAa;YACjC,IAAI,CAAC,QAAQ,GAAG,eAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC9C,CAAC;;;OAJA;IAMD,sBAAI,gDAAiB;aAArB;YACE,OAAO,eAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC;aAED,UAAsB,KAAa;YACjC,IAAI,CAAC,QAAQ,GAAG,eAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC9C,CAAC;;;OAJA;IAMD,oCAAQ,GAAR;QACE,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;IACH,wBAAC;AAAD,CAAC,AA7CD,CAA+C,iBAAS,GA6CvD"}
@@ -0,0 +1,31 @@
1
+ import { Point } from '../util';
2
+ import { Behaviour } from './index';
3
+ import Particle from '../Particle';
4
+ export default class SizeBehaviour extends Behaviour {
5
+ enabled: boolean;
6
+ priority: number;
7
+ allowNegativeValues: boolean;
8
+ sizeStart: Point;
9
+ sizeEnd: Point;
10
+ startVariance: number;
11
+ endVariance: number;
12
+ init: (particle: Particle) => void;
13
+ apply: (particle: Particle, deltaTime: number) => void;
14
+ getName(): string;
15
+ getProps(): {
16
+ enabled: boolean;
17
+ priority: number;
18
+ allowNegativeValues: boolean;
19
+ sizeStart: {
20
+ x: number;
21
+ y: number;
22
+ };
23
+ sizeEnd: {
24
+ x: number;
25
+ y: number;
26
+ };
27
+ startVariance: number;
28
+ endVariance: number;
29
+ name: string;
30
+ };
31
+ }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var util_1 = require("../util");
19
+ var index_1 = require("./index");
20
+ var SizeBehaviour = /** @class */ (function (_super) {
21
+ __extends(SizeBehaviour, _super);
22
+ function SizeBehaviour() {
23
+ var _this = _super !== null && _super.apply(this, arguments) || this;
24
+ _this.enabled = true;
25
+ _this.priority = 0;
26
+ _this.allowNegativeValues = false;
27
+ _this.sizeStart = new util_1.Point(1, 1);
28
+ _this.sizeEnd = new util_1.Point(1, 1);
29
+ _this.startVariance = 0;
30
+ _this.endVariance = 0;
31
+ _this.init = function (particle) {
32
+ if (!_this.enabled)
33
+ return;
34
+ var variance = _this.varianceFrom(_this.startVariance);
35
+ particle.sizeStart.x = _this.sizeStart.x + variance;
36
+ particle.sizeStart.y = _this.sizeStart.y + variance;
37
+ variance = _this.varianceFrom(_this.endVariance);
38
+ particle.sizeEnd.x = _this.sizeEnd.x + variance;
39
+ particle.sizeEnd.y = _this.sizeEnd.y + variance;
40
+ if (!_this.allowNegativeValues) {
41
+ particle.sizeStart.x = Math.max(particle.sizeStart.x, 0);
42
+ particle.sizeStart.y = Math.max(particle.sizeStart.y, 0);
43
+ particle.sizeEnd.x = Math.max(particle.sizeEnd.x, 0);
44
+ particle.sizeEnd.y = Math.max(particle.sizeEnd.y, 0);
45
+ }
46
+ particle.size.copyFrom(particle.sizeStart);
47
+ };
48
+ _this.apply = function (particle, deltaTime) {
49
+ if (!_this.enabled)
50
+ return;
51
+ particle.size.copyFrom(particle.sizeStart);
52
+ particle.size.x += (particle.sizeEnd.x - particle.sizeStart.x) * particle.lifeProgress;
53
+ particle.size.y += (particle.sizeEnd.y - particle.sizeStart.y) * particle.lifeProgress;
54
+ if (!_this.allowNegativeValues) {
55
+ particle.size.x = Math.max(0, particle.size.x);
56
+ particle.size.x = Math.max(0, particle.size.x);
57
+ }
58
+ };
59
+ return _this;
60
+ }
61
+ SizeBehaviour.prototype.getName = function () {
62
+ return index_1.BehaviourNames.SIZE_BEHAVIOUR;
63
+ };
64
+ SizeBehaviour.prototype.getProps = function () {
65
+ return {
66
+ enabled: this.enabled,
67
+ priority: this.priority,
68
+ allowNegativeValues: this.allowNegativeValues,
69
+ sizeStart: {
70
+ x: this.sizeStart.x,
71
+ y: this.sizeStart.y,
72
+ },
73
+ sizeEnd: {
74
+ x: this.sizeStart.x,
75
+ y: this.sizeStart.y,
76
+ },
77
+ startVariance: this.startVariance,
78
+ endVariance: this.endVariance,
79
+ name: this.getName(),
80
+ };
81
+ };
82
+ return SizeBehaviour;
83
+ }(index_1.Behaviour));
84
+ exports.default = SizeBehaviour;
85
+ //# sourceMappingURL=SizeBehaviour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SizeBehaviour.js","sourceRoot":"","sources":["../../../src/lib/behaviour/SizeBehaviour.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gCAA+B;AAC/B,iCAAmD;AAGnD;IAA2C,iCAAS;IAApD;QAAA,qEA+DC;QA9DC,aAAO,GAAG,IAAI,CAAA;QACd,cAAQ,GAAG,CAAC,CAAA;QACZ,yBAAmB,GAAG,KAAK,CAAA;QAC3B,eAAS,GAAG,IAAI,YAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,aAAO,GAAG,IAAI,YAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACzB,mBAAa,GAAG,CAAC,CAAA;QACjB,iBAAW,GAAG,CAAC,CAAA;QAEf,UAAI,GAAG,UAAC,QAAkB;YACxB,IAAI,CAAC,KAAI,CAAC,OAAO;gBAAE,OAAM;YACzB,IAAI,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,aAAa,CAAC,CAAA;YACpD,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAA;YAClD,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAA;YAElD,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,WAAW,CAAC,CAAA;YAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAA;YAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAA;YAE9C,IAAI,CAAC,KAAI,CAAC,mBAAmB,EAAE;gBAC7B,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACxD,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACxD,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACpD,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;aACrD;YAED,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC,CAAA;QAED,WAAK,GAAG,UAAC,QAAkB,EAAE,SAAiB;YAC5C,IAAI,CAAC,KAAI,CAAC,OAAO;gBAAE,OAAM;YACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC1C,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAA;YACtF,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAA;YAEtF,IAAI,CAAC,KAAI,CAAC,mBAAmB,EAAE;gBAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC9C,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aAC/C;QACH,CAAC,CAAA;;IAwBH,CAAC;IAtBC,+BAAO,GAAP;QACE,OAAO,sBAAc,CAAC,cAAc,CAAA;IACtC,CAAC;IAED,gCAAQ,GAAR;QACE,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,SAAS,EAAE;gBACT,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACpB;YACD,OAAO,EAAE;gBACP,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aACpB;YACD,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;SACrB,CAAA;IACH,CAAC;IACH,oBAAC;AAAD,CAAC,AA/DD,CAA2C,iBAAS,GA+DnD"}