unity_art_puzzle_playable_luna/5.5.0/engine/luna/particle-system-1.js

1 line
103 KiB
JavaScript
Raw Normal View History

2023-12-21 08:46:57 +00:00
"use strict";(self.webpackChunkluna=self.webpackChunkluna||[]).push([[7],{54:(t,e,i)=>{var s=i(0);class r{constructor(){this._seed=1,this._initialSeed=this._seed,TESTS&&pc.hiddenShapeValidator.addObjectToValidationSet(this,"Random")}randomizeSeed(){const t=FORCE_STABLE_RANDOM_SEED?1:Math.floor(Math.random()*Math.floor(2147483647));this.setSeed(t)}reset(){this._seed=this._initialSeed}setSeed(t){0===t&&(t=1),this._seed=t,this._initialSeed=this._seed}nextInteger(){return this._seed=16807*this._seed%2147483647}nextFloat(){return this.nextInteger()/2147483647}nextGFloat(){return(this.nextFloat()+this.nextFloat()+this.nextFloat()+this.nextFloat()+this.nextFloat()+this.nextFloat())/6}get initialSeed(){return this._initialSeed}set initialSeed(t){this._initialSeed=t}get seed(){return this._seed}set seed(t){this._seed=t}}var a=i(21),n=i(35);const l=new a.a,o=new a.a,h=0,c=1,u=2,_=3,d=4;class p{constructor(t,e){this._evaluateInplace=this._evaluateColorInplace,t instanceof a.a&&e instanceof a.a?this.init(t,e,new n.a(null,null,null),new n.a(null,null,null),u):t instanceof n.a&&e instanceof n.a?this.init(new a.a,new a.a,t,e,_):t instanceof a.a?this.init(new a.a,t,new n.a(null,null,null),new n.a(null,null,null),h):t instanceof n.a?this.init(new a.a,new a.a,new n.a(null,null,null),t,c):this.init(new a.a,new a.a,new n.a(null,null,null),new n.a(null,null,null),h),pc.markParticleSystemModuleAsUsed(),TESTS&&pc.hiddenShapeValidator.addObjectToValidationSet(this,"MinMaxGradient")}init(t,e,i,s,r){return this._colorMax=e,this._colorMin=t,this._gradientMax=s,this._gradientMin=i,this._mode=r,this.applyMode(),this}evaluate(t){const e=new a.a(1,1,1,1);return this._evaluateInplace(e,t,0),e}applyMode(){switch(this._mode){case h:this._evaluateInplace=this._evaluateColorInplace;break;case c:this._evaluateInplace=this._evaluateGradientInplace;break;case u:this._evaluateInplace=this._evaluateTwoColorsInplace;break;case _:this._evaluateInplace=this._evaluateTwoGradientsInplace;break;case d:this._evaluateInplace=this._evaluateGradientRandomInplace}}_evaluateColorInplace(t,e,i){t.copy(this._colorMax)}_evaluateGradientInplace(t,e,i){this.gradient.sampleInplace(e,t)}_evaluateGradientRandomInplace(t,e,i){this.gradient.sampleInplace(i,t)}_evaluateTwoGradientsInplace(t,e,i){this.gradientMin.sampleInplace(e,l),this.gradientMax.sampleInplace(e,o),t.copy(l).lerpTo(o,i)}_evaluateTwoColorsInplace(t,e,i){t.copy(this.colorMin).lerpTo(this._colorMax,i)}get mode(){return this._mode}set mode(t){this._mode=t,this.applyMode()}get isRandom(){return this._mode===u||this._mode===_||this._mode===d}get color(){return this._colorMax}set color(t){this._colorMax=t}get colorMin(){return this._colorMin}set colorMin(t){this._colorMin=t}get colorMax(){return this._colorMax}set colorMax(t){this._colorMax=t}get gradient(){return this._gradientMax}set gradient(t){this._gradientMax=t}get gradientMax(){return this._gradientMax}set gradientMax(t){this._gradientMax=t}get gradientMin(){return this._gradientMin}set gradientMin(t){this._gradientMin=t}get evaluateInplace(){return this._evaluateInplace}get internalMode(){return this._mode}set internalMode(t){switch(this.mode=t,t){case h:case u:break;case c:this._gradientMax=this._gradientMax||new n.a(null,null,null);break;case _:this._gradientMax=this._gradientMax||new n.a(null,null,null),this._gradientMin=this._gradientMin||new n.a(null,null,null)}}get internalGradientMax(){return this._gradientMax=this._gradientMax||new n.a(null,null,null),this._gradientMax}set internalGradientMax(t){this._gradientMax=t}get internalGradientMin(){return this._gradientMin=this._gradientMin||new n.a(null,null,null),this._gradientMin}set internalGradientMin(t){this._gradientMin=t}}var m=i(1);const y=new s.d,S=new r;class g{constructor(t){this._ps=t,this._enabled=!1,this._range=new s.l,this._color=new p(null,null),pc.markParticleSystemModuleAsUsed(),TESTS&&pc.hiddenShapeValidator.addObjectToValidationSet(this,"ColorBySpeed")}processInplace(t){if(this.range.x>this.range.y){const t=this.range.x;this.range.x=this.range.y,this.range.y=t}const e=t.aliveCount,i=t.color,s=