diff --git a/AsyncTasksManager.js b/AsyncTasksManager.js new file mode 100644 index 00000000..b50fd9bf --- /dev/null +++ b/AsyncTasksManager.js @@ -0,0 +1,5 @@ +var gdjs;(function(n){class o{constructor(){this.tasksWithCallback=new Array}processTasks(e){for(let s=0;s{r.error(`A promise error has not been handled, this should never happen! +If you are using JavaScript promises in an asynchronous action, make sure to add a .catch(). +Otherwise, report this as a bug on the GDevelop forums! +${s?"The following error was thrown: "+s:""}`)}).then(()=>{this.isResolved=!0})}update(){return this.isResolved}}n.PromiseTask=h;class k extends t{constructor(){super(...arguments);this.isResolved=!1}resolve(){this.isResolved=!0}update(){return this.isResolved}}n.ManuallyResolvableTask=k})(gdjs||(gdjs={})); +//# sourceMappingURL=AsyncTasksManager.js.map diff --git a/CustomRuntimeObject.js b/CustomRuntimeObject.js new file mode 100644 index 00000000..f881cdfd --- /dev/null +++ b/CustomRuntimeObject.js @@ -0,0 +1,2 @@ +var gdjs;(function(a){class o extends a.RuntimeObject{constructor(t,e){super(t,e);this._isUntransformedHitBoxesDirty=!0;this._untransformedHitBoxes=[];this._unrotatedAABB={min:[0,0],max:[0,0]};this._scaleX=1;this._scaleY=1;this._flippedX=!1;this._flippedY=!1;this.opacity=255;this._customCenter=null;this._localTransformation=new a.AffineTransformation;this._localInverseTransformation=new a.AffineTransformation;this._isLocalTransformationDirty=!0;this._instanceContainer=new a.CustomRuntimeObjectInstanceContainer(t,this),this._renderer=this._createRender(),this._instanceContainer.loadFrom(e)}reinitialize(t){super.reinitialize(t),this._instanceContainer.loadFrom(t),this._reinitializeRenderer(),this.onCreated()}updateFromObjectData(t,e){const i=this.getAnimator();return i&&i.updateFromObjectData(t.animatable||[],e.animatable||[]),this._instanceContainer.updateFrom(t,e)}extraInitializationFromInitialInstance(t){const e=this.getAnimator();if(t.numberProperties)for(let i=0,s=t.numberProperties.length;i=this.hitBoxes.length&&this.hitBoxes.push(new a.Polygon);for(let i=0;i=this.hitBoxes[e].vertices.length&&this.hitBoxes[e].vertices.push([0,0]),t.transform(this._untransformedHitBoxes[e].vertices[i],this.hitBoxes[e].vertices[i]);this.hitBoxes[e].vertices.length=this._untransformedHitBoxes[e].vertices.length}}_updateUntransformedHitBoxes(){this._isUntransformedHitBoxesDirty=!1,this._untransformedHitBoxes.length=0;let t=Number.MAX_VALUE,e=Number.MAX_VALUE,i=-Number.MAX_VALUE,s=-Number.MAX_VALUE;for(const n of this._instanceContainer.getAdhocListOfAllInstances()){if(!n.isIncludedInParentCollisionMask())continue;Array.prototype.push.apply(this._untransformedHitBoxes,n.getHitBoxes());const r=n.getAABB();t=Math.min(t,r.min[0]),e=Math.min(e,r.min[1]),i=Math.max(i,r.max[0]),s=Math.max(s,r.max[1])}for(t===Number.MAX_VALUE&&(t=0,e=0,i=1,s=1),this._unrotatedAABB.min[0]=t,this._unrotatedAABB.min[1]=e,this._unrotatedAABB.max[0]=i,this._unrotatedAABB.max[1]=s;this.hitBoxes.length255&&(t=255),this.opacity=t,this.getRenderer().updateOpacity()}getOpacity(){return this.opacity}hide(t){t===void 0&&(t=!0),this.hidden=t,this.getRenderer().updateVisibility()}flipX(t){t!==this._flippedX&&(this._scaleX*=-1,this._flippedX=t,this.invalidateHitboxes(),this.getRenderer().update())}flipY(t){t!==this._flippedY&&(this._scaleY*=-1,this._flippedY=t,this.invalidateHitboxes(),this.getRenderer().update())}isFlippedX(){return this._flippedX}isFlippedY(){return this._flippedY}getAnimator(){return null}}a.CustomRuntimeObject=o,o.supportsReinitialization=!1})(gdjs||(gdjs={})); +//# sourceMappingURL=CustomRuntimeObject.js.map diff --git a/CustomRuntimeObject2D.js b/CustomRuntimeObject2D.js new file mode 100644 index 00000000..9134f053 --- /dev/null +++ b/CustomRuntimeObject2D.js @@ -0,0 +1,2 @@ +var gdjs;(function(t){class n extends t.CustomRuntimeObject{constructor(e,r){super(e,r);this.getRenderer().reinitialize(this,e)}_createRender(){const e=this._runtimeScene;return new t.CustomRuntimeObject2DRenderer(this,this._instanceContainer,e)}_reinitializeRenderer(){this.getRenderer().reinitialize(this,this.getParent())}getRenderer(){return super.getRenderer()}getRendererObject(){return this.getRenderer().getRendererObject()}}t.CustomRuntimeObject2D=n})(gdjs||(gdjs={})); +//# sourceMappingURL=CustomRuntimeObject2D.js.map diff --git a/CustomRuntimeObjectInstanceContainer.js b/CustomRuntimeObjectInstanceContainer.js new file mode 100644 index 00000000..6b2961e6 --- /dev/null +++ b/CustomRuntimeObjectInstanceContainer.js @@ -0,0 +1,2 @@ +var gdjs;(function(a){const c=new a.Logger("CustomRuntimeObject");class l extends a.RuntimeInstanceContainer{constructor(n,t){super();this._isLoaded=!1;this._parent=n,this._customObject=t,this._runtimeScene=n.getScene(),this._debuggerRenderer=new a.DebuggerRenderer(this)}addLayer(n){const t=new a.RuntimeCustomObjectLayer(n,this);this._layers.put(n.name,t),this._orderedLayers.push(t)}createObject(n){const t=super.createObject(n);return this._customObject.onChildrenLocationChanged(),t}loadFrom(n){this._isLoaded&&this.onDestroyFromScene(this._parent);const t=this._runtimeScene.getGame().getEventsBasedObjectData(n.type);if(!t){c.error("loadFrom was called without an events-based object");return}for(let s=0,e=t.objects.length;st.getCameraX()+t.getCameraWidth()/2||n+a+this._extraBordert.getCameraY()+t.getCameraHeight()/2)&&this.owner.deleteFromScene(e)}setExtraBorder(e){this._extraBorder=e}getExtraBorder(){return this._extraBorder}}s.DestroyOutsideRuntimeBehavior=d,s.registerBehavior("DestroyOutsideBehavior::DestroyOutside",s.DestroyOutsideRuntimeBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=destroyoutsideruntimebehavior.js.map diff --git a/Extensions/DraggableBehavior/draggableruntimebehavior.js b/Extensions/DraggableBehavior/draggableruntimebehavior.js new file mode 100644 index 00000000..cad6ac12 --- /dev/null +++ b/Extensions/DraggableBehavior/draggableruntimebehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(n){class s extends n.RuntimeBehavior{constructor(e,t,a){super(e,t,a);this._draggedByDraggableManager=null;this._justDropped=!1;this._checkCollisionMask=!!t.checkCollisionMask}updateFromBehaviorData(e,t){return!0}onDeActivate(){this._endDrag()}onDestroy(){this.onDeActivate()}_endDrag(){this._draggedByDraggableManager&&(this._draggedByDraggableManager.endDrag(),this._justDropped=!0),this._draggedByDraggableManager=null}_dismissDrag(){this._draggedByDraggableManager=null}_tryBeginDrag(e){if(this._draggedByDraggableManager)return!1;const a=e.getGame().getInputManager().getStartedTouchIdentifiers();for(let r=0;re in t?g(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,p=(t,e)=>{for(var i in e||(e={}))v.call(e,i)&&h(t,i,e[i]);if(u)for(var i of u(e))y.call(e,i)&&h(t,i,e[i]);return t};const n=class extends r.Filter{constructor(t){super(),this.angle=45,this._distance=5,this._resolution=r.settings.FILTER_RESOLUTION;const e=t?p(p({},n.defaults),t):n.defaults,{kernels:i,blur:a,quality:s,pixelSize:m,resolution:f}=e;this._offset=new r.ObservablePoint(this._updatePadding,this),this._tintFilter=new r.Filter(b,F),this._tintFilter.uniforms.color=new Float32Array(4),this._tintFilter.uniforms.shift=this._offset,this._tintFilter.resolution=f,this._blurFilter=i?new o.KawaseBlurFilter(i):new o.KawaseBlurFilter(a,s),this.pixelSize=m,this.resolution=f;const{shadowOnly:x,rotation:_,distance:c,offset:S,alpha:O,color:w}=e;this.shadowOnly=x,_!==void 0&&c!==void 0?(this.rotation=_,this.distance=c):this.offset=S,this.alpha=O,this.color=w}apply(t,e,i,a){const s=t.getFilterTexture();this._tintFilter.apply(t,e,s,1),this._blurFilter.apply(t,s,i,a),this.shadowOnly!==!0&&t.applyFilter(this,e,i,0),t.returnFilterTexture(s)}_updatePadding(){const t=Math.max(Math.abs(this._offset.x),Math.abs(this._offset.y));this.padding=t+this.blur*2}_updateShift(){this._tintFilter.uniforms.shift.set(this.distance*Math.cos(this.angle),this.distance*Math.sin(this.angle))}set offset(t){this._offset.copyFrom(t),this._updatePadding()}get offset(){return this._offset}get resolution(){return this._resolution}set resolution(t){this._resolution=t,this._tintFilter&&(this._tintFilter.resolution=t),this._blurFilter&&(this._blurFilter.resolution=t)}get distance(){return this._distance}set distance(t){r.utils.deprecation("5.3.0","DropShadowFilter distance is deprecated, use offset"),this._distance=t,this._updatePadding(),this._updateShift()}get rotation(){return this.angle/r.DEG_TO_RAD}set rotation(t){r.utils.deprecation("5.3.0","DropShadowFilter rotation is deprecated, use offset"),this.angle=t*r.DEG_TO_RAD,this._updateShift()}get alpha(){return this._tintFilter.uniforms.alpha}set alpha(t){this._tintFilter.uniforms.alpha=t}get color(){return r.utils.rgb2hex(this._tintFilter.uniforms.color)}set color(t){r.utils.hex2rgb(t,this._tintFilter.uniforms.color)}get kernels(){return this._blurFilter.kernels}set kernels(t){this._blurFilter.kernels=t}get blur(){return this._blurFilter.blur}set blur(t){this._blurFilter.blur=t,this._updatePadding()}get quality(){return this._blurFilter.quality}set quality(t){this._blurFilter.quality=t}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(t){this._blurFilter.pixelSize=t}};let d=n;return d.defaults={offset:{x:4,y:4},color:0,alpha:.5,shadowOnly:!1,kernels:null,blur:2,quality:3,pixelSize:1,resolution:r.settings.FILTER_RESOLUTION},l.DropShadowFilter=d,Object.defineProperty(l,"__esModule",{value:!0}),l}({},PIXI.filters,PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-kawase-blur.js b/Extensions/Effects/pixi-filters/filter-kawase-blur.js new file mode 100644 index 00000000..cf721edf --- /dev/null +++ b/Extensions/Effects/pixi-filters/filter-kawase-blur.js @@ -0,0 +1,72 @@ +/*! + * @pixi/filter-kawase-blur - v5.1.1 + * Compiled Thu, 31 Aug 2023 09:18:38 UTC + * + * @pixi/filter-kawase-blur is licensed under the MIT License. + * http://www.opensource.org/licenses/mit-license + */var __filters=function(u,a){"use strict";var c=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,v=` +varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec2 uOffset; + +void main(void) +{ + vec4 color = vec4(0.0); + + // Sample top left pixel + color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y)); + + // Sample top right pixel + color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y)); + + // Sample bottom right pixel + color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y)); + + // Sample bottom left pixel + color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y)); + + // Average + color *= 0.25; + + gl_FragColor = color; +}`,y=` +varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec2 uOffset; +uniform vec4 filterClamp; + +void main(void) +{ + vec4 color = vec4(0.0); + + // Sample top left pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Sample top right pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Sample bottom right pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Sample bottom left pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Average + color *= 0.25; + + gl_FragColor = color; +} +`;class _ extends a.Filter{constructor(e=4,t=3,i=!1){super(c,i?y:v),this._kernels=[],this._blur=4,this._quality=3,this.uniforms.uOffset=new Float32Array(2),this._pixelSize=new a.Point,this.pixelSize=1,this._clamp=i,Array.isArray(e)?this.kernels=e:(this._blur=e,this.quality=t)}apply(e,t,i,n){const s=this._pixelSize.x/t._frame.width,l=this._pixelSize.y/t._frame.height;let r;if(this._quality===1||this._blur===0)r=this._kernels[0]+.5,this.uniforms.uOffset[0]=r*s,this.uniforms.uOffset[1]=r*l,e.applyFilter(this,t,i,n);else{const p=e.getFilterTexture();let o=t,f=p,h;const m=this._quality-1;for(let x=0;xe+t+.5,0))}_generateKernels(){const e=this._blur,t=this._quality,i=[e];if(e>0){let n=e;const s=e/t;for(let l=1;l0?(this._kernels=e,this._quality=e.length,this._blur=Math.max(...e)):(this._kernels=[0],this._quality=1)}get clamp(){return this._clamp}set pixelSize(e){typeof e=="number"?(this._pixelSize.x=e,this._pixelSize.y=e):Array.isArray(e)?(this._pixelSize.x=e[0],this._pixelSize.y=e[1]):e instanceof a.Point?(this._pixelSize.x=e.x,this._pixelSize.y=e.y):(this._pixelSize.x=1,this._pixelSize.y=1)}get pixelSize(){return this._pixelSize}get quality(){return this._quality}set quality(e){this._quality=Math.max(1,Math.round(e)),this._generateKernels()}get blur(){return this._blur}set blur(e){this._blur=e,this._generateKernels()}}return u.KawaseBlurFilter=_,Object.defineProperty(u,"__esModule",{value:!0}),u}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-outline.js b/Extensions/Effects/pixi-filters/filter-outline.js new file mode 100644 index 00000000..210e9d6c --- /dev/null +++ b/Extensions/Effects/pixi-filters/filter-outline.js @@ -0,0 +1,56 @@ +/*! + * @pixi/filter-outline - v5.2.0 + * Compiled Thu, 31 Aug 2023 09:18:38 UTC + * + * @pixi/filter-outline is licensed under the MIT License. + * http://www.opensource.org/licenses/mit-license + */var __filters=function(r,s){"use strict";var u=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,c=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterClamp; + +uniform float uAlpha; +uniform vec2 uThickness; +uniform vec4 uColor; +uniform bool uKnockout; + +const float DOUBLE_PI = 2. * 3.14159265358979323846264; +const float ANGLE_STEP = \${angleStep}; + +float outlineMaxAlphaAtPos(vec2 pos) { + if (uThickness.x == 0. || uThickness.y == 0.) { + return 0.; + } + + vec4 displacedColor; + vec2 displacedPos; + float maxAlpha = 0.; + + for (float angle = 0.; angle <= DOUBLE_PI; angle += ANGLE_STEP) { + displacedPos.x = vTextureCoord.x + uThickness.x * cos(angle); + displacedPos.y = vTextureCoord.y + uThickness.y * sin(angle); + displacedColor = texture2D(uSampler, clamp(displacedPos, filterClamp.xy, filterClamp.zw)); + maxAlpha = max(maxAlpha, displacedColor.a); + } + + return maxAlpha; +} + +void main(void) { + vec4 sourceColor = texture2D(uSampler, vTextureCoord); + vec4 contentColor = sourceColor * float(!uKnockout); + float outlineAlpha = uAlpha * outlineMaxAlphaAtPos(vTextureCoord.xy) * (1.-sourceColor.a); + vec4 outlineColor = vec4(vec3(uColor) * outlineAlpha, outlineAlpha); + gl_FragColor = contentColor + outlineColor; +} +`;const e=class extends s.Filter{constructor(t=1,o=0,n=.1,i=1,l=!1){super(u,c.replace(/\$\{angleStep\}/,e.getAngleStep(n))),this._thickness=1,this._alpha=1,this._knockout=!1,this.uniforms.uThickness=new Float32Array([0,0]),this.uniforms.uColor=new Float32Array([0,0,0,1]),this.uniforms.uAlpha=i,this.uniforms.uKnockout=l,Object.assign(this,{thickness:t,color:o,quality:n,alpha:i,knockout:l})}static getAngleStep(t){const o=Math.max(t*e.MAX_SAMPLES,e.MIN_SAMPLES);return(Math.PI*2/o).toFixed(7)}apply(t,o,n,i){this.uniforms.uThickness[0]=this._thickness/o._frame.width,this.uniforms.uThickness[1]=this._thickness/o._frame.height,this.uniforms.uAlpha=this._alpha,this.uniforms.uKnockout=this._knockout,t.applyFilter(this,o,n,i)}get alpha(){return this._alpha}set alpha(t){this._alpha=t}get color(){return s.utils.rgb2hex(this.uniforms.uColor)}set color(t){s.utils.hex2rgb(t,this.uniforms.uColor)}get knockout(){return this._knockout}set knockout(t){this._knockout=t}get thickness(){return this._thickness}set thickness(t){this._thickness=t,this.padding=t}};let a=e;return a.MIN_SAMPLES=1,a.MAX_SAMPLES=100,r.OutlineFilter=a,Object.defineProperty(r,"__esModule",{value:!0}),r}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/pixi-filters/filter-reflection.js b/Extensions/Effects/pixi-filters/filter-reflection.js new file mode 100644 index 00000000..7dd2253c --- /dev/null +++ b/Extensions/Effects/pixi-filters/filter-reflection.js @@ -0,0 +1,62 @@ +/*! + * @pixi/filter-reflection - v5.1.1 + * Compiled Thu, 31 Aug 2023 09:18:38 UTC + * + * @pixi/filter-reflection is licensed under the MIT License. + * http://www.opensource.org/licenses/mit-license + */var __filters=function(e,u){"use strict";var l=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,s=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec4 filterArea; +uniform vec4 filterClamp; +uniform vec2 dimensions; + +uniform bool mirror; +uniform float boundary; +uniform vec2 amplitude; +uniform vec2 waveLength; +uniform vec2 alpha; +uniform float time; + +float rand(vec2 co) { + return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453); +} + +void main(void) +{ + vec2 pixelCoord = vTextureCoord.xy * filterArea.xy; + vec2 coord = pixelCoord / dimensions; + + if (coord.y < boundary) { + gl_FragColor = texture2D(uSampler, vTextureCoord); + return; + } + + float k = (coord.y - boundary) / (1. - boundary + 0.0001); + float areaY = boundary * dimensions.y / filterArea.y; + float v = areaY + areaY - vTextureCoord.y; + float y = mirror ? v : vTextureCoord.y; + + float _amplitude = ((amplitude.y - amplitude.x) * k + amplitude.x ) / filterArea.x; + float _waveLength = ((waveLength.y - waveLength.x) * k + waveLength.x) / filterArea.y; + float _alpha = (alpha.y - alpha.x) * k + alpha.x; + + float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - time) * _amplitude; + x = clamp(x, filterClamp.x, filterClamp.z); + + vec4 color = texture2D(uSampler, vec2(x, y)); + + gl_FragColor = color * _alpha; +} +`;const t=class extends u.Filter{constructor(r){super(l,s),this.time=0,this.uniforms.amplitude=new Float32Array(2),this.uniforms.waveLength=new Float32Array(2),this.uniforms.alpha=new Float32Array(2),this.uniforms.dimensions=new Float32Array(2),Object.assign(this,t.defaults,r)}apply(r,n,m,f){var o,a;this.uniforms.dimensions[0]=(o=n.filterFrame)==null?void 0:o.width,this.uniforms.dimensions[1]=(a=n.filterFrame)==null?void 0:a.height,this.uniforms.time=this.time,r.applyFilter(this,n,m,f)}set mirror(r){this.uniforms.mirror=r}get mirror(){return this.uniforms.mirror}set boundary(r){this.uniforms.boundary=r}get boundary(){return this.uniforms.boundary}set amplitude(r){this.uniforms.amplitude[0]=r[0],this.uniforms.amplitude[1]=r[1]}get amplitude(){return this.uniforms.amplitude}set waveLength(r){this.uniforms.waveLength[0]=r[0],this.uniforms.waveLength[1]=r[1]}get waveLength(){return this.uniforms.waveLength}set alpha(r){this.uniforms.alpha[0]=r[0],this.uniforms.alpha[1]=r[1]}get alpha(){return this.uniforms.alpha}};let i=t;return i.defaults={mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0},e.ReflectionFilter=i,Object.defineProperty(e,"__esModule",{value:!0}),e}({},PIXI);Object.assign(PIXI.filters,__filters); diff --git a/Extensions/Effects/reflection-pixi-filter.js b/Extensions/Effects/reflection-pixi-filter.js new file mode 100644 index 00000000..9f7111c5 --- /dev/null +++ b/Extensions/Effects/reflection-pixi-filter.js @@ -0,0 +1,2 @@ +var gdjs;(function(n){n.PixiFiltersTools.registerFilterCreator("Reflection",new class extends n.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(i,e){let t=0;return new PIXI.filters.ReflectionFilter({mirror:e.booleanParameters.mirror,boundary:e.doubleParameters.boundary,amplitude:[e.doubleParameters.amplitudeStart,e.doubleParameters.amplitudeEnding],waveLength:[e.doubleParameters.waveLengthStart,e.doubleParameters.waveLengthEnding],alpha:[e.doubleParameters.alphaStart,e.doubleParameters.alphaEnding],time:t})}updatePreRender(i,e){const t=i;t.animationSpeed!==0&&(t.time+=e.getElapsedTime()/1e3*t.animationSpeed)}updateDoubleParameter(i,e,t){const r=i;e==="boundary"&&(r.boundary=t),e==="amplitudeStart"&&(r.amplitude[0]=t),e==="amplitudeEnding"&&(r.amplitude[1]=t),e==="waveLengthStart"&&(r.waveLength[0]=t),e==="waveLengthEnding"&&(r.waveLength[1]=t),e==="alphaStart"&&(r.alpha[0]=t),e==="alphaEnding"&&(r.alpha[1]=t),e==="animationSpeed"&&(r.animationSpeed=t)}getDoubleParameter(i,e){const t=i;return e==="boundary"?t.boundary:e==="amplitudeStart"?t.amplitude[0]:e==="amplitudeEnding"?t.amplitude[1]:e==="waveLengthStart"?t.waveLength[0]:e==="waveLengthEnding"?t.waveLength[1]:e==="alphaStart"?t.alpha[0]:e==="alphaEnding"?t.alpha[1]:e==="animationSpeed"?t.animationSpeed:0}updateStringParameter(i,e,t){}updateColorParameter(i,e,t){}getColorParameter(i,e){return 0}updateBooleanParameter(i,e,t){const r=i;e==="mirror"&&(r.mirror=t)}})})(gdjs||(gdjs={})); +//# sourceMappingURL=reflection-pixi-filter.js.map diff --git a/Extensions/Effects/sepia-pixi-filter.js b/Extensions/Effects/sepia-pixi-filter.js new file mode 100644 index 00000000..0b0c94b8 --- /dev/null +++ b/Extensions/Effects/sepia-pixi-filter.js @@ -0,0 +1,2 @@ +var gdjs;(function(a){a.PixiFiltersTools.registerFilterCreator("Sepia",new class extends a.PixiFiltersTools.PixiFilterCreator{makePIXIFilter(e,r){const t=new PIXI.ColorMatrixFilter;return t.sepia(!1),t}updatePreRender(e,r){}updateDoubleParameter(e,r,t){const i=e;r==="opacity"&&(i.alpha=a.PixiFiltersTools.clampValue(t,0,1))}getDoubleParameter(e,r){const t=e;return r==="opacity"?t.alpha:0}updateStringParameter(e,r,t){}updateColorParameter(e,r,t){}getColorParameter(e,r){return 0}updateBooleanParameter(e,r,t){}})})(gdjs||(gdjs={})); +//# sourceMappingURL=sepia-pixi-filter.js.map diff --git a/Extensions/P2P/A_peer.js b/Extensions/P2P/A_peer.js new file mode 100644 index 00000000..3e36e2f3 --- /dev/null +++ b/Extensions/P2P/A_peer.js @@ -0,0 +1,10 @@ +// Peerjs, a MIT licensed WebRTC wrapper for P2P communication (https://peerjs.com/). +// Version 1.5.2 (Stable) +(()=>{function e(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}function t(e){return e&&e.__esModule?e.default:e}class n{constructor(){this.chunkedMTU=16300,this._dataCount=1,this.chunk=e=>{let t=[],n=e.byteLength,r=Math.ceil(n/this.chunkedMTU),i=0,o=0;for(;o0){let e=new Uint8Array(this._pieces);this._parts.push(e),this._pieces=[]}}toArrayBuffer(){let e=[];for(let t of this._parts)e.push(t);return function(e){let t=0;for(let n of e)t+=n.byteLength;let n=new Uint8Array(t),r=0;for(let t of e){let e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);n.set(e,r),r+=t.byteLength}return n}(e).buffer}constructor(){this.encoder=new TextEncoder,this._pieces=[],this._parts=[]}}function i(e){return new s(e).unpack()}function o(e){let t=new a,n=t.pack(e);return n instanceof Promise?n.then(()=>t.getBuffer()):t.getBuffer()}class s{unpack(){let e;let t=this.unpack_uint8();if(t<128)return t;if((224^t)<32)return(224^t)-32;if((e=160^t)<=15)return this.unpack_raw(e);if((e=176^t)<=15)return this.unpack_string(e);if((e=144^t)<=15)return this.unpack_array(e);if((e=128^t)<=15)return this.unpack_map(e);switch(t){case 192:return null;case 193:case 212:case 213:case 214:case 215:return;case 194:return!1;case 195:return!0;case 202:return this.unpack_float();case 203:return this.unpack_double();case 204:return this.unpack_uint8();case 205:return this.unpack_uint16();case 206:return this.unpack_uint32();case 207:return this.unpack_uint64();case 208:return this.unpack_int8();case 209:return this.unpack_int16();case 210:return this.unpack_int32();case 211:return this.unpack_int64();case 216:return e=this.unpack_uint16(),this.unpack_string(e);case 217:return e=this.unpack_uint32(),this.unpack_string(e);case 218:return e=this.unpack_uint16(),this.unpack_raw(e);case 219:return e=this.unpack_uint32(),this.unpack_raw(e);case 220:return e=this.unpack_uint16(),this.unpack_array(e);case 221:return e=this.unpack_uint32(),this.unpack_array(e);case 222:return e=this.unpack_uint16(),this.unpack_map(e);case 223:return e=this.unpack_uint32(),this.unpack_map(e)}}unpack_uint8(){let e=255&this.dataView[this.index];return this.index++,e}unpack_uint16(){let e=this.read(2),t=(255&e[0])*256+(255&e[1]);return this.index+=2,t}unpack_uint32(){let e=this.read(4),t=((256*e[0]+e[1])*256+e[2])*256+e[3];return this.index+=4,t}unpack_uint64(){let e=this.read(8),t=((((((256*e[0]+e[1])*256+e[2])*256+e[3])*256+e[4])*256+e[5])*256+e[6])*256+e[7];return this.index+=8,t}unpack_int8(){let e=this.unpack_uint8();return e<128?e:e-256}unpack_int16(){let e=this.unpack_uint16();return e<32768?e:e-65536}unpack_int32(){let e=this.unpack_uint32();return e<2147483648?e:e-4294967296}unpack_int64(){let e=this.unpack_uint64();return e<0x7fffffffffffffff?e:e-18446744073709552e3}unpack_raw(e){if(this.length>31?1:-1)*(8388607&e|8388608)*2**((e>>23&255)-127-23)}unpack_double(){let e=this.unpack_uint32(),t=this.unpack_uint32(),n=(e>>20&2047)-1023;return(0==e>>31?1:-1)*((1048575&e|1048576)*2**(n-20)+t*2**(n-52))}read(e){let t=this.index;if(t+e<=this.length)return this.dataView.subarray(t,t+e);throw Error("BinaryPackFailure: read index out of range")}constructor(e){this.index=0,this.dataBuffer=e,this.dataView=new Uint8Array(this.dataBuffer),this.length=this.dataBuffer.byteLength}}class a{getBuffer(){return this._bufferBuilder.toArrayBuffer()}pack(e){if("string"==typeof e)this.pack_string(e);else if("number"==typeof e)Math.floor(e)===e?this.pack_integer(e):this.pack_double(e);else if("boolean"==typeof e)!0===e?this._bufferBuilder.append(195):!1===e&&this._bufferBuilder.append(194);else if(void 0===e)this._bufferBuilder.append(192);else if("object"==typeof e){if(null===e)this._bufferBuilder.append(192);else{let t=e.constructor;if(e instanceof Array){let t=this.pack_array(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else if(e instanceof ArrayBuffer)this.pack_bin(new Uint8Array(e));else if("BYTES_PER_ELEMENT"in e)this.pack_bin(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));else if(e instanceof Date)this.pack_string(e.toString());else if(e instanceof Blob)return e.arrayBuffer().then(e=>{this.pack_bin(new Uint8Array(e)),this._bufferBuilder.flush()});else if(t==Object||t.toString().startsWith("class")){let t=this.pack_object(e);if(t instanceof Promise)return t.then(()=>this._bufferBuilder.flush())}else throw Error(`Type "${t.toString()}" not yet supported`)}}else throw Error(`Type "${typeof e}" not yet supported`);this._bufferBuilder.flush()}pack_bin(e){let t=e.length;if(t<=15)this.pack_uint8(160+t);else if(t<=65535)this._bufferBuilder.append(218),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(219),this.pack_uint32(t);else throw Error("Invalid length");this._bufferBuilder.append_buffer(e)}pack_string(e){let t=this._textEncoder.encode(e),n=t.length;if(n<=15)this.pack_uint8(176+n);else if(n<=65535)this._bufferBuilder.append(216),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(217),this.pack_uint32(n);else throw Error("Invalid length");this._bufferBuilder.append_buffer(t)}pack_array(e){let t=e.length;if(t<=15)this.pack_uint8(144+t);else if(t<=65535)this._bufferBuilder.append(220),this.pack_uint16(t);else if(t<=4294967295)this._bufferBuilder.append(221),this.pack_uint32(t);else throw Error("Invalid length");let n=r=>{if(rn(r+1)):n(r+1)}};return n(0)}pack_integer(e){if(e>=-32&&e<=127)this._bufferBuilder.append(255&e);else if(e>=0&&e<=255)this._bufferBuilder.append(204),this.pack_uint8(e);else if(e>=-128&&e<=127)this._bufferBuilder.append(208),this.pack_int8(e);else if(e>=0&&e<=65535)this._bufferBuilder.append(205),this.pack_uint16(e);else if(e>=-32768&&e<=32767)this._bufferBuilder.append(209),this.pack_int16(e);else if(e>=0&&e<=4294967295)this._bufferBuilder.append(206),this.pack_uint32(e);else if(e>=-2147483648&&e<=2147483647)this._bufferBuilder.append(210),this.pack_int32(e);else if(e>=-0x8000000000000000&&e<=0x7fffffffffffffff)this._bufferBuilder.append(211),this.pack_int64(e);else if(e>=0&&e<=18446744073709552e3)this._bufferBuilder.append(207),this.pack_uint64(e);else throw Error("Invalid integer")}pack_double(e){let t=0;e<0&&(t=1,e=-e);let n=Math.floor(Math.log(e)/Math.LN2),r=Math.floor((e/2**n-1)*4503599627370496),i=t<<31|n+1023<<20|r/4294967296&1048575;this._bufferBuilder.append(203),this.pack_int32(i),this.pack_int32(r%4294967296)}pack_object(e){let t=Object.keys(e),n=t.length;if(n<=15)this.pack_uint8(128+n);else if(n<=65535)this._bufferBuilder.append(222),this.pack_uint16(n);else if(n<=4294967295)this._bufferBuilder.append(223),this.pack_uint32(n);else throw Error("Invalid length");let r=n=>{if(nr(n+1))}return r(n+1)}};return r(0)}pack_uint8(e){this._bufferBuilder.append(e)}pack_uint16(e){this._bufferBuilder.append(e>>8),this._bufferBuilder.append(255&e)}pack_uint32(e){let t=4294967295&e;this._bufferBuilder.append((4278190080&t)>>>24),this._bufferBuilder.append((16711680&t)>>>16),this._bufferBuilder.append((65280&t)>>>8),this._bufferBuilder.append(255&t)}pack_uint64(e){let t=e/4294967296,n=e%4294967296;this._bufferBuilder.append((4278190080&t)>>>24),this._bufferBuilder.append((16711680&t)>>>16),this._bufferBuilder.append((65280&t)>>>8),this._bufferBuilder.append(255&t),this._bufferBuilder.append((4278190080&n)>>>24),this._bufferBuilder.append((16711680&n)>>>16),this._bufferBuilder.append((65280&n)>>>8),this._bufferBuilder.append(255&n)}pack_int8(e){this._bufferBuilder.append(255&e)}pack_int16(e){this._bufferBuilder.append((65280&e)>>8),this._bufferBuilder.append(255&e)}pack_int32(e){this._bufferBuilder.append(e>>>24&255),this._bufferBuilder.append((16711680&e)>>>16),this._bufferBuilder.append((65280&e)>>>8),this._bufferBuilder.append(255&e)}pack_int64(e){let t=Math.floor(e/4294967296),n=e%4294967296;this._bufferBuilder.append((4278190080&t)>>>24),this._bufferBuilder.append((16711680&t)>>>16),this._bufferBuilder.append((65280&t)>>>8),this._bufferBuilder.append(255&t),this._bufferBuilder.append((4278190080&n)>>>24),this._bufferBuilder.append((16711680&n)>>>16),this._bufferBuilder.append((65280&n)>>>8),this._bufferBuilder.append(255&n)}constructor(){this._bufferBuilder=new r,this._textEncoder=new TextEncoder}}let c=!0,l=!0;function p(e,t,n){let r=e.match(t);return r&&r.length>=n&&parseInt(r[n],10)}function d(e,t,n){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return i.apply(this,arguments);let o=e=>{let t=n(e);t&&(r.handleEvent?r.handleEvent(t):r(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(r,o),i.apply(this,[e,o])};let o=r.removeEventListener;r.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t]||!this._eventMap[t].has(n))return o.apply(this,arguments);let r=this._eventMap[t].get(n);return this._eventMap[t].delete(n),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,r])},Object.defineProperty(r,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function h(e){return"boolean"!=typeof e?Error("Argument type: "+typeof e+". Please use a boolean."):(c=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function u(e){return"boolean"!=typeof e?Error("Argument type: "+typeof e+". Please use a boolean."):(l=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function f(){"object"!=typeof window||c||"undefined"==typeof console||"function"!=typeof console.log||console.log.apply(console,arguments)}function m(e,t){l&&console.warn(e+" is deprecated, please use "+t+" instead.")}function g(e){return"[object Object]"===Object.prototype.toString.call(e)}function y(e,t,n){let r=n?"outbound-rtp":"inbound-rtp",i=new Map;if(null===t)return i;let o=[];return e.forEach(e=>{"track"===e.type&&e.trackIdentifier===t.id&&o.push(e)}),o.forEach(t=>{e.forEach(n=>{n.type===r&&n.trackId===t.id&&function e(t,n,r){!n||r.has(n.id)||(r.set(n.id,n),Object.keys(n).forEach(i=>{i.endsWith("Id")?e(t,t.get(n[i]),r):i.endsWith("Ids")&&n[i].forEach(n=>{e(t,t.get(n),r)})}))}(e,n,i)})}),i}var _,C,v,b,k,S,T,R,w,P,E,D,x,I,M,O,j={};function L(e,t){let n=e&&e.navigator;if(!n.mediaDevices)return;let r=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;let t={};return Object.keys(e).forEach(n=>{if("require"===n||"advanced"===n||"mediaSource"===n)return;let r="object"==typeof e[n]?e[n]:{ideal:e[n]};void 0!==r.exact&&"number"==typeof r.exact&&(r.min=r.max=r.exact);let i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==r.ideal){t.optional=t.optional||[];let e={};"number"==typeof r.ideal?(e[i("min",n)]=r.ideal,t.optional.push(e),(e={})[i("max",n)]=r.ideal):e[i("",n)]=r.ideal,t.optional.push(e)}void 0!==r.exact&&"number"!=typeof r.exact?(t.mandatory=t.mandatory||{},t.mandatory[i("",n)]=r.exact):["min","max"].forEach(e=>{void 0!==r[e]&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=r[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){let t=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=r(e.audio)}if(e&&"object"==typeof e.video){let o=e.video.facingMode;o=o&&("object"==typeof o?o:{ideal:o});let s=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&!(n.mediaDevices.getSupportedConstraints&&n.mediaDevices.getSupportedConstraints().facingMode&&!s)){let t;if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?t=["back","rear"]:("user"===o.exact||"user"===o.ideal)&&(t=["front"]),t)return n.mediaDevices.enumerateDevices().then(n=>{let s=(n=n.filter(e=>"videoinput"===e.kind)).find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!s&&n.length&&t.includes("back")&&(s=n[n.length-1]),s&&(e.video.deviceId=o.exact?{exact:s.deviceId}:{ideal:s.deviceId}),e.video=r(e.video),f("chrome: "+JSON.stringify(e)),i(e)})}e.video=r(e.video)}return f("chrome: "+JSON.stringify(e)),i(e)},o=function(e){return t.version>=64?e:{name:({PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"})[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(n.getUserMedia=(function(e,t,r){i(e,e=>{n.webkitGetUserMedia(e,t,e=>{r&&r(o(e))})})}).bind(n),n.mediaDevices.getUserMedia){let e=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(t){return i(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException("","NotFoundError");return e},e=>Promise.reject(o(e))))}}}function A(e,t){if((!e.navigator.mediaDevices||!("getDisplayMedia"in e.navigator.mediaDevices))&&e.navigator.mediaDevices){if("function"!=typeof t){console.error("shimGetDisplayMedia: getSourceId argument is not a function");return}e.navigator.mediaDevices.getDisplayMedia=function(n){return t(n).then(t=>{let r=n.video&&n.video.width,i=n.video&&n.video.height,o=n.video&&n.video.frameRate;return n.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:o||3}},r&&(n.video.mandatory.maxWidth=r),i&&(n.video.mandatory.maxHeight=i),e.navigator.mediaDevices.getUserMedia(n)})}}}function B(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function F(e){if("object"!=typeof e||!e.RTCPeerConnection||"ontrack"in e.RTCPeerConnection.prototype)d(e,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e));else{Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.track.id):{track:n.track};let i=new Event("track");i.track=n.track,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)}),t.stream.getTracks().forEach(n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.id):{track:n};let i=new Event("track");i.track=n,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}}function U(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){let t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){let i=n.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};let r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){r.apply(this,arguments);let t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{let t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function z(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,n,r]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0==arguments.length||"function"!=typeof e))return t.apply(this,[]);let i=function(e){let t={};return e.result().forEach(e=>{let n={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach(t=>{n[t]=e.stat(t)}),t[n.id]=n}),t},o=function(e){return new Map(Object.keys(e).map(t=>[t,e[t]]))};return arguments.length>=2?t.apply(this,[function(e){n(o(i(e)))},e]):new Promise((e,n)=>{t.apply(this,[function(t){e(o(i(t)))},n])}).then(n,r)}}function N(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>y(t,e.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),d(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>y(t,e.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype&&"getStats"in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e,t,n;let r=arguments[0];return(this.getSenders().forEach(t=>{t.track===r&&(e?n=!0:e=t)}),this.getReceivers().forEach(e=>(e.track===r&&(t?n=!0:t=e),e.track===r)),n||e&&t)?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):e?e.getStats():t?t.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function $(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){if(!n)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let r=t.apply(this,arguments);return this._shimmedLocalStreams[n.id]?-1===this._shimmedLocalStreams[n.id].indexOf(r)&&this._shimmedLocalStreams[n.id].push(r):this._shimmedLocalStreams[n.id]=[n,r],r};let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")});let t=this.getSenders();n.apply(this,arguments);let r=this.getSenders().filter(e=>-1===t.indexOf(e));this._shimmedLocalStreams[e.id]=[e].concat(r)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],r.apply(this,arguments)};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{let n=this._shimmedLocalStreams[t].indexOf(e);-1!==n&&this._shimmedLocalStreams[t].splice(n,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]}),i.apply(this,arguments)}}function J(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return $(e);let n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=n.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[t.id]){let n=new e.MediaStream(t.getTracks());this._streams[t.id]=n,this._reverseStreams[n.id]=t,t=n}r.apply(this,[t])};let i=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(RegExp(i.id,"g"),r.id)}),new RTCSessionDescription({type:t.type,sdp:n})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,n){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let r=[].slice.call(arguments,1);if(1!==r.length||!r[0].getTracks().find(e=>e===t))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(e=>e.track===t))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let i=this._streams[n.id];if(i)i.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let r=new e.MediaStream([t]);this._streams[n.id]=r,this._reverseStreams[r.id]=n,this.addStream(r)}return this.getSenders().find(e=>e.track===t)},["createOffer","createAnswer"].forEach(function(t){let n=e.RTCPeerConnection.prototype[t];e.RTCPeerConnection.prototype[t]=({[t](){let e=arguments,t=arguments.length&&"function"==typeof arguments[0];return t?n.apply(this,[t=>{let n=o(this,t);e[0].apply(null,[n])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):n.apply(this,arguments).then(e=>o(this,e))}})[t]});let s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){var e,t;let n;return arguments.length&&arguments[0].type&&(arguments[0]=(e=this,t=arguments[0],n=t.sdp,Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(RegExp(r.id,"g"),i.id)}),new RTCSessionDescription({type:t.type,sdp:n}))),s.apply(this,arguments)};let a=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let e=a.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){let t;if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(e._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");this._streams=this._streams||{},Object.keys(this._streams).forEach(n=>{this._streams[n].getTracks().find(t=>e.track===t)&&(t=this._streams[n])}),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function V(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){let n=e.RTCPeerConnection.prototype[t];e.RTCPeerConnection.prototype[t]=({[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}})[t]})}function G(e,t){d(e,"negotiationneeded",e=>{let n=e.target;if(!(t.version<72)&&(!n.getConfiguration||"plan-b"!==n.getConfiguration().sdpSemantics)||"stable"===n.signalingState)return e})}e(j,"shimMediaStream",()=>B),e(j,"shimOnTrack",()=>F),e(j,"shimGetSendersWithDtmf",()=>U),e(j,"shimGetStats",()=>z),e(j,"shimSenderReceiverGetStats",()=>N),e(j,"shimAddTrackRemoveTrackWithNative",()=>$),e(j,"shimAddTrackRemoveTrack",()=>J),e(j,"shimPeerConnection",()=>V),e(j,"fixNegotiationNeeded",()=>G),e(j,"shimGetUserMedia",()=>L),e(j,"shimGetDisplayMedia",()=>A);var W={};function H(e,t){let n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,r){m("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),n.mediaDevices.getUserMedia(e).then(t,r)},!(t.version>55&&"autoGainControl"in n.mediaDevices.getSupportedConstraints())){let e=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},t=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(n){return"object"==typeof n&&"object"==typeof n.audio&&(e((n=JSON.parse(JSON.stringify(n))).audio,"autoGainControl","mozAutoGainControl"),e(n.audio,"noiseSuppression","mozNoiseSuppression")),t(n)},r&&r.prototype.getSettings){let t=r.prototype.getSettings;r.prototype.getSettings=function(){let n=t.apply(this,arguments);return e(n,"mozAutoGainControl","autoGainControl"),e(n,"mozNoiseSuppression","noiseSuppression"),n}}if(r&&r.prototype.applyConstraints){let t=r.prototype.applyConstraints;r.prototype.applyConstraints=function(n){return"audio"===this.kind&&"object"==typeof n&&(e(n=JSON.parse(JSON.stringify(n)),"autoGainControl","mozAutoGainControl"),e(n,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[n])}}}}function Y(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||!e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!(n&&n.video)){let e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===n.video?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})}function K(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function X(e,t){if("object"!=typeof e||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){let n=e.RTCPeerConnection.prototype[t];e.RTCPeerConnection.prototype[t]=({[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}})[t]});let n={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,i,o]=arguments;return r.apply(this,[e||null]).then(e=>{if(t.version<53&&!i)try{e.forEach(e=>{e.type=n[e.type]||e.type})}catch(t){if("TypeError"!==t.name)throw t;e.forEach((t,r)=>{e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))})}return e}).then(i,o)}}function q(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function Q(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),d(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function Z(e){!e.RTCPeerConnection||"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){m("removeStream","removeTrack"),this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function ee(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function et(e){if(!("object"==typeof e&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]);let n=(e=[...e]).length>0;n&&e.forEach(e=>{if("rid"in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError("max_framerate must be >= 0.0")});let r=t.apply(this,arguments);if(n){let{sender:t}=r,n=t.getParameters();"encodings"in n&&(1!==n.encodings.length||0!==Object.keys(n.encodings[0]).length)||(n.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(n).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return r})}function en(e){if(!("object"==typeof e&&e.RTCRtpSender))return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function er(e){if(!("object"==typeof e&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function ei(e){if(!("object"==typeof e&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}e(W,"shimOnTrack",()=>K),e(W,"shimPeerConnection",()=>X),e(W,"shimSenderGetStats",()=>q),e(W,"shimReceiverGetStats",()=>Q),e(W,"shimRemoveStream",()=>Z),e(W,"shimRTCDataChannel",()=>ee),e(W,"shimAddTransceiver",()=>et),e(W,"shimGetParameters",()=>en),e(W,"shimCreateOffer",()=>er),e(W,"shimCreateAnswer",()=>ei),e(W,"shimGetUserMedia",()=>H),e(W,"shimGetDisplayMedia",()=>Y);var eo={};function es(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(n=>t.call(this,n,e)),e.getVideoTracks().forEach(n=>t.call(this,n,e))},e.RTCPeerConnection.prototype.addTrack=function(e,...n){return n&&n.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);let t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);let n=e.getTracks();this.getSenders().forEach(e=>{n.includes(e.track)&&this.removeTrack(e)})})}}function ea(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let t=new Event("addstream");t.stream=e,this.dispatchEvent(t)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);let n=new Event("addstream");n.stream=t,e.dispatchEvent(n)})}),t.apply(e,arguments)}}}function ec(e){if("object"!=typeof e||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,o=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){let r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){let n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};let a=function(e,t,n){let r=i.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r};t.setLocalDescription=a,a=function(e,t,n){let r=o.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.setRemoteDescription=a,a=function(e,t,n){let r=s.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.addIceCandidate=a}function el(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let e=t.mediaDevices,n=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>n(ep(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=(function(e,n,r){t.mediaDevices.getUserMedia(e).then(n,r)}).bind(t))}function ep(e){return e&&void 0!==e.video?Object.assign({},e,{video:function e(t){return g(t)?Object.keys(t).reduce(function(n,r){let i=g(t[r]),o=i?e(t[r]):t[r],s=i&&!Object.keys(o).length;return void 0===o||s?n:Object.assign(n,{[r]:o})},{}):t}(e.video)}):e}function ed(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,n){if(e&&e.iceServers){let t=[];for(let n=0;nt.generateCertificate})}function eh(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function eu(e){let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);let t=this.getTransceivers().find(e=>"audio"===e.receiver.track.kind);!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let n=this.getTransceivers().find(e=>"video"===e.receiver.track.kind);!1===e.offerToReceiveVideo&&n?"sendrecv"===n.direction?n.setDirection?n.setDirection("sendonly"):n.direction="sendonly":"recvonly"===n.direction&&(n.setDirection?n.setDirection("inactive"):n.direction="inactive"):!0!==e.offerToReceiveVideo||n||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function ef(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}e(eo,"shimLocalStreamsAPI",()=>es),e(eo,"shimRemoteStreamsAPI",()=>ea),e(eo,"shimCallbacksAPI",()=>ec),e(eo,"shimGetUserMedia",()=>el),e(eo,"shimConstraints",()=>ep),e(eo,"shimRTCIceServerUrls",()=>ed),e(eo,"shimTrackEventTransceiver",()=>eh),e(eo,"shimCreateOfferLegacy",()=>eu),e(eo,"shimAudioContext",()=>ef);var em={};e(em,"shimRTCIceCandidate",()=>e_),e(em,"shimRTCIceCandidateRelayProtocol",()=>eC),e(em,"shimMaxMessageSize",()=>ev),e(em,"shimSendThrowTypeError",()=>eb),e(em,"shimConnectionState",()=>ek),e(em,"removeExtmapAllowMixed",()=>eS),e(em,"shimAddIceCandidateNullOrEmpty",()=>eT),e(em,"shimParameterlessSetLocalDescription",()=>eR);var eg={};let ey={};function e_(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;let n=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substring(2)),e.candidate&&e.candidate.length){let r=new n(e),i=t(eg).parseCandidate(e.candidate);for(let e in i)e in r||Object.defineProperty(r,e,{value:i[e]});return r.toJSON=function(){return{candidate:r.candidate,sdpMid:r.sdpMid,sdpMLineIndex:r.sdpMLineIndex,usernameFragment:r.usernameFragment}},r}return new n(e)},e.RTCIceCandidate.prototype=n.prototype,d(e,"icecandidate",t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t))}function eC(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||d(e,"icecandidate",e=>{if(e.candidate){let n=t(eg).parseCandidate(e.candidate.candidate);"relay"===n.type&&(e.candidate.relayProtocol=({0:"tls",1:"tcp",2:"udp"})[n.priority>>24])}return e})}function ev(e,n){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});let r=function(e){if(!e||!e.sdp)return!1;let n=t(eg).splitSections(e.sdp);return n.shift(),n.some(e=>{let n=t(eg).parseMLine(e);return n&&"application"===n.kind&&-1!==n.protocol.indexOf("SCTP")})},i=function(e){let t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return -1;let n=parseInt(t[1],10);return n!=n?-1:n},o=function(e){let t=65536;return"firefox"===n.browser&&(t=n.version<57?-1===e?16384:2147483637:n.version<60?57===n.version?65535:65536:2147483637),t},s=function(e,r){let i=65536;"firefox"===n.browser&&57===n.version&&(i=65535);let o=t(eg).matchPrefix(e.sdp,"a=max-message-size:");return o.length>0?i=parseInt(o[0].substring(19),10):"firefox"===n.browser&&-1!==r&&(i=2147483637),i},a=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===n.browser&&n.version>=76){let{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(r(arguments[0])){let e;let t=i(arguments[0]),n=o(t),r=s(arguments[0],t);e=0===n&&0===r?Number.POSITIVE_INFINITY:0===n||0===r?Math.max(n,r):Math.min(n,r);let a={};Object.defineProperty(a,"maxMessageSize",{get:()=>e}),this._sctp=a}return a.apply(this,arguments)}}function eb(e){if(!(e.RTCPeerConnection&&"createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){let n=e.send;e.send=function(){let r=arguments[0],i=r.length||r.size||r.byteLength;if("open"===e.readyState&&t.sctp&&i>t.sctp.maxMessageSize)throw TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return n.apply(e,arguments)}}let n=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let e=n.apply(this,arguments);return t(e,this),e},d(e,"datachannel",e=>(t(e.channel,e.target),e))}function ek(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;let t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return({completed:"connected",checking:"connecting"})[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(e=>{let n=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{let t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;let n=new Event("connectionstatechange",e);t.dispatchEvent(n)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),n.apply(this,arguments)}})}function eS(e,t){if(!e.RTCPeerConnection||"chrome"===t.browser&&t.version>=71||"safari"===t.browser&&t.version>=605)return;let n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){let n=t.sdp.split("\n").filter(e=>"a=extmap-allow-mixed"!==e.trim()).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:n}):t.sdp=n}return n.apply(this,arguments)}}function eT(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let n=e.RTCPeerConnection.prototype.addIceCandidate;n&&0!==n.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function eR(e,t){if(!(e.RTCPeerConnection&&e.RTCPeerConnection.prototype))return;let n=e.RTCPeerConnection.prototype.setLocalDescription;n&&0!==n.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return n.apply(this,arguments);if(!(e={type:e.type,sdp:e.sdp}).type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}return e.sdp||"offer"!==e.type&&"answer"!==e.type?n.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then(e=>n.apply(this,[e]))})}ey.generateIdentifier=function(){return Math.random().toString(36).substring(2,12)},ey.localCName=ey.generateIdentifier(),ey.splitLines=function(e){return e.trim().split("\n").map(e=>e.trim())},ey.splitSections=function(e){return e.split("\nm=").map((e,t)=>(t>0?"m="+e:e).trim()+"\r\n")},ey.getDescription=function(e){let t=ey.splitSections(e);return t&&t[0]},ey.getMediaSections=function(e){let t=ey.splitSections(e);return t.shift(),t},ey.matchPrefix=function(e,t){return ey.splitLines(e).filter(e=>0===e.indexOf(t))},ey.parseCandidate=function(e){let t;let n={foundation:(t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" "))[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let e=8;e0?t[0].split("/")[1]:"sendrecv",uri:t[1],attributes:t.slice(2).join(" ")}},ey.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+(e.attributes?" "+e.attributes:"")+"\r\n"},ey.parseFmtp=function(e){let t;let n={},r=e.substring(e.indexOf(" ")+1).split(";");for(let e=0;e{void 0!==e.parameters[t]?r.push(t+"="+e.parameters[t]):r.push(t)}),t+="a=fmtp:"+n+" "+r.join(";")+"\r\n"}return t},ey.parseRtcpFb=function(e){let t=e.substring(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},ey.writeRtcpFb=function(e){let t="",n=e.payloadType;return void 0!==e.preferredPayloadType&&(n=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach(e=>{t+="a=rtcp-fb:"+n+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"}),t},ey.parseSsrcMedia=function(e){let t=e.indexOf(" "),n={ssrc:parseInt(e.substring(7,t),10)},r=e.indexOf(":",t);return r>-1?(n.attribute=e.substring(t+1,r),n.value=e.substring(r+1)):n.attribute=e.substring(t+1),n},ey.parseSsrcGroup=function(e){let t=e.substring(13).split(" ");return{semantics:t.shift(),ssrcs:t.map(e=>parseInt(e,10))}},ey.getMid=function(e){let t=ey.matchPrefix(e,"a=mid:")[0];if(t)return t.substring(6)},ey.parseFingerprint=function(e){let t=e.substring(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},ey.getDtlsParameters=function(e,t){return{role:"auto",fingerprints:ey.matchPrefix(e+t,"a=fingerprint:").map(ey.parseFingerprint)}},ey.writeDtlsParameters=function(e,t){let n="a=setup:"+t+"\r\n";return e.fingerprints.forEach(e=>{n+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"}),n},ey.parseCryptoLine=function(e){let t=e.substring(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},ey.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?ey.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},ey.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;let t=e.substring(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},ey.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},ey.getCryptoParameters=function(e,t){return ey.matchPrefix(e+t,"a=crypto:").map(ey.parseCryptoLine)},ey.getIceParameters=function(e,t){let n=ey.matchPrefix(e+t,"a=ice-ufrag:")[0],r=ey.matchPrefix(e+t,"a=ice-pwd:")[0];return n&&r?{usernameFragment:n.substring(12),password:r.substring(10)}:null},ey.writeIceParameters=function(e){let t="a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n";return e.iceLite&&(t+="a=ice-lite\r\n"),t},ey.parseRtpParameters=function(e){let t={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=ey.splitLines(e)[0].split(" ");t.profile=n[2];for(let r=3;r{t.headerExtensions.push(ey.parseExtmap(e))});let r=ey.matchPrefix(e,"a=rtcp-fb:* ").map(ey.parseRtcpFb);return t.codecs.forEach(e=>{r.forEach(t=>{e.rtcpFeedback.find(e=>e.type===t.type&&e.parameter===t.parameter)||e.rtcpFeedback.push(t)})}),t},ey.writeRtpDescription=function(e,t){let n="";n+="m="+e+" "+(t.codecs.length>0?"9":"0")+" "+(t.profile||"UDP/TLS/RTP/SAVPF")+" "+t.codecs.map(e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType).join(" ")+"\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\n",t.codecs.forEach(e=>{n+=ey.writeRtpMap(e)+ey.writeFmtp(e)+ey.writeRtcpFb(e)});let r=0;return t.codecs.forEach(e=>{e.maxptime>r&&(r=e.maxptime)}),r>0&&(n+="a=maxptime:"+r+"\r\n"),t.headerExtensions&&t.headerExtensions.forEach(e=>{n+=ey.writeExtmap(e)}),n},ey.parseRtpEncodingParameters=function(e){let t;let n=[],r=ey.parseRtpParameters(e),i=-1!==r.fecMechanisms.indexOf("RED"),o=-1!==r.fecMechanisms.indexOf("ULPFEC"),s=ey.matchPrefix(e,"a=ssrc:").map(e=>ey.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute),a=s.length>0&&s[0].ssrc,c=ey.matchPrefix(e,"a=ssrc-group:FID").map(e=>e.substring(17).split(" ").map(e=>parseInt(e,10)));c.length>0&&c[0].length>1&&c[0][0]===a&&(t=c[0][1]),r.codecs.forEach(e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let r={ssrc:a,codecPayloadType:parseInt(e.parameters.apt,10)};a&&t&&(r.rtx={ssrc:t}),n.push(r),i&&((r=JSON.parse(JSON.stringify(r))).fec={ssrc:a,mechanism:o?"red+ulpfec":"red"},n.push(r))}}),0===n.length&&a&&n.push({ssrc:a});let l=ey.matchPrefix(e,"b=");return l.length&&(l=0===l[0].indexOf("b=TIAS:")?parseInt(l[0].substring(7),10):0===l[0].indexOf("b=AS:")?950*parseInt(l[0].substring(5),10)-16e3:void 0,n.forEach(e=>{e.maxBitrate=l})),n},ey.parseRtcpParameters=function(e){let t={},n=ey.matchPrefix(e,"a=ssrc:").map(e=>ey.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute)[0];n&&(t.cname=n.value,t.ssrc=n.ssrc);let r=ey.matchPrefix(e,"a=rtcp-rsize");t.reducedSize=r.length>0,t.compound=0===r.length;let i=ey.matchPrefix(e,"a=rtcp-mux");return t.mux=i.length>0,t},ey.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+="a=rtcp-rsize\r\n"),e.mux&&(t+="a=rtcp-mux\r\n"),void 0!==e.ssrc&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+"\r\n"),t},ey.parseMsid=function(e){let t;let n=ey.matchPrefix(e,"a=msid:");if(1===n.length)return{stream:(t=n[0].substring(7).split(" "))[0],track:t[1]};let r=ey.matchPrefix(e,"a=ssrc:").map(e=>ey.parseSsrcMedia(e)).filter(e=>"msid"===e.attribute);if(r.length>0)return{stream:(t=r[0].value.split(" "))[0],track:t[1]}},ey.parseSctpDescription=function(e){let t;let n=ey.parseMLine(e),r=ey.matchPrefix(e,"a=max-message-size:");r.length>0&&(t=parseInt(r[0].substring(19),10)),isNaN(t)&&(t=65536);let i=ey.matchPrefix(e,"a=sctp-port:");if(i.length>0)return{port:parseInt(i[0].substring(12),10),protocol:n.fmt,maxMessageSize:t};let o=ey.matchPrefix(e,"a=sctpmap:");if(o.length>0){let e=o[0].substring(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:t}}},ey.writeSctpDescription=function(e,t){let n=[];return n="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&n.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),n.join("")},ey.generateSessionId=function(){return Math.random().toString().substr(2,22)},ey.writeSessionBoilerplate=function(e,t,n){return"v=0\r\no="+(n||"thisisadapterortc")+" "+(e||ey.generateSessionId())+" "+(void 0!==t?t:2)+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},ey.getDirection=function(e,t){let n=ey.splitLines(e);for(let e=0;e=this.minChromeVersion:"firefox"===e?t>=this.minFirefoxVersion:"safari"===e&&!this.isIOS&&t>=this.minSafariVersion)}getBrowser(){return eP.browserDetails.browser}getVersion(){return eP.browserDetails.version||0}isUnifiedPlanSupported(){let e;let t=this.getBrowser(),n=eP.browserDetails.version||0;if("chrome"===t&&n=this.minFirefoxVersion)return!0;if(!window.RTCRtpTransceiver||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let r=!1;try{(e=new RTCPeerConnection).addTransceiver("audio"),r=!0}catch(e){}finally{e&&e.close()}return r}toString(){return`Supports: + browser:${this.getBrowser()} + version:${this.getVersion()} + isIOS:${this.isIOS} + isWebRTCSupported:${this.isWebRTCSupported()} + isBrowserSupported:${this.isBrowserSupported()} + isUnifiedPlanSupported:${this.isUnifiedPlanSupported()}`}constructor(){this.isIOS=["iPad","iPhone","iPod"].includes(navigator.platform),this.supportedBrowsers=["firefox","chrome","safari"],this.minFirefoxVersion=59,this.minChromeVersion=72,this.minSafariVersion=605}},eD=e=>!e||/^[A-Za-z0-9]+(?:[ _-][A-Za-z0-9]+)*$/.test(e),ex=()=>Math.random().toString(36).slice(2),eI={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:["turn:eu-0.turn.peerjs.com:3478","turn:us-0.turn.peerjs.com:3478"],username:"peerjs",credential:"peerjsp"}],sdpSemantics:"unified-plan"},eM=new class extends n{noop(){}blobToArrayBuffer(e,t){let n=new FileReader;return n.onload=function(e){e.target&&t(e.target.result)},n.readAsArrayBuffer(e),n}binaryStringToArrayBuffer(e){let t=new Uint8Array(e.length);for(let n=0;n=3&&this._print(3,...e)}warn(...e){this._logLevel>=2&&this._print(2,...e)}error(...e){this._logLevel>=1&&this._print(1,...e)}setLogFunction(e){this._print=e}_print(e,...t){let n=["PeerJS: ",...t];for(let e in n)n[e]instanceof Error&&(n[e]="("+n[e].name+") "+n[e].message);e>=3?console.log(...n):e>=2?console.warn("WARNING",...n):e>=1&&console.error("ERROR",...n)}constructor(){this._logLevel=0}},ej={},eL=Object.prototype.hasOwnProperty,eA="~";function eB(){}function eF(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function eU(e,t,n,r,i){if("function"!=typeof n)throw TypeError("The listener must be a function");var o=new eF(n,r||e,i),s=eA?eA+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function ez(e,t){0==--e._eventsCount?e._events=new eB:delete e._events[t]}function eN(){this._events=new eB,this._eventsCount=0}Object.create&&(eB.prototype=Object.create(null),new eB().__proto__||(eA=!1)),eN.prototype.eventNames=function(){var e,t,n=[];if(0===this._eventsCount)return n;for(t in e=this._events)eL.call(e,t)&&n.push(eA?t.slice(1):t);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},eN.prototype.listeners=function(e){var t=eA?eA+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var r=0,i=n.length,o=Array(i);r","afrokick ","ericz ","Jairo ","Jonas Gloning <34194370+jonasgloning@users.noreply.github.com>","Jairo Caro-Accino Viciana ","Carlos Caballero ","hc ","Muhammad Asif ","PrashoonB ","Harsh Bardhan Mishra <47351025+HarshCasper@users.noreply.github.com>","akotynski ","lmb ","Jairooo ","Moritz Stückler ","Simon ","Denis Lukov ","Philipp Hancke ","Hans Oksendahl ","Jess ","khankuan ","DUODVK ","XiZhao ","Matthias Lohr ","=frank tree <=frnktrb@googlemail.com>","Andre Eckardt ","Chris Cowan ","Alex Chuev ","alxnull ","Yemel Jardi ","Ben Parnell ","Benny Lichtner ","fresheneesz ","bob.barstead@exaptive.com ","chandika ","emersion ","Christopher Van ","eddieherm ","Eduardo Pinho ","Evandro Zanatta ","Gardner Bickford ","Gian Luca ","PatrickJS ","jonnyf ","Hizkia Felix ","Hristo Oskov ","Isaac Madwed ","Ilya Konanykhin ","jasonbarry ","Jonathan Burke ","Josh Hamit ","Jordan Austin ","Joel Wetzell ","xizhao ","Alberto Torres ","Jonathan Mayol ","Jefferson Felix ","Rolf Erik Lekang ","Kevin Mai-Husan Chia ","Pepijn de Vos ","JooYoung ","Tobias Speicher ","Steve Blaurock ","Kyrylo Shegeda ","Diwank Singh Tomer ","Sören Balko ","Arpit Solanki ","Yuki Ito ","Artur Zayats "],"funding":{"type":"opencollective","url":"https://opencollective.com/peer"},"collective":{"type":"opencollective","url":"https://opencollective.com/peer"},"files":["dist/*"],"sideEffects":["lib/global.ts","lib/supports.ts"],"main":"dist/bundler.cjs","module":"dist/bundler.mjs","browser-minified":"dist/peerjs.min.js","browser-unminified":"dist/peerjs.js","browser-minified-cbor":"dist/serializer.cbor.mjs","browser-minified-msgpack":"dist/serializer.msgpack.mjs","types":"dist/types.d.ts","engines":{"node":">= 14"},"targets":{"types":{"source":"lib/exports.ts"},"main":{"source":"lib/exports.ts","sourceMap":{"inlineSources":true}},"module":{"source":"lib/exports.ts","includeNodeModules":["eventemitter3"],"sourceMap":{"inlineSources":true}},"browser-minified":{"context":"browser","outputFormat":"global","optimize":true,"engines":{"browsers":"chrome >= 83, edge >= 83, firefox >= 80, safari >= 15"},"source":"lib/global.ts"},"browser-unminified":{"context":"browser","outputFormat":"global","optimize":false,"engines":{"browsers":"chrome >= 83, edge >= 83, firefox >= 80, safari >= 15"},"source":"lib/global.ts"},"browser-minified-cbor":{"context":"browser","outputFormat":"esmodule","isLibrary":true,"optimize":true,"engines":{"browsers":"chrome >= 83, edge >= 83, firefox >= 102, safari >= 15"},"source":"lib/dataconnection/StreamConnection/Cbor.ts"},"browser-minified-msgpack":{"context":"browser","outputFormat":"esmodule","isLibrary":true,"optimize":true,"engines":{"browsers":"chrome >= 83, edge >= 83, firefox >= 102, safari >= 15"},"source":"lib/dataconnection/StreamConnection/MsgPack.ts"}},"scripts":{"contributors":"git-authors-cli --print=false && prettier --write package.json && git add package.json package-lock.json && git commit -m \\"chore(contributors): update and sort contributors list\\"","check":"tsc --noEmit && tsc -p e2e/tsconfig.json --noEmit","watch":"parcel watch","build":"rm -rf dist && parcel build","prepublishOnly":"npm run build","test":"jest","test:watch":"jest --watch","coverage":"jest --coverage --collectCoverageFrom=\\"./lib/**\\"","format":"prettier --write .","format:check":"prettier --check .","semantic-release":"semantic-release","e2e":"wdio run e2e/wdio.local.conf.ts","e2e:bstack":"wdio run e2e/wdio.bstack.conf.ts"},"devDependencies":{"@parcel/config-default":"^2.9.3","@parcel/packager-ts":"^2.9.3","@parcel/transformer-typescript-tsc":"^2.9.3","@parcel/transformer-typescript-types":"^2.9.3","@semantic-release/changelog":"^6.0.1","@semantic-release/git":"^10.0.1","@swc/core":"^1.3.27","@swc/jest":"^0.2.24","@types/jasmine":"^4.3.4","@wdio/browserstack-service":"^8.11.2","@wdio/cli":"^8.11.2","@wdio/globals":"^8.11.2","@wdio/jasmine-framework":"^8.11.2","@wdio/local-runner":"^8.11.2","@wdio/spec-reporter":"^8.11.2","@wdio/types":"^8.10.4","http-server":"^14.1.1","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","mock-socket":"^9.0.0","parcel":"^2.9.3","prettier":"^3.0.0","semantic-release":"^21.0.0","ts-node":"^10.9.1","typescript":"^5.0.0","wdio-geckodriver-service":"^5.0.1"},"dependencies":{"@msgpack/msgpack":"^2.8.0","cbor-x":"1.5.4","eventemitter3":"^4.0.7","peerjs-js-binarypack":"^2.1.0","webrtc-adapter":"^8.0.0"},"alias":{"process":false,"buffer":false}}');class eJ extends ej.EventEmitter{start(e,t){this._id=e;let n=`${this._baseUrl}&id=${e}&token=${t}`;!this._socket&&this._disconnected&&(this._socket=new WebSocket(n+"&version="+e$.version),this._disconnected=!1,this._socket.onmessage=e=>{let t;try{t=JSON.parse(e.data),eO.log("Server message received:",t)}catch(t){eO.log("Invalid server message",e.data);return}this.emit(M.Message,t)},this._socket.onclose=e=>{this._disconnected||(eO.log("Socket closed.",e),this._cleanup(),this._disconnected=!0,this.emit(M.Disconnected))},this._socket.onopen=()=>{this._disconnected||(this._sendQueuedMessages(),eO.log("Socket open"),this._scheduleHeartbeat())})}_scheduleHeartbeat(){this._wsPingTimer=setTimeout(()=>{this._sendHeartbeat()},this.pingInterval)}_sendHeartbeat(){if(!this._wsOpen()){eO.log("Cannot send heartbeat, because socket closed");return}let e=JSON.stringify({type:O.Heartbeat});this._socket.send(e),this._scheduleHeartbeat()}_wsOpen(){return!!this._socket&&1===this._socket.readyState}_sendQueuedMessages(){let e=[...this._messagesQueue];for(let t of(this._messagesQueue=[],e))this.send(t)}send(e){if(this._disconnected)return;if(!this._id){this._messagesQueue.push(e);return}if(!e.type){this.emit(M.Error,"Invalid message");return}if(!this._wsOpen())return;let t=JSON.stringify(e);this._socket.send(t)}close(){this._disconnected||(this._cleanup(),this._disconnected=!0)}_cleanup(){this._socket&&(this._socket.onopen=this._socket.onmessage=this._socket.onclose=null,this._socket.close(),this._socket=void 0),clearTimeout(this._wsPingTimer)}constructor(e,t,n,r,i,o=5e3){super(),this.pingInterval=o,this._disconnected=!0,this._messagesQueue=[],this._baseUrl=(e?"wss://":"ws://")+t+":"+n+r+"peerjs?key="+i}}class eV{startConnection(e){let t=this._startPeerConnection();if(this.connection.peerConnection=t,this.connection.type===P.Media&&e._stream&&this._addTracksToConnection(e._stream,t),e.originator){let n=this.connection,r={ordered:!!e.reliable},i=t.createDataChannel(n.label,r);n._initializeDataChannel(i),this._makeOffer()}else this.handleSDP("OFFER",e.sdp)}_startPeerConnection(){eO.log("Creating RTCPeerConnection.");let e=new RTCPeerConnection(this.connection.provider.options.config);return this._setupListeners(e),e}_setupListeners(e){let t=this.connection.peer,n=this.connection.connectionId,r=this.connection.type,i=this.connection.provider;eO.log("Listening for ICE candidates."),e.onicecandidate=e=>{e.candidate&&e.candidate.candidate&&(eO.log(`Received ICE candidates for ${t}:`,e.candidate),i.socket.send({type:O.Candidate,payload:{candidate:e.candidate,type:r,connectionId:n},dst:t}))},e.oniceconnectionstatechange=()=>{switch(e.iceConnectionState){case"failed":eO.log("iceConnectionState is failed, closing connections to "+t),this.connection.emitError(D.NegotiationFailed,"Negotiation of connection to "+t+" failed."),this.connection.close();break;case"closed":eO.log("iceConnectionState is closed, closing connections to "+t),this.connection.emitError(D.ConnectionClosed,"Connection to "+t+" closed."),this.connection.close();break;case"disconnected":eO.log("iceConnectionState changed to disconnected on the connection with "+t);break;case"completed":e.onicecandidate=()=>{}}this.connection.emit("iceStateChanged",e.iceConnectionState)},eO.log("Listening for data channel"),e.ondatachannel=e=>{eO.log("Received data channel");let r=e.channel;i.getConnection(t,n)._initializeDataChannel(r)},eO.log("Listening for remote stream"),e.ontrack=e=>{eO.log("Received remote stream");let r=e.streams[0],o=i.getConnection(t,n);o.type===P.Media&&this._addStreamToMediaConnection(r,o)}}cleanup(){eO.log("Cleaning up PeerConnection to "+this.connection.peer);let e=this.connection.peerConnection;if(!e)return;this.connection.peerConnection=null,e.onicecandidate=e.oniceconnectionstatechange=e.ondatachannel=e.ontrack=()=>{};let t="closed"!==e.signalingState,n=!1,r=this.connection.dataChannel;r&&(n=!!r.readyState&&"closed"!==r.readyState),(t||n)&&e.close()}async _makeOffer(){let e=this.connection.peerConnection,t=this.connection.provider;try{let n=await e.createOffer(this.connection.options.constraints);eO.log("Created offer."),this.connection.options.sdpTransform&&"function"==typeof this.connection.options.sdpTransform&&(n.sdp=this.connection.options.sdpTransform(n.sdp)||n.sdp);try{await e.setLocalDescription(n),eO.log("Set localDescription:",n,`for:${this.connection.peer}`);let r={sdp:n,type:this.connection.type,connectionId:this.connection.connectionId,metadata:this.connection.metadata};if(this.connection.type===P.Data){let e=this.connection;r={...r,label:e.label,reliable:e.reliable,serialization:e.serialization}}t.socket.send({type:O.Offer,payload:r,dst:this.connection.peer})}catch(e){"OperationError: Failed to set local offer sdp: Called in wrong state: kHaveRemoteOffer"!=e&&(t.emitError(E.WebRTC,e),eO.log("Failed to setLocalDescription, ",e))}}catch(e){t.emitError(E.WebRTC,e),eO.log("Failed to createOffer, ",e)}}async _makeAnswer(){let e=this.connection.peerConnection,t=this.connection.provider;try{let n=await e.createAnswer();eO.log("Created answer."),this.connection.options.sdpTransform&&"function"==typeof this.connection.options.sdpTransform&&(n.sdp=this.connection.options.sdpTransform(n.sdp)||n.sdp);try{await e.setLocalDescription(n),eO.log("Set localDescription:",n,`for:${this.connection.peer}`),t.socket.send({type:O.Answer,payload:{sdp:n,type:this.connection.type,connectionId:this.connection.connectionId},dst:this.connection.peer})}catch(e){t.emitError(E.WebRTC,e),eO.log("Failed to setLocalDescription, ",e)}}catch(e){t.emitError(E.WebRTC,e),eO.log("Failed to create answer, ",e)}}async handleSDP(e,t){t=new RTCSessionDescription(t);let n=this.connection.peerConnection,r=this.connection.provider;eO.log("Setting remote description",t);try{await n.setRemoteDescription(t),eO.log(`Set remoteDescription:${e} for:${this.connection.peer}`),"OFFER"===e&&await this._makeAnswer()}catch(e){r.emitError(E.WebRTC,e),eO.log("Failed to setRemoteDescription, ",e)}}async handleCandidate(e){eO.log("handleCandidate:",e);try{await this.connection.peerConnection.addIceCandidate(e),eO.log(`Added ICE candidate for:${this.connection.peer}`)}catch(e){this.connection.provider.emitError(E.WebRTC,e),eO.log("Failed to handleCandidate, ",e)}}_addTracksToConnection(e,t){if(eO.log(`add tracks from stream ${e.id} to peer connection`),!t.addTrack)return eO.error("Your browser does't support RTCPeerConnection#addTrack. Ignored.");e.getTracks().forEach(n=>{t.addTrack(n,e)})}_addStreamToMediaConnection(e,t){eO.log(`add stream ${e.id} to media connection ${t.connectionId}`),t.addStream(e)}constructor(e){this.connection=e}}class eG extends ej.EventEmitter{emitError(e,t){eO.error("Error:",t),this.emit("error",new eW(`${e}`,t))}}class eW extends Error{constructor(e,t){"string"==typeof t?super(t):(super(),Object.assign(this,t)),this.type=e}}class eH extends eG{get open(){return this._open}constructor(e,t,n){super(),this.peer=e,this.provider=t,this.options=n,this._open=!1,this.metadata=n.metadata}}class eY extends eH{get type(){return P.Media}get localStream(){return this._localStream}get remoteStream(){return this._remoteStream}_initializeDataChannel(e){this.dataChannel=e,this.dataChannel.onopen=()=>{eO.log(`DC#${this.connectionId} dc connection success`),this.emit("willCloseOnRemote")},this.dataChannel.onclose=()=>{eO.log(`DC#${this.connectionId} dc closed for:`,this.peer),this.close()}}addStream(e){eO.log("Receiving stream",e),this._remoteStream=e,super.emit("stream",e)}handleMessage(e){let t=e.type,n=e.payload;switch(e.type){case O.Answer:this._negotiator.handleSDP(t,n.sdp),this._open=!0;break;case O.Candidate:this._negotiator.handleCandidate(n.candidate);break;default:eO.warn(`Unrecognized message type:${t} from peer:${this.peer}`)}}answer(e,t={}){if(this._localStream){eO.warn("Local stream already exists on this MediaConnection. Are you answering a call twice?");return}for(let n of(this._localStream=e,t&&t.sdpTransform&&(this.options.sdpTransform=t.sdpTransform),this._negotiator.startConnection({...this.options._payload,_stream:e}),this.provider._getMessages(this.connectionId)))this.handleMessage(n);this._open=!0}close(){this._negotiator&&(this._negotiator.cleanup(),this._negotiator=null),this._localStream=null,this._remoteStream=null,this.provider&&(this.provider._removeConnection(this),this.provider=null),this.options&&this.options._stream&&(this.options._stream=null),this.open&&(this._open=!1,super.emit("close"))}constructor(e,t,n){super(e,t,n),this._localStream=this.options._stream,this.connectionId=this.options.connectionId||eY.ID_PREFIX+eM.randomToken(),this._negotiator=new eV(this),this._localStream&&this._negotiator.startConnection({_stream:this._localStream,originator:!0})}}eY.ID_PREFIX="mc_";class eK{_buildRequest(e){let t=this._options.secure?"https":"http",{host:n,port:r,path:i,key:o}=this._options,s=new URL(`${t}://${n}:${r}${i}${o}/${e}`);return s.searchParams.set("ts",`${Date.now()}${Math.random()}`),s.searchParams.set("version",e$.version),fetch(s.href,{referrerPolicy:this._options.referrerPolicy})}async retrieveId(){try{let e=await this._buildRequest("id");if(200!==e.status)throw Error(`Error. Status:${e.status}`);return e.text()}catch(t){eO.error("Error retrieving ID",t);let e="";throw"/"===this._options.path&&this._options.host!==eM.CLOUD_HOST&&(e=" If you passed in a `path` to your self-hosted PeerServer, you'll also need to pass in that same path when creating a new Peer."),Error("Could not get an ID from the server."+e)}}async listAllPeers(){try{let e=await this._buildRequest("peers");if(200!==e.status){if(401===e.status){let e="";throw e=this._options.host===eM.CLOUD_HOST?"It looks like you're using the cloud server. You can email team@peerjs.com to enable peer listing for your API key.":"You need to enable `allow_discovery` on your self-hosted PeerServer to use this feature.",Error("It doesn't look like you have permission to list peers IDs. "+e)}throw Error(`Error. Status:${e.status}`)}return e.json()}catch(e){throw eO.error("Error retrieving list peers",e),Error("Could not get list peers from the server."+e)}}constructor(e){this._options=e}}class eX extends eH{get type(){return P.Data}_initializeDataChannel(e){this.dataChannel=e,this.dataChannel.onopen=()=>{eO.log(`DC#${this.connectionId} dc connection success`),this._open=!0,this.emit("open")},this.dataChannel.onmessage=e=>{eO.log(`DC#${this.connectionId} dc onmessage:`,e.data)},this.dataChannel.onclose=()=>{eO.log(`DC#${this.connectionId} dc closed for:`,this.peer),this.close()}}close(e){if(e?.flush){this.send({__peerData:{type:"close"}});return}this._negotiator&&(this._negotiator.cleanup(),this._negotiator=null),this.provider&&(this.provider._removeConnection(this),this.provider=null),this.dataChannel&&(this.dataChannel.onopen=null,this.dataChannel.onmessage=null,this.dataChannel.onclose=null,this.dataChannel=null),this.open&&(this._open=!1,super.emit("close"))}send(e,t=!1){if(!this.open){this.emitError(x.NotOpenYet,"Connection is not open. You should listen for the `open` event before sending messages.");return}return this._send(e,t)}async handleMessage(e){let t=e.payload;switch(e.type){case O.Answer:await this._negotiator.handleSDP(e.type,t.sdp);break;case O.Candidate:await this._negotiator.handleCandidate(t.candidate);break;default:eO.warn("Unrecognized message type:",e.type,"from peer:",this.peer)}}constructor(e,t,n){super(e,t,n),this.connectionId=this.options.connectionId||eX.ID_PREFIX+ex(),this.label=this.options.label||this.connectionId,this.reliable=!!this.options.reliable,this._negotiator=new eV(this),this._negotiator.startConnection(this.options._payload||{originator:!0,reliable:this.reliable})}}eX.ID_PREFIX="dc_",eX.MAX_BUFFERED_AMOUNT=8388608;class eq extends eX{get bufferSize(){return this._bufferSize}_initializeDataChannel(e){super._initializeDataChannel(e),this.dataChannel.binaryType="arraybuffer",this.dataChannel.addEventListener("message",e=>this._handleDataMessage(e))}_bufferedSend(e){(this._buffering||!this._trySend(e))&&(this._buffer.push(e),this._bufferSize=this._buffer.length)}_trySend(e){if(!this.open)return!1;if(this.dataChannel.bufferedAmount>eX.MAX_BUFFERED_AMOUNT)return this._buffering=!0,setTimeout(()=>{this._buffering=!1,this._tryBuffer()},50),!1;try{this.dataChannel.send(e)}catch(e){return eO.error(`DC#:${this.connectionId} Error when sending:`,e),this._buffering=!0,this.close(),!1}return!0}_tryBuffer(){if(!this.open||0===this._buffer.length)return;let e=this._buffer[0];this._trySend(e)&&(this._buffer.shift(),this._bufferSize=this._buffer.length,this._tryBuffer())}close(e){if(e?.flush){this.send({__peerData:{type:"close"}});return}this._buffer=[],this._bufferSize=0,super.close()}constructor(...e){super(...e),this._buffer=[],this._bufferSize=0,this._buffering=!1}}class eQ extends eq{close(e){super.close(e),this._chunkedData={}}_handleDataMessage({data:e}){let t=i(e),n=t.__peerData;if(n){if("close"===n.type){this.close();return}this._handleChunk(t);return}this.emit("data",t)}_handleChunk(e){let t=e.__peerData,n=this._chunkedData[t]||{data:[],count:0,total:e.total};if(n.data[e.n]=new Uint8Array(e.data),n.count++,this._chunkedData[t]=n,n.total===n.count){delete this._chunkedData[t];let e=function(e){let t=0;for(let n of e)t+=n.byteLength;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.byteLength;return n}(n.data);this._handleDataMessage({data:e})}}_send(e,t){let n=o(e);if(n instanceof Promise)return this._send_blob(n);if(!t&&n.byteLength>this.chunker.chunkedMTU){this._sendChunks(n);return}this._bufferedSend(n)}async _send_blob(e){let t=await e;if(t.byteLength>this.chunker.chunkedMTU){this._sendChunks(t);return}this._bufferedSend(t)}_sendChunks(e){let t=this.chunker.chunk(e);for(let e of(eO.log(`DC#${this.connectionId} Try to send ${t.length} chunks...`),t))this.send(e,!0)}constructor(e,t,r){super(e,t,r),this.chunker=new n,this.serialization=I.Binary,this._chunkedData={}}}class eZ extends eq{_handleDataMessage({data:e}){super.emit("data",e)}_send(e,t){this._bufferedSend(e)}constructor(...e){super(...e),this.serialization=I.None}}class e0 extends eq{_handleDataMessage({data:e}){let t=this.parse(this.decoder.decode(e)),n=t.__peerData;if(n&&"close"===n.type){this.close();return}this.emit("data",t)}_send(e,t){let n=this.encoder.encode(this.stringify(e));if(n.byteLength>=eM.chunkedMTU){this.emitError(x.MessageToBig,"Message too big for JSON channel");return}this._bufferedSend(n)}constructor(...e){super(...e),this.serialization=I.JSON,this.encoder=new TextEncoder,this.decoder=new TextDecoder,this.stringify=JSON.stringify,this.parse=JSON.parse}}class e1 extends eG{get id(){return this._id}get options(){return this._options}get open(){return this._open}get socket(){return this._socket}get connections(){let e=Object.create(null);for(let[t,n]of this._connections)e[t]=n;return e}get destroyed(){return this._destroyed}get disconnected(){return this._disconnected}_createServerConnection(){let e=new eJ(this._options.secure,this._options.host,this._options.port,this._options.path,this._options.key,this._options.pingInterval);return e.on(M.Message,e=>{this._handleMessage(e)}),e.on(M.Error,e=>{this._abort(E.SocketError,e)}),e.on(M.Disconnected,()=>{this.disconnected||(this.emitError(E.Network,"Lost connection to server."),this.disconnect())}),e.on(M.Close,()=>{this.disconnected||this._abort(E.SocketClosed,"Underlying socket is already closed.")}),e}_initialize(e){this._id=e,this.socket.start(e,this._options.token)}_handleMessage(e){let t=e.type,n=e.payload,r=e.src;switch(t){case O.Open:this._lastServerId=this.id,this._open=!0,this.emit("open",this.id);break;case O.Error:this._abort(E.ServerError,n.msg);break;case O.IdTaken:this._abort(E.UnavailableID,`ID "${this.id}" is taken`);break;case O.InvalidKey:this._abort(E.InvalidKey,`API KEY "${this._options.key}" is invalid`);break;case O.Leave:eO.log(`Received leave message from ${r}`),this._cleanupPeer(r),this._connections.delete(r);break;case O.Expire:this.emitError(E.PeerUnavailable,`Could not connect to peer ${r}`);break;case O.Offer:{let e=n.connectionId,t=this.getConnection(r,e);if(t&&(t.close(),eO.warn(`Offer received for existing Connection ID:${e}`)),n.type===P.Media){let i=new eY(r,this,{connectionId:e,_payload:n,metadata:n.metadata});t=i,this._addConnection(r,t),this.emit("call",i)}else if(n.type===P.Data){let i=new this._serializers[n.serialization](r,this,{connectionId:e,_payload:n,metadata:n.metadata,label:n.label,serialization:n.serialization,reliable:n.reliable});t=i,this._addConnection(r,t),this.emit("connection",i)}else{eO.warn(`Received malformed connection type:${n.type}`);return}for(let n of this._getMessages(e))t.handleMessage(n);break}default:{if(!n){eO.warn(`You received a malformed message from ${r} of type ${t}`);return}let i=n.connectionId,o=this.getConnection(r,i);o&&o.peerConnection?o.handleMessage(e):i?this._storeMessage(i,e):eO.warn("You received an unrecognized message:",e)}}}_storeMessage(e,t){this._lostMessages.has(e)||this._lostMessages.set(e,[]),this._lostMessages.get(e).push(t)}_getMessages(e){let t=this._lostMessages.get(e);return t?(this._lostMessages.delete(e),t):[]}connect(e,t={}){if(t={serialization:"default",...t},this.disconnected){eO.warn("You cannot connect to a new Peer because you called .disconnect() on this Peer and ended your connection with the server. You can create a new Peer to reconnect, or call reconnect on this peer if you believe its ID to still be available."),this.emitError(E.Disconnected,"Cannot connect to new Peer after disconnecting from server.");return}let n=new this._serializers[t.serialization](e,this,t);return this._addConnection(e,n),n}call(e,t,n={}){if(this.disconnected){eO.warn("You cannot connect to a new Peer because you called .disconnect() on this Peer and ended your connection with the server. You can create a new Peer to reconnect."),this.emitError(E.Disconnected,"Cannot connect to new Peer after disconnecting from server.");return}if(!t){eO.error("To call a peer, you must provide a stream from your browser's `getUserMedia`.");return}let r=new eY(e,this,{...n,_stream:t});return this._addConnection(e,r),r}_addConnection(e,t){eO.log(`add connection ${t.type}:${t.connectionId} to peerId:${e}`),this._connections.has(e)||this._connections.set(e,[]),this._connections.get(e).push(t)}_removeConnection(e){let t=this._connections.get(e.peer);if(t){let n=t.indexOf(e);-1!==n&&t.splice(n,1)}this._lostMessages.delete(e.connectionId)}getConnection(e,t){let n=this._connections.get(e);if(!n)return null;for(let e of n)if(e.connectionId===t)return e;return null}_delayedAbort(e,t){setTimeout(()=>{this._abort(e,t)},0)}_abort(e,t){eO.error("Aborting!"),this.emitError(e,t),this._lastServerId?this.disconnect():this.destroy()}destroy(){this.destroyed||(eO.log(`Destroy peer with ID:${this.id}`),this.disconnect(),this._cleanup(),this._destroyed=!0,this.emit("close"))}_cleanup(){for(let e of this._connections.keys())this._cleanupPeer(e),this._connections.delete(e);this.socket.removeAllListeners()}_cleanupPeer(e){let t=this._connections.get(e);if(t)for(let e of t)e.close()}disconnect(){if(this.disconnected)return;let e=this.id;eO.log(`Disconnect peer with ID:${e}`),this._disconnected=!0,this._open=!1,this.socket.close(),this._lastServerId=e,this._id=null,this.emit("disconnected",e)}reconnect(){if(this.disconnected&&!this.destroyed)eO.log(`Attempting reconnection to server with ID ${this._lastServerId}`),this._disconnected=!1,this._initialize(this._lastServerId);else if(this.destroyed)throw Error("This peer cannot reconnect to the server. It has already been destroyed.");else if(this.disconnected||this.open)throw Error(`Peer ${this.id} cannot reconnect because it is not disconnected from the server!`);else eO.error("In a hurry? We're still trying to make the initial connection!")}listAllPeers(e=e=>{}){this._api.listAllPeers().then(t=>e(t)).catch(e=>this._abort(E.ServerError,e))}constructor(e,t){let n;if(super(),this._serializers={raw:eZ,json:e0,binary:eQ,"binary-utf8":eQ,default:eQ},this._id=null,this._lastServerId=null,this._destroyed=!1,this._disconnected=!1,this._open=!1,this._connections=new Map,this._lostMessages=new Map,e&&e.constructor==Object?t=e:e&&(n=e.toString()),t={debug:0,host:eM.CLOUD_HOST,port:eM.CLOUD_PORT,path:"/",key:e1.DEFAULT_KEY,token:eM.randomToken(),config:eM.defaultConfig,referrerPolicy:"strict-origin-when-cross-origin",serializers:{},...t},this._options=t,this._serializers={...this._serializers,...this.options.serializers},"/"===this._options.host&&(this._options.host=window.location.hostname),this._options.path&&("/"!==this._options.path[0]&&(this._options.path="/"+this._options.path),"/"!==this._options.path[this._options.path.length-1]&&(this._options.path+="/")),void 0===this._options.secure&&this._options.host!==eM.CLOUD_HOST?this._options.secure=eM.isSecure():this._options.host==eM.CLOUD_HOST&&(this._options.secure=!0),this._options.logFunction&&eO.setLogFunction(this._options.logFunction),eO.logLevel=this._options.debug||0,this._api=new eK(t),this._socket=this._createServerConnection(),!eM.supports.audioVideo&&!eM.supports.data){this._delayedAbort(E.BrowserIncompatible,"The current browser does not support WebRTC");return}if(n&&!eM.validateId(n)){this._delayedAbort(E.InvalidID,`ID "${n}" is invalid`);return}n?this._initialize(n):this._api.retrieveId().then(e=>this._initialize(e)).catch(e=>this._abort(E.ServerError,e))}}e1.DEFAULT_KEY="peerjs",window.peerjs={Peer:e1,util:eM},window.Peer=e1})(); +//# sourceMappingURL=A_peer.js.map diff --git a/Extensions/P2P/B_p2ptools.js b/Extensions/P2P/B_p2ptools.js new file mode 100644 index 00000000..552f82a6 --- /dev/null +++ b/Extensions/P2P/B_p2ptools.js @@ -0,0 +1,2 @@ +var gdjs;(function(d){let C;(function(E){let P;(function(n){const y=e=>typeof e=="object"&&e!==null&&typeof e.eventName=="string"&&typeof e.data=="string";class D{constructor(t,o){this.data="";this.sender="";this.data=t,this.sender=o}}class N{constructor(){this.data=[];this.dataloss=!1}isTriggered(){return this.data.length>0}pushData(t){this.dataloss&&this.data.length>0?this.data[0]=t:this.data.push(t)}popData(){this.data.shift()}getData(){return this.data.length===0?"":this.data[0].data}getSender(){return this.data.length===0?"":this.data[0].sender}}let u=null,s={debug:1},r=null;const a=new Map,f=new Map;let b=!1,v=!1,S="";const i=[],c=[],h=()=>{r===null&&(u!==null?r=new Peer(u,s):r=new Peer(s),r.on("open",()=>{b=!0}),r.on("error",e=>{v=!0,S=e.message}),r.on("connection",e=>{e.on("open",()=>{m(e),c.push(e.peer)})}),r.on("close",()=>{r=null,h()}),r.on("disconnected",r.reconnect))},m=e=>{a.set(e.peer,e),e.on("data",t=>{y(t)&&n.getEvent(t.eventName).pushData(new D(t.data,e.peer))}),e.on("error",()=>{x(e.peer)}),e.on("close",()=>{x(e.peer)}),function t(){e.peerConnection.connectionState==="failed"||e.peerConnection.connectionState==="disconnected"||e.peerConnection.connectionState==="closed"?x(e.peer):setTimeout(t,1e3)}()},x=e=>{!a.has(e)||(i.push(e),a.delete(e))};n.getEvent=e=>{let t=f.get(e);return t||f.set(e,t=new N),t},n.connect=e=>{if(r===null)return;const t=r.connect(e);t.on("open",()=>{m(t)})},n.disconnectFromPeer=e=>{const t=a.get(e);t&&t.close()},n.disconnectFromAllPeers=()=>{for(const e of a.values())e.close()},n.disconnectFromAll=()=>{r&&(r.destroy(),r=null)},n.disconnectFromBroker=()=>{r&&(r.disconnect(),r=null)},n.onEvent=(e,t)=>{const o=n.getEvent(e);return o.dataloss=t,o.isTriggered()},n.sendDataTo=(e,t,o)=>{const l=a.get(e);l&&l.send({eventName:t,data:o})},n.sendDataToAll=(e,t)=>{for(const o of a.values())o.send({eventName:e,data:t})},n.sendVariableTo=(e,t,o)=>{n.sendDataTo(e,t,JSON.stringify(o.toJSObject()))},n.sendVariableToAll=(e,t)=>{n.sendDataToAll(e,JSON.stringify(t.toJSObject()))},n.getEventData=e=>n.getEvent(e).getData(),n.getEventSender=e=>n.getEvent(e).getSender(),n.getEventVariable=(e,t)=>{t.fromJSON(n.getEventData(e))},n.useCustomBrokerServer=(e,t,o,l,J)=>{Object.assign(s,{host:e,port:t,path:o,secure:J,key:l.length===0?"peerjs":l}),h()},n.useDefaultBrokerServer=h,n.useCustomICECandidate=(e,t,o)=>{s.config=s.config||{},s.config.iceServers=s.config.iceServers||[],s.config.iceServers.push({urls:e,username:t,credential:o})},n.forceUseRelayServer=e=>{s.config=s.config||{},s.config.iceTransportPolicy=e?"relay":"all"},n.overrideId=e=>{u=e},n.getCurrentId=()=>r==null?"":r.id||"",n.isReady=()=>b,n.onError=()=>{const e=v;return v=!1,e},n.getLastError=()=>S,n.onDisconnect=()=>i.length>0,n.getDisconnectedPeer=()=>i[0]||"",n.onConnection=()=>c.length>0,n.getConnectedPeer=()=>c[0]||"",n.getConnectionInstance=e=>a.get(e),d.callbacksRuntimeScenePostEvents.push(()=>{for(const e of f.values())e.popData();i.length>0&&i.shift(),c.length>0&&c.shift()})})(P=E.p2p||(E.p2p={}))})(C=d.evtTools||(d.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=B_p2ptools.js.map diff --git a/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js b/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js new file mode 100644 index 00000000..d1d13b31 --- /dev/null +++ b/Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js @@ -0,0 +1,2 @@ +var gdjs;(function(h){class d{constructor(e,s,t,r){this._wasRendered=!1;this._textureWidth=0;this._textureHeight=0;this._object=e;const o=s.getGame().getImageManager().getPIXITexture(t),i=r?PIXI.TilingSprite:PIXI.Sprite;this._spritesContainer=new PIXI.Container,this._wrapperContainer=new PIXI.Container,this._centerSprite=new i(new PIXI.Texture(o.baseTexture)),this._borderSprites=[new i(new PIXI.Texture(o.baseTexture)),new PIXI.Sprite(o),new i(new PIXI.Texture(o.baseTexture)),new PIXI.Sprite(o),new i(new PIXI.Texture(o.baseTexture)),new PIXI.Sprite(o),new i(new PIXI.Texture(o.baseTexture)),new PIXI.Sprite(o)],this.setTexture(t,s),this._spritesContainer.removeChildren(),this._spritesContainer.addChild(this._centerSprite);for(let n=0;nr.width&&(i.x=r.width),i.y>r.height&&(i.y=r.height),i.x+i.width>r.width&&(i.width=r.width-i.x),i.y+i.height>r.height&&(i.height=r.height-i.y),i}this._centerSprite.texture=new PIXI.Texture(r,o(new PIXI.Rectangle(t._lBorder,t._tBorder,r.width-t._lBorder-t._rBorder,r.height-t._tBorder-t._bBorder))),this._borderSprites[0].texture=new PIXI.Texture(r,o(new PIXI.Rectangle(r.width-t._rBorder,t._tBorder,t._rBorder,r.height-t._tBorder-t._bBorder))),this._borderSprites[2].texture=new PIXI.Texture(r,o(new PIXI.Rectangle(t._lBorder,0,r.width-t._lBorder-t._rBorder,t._tBorder))),this._borderSprites[4].texture=new PIXI.Texture(r,o(new PIXI.Rectangle(0,t._tBorder,t._lBorder,r.height-t._tBorder-t._bBorder))),this._borderSprites[6].texture=new PIXI.Texture(r,o(new PIXI.Rectangle(t._lBorder,r.height-t._bBorder,r.width-t._lBorder-t._rBorder,t._bBorder))),this._borderSprites[1].texture=new PIXI.Texture(r,o(new PIXI.Rectangle(r.width-t._rBorder,0,t._rBorder,t._tBorder))),this._borderSprites[3].texture=new PIXI.Texture(r,o(new PIXI.Rectangle(0,0,t._lBorder,t._tBorder))),this._borderSprites[5].texture=new PIXI.Texture(r,o(new PIXI.Rectangle(0,r.height-t._bBorder,t._lBorder,t._bBorder))),this._borderSprites[7].texture=new PIXI.Texture(r,o(new PIXI.Rectangle(r.width-t._rBorder,r.height-t._bBorder,t._rBorder,t._bBorder))),this._updateSpritesAndTexturesSize(),this._updateLocalPositions(),this.updatePosition(),this._wrapperContainer.pivot.x=this._object._width/2,this._wrapperContainer.pivot.y=this._object._height/2}updateWidth(){this._wrapperContainer.pivot.x=this._object._width/2,this._updateSpritesAndTexturesSize(),this._updateLocalPositions(),this.updatePosition()}updateHeight(){this._wrapperContainer.pivot.y=this._object._height/2,this._updateSpritesAndTexturesSize(),this._updateLocalPositions(),this.updatePosition()}setColor(e){const s=e.split(";");if(!(s.length<3)){this._centerSprite.tint=h.rgbToHexNumber(parseInt(s[0],10),parseInt(s[1],10),parseInt(s[2],10));for(let t=0;t255&&(e=255),this.opacity=e,this._renderer.updateOpacity()}getOpacity(){return this.opacity}setColor(e){this._renderer.setColor(e)}getColor(){return this._renderer.getColor()}getScale(){const e=Math.abs(this.getScaleX()),t=Math.abs(this.getScaleY());return e===t?e:Math.sqrt(e*t)}getScaleX(){return this._width/this._renderer.getTextureWidth()}getScaleY(){return this._height/this._renderer.getTextureHeight()}setScale(e){this.setWidth(this._renderer.getTextureWidth()*e),this.setHeight(this._renderer.getTextureHeight()*e)}setScaleX(e){this.setWidth(this._renderer.getTextureWidth()*e)}setScaleY(e){this.setHeight(this._renderer.getTextureHeight()*e)}}i.PanelSpriteRuntimeObject=s,i.registerObject("PanelSpriteObject::PanelSprite",i.PanelSpriteRuntimeObject)})(gdjs||(gdjs={})); +//# sourceMappingURL=panelspriteruntimeobject.js.map diff --git a/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js b/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js new file mode 100644 index 00000000..266fe670 --- /dev/null +++ b/Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js @@ -0,0 +1,2 @@ +var gdjs;(function(n){const p=(c,t,i)=>{const e=c.first;e.value=t,e.next=e.next||{time:1,value:0},e.next.value=i},s=class{constructor(t,i,e){this.started=!1;const r=t.getGame().getRenderer().getPIXIRenderer(),a=t.getGame().getImageManager();let m=PIXI.Texture.WHITE;r&&(e.rendererType==="Point"?m=a.getOrCreateDiskTexture(e.rendererParam1,r):e.rendererType==="Line"?m=a.getOrCreateRectangleTexture(e.rendererParam1,e.rendererParam2,r):e.textureParticleName?m=a.getOrCreateScaledTexture(e.textureParticleName,e.rendererParam1,e.rendererParam2,r):m=a.getOrCreateRectangleTexture(e.rendererParam1,e.rendererParam2,r));const g={ease:void 0,emit:void 0,lifetime:{min:e.particleLifeTimeMin,max:e.particleLifeTimeMax},frequency:e.flow<0?s.frequencyMinimumValue:1/e.flow,spawnChance:1,particlesPerWave:e.flow<0?e.maxParticleNb:1,maxParticles:e.maxParticleNb,emitterLifetime:s.computeLifetime(e.flow,e.tank),pos:{x:0,y:0},addAtBack:!1,behaviors:[{type:"alpha",config:{alpha:{isStepped:!1,list:[{time:0,value:e.particleAlpha1/255},{time:1,value:e.particleAlpha2/255}]}}},{type:"moveAcceleration",config:{accel:{x:e.particleGravityX,y:e.particleGravityY},minStart:e.emitterForceMin,maxStart:e.emitterForceMax,rotate:e.particleAngle1===0&&e.particleAngle2===0&&(e.particleGravityX!==0||e.particleGravityY!==0||e.emitterForceMin<0||e.emitterForceMax<0)}},{type:"scale",config:{scale:{isStepped:!1,list:[{time:0,value:e.particleSize1/100*(1+e.particleSizeRandomness1/100)},{time:1,value:e.particleSize2/100*(1+e.particleSizeRandomness2/100)}]}}},{type:"color",config:{color:{isStepped:!1,list:[{time:0,value:n.rgbToHex(e.particleRed1,e.particleGreen1,e.particleBlue1)},{time:1,value:n.rgbToHex(e.particleRed2,e.particleGreen2,e.particleBlue2)}]}}},{type:"rotation",config:{accel:0,minStart:-e.emitterAngleB/2,maxStart:e.emitterAngleB/2,maxSpeed:e.particleAngle2,minSpeed:e.particleAngle1}},{type:"blendMode",config:{blendMode:e.additive?"ADD":"NORMAL"}},{type:"textureSingle",config:{texture:m}},{type:"spawnShape",config:{type:"torus",data:{affectRotation:!1,innerRadius:0,radius:e.zoneRadius,x:0,y:0}}}]};this.renderer=new PIXI.Container,this.emitter=new PIXI.particles.Emitter(this.renderer,g),this.start();const l=t.getLayer(i.getLayer());l&&l.getRenderer().addRendererObject(this.renderer,i.getZOrder())}getRendererObject(){return this.renderer}update(t){const i=this.emitter.emit;this.emitter.update(t),!this.started&&i&&(this.started=!0)}setPosition(t,i){this.emitter.spawnPos.x=t,this.emitter.spawnPos.y=i}setAngle(t,i){const e=this.emitter.getBehavior("rotation");e.minStart=n.toRad(t),e.maxStart=n.toRad(i)}setForce(t,i){const e=this.emitter.getBehavior("moveAcceleration");e.maxStart=i||1e-6,e.minStart=t}setZoneRadius(t){const i=this.emitter.getBehavior("spawnShape");i.shape.radius=t}setLifeTime(t,i){this.emitter.minLifetime=t,this.emitter.maxLifetime=i}setGravity(t,i){const e=this.emitter.getBehavior("moveAcceleration");e.accel.x=t,e.accel.y=i,this._updateRotateFlagFromSpeed()}_updateRotateFlagFromSpeed(){const t=this.emitter.getBehavior("rotation"),i=this.emitter.getBehavior("moveAcceleration");i.rotate=t.minSpeed===0&&t.maxSpeed===0&&(i.accel.x!==0||i.accel.y!==0||i.minStart<0||i.maxStart<0)}setColor(t,i,e,r,a,m){const l=this.emitter.getBehavior("color").list.first,d=l.value;d.r=t,d.g=i,d.b=e,l.next=l.next||{time:1,value:{}};const u=l.next.value;u.r=r,u.g=a,u.b=m}setSize(t,i){const e=this.emitter.getBehavior("scale");p(e.list,t/100,i/100)}setParticleRotationSpeed(t,i){const e=this.emitter.getBehavior("rotation");e.minSpeed=n.toRad(t),e.maxSpeed=n.toRad(i),this._updateRotateFlagFromSpeed()}setMaxParticlesCount(t){this.emitter.maxParticles=t}setAdditiveRendering(t){const i=this.emitter.getBehavior("blendMode");i.blendMode=t?"ADD":"NORMAL"}setAlpha(t,i){const e=this.emitter.getBehavior("alpha");p(e.list,t/255,i/255)}setFlow(t,i){this.emitter.frequency=t<0?s.frequencyMinimumValue:1/t,this.emitter.emitterLifetime=s.computeLifetime(t,i)}resetEmission(t,i){this.setFlow(t,i);const e=this.emitter.emit;this.start(),e||this.stop()}isTextureNameValid(t,i){const e=i.getGame().getImageManager().getInvalidPIXITexture(),r=i.getGame().getImageManager().getPIXITexture(t);return r.valid&&r!==e}setTextureName(t,i){const e=i.getGame().getImageManager().getInvalidPIXITexture(),r=i.getGame().getImageManager().getPIXITexture(t);if(r.valid&&r!==e){const a=this.emitter.getBehavior("textureSingle");a.texture=r}}getParticleCount(){return this.emitter.particleCount}stop(){this.emitter.emit=!1}start(){this.emitter.emit=!0}recreate(){this.emitter.cleanup()}destroy(){this.emitter.destroy()}hasStarted(){return this.started}_mayHaveEndedEmission(){return this.emitter.frequency>s.frequencyMinimumValue&&this.emitter.emitterLifetime>=0&&!this.emitter.emit&&this.emitter._emitterLife===this.emitter.emitterLifetime}static computeLifetime(t,i){return i<0?-1:t<0?.001:(i+.1)/t}};let o=s;o.frequencyMinimumValue=1e-4,n.ParticleEmitterObjectPixiRenderer=o,n.ParticleEmitterObjectRenderer=o})(gdjs||(gdjs={})); +//# sourceMappingURL=particleemitterobject-pixi-renderer.js.map diff --git a/Extensions/ParticleSystem/particleemitterobject.js b/Extensions/ParticleSystem/particleemitterobject.js new file mode 100644 index 00000000..5d34bf15 --- /dev/null +++ b/Extensions/ParticleSystem/particleemitterobject.js @@ -0,0 +1,2 @@ +var gdjs;(function(t){class s extends t.RuntimeObject{constructor(i,e){super(i,e);this._jumpForwardInTimeCompleted=!1;this._posDirty=!0;this._angleDirty=!0;this._forceDirty=!0;this._zoneRadiusDirty=!0;this._lifeTimeDirty=!0;this._gravityDirty=!0;this._colorDirty=!0;this._sizeDirty=!0;this._alphaDirty=!0;this._flowDirty=!0;this._tankDirty=!0;this._particleRotationSpeedDirty=!0;this._maxParticlesCountDirty=!0;this._additiveRenderingDirty=!0;this._isEmissionPaused=!1;this._renderer=new t.ParticleEmitterObjectRenderer(i,this,e),this.angleA=e.emitterAngleA,this.angleB=e.emitterAngleB,this.forceMin=e.emitterForceMin,this.forceMax=e.emitterForceMax,this.zoneRadius=e.zoneRadius,this.lifeTimeMin=e.particleLifeTimeMin,this.lifeTimeMax=e.particleLifeTimeMax,this.gravityX=e.particleGravityX,this.gravityY=e.particleGravityY,this.colorR1=e.particleRed1,this.colorR2=e.particleRed2,this.colorG1=e.particleGreen1,this.colorG2=e.particleGreen2,this.colorB1=e.particleBlue1,this.colorB2=e.particleBlue2,this.size1=e.particleSize1,this.size2=e.particleSize2,this.alpha1=e.particleAlpha1,this.alpha2=e.particleAlpha2,this.rendererType=e.rendererType,this.rendererParam1=e.rendererParam1,this.rendererParam2=e.rendererParam2,this.texture=e.textureParticleName,this.flow=e.flow,this.tank=e.tank,this.destroyWhenNoParticles=e.destroyWhenNoParticles,this.particleRotationMinSpeed=e.particleAngle1,this.particleRotationMaxSpeed=e.particleAngle2,this.maxParticlesCount=e.maxParticleNb,this.additiveRendering=e.additive,this.jumpForwardInTimeOnCreation=e.jumpForwardInTimeOnCreation,this._textureDirty=this.texture!=="",this.onCreated()}setX(i){this.x!==i&&(this._posDirty=!0),super.setX(i)}setY(i){this.y!==i&&(this._posDirty=!0),super.setY(i)}setAngle(i){this.angle!==i&&(this._angleDirty=!0),super.setAngle(i)}getRendererObject(){return this._renderer.getRendererObject()}updateFromObjectData(i,e){return i.emitterAngleA!==e.emitterAngleA&&this.setEmitterAngleA(e.emitterAngleA),i.emitterAngleB!==e.emitterAngleB&&this.setEmitterAngleB(e.emitterAngleB),i.emitterForceMin!==e.emitterForceMin&&this.setEmitterForceMin(e.emitterForceMin),i.particleAngle1!==e.particleAngle1&&this.setParticleRotationMinSpeed(e.particleAngle1),i.particleAngle2!==e.particleAngle2&&this.setParticleRotationMaxSpeed(e.particleAngle2),i.maxParticleNb!==e.maxParticleNb&&this.setMaxParticlesCount(e.maxParticleNb),i.additive!==e.additive&&this.setAdditiveRendering(e.additive),i.emitterForceMax!==e.emitterForceMax&&this.setEmitterForceMax(e.emitterForceMax),i.zoneRadius!==e.zoneRadius&&this.setZoneRadius(e.zoneRadius),i.particleLifeTimeMin!==e.particleLifeTimeMin&&this.setParticleLifeTimeMin(e.particleLifeTimeMin),i.particleLifeTimeMax!==e.particleLifeTimeMax&&this.setParticleLifeTimeMax(e.particleLifeTimeMax),i.particleGravityX!==e.particleGravityX&&this.setParticleGravityX(e.particleGravityX),i.particleGravityY!==e.particleGravityY&&this.setParticleGravityY(e.particleGravityY),i.particleRed1!==e.particleRed1&&this.setParticleRed1(e.particleRed1),i.particleRed2!==e.particleRed2&&this.setParticleRed2(e.particleRed2),i.particleGreen1!==e.particleGreen1&&this.setParticleGreen1(e.particleGreen1),i.particleGreen2!==e.particleGreen2&&this.setParticleGreen2(e.particleGreen2),i.particleBlue1!==e.particleBlue1&&this.setParticleBlue1(e.particleBlue1),i.particleBlue2!==e.particleBlue2&&this.setParticleBlue2(e.particleBlue2),i.particleSize1!==e.particleSize1&&this.setParticleSize1(e.particleSize1),i.particleSize2!==e.particleSize2&&this.setParticleSize2(e.particleSize2),i.particleAlpha1!==e.particleAlpha1&&this.setParticleAlpha1(e.particleAlpha1),i.particleAlpha2!==e.particleAlpha2&&this.setParticleAlpha2(e.particleAlpha2),i.textureParticleName!==e.textureParticleName&&this.setTexture(e.textureParticleName,this.getRuntimeScene()),i.flow!==e.flow&&this.setFlow(e.flow),i.tank!==e.tank&&this.setTank(e.tank),i.destroyWhenNoParticles!==e.destroyWhenNoParticles&&(this.destroyWhenNoParticles=e.destroyWhenNoParticles),(i.particleSizeRandomness1!==e.particleSizeRandomness1||i.particleSizeRandomness2!==e.particleSizeRandomness2||i.particleAngle1!==e.particleAngle1||i.particleAngle2!==e.particleAngle2||i.maxParticleNb!==e.maxParticleNb||i.additive!==e.additive||i.rendererType!==e.rendererType||i.rendererParam1!==e.rendererParam1||i.rendererParam2!==e.rendererParam2)&&(this.getInstanceContainer().getLayer(this.layer).getRenderer().removeRendererObject(this._renderer.getRendererObject()),this._renderer.destroy(),this._renderer=new t.ParticleEmitterObjectRenderer(this.getInstanceContainer(),this,e),this._posDirty=this._angleDirty=this._forceDirty=this._zoneRadiusDirty=!0,this._lifeTimeDirty=this._gravityDirty=this._colorDirty=this._sizeDirty=!0,this._alphaDirty=this._flowDirty=this._tankDirty=this._textureDirty=!0),!0}update(i){if(this._posDirty&&this._renderer.setPosition(this.getX(),this.getY()),this._particleRotationSpeedDirty&&this._renderer.setParticleRotationSpeed(this.particleRotationMinSpeed,this.particleRotationMaxSpeed),this._maxParticlesCountDirty&&this._renderer.setMaxParticlesCount(this.maxParticlesCount),this._additiveRenderingDirty&&this._renderer.setAdditiveRendering(this.additiveRendering),this._angleDirty){const e=this.getAngle();this._renderer.setAngle(e-this.angleB/2,e+this.angleB/2)}this._forceDirty&&this._renderer.setForce(this.forceMin,this.forceMax),this._zoneRadiusDirty&&this._renderer.setZoneRadius(this.zoneRadius),this._lifeTimeDirty&&this._renderer.setLifeTime(this.lifeTimeMin,this.lifeTimeMax),this._gravityDirty&&this._renderer.setGravity(this.gravityX,this.gravityY),this._colorDirty&&this._renderer.setColor(this.colorR1,this.colorG1,this.colorB1,this.colorR2,this.colorG2,this.colorB2),this._sizeDirty&&this._renderer.setSize(this.size1,this.size2),this._alphaDirty&&this._renderer.setAlpha(this.alpha1,this.alpha2),(this._flowDirty||this._tankDirty)&&this._renderer.resetEmission(this.flow,this.tank),this._textureDirty&&this._renderer.setTextureName(this.texture,i),this._posDirty=this._angleDirty=this._forceDirty=this._zoneRadiusDirty=!1,this._lifeTimeDirty=this._gravityDirty=this._colorDirty=this._sizeDirty=!1,this._alphaDirty=this._flowDirty=this._textureDirty=this._tankDirty=!1,this._additiveRenderingDirty=this._maxParticlesCountDirty=this._particleRotationSpeedDirty=!1,this._renderer.update(this.getElapsedTime()/1e3),this.destroyWhenNoParticles&&this.getParticleCount()===0&&this._renderer.hasStarted()&&!this._isEmissionPaused&&this._renderer._mayHaveEndedEmission()&&this.deleteFromScene(i),this.jumpForwardInTimeOnCreation>0&&this._jumpForwardInTimeCompleted===!1&&(this._renderer.update(this.jumpForwardInTimeOnCreation),this._jumpForwardInTimeCompleted=!0)}onDestroyed(){this._renderer.destroy(),super.onDestroyed()}getEmitterForceMin(){return this.forceMin}setEmitterForceMin(i){i<0&&(i=0),this.forceMin!==i&&(this._forceDirty=!0,this.forceMin=i)}getEmitterForceMax(){return this.forceMax}setEmitterForceMax(i){i<0&&(i=0),this.forceMax!==i&&(this._forceDirty=!0,this.forceMax=i)}setParticleRotationMinSpeed(i){this.particleRotationMinSpeed!==i&&(this._particleRotationSpeedDirty=!0,this.particleRotationMinSpeed=i)}getParticleRotationMinSpeed(){return this.particleRotationMinSpeed}setParticleRotationMaxSpeed(i){this.particleRotationMaxSpeed!==i&&(this._particleRotationSpeedDirty=!0,this.particleRotationMaxSpeed=i)}getParticleRotationMaxSpeed(){return this.particleRotationMaxSpeed}setMaxParticlesCount(i){this.maxParticlesCount!==i&&(this._maxParticlesCountDirty=!0,this.maxParticlesCount=i)}getMaxParticlesCount(){return this.maxParticlesCount}setAdditiveRendering(i){this.additiveRendering!==i&&(this._additiveRenderingDirty=!0,this.additiveRendering=i)}getAdditiveRendering(){return this.additiveRendering}getEmitterAngle(){return(this.angleA+this.angleB)/2}setEmitterAngle(i){const e=this.getEmitterAngle();i!==e&&(this._angleDirty=!0,this.angleA+=i-e,this.angleB+=i-e)}getEmitterAngleA(){return this.angleA}setEmitterAngleA(i){this.angleA!==i&&(this._angleDirty=!0,this.angleA=i)}getEmitterAngleB(){return this.angleB}setEmitterAngleB(i){this.angleB!==i&&(this._angleDirty=!0,this.angleB=i)}getConeSprayAngle(){return this.getEmitterAngleB()}setConeSprayAngle(i){this.setEmitterAngleB(i)}getZoneRadius(){return this.zoneRadius}setZoneRadius(i){i<0&&(i=0),this.zoneRadius!==i&&i>0&&(this._zoneRadiusDirty=!0,this.zoneRadius=i)}getParticleLifeTimeMin(){return this.lifeTimeMin}setParticleLifeTimeMin(i){i<0&&(i=0),this.lifeTimeMin!==i&&(this._lifeTimeDirty=!0,this.lifeTimeMin=i)}getParticleLifeTimeMax(){return this.lifeTimeMax}setParticleLifeTimeMax(i){i<0&&(i=0),this.lifeTimeMax!==i&&(this._lifeTimeDirty=!0,this.lifeTimeMax=i)}getParticleGravityX(){return this.gravityX}setParticleGravityX(i){this.gravityX!==i&&(this._gravityDirty=!0,this.gravityX=i)}getParticleGravityY(){return this.gravityY}setParticleGravityY(i){this.gravityY!==i&&(this._gravityDirty=!0,this.gravityY=i)}getParticleGravityAngle(){return Math.atan2(this.gravityY,this.gravityX)*180/Math.PI}setParticleGravityAngle(i){if(this.getParticleGravityAngle()!==i){this._gravityDirty=!0;const r=this.getParticleGravityLength();this.gravityX=r*Math.cos(i*Math.PI/180),this.gravityY=r*Math.sin(i*Math.PI/180)}}getParticleGravityLength(){return Math.sqrt(this.gravityX*this.gravityX+this.gravityY*this.gravityY)}setParticleGravityLength(i){i<0&&(i=0);const e=this.getParticleGravityLength();e!==i&&(this._gravityDirty=!0,this.gravityX*=i/e,this.gravityY*=i/e)}getParticleRed1(){return this.colorR1}setParticleRed1(i){i<0&&(i=0),i>255&&(i=255),this.colorR1!==i&&(this._colorDirty=!0,this.colorR1=i)}getParticleRed2(){return this.colorR2}setParticleRed2(i){i<0&&(i=0),i>255&&(i=255),this.colorR2!==i&&(this._colorDirty=!0,this.colorR2=i)}getParticleGreen1(){return this.colorG1}setParticleGreen1(i){i<0&&(i=0),i>255&&(i=255),this.colorG1!==i&&(this._colorDirty=!0,this.colorG1=i)}getParticleGreen2(){return this.colorG2}setParticleGreen2(i){i<0&&(i=0),i>255&&(i=255),this.colorG2!==i&&(this._colorDirty=!0,this.colorG2=i)}getParticleBlue1(){return this.colorB1}setParticleBlue1(i){i<0&&(i=0),i>255&&(i=255),this.colorB1!==i&&(this._colorDirty=!0,this.colorB1=i)}getParticleBlue2(){return this.colorB2}setParticleBlue2(i){i<0&&(i=0),i>255&&(i=255),this.colorB2!==i&&(this._colorDirty=!0,this.colorB2=i)}setParticleColor1(i){const e=i.split(";");e.length<3||(this.setParticleRed1(parseInt(e[0],10)),this.setParticleGreen1(parseInt(e[1],10)),this.setParticleBlue1(parseInt(e[2],10)))}setParticleColor2(i){const e=i.split(";");e.length<3||(this.setParticleRed2(parseInt(e[0],10)),this.setParticleGreen2(parseInt(e[1],10)),this.setParticleBlue2(parseInt(e[2],10)))}getParticleSize1(){return this.size1}setParticleSize1(i){i<0&&(i=0),this.size1!==i&&(this._sizeDirty=!0,this.size1=i)}getParticleSize2(){return this.size2}setParticleSize2(i){this.size2!==i&&(this._sizeDirty=!0,this.size2=i)}getParticleAlpha1(){return this.alpha1}setParticleAlpha1(i){this.alpha1!==i&&(this._alphaDirty=!0,this.alpha1=i)}getParticleAlpha2(){return this.alpha2}setParticleAlpha2(i){this.alpha2!==i&&(this._alphaDirty=!0,this.alpha2=i)}startEmission(){this._isEmissionPaused=!1,this._renderer.start()}stopEmission(){this._isEmissionPaused=!0,this._renderer.stop()}isEmitting(){return this._renderer.emitter.emit}noMoreParticles(){return!this.isEmitting()}recreateParticleSystem(){this._renderer.recreate()}getFlow(){return this.flow}setFlow(i){this.flow!==i&&(this.flow=i,this._flowDirty=!0)}getParticleCount(){return this._renderer.getParticleCount()}getTank(){return this.tank}setTank(i){this.tank=i,this._tankDirty=!0}getTexture(){return this.texture}setTexture(i,e){this.texture!==i&&this._renderer.isTextureNameValid(i,e)&&(this.texture=i,this._textureDirty=!0)}jumpEmitterForwardInTime(i){this._renderer.update(i)}}t.ParticleEmitterObject=s,t.registerObject("ParticleSystem::ParticleEmitter",t.ParticleEmitterObject)})(gdjs||(gdjs={})); +//# sourceMappingURL=particleemitterobject.js.map diff --git a/Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js b/Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js new file mode 100644 index 00000000..bee7f992 --- /dev/null +++ b/Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js @@ -0,0 +1,3 @@ +this.PIXI=this.PIXI||{},function(t,e,i,s,r,a,n){"use strict";class h{constructor(t,e,i){this.value=t,this.time=e,this.next=null,this.isStepped=!1,this.ease=i?"function"==typeof i?i:g(i):null}static createList(t){if("list"in t){const e=t.list;let i;const{value:s,time:r}=e[0],a=i=new h("string"==typeof s?v(s):s,r,t.ease);if(e.length>2||2===e.length&&e[1].value!==s)for(let t=1;tn.time;)r=n,n=t[++a];o=(o-r.time)/(n.time-r.time);const l=v(r.value),d=v(n.value),c={r:(d.r-l.r)*o+l.r,g:(d.g-l.g)*o+l.g,b:(d.b-l.b)*o+l.b};s.next=new h(c,i/e),s=s.next}return i}};class y extends s.Sprite{constructor(t){super(),this.prevChild=this.nextChild=null,this.emitter=t,this.config={},this.anchor.x=this.anchor.y=.5,this.maxLife=0,this.age=0,this.agePercent=0,this.oneOverLife=0,this.next=null,this.prev=null,this.init=this.init,this.kill=this.kill}init(t){this.maxLife=t,this.age=this.agePercent=0,this.rotation=0,this.position.x=this.position.y=0,this.scale.x=this.scale.y=1,this.tint=16777215,this.alpha=1,this.oneOverLife=1/this.maxLife,this.visible=!0}kill(){this.emitter.recycle(this)}destroy(){this.parent&&this.parent.removeChild(this),this.emitter=this.next=this.prev=null,super.destroy()}}!function(t){t[t.Spawn=0]="Spawn",t[t.Normal=2]="Normal",t[t.Late=5]="Late"}(C||(C={}));const P=a.Ticker.shared,w=Symbol("Position particle per emitter position");class b{constructor(t,e){this.initBehaviors=[],this.updateBehaviors=[],this.recycleBehaviors=[],this.minLifetime=0,this.maxLifetime=0,this.customEase=null,this._frequency=1,this.spawnChance=1,this.maxParticles=1e3,this.emitterLifetime=-1,this.spawnPos=new r.Point,this.particlesPerWave=1,this.rotation=0,this.ownerPos=new r.Point,this._prevEmitterPos=new r.Point,this._prevPosIsValid=!1,this._posChanged=!1,this._parent=null,this.addAtBack=!1,this.particleCount=0,this._emit=!1,this._spawnTimer=0,this._emitterLife=-1,this._activeParticlesFirst=null,this._activeParticlesLast=null,this._poolFirst=null,this._origConfig=null,this._autoUpdate=!1,this._destroyWhenComplete=!1,this._completeCallback=null,this.parent=t,e&&this.init(e),this.recycle=this.recycle,this.update=this.update,this.rotate=this.rotate,this.updateSpawnPos=this.updateSpawnPos,this.updateOwnerPos=this.updateOwnerPos}static registerBehavior(t){b.knownBehaviors[t.type]=t}get frequency(){return this._frequency}set frequency(t){this._frequency="number"==typeof t&&t>0?t:1}get parent(){return this._parent}set parent(t){this.cleanup(),this._parent=t}init(t){if(!t)return;this.cleanup(),this._origConfig=t,this.minLifetime=t.lifetime.min,this.maxLifetime=t.lifetime.max,t.ease?this.customEase="function"==typeof t.ease?t.ease:g(t.ease):this.customEase=null,this.particlesPerWave=1,t.particlesPerWave&&t.particlesPerWave>1&&(this.particlesPerWave=t.particlesPerWave),this.frequency=t.frequency,this.spawnChance="number"==typeof t.spawnChance&&t.spawnChance>0?t.spawnChance:1,this.emitterLifetime=t.emitterLifetime||-1,this.maxParticles=t.maxParticles>0?t.maxParticles:1e3,this.addAtBack=!!t.addAtBack,this.rotation=0,this.ownerPos.set(0),t.pos?this.spawnPos.copyFrom(t.pos):this.spawnPos.set(0),this._prevEmitterPos.copyFrom(this.spawnPos),this._prevPosIsValid=!1,this._spawnTimer=0,this.emit=void 0===t.emit||!!t.emit,this.autoUpdate=!!t.autoUpdate;const e=t.behaviors.map((t=>{const e=b.knownBehaviors[t.type];return e?new e(t.config):(console.error(`Unknown behavior: ${t.type}`),null)})).filter((t=>!!t));e.push(w),e.sort(((t,e)=>t===w?e.order===C.Spawn?1:-1:e===w?t.order===C.Spawn?-1:1:t.order-e.order)),this.initBehaviors=e.slice(),this.updateBehaviors=e.filter((t=>t!==w&&t.updateParticle)),this.recycleBehaviors=e.filter((t=>t!==w&&t.recycleParticle))}getBehavior(t){return b.knownBehaviors[t]&&this.initBehaviors.find((e=>e instanceof b.knownBehaviors[t]))||null}fillPool(t){for(;t>0;--t){const t=new y(this);t.next=this._poolFirst,this._poolFirst=t}}recycle(t,e=!1){for(let i=0;ii.maxLife||i.age<0)this.recycle(i);else{let e=i.age*i.oneOverLife;this.customEase&&(e=4===this.customEase.length?this.customEase(e,0,1,1):this.customEase(e)),i.agePercent=e;for(let e=0;e=0&&(this._emitterLife-=this._frequency,this._emitterLife<=0)){this._spawnTimer=0,this._emitterLife=0,this.emit=!1;break}if(this.particleCount>=this.maxParticles){this._spawnTimer+=this._frequency;continue}let a,n;if(this._prevPosIsValid&&this._posChanged){const h=1+this._spawnTimer/t;a=(s-e)*h+e,n=(r-i)*h+i}else a=s,n=r;let h=null,o=null;for(let t=Math.min(this.particlesPerWave,this.maxParticles-this.particleCount),e=0;e=this.spawnChance)continue;let t,e;(t=this.minLifetime===this.maxLifetime?this.minLifetime:Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,-this._spawnTimer>=t)||(this._poolFirst?(e=this._poolFirst,this._poolFirst=this._poolFirst.next,e.next=null):e=new y(this),e.init(t),this.addAtBack?this._parent.addChildAt(e,0):this._parent.addChild(e),h?(o.next=e,e.prev=o,o=e):o=h=e,++this.particleCount)}if(h){this._activeParticlesLast?(this._activeParticlesLast.next=h,h.prev=this._activeParticlesLast,this._activeParticlesLast=o):(this._activeParticlesFirst=h,this._activeParticlesLast=o);for(let t=0;t=this.spawnChance)continue;let t,e;this._poolFirst?(t=this._poolFirst,this._poolFirst=this._poolFirst.next,t.next=null):t=new y(this),e=this.minLifetime===this.maxLifetime?this.minLifetime:Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,t.init(e),this.addAtBack?this._parent.addChildAt(t,0):this._parent.addChild(t),i?(s.next=t,t.prev=s,s=t):s=i=t,++this.particleCount}if(i){this._activeParticlesLast?(this._activeParticlesLast.next=i,i.prev=this._activeParticlesLast,this._activeParticlesLast=s):(this._activeParticlesFirst=i,this._activeParticlesLast=s);for(let s=0;sthis.maxSpeed&&f(i,this.maxSpeed/t)}t.x+=(s+i.x)/2*e,t.y+=(r+i.y)/2*e,this.rotate&&(t.rotation=Math.atan2(i.y,i.x))}}function I(t){return this.ease&&(t=this.ease(t)),(this.first.next.value-this.first.value)*t+this.first.value}function A(t){this.ease&&(t=this.ease(t));const e=this.first.value,i=this.first.next.value;return p((i.r-e.r)*t+e.r,(i.g-e.g)*t+e.g,(i.b-e.b)*t+e.b)}function R(t){this.ease&&(t=this.ease(t));let e=this.first,i=e.next;for(;t>i.time;)e=i,i=i.next;return t=(t-e.time)/(i.time-e.time),(i.value-e.value)*t+e.value}function k(t){this.ease&&(t=this.ease(t));let e=this.first,i=e.next;for(;t>i.time;)e=i,i=i.next;t=(t-e.time)/(i.time-e.time);const s=e.value,r=i.value;return p((r.r-s.r)*t+s.r,(r.g-s.g)*t+s.g,(r.b-s.b)*t+s.b)}function T(t){this.ease&&(t=this.ease(t));let e=this.first;for(;e.next&&t>e.next.time;)e=e.next;return e.value}function D(t){this.ease&&(t=this.ease(t));let e=this.first;for(;e.next&&t>e.next.time;)e=e.next;const i=e.value;return p(i.r,i.g,i.b)}E.type="moveAcceleration",E.editorConfig=null;class F{constructor(t=!1){this.first=null,this.isColor=!!t,this.interpolate=null,this.ease=null}reset(t){this.first=t;t.next&&t.next.time>=1?this.interpolate=this.isColor?A:I:t.isStepped?this.interpolate=this.isColor?D:T:this.interpolate=this.isColor?k:R,this.ease=this.first.ease}}class O{constructor(t){this.order=C.Normal,this.list=new F(!1),this.list.reset(h.createList(t.alpha))}initParticles(t){let e=t;for(;e;)e.alpha=this.list.first.value,e=e.next}updateParticle(t){t.alpha=this.list.interpolate(t.agePercent)}}O.type="alpha",O.editorConfig=null;class N{constructor(t){this.order=C.Normal,this.value=t.alpha}initParticles(t){let e=t;for(;e;)e.alpha=this.value,e=e.next}}function U(t){const i=[];for(let s=0;s0;--t)i.push(r)}}return i}N.type="alphaStatic",N.editorConfig=null;class q{constructor(t){this.order=C.Normal,this.anims=[];for(let e=0;e0?i.framerate:60,a={textures:s,duration:r>0?s.length/r:0,framerate:r,loop:r>0&&!!i.loop};this.anims.push(a)}}initParticles(t){let e=t;for(;e;){const t=Math.floor(Math.random()*this.anims.length),i=e.config.anim=this.anims[t];e.texture=i.textures[0],e.config.animElapsed=0,-1===i.framerate?(e.config.animDuration=e.maxLife,e.config.animFramerate=i.textures.length/e.maxLife):(e.config.animDuration=i.duration,e.config.animFramerate=i.framerate),e=e.next}}updateParticle(t,i){const s=t.config,r=s.anim;s.animElapsed+=i,s.animElapsed>=s.animDuration&&(s.anim.loop?s.animElapsed=s.animElapsed%s.animDuration:s.animElapsed=s.animDuration-1e-6);const a=s.animElapsed*s.animFramerate+1e-7|0;t.texture=r.textures[a]||r.textures[r.textures.length-1]||e.Texture.EMPTY}}q.type="animatedRandom",q.editorConfig=null;class W{constructor(t){this.order=C.Normal;const e=t.anim,i=U(e.textures),s=e.framerate<0?-1:e.framerate>0?e.framerate:60;this.anim={textures:i,duration:s>0?i.length/s:0,framerate:s,loop:s>0&&!!e.loop}}initParticles(t){let e=t;const i=this.anim;for(;e;)e.texture=i.textures[0],e.config.animElapsed=0,-1===i.framerate?(e.config.animDuration=e.maxLife,e.config.animFramerate=i.textures.length/e.maxLife):(e.config.animDuration=i.duration,e.config.animFramerate=i.framerate),e=e.next}updateParticle(t,i){const s=this.anim,r=t.config;r.animElapsed+=i,r.animElapsed>=r.animDuration&&(s.loop?r.animElapsed=r.animElapsed%r.animDuration:r.animElapsed=r.animDuration-1e-6);const a=r.animElapsed*r.animFramerate+1e-7|0;t.texture=s.textures[a]||s.textures[s.textures.length-1]||e.Texture.EMPTY}}W.type="animatedSingle",W.editorConfig=null;class X{constructor(t){this.order=C.Normal,this.value=t.blendMode}initParticles(t){let e=t;for(;e;)e.blendMode=x(this.value),e=e.next}}X.type="blendMode",X.editorConfig=null;class ${constructor(t){this.order=C.Spawn,this.spacing=t.spacing*d,this.start=t.start*d,this.distance=t.distance}initParticles(t){let e=0,i=t;for(;i;){let t;t=this.spacing?this.start+this.spacing*e:Math.random()*Math.PI*2,i.rotation=t,this.distance&&(i.position.x=this.distance,c(t,i.position)),i=i.next,++e}}}$.type="spawnBurst",$.editorConfig=null;class G{constructor(t){this.order=C.Normal,this.list=new F(!0),this.list.reset(h.createList(t.color))}initParticles(t){let e=t;const i=this.list.first.value,s=p(i.r,i.g,i.b);for(;e;)e.tint=s,e=e.next}updateParticle(t){t.tint=this.list.interpolate(t.agePercent)}}G.type="color",G.editorConfig=null;class j{constructor(t){this.order=C.Normal;let e=t.color;"#"===e.charAt(0)?e=e.substr(1):0===e.indexOf("0x")&&(e=e.substr(2)),this.value=parseInt(e,16)}initParticles(t){let e=t;for(;e;)e.tint=this.value,e=e.next}}j.type="colorStatic",j.editorConfig=null;class V{constructor(t){this.order=C.Normal,this.index=0,this.textures=t.textures.map((t=>"string"==typeof t?o(t):t))}initParticles(t){let e=t;for(;e;)e.texture=this.textures[this.index],++this.index>=this.textures.length&&(this.index=0),e=e.next}}V.type="textureOrdered",V.editorConfig=null;const Q=new r.Point,Y=["E","LN2","LN10","LOG2E","LOG10E","PI","SQRT1_2","SQRT2","abs","acos","acosh","asin","asinh","atan","atanh","atan2","cbrt","ceil","cos","cosh","exp","expm1","floor","fround","hypot","log","log1p","log10","log2","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh"],z=new RegExp(["[01234567890\\.\\*\\-\\+\\/\\(\\)x ,]"].concat(Y).join("|"),"g");class H{constructor(t){var e;if(this.order=C.Late,t.path)if("function"==typeof t.path)this.path=t.path;else try{this.path=function(t){const e=t.match(z);for(let t=e.length-1;t>=0;--t)Y.indexOf(e[t])>=0&&(e[t]=`Math.${e[t]}`);return t=e.join(""),new Function("x",`return ${t};`)}(t.path)}catch(t){l,this.path=null}else this.path=t=>t;this.list=new F(!1),this.list.reset(h.createList(t.speed)),this.minMult=null!==(e=t.minMult)&&void 0!==e?e:1}initParticles(t){let e=t;for(;e;){e.config.initRotation=e.rotation,e.config.initPosition?e.config.initPosition.copyFrom(e.position):e.config.initPosition=new r.Point(e.x,e.y),e.config.movement=0;const t=Math.random()*(1-this.minMult)+this.minMult;e.config.speedMult=t,e=e.next}}updateParticle(t,e){const i=this.list.interpolate(t.agePercent)*t.config.speedMult;t.config.movement+=i*e,Q.x=t.config.movement,Q.y=this.path(Q.x),c(t.config.initRotation,Q),t.position.x=t.config.initPosition.x+Q.x,t.position.y=t.config.initPosition.y+Q.y}}H.type="movePath",H.editorConfig=null;class J{constructor(){this.order=C.Spawn}initParticles(t){}}J.type="spawnPoint",J.editorConfig=null;class K{constructor(t){this.order=C.Normal,this.textures=t.textures.map((t=>"string"==typeof t?o(t):t))}initParticles(t){let e=t;for(;e;){const t=Math.floor(Math.random()*this.textures.length);e.texture=this.textures[t],e=e.next}}}K.type="textureRandom",K.editorConfig=null;class Z{constructor(t){this.order=C.Normal,this.minStart=t.minStart*d,this.maxStart=t.maxStart*d,this.minSpeed=t.minSpeed*d,this.maxSpeed=t.maxSpeed*d,this.accel=t.accel*d}initParticles(t){let e=t;for(;e;)this.minStart===this.maxStart?e.rotation+=this.maxStart:e.rotation+=Math.random()*(this.maxStart-this.minStart)+this.minStart,e.config.rotSpeed=Math.random()*(this.maxSpeed-this.minSpeed)+this.minSpeed,e=e.next}updateParticle(t,e){if(this.accel){const i=t.config.rotSpeed;t.config.rotSpeed+=this.accel*e,t.rotation+=(t.config.rotSpeed+i)/2*e}else t.rotation+=t.config.rotSpeed*e}}Z.type="rotation",Z.editorConfig=null;class tt{constructor(t){this.order=C.Normal,this.min=t.min*d,this.max=t.max*d}initParticles(t){let e=t;for(;e;)this.min===this.max?e.rotation+=this.max:e.rotation+=Math.random()*(this.max-this.min)+this.min,e=e.next}}tt.type="rotationStatic",tt.editorConfig=null;class et{constructor(t){this.order=C.Late+1,this.rotation=(t.rotation||0)*d}initParticles(t){let e=t;for(;e;)e.rotation=this.rotation,e=e.next}}et.type="noRotation",et.editorConfig=null;class it{constructor(t){var e;this.order=C.Normal,this.list=new F(!1),this.list.reset(h.createList(t.scale)),this.minMult=null!==(e=t.minMult)&&void 0!==e?e:1}initParticles(t){let e=t;for(;e;){const t=Math.random()*(1-this.minMult)+this.minMult;e.config.scaleMult=t,e.scale.x=e.scale.y=this.list.first.value*t,e=e.next}}updateParticle(t){t.scale.x=t.scale.y=this.list.interpolate(t.agePercent)*t.config.scaleMult}}it.type="scale",it.editorConfig=null;class st{constructor(t){this.order=C.Normal,this.min=t.min,this.max=t.max}initParticles(t){let e=t;for(;e;){const t=Math.random()*(this.max-this.min)+this.min;e.scale.x=e.scale.y=t,e=e.next}}}st.type="scaleStatic",st.editorConfig=null;class rt{constructor(t){this.order=C.Spawn;const e=rt.shapes[t.type];if(!e)throw new Error(`No shape found with type '${t.type}'`);this.shape=new e(t.data)}static registerShape(t,e){rt.shapes[e||t.type]=t}initParticles(t){let e=t;for(;e;)this.shape.getRandPos(e),e=e.next}}rt.type="spawnShape",rt.editorConfig=null,rt.shapes={},rt.registerShape(L),rt.registerShape(S),rt.registerShape(B),rt.registerShape(B,"circle");class at{constructor(t){this.order=C.Normal,this.texture="string"==typeof t.texture?o(t.texture):t.texture}initParticles(t){let e=t;for(;e;)e.texture=this.texture,e=e.next}}at.type="textureSingle",at.editorConfig=null;class nt{constructor(t){var e;this.order=C.Late,this.list=new F(!1),this.list.reset(h.createList(t.speed)),this.minMult=null!==(e=t.minMult)&&void 0!==e?e:1}initParticles(t){let e=t;for(;e;){const t=Math.random()*(1-this.minMult)+this.minMult;e.config.speedMult=t,e.config.velocity?e.config.velocity.set(this.list.first.value*t,0):e.config.velocity=new r.Point(this.list.first.value*t,0),c(e.rotation,e.config.velocity),e=e.next}}updateParticle(t,e){const i=this.list.interpolate(t.agePercent)*t.config.speedMult,s=t.config.velocity;m(s),f(s,i),t.x+=s.x*e,t.y+=s.y*e}}nt.type="moveSpeed",nt.editorConfig=null;class ht{constructor(t){this.order=C.Late,this.min=t.min,this.max=t.max}initParticles(t){let e=t;for(;e;){const t=Math.random()*(this.max-this.min)+this.min;e.config.velocity?e.config.velocity.set(t,0):e.config.velocity=new r.Point(t,0),c(e.rotation,e.config.velocity),e=e.next}}updateParticle(t,e){const i=t.config.velocity;t.x+=i.x*e,t.y+=i.y*e}}ht.type="moveSpeedStatic",ht.editorConfig=null;var ot={__proto__:null,spawnShapes:M,editor:{__proto__:null},get BehaviorOrder(){return C},AccelerationBehavior:E,AlphaBehavior:O,StaticAlphaBehavior:N,RandomAnimatedTextureBehavior:q,SingleAnimatedTextureBehavior:W,BlendModeBehavior:X,BurstSpawnBehavior:$,ColorBehavior:G,StaticColorBehavior:j,OrderedTextureBehavior:V,PathBehavior:H,PointSpawnBehavior:J,RandomTextureBehavior:K,RotationBehavior:Z,StaticRotationBehavior:tt,NoRotationBehavior:et,ScaleBehavior:it,StaticScaleBehavior:st,ShapeSpawnBehavior:rt,SingleTextureBehavior:at,SpeedBehavior:nt,StaticSpeedBehavior:ht};class lt extends n.Container{constructor(){super(...arguments),this._firstChild=null,this._lastChild=null,this._childCount=0}get firstChild(){return this._firstChild}get lastChild(){return this._lastChild}get childCount(){return this._childCount}addChild(...t){if(t.length>1)for(let e=0;ethis._childCount)throw new Error(`addChildAt: The index ${e} supplied is out of bounds ${this._childCount}`);t.parent&&t.parent.removeChild(t),t.parent=this,this.sortDirty=!0,t.transform._parentID=-1;const i=t;if(this._firstChild)if(0===e)this._firstChild.prevChild=i,i.nextChild=this._firstChild,this._firstChild=i;else if(e===this._childCount)this._lastChild.nextChild=i,i.prevChild=this._lastChild,this._lastChild=i;else{let t=0,s=this._firstChild;for(;t=this._childCount)throw new Error(`The index ${e} supplied is out of bounds ${this._childCount}`);if(t.parent!==this)throw new Error("The supplied DisplayObject must be a child of the caller");if(t.nextChild&&(t.nextChild.prevChild=t.prevChild),t.prevChild&&(t.prevChild.nextChild=t.nextChild),this._firstChild===t&&(this._firstChild=t.nextChild),this._lastChild===t&&(this._lastChild=t.prevChild),t.nextChild=null,t.prevChild=null,this._firstChild)if(0===e)this._firstChild.prevChild=t,t.nextChild=this._firstChild,this._firstChild=t;else if(e===this._childCount)this._lastChild.nextChild=t,t.prevChild=this._lastChild,this._lastChild=t;else{let i=0,s=this._firstChild;for(;i1)for(let e=0;e=this._childCount)throw new Error(`getChildAt: Index (${t}) does not exist.`);if(0===t)return this._firstChild;if(t===this._childCount)return this._lastChild;let e=0,i=this._firstChild;for(;e0&&(e=this._childCount);const s=e,r=s-i;if(r>0&&r<=s){const e=[];let r=this._firstChild;for(let t=0;t<=s&&r;++t,r=r.nextChild)t>=i&&e.push(r);const a=e[0].prevChild,n=e[e.length-1].nextChild;n?n.prevChild=a:this._lastChild=a,a?a.nextChild=n:this._firstChild=n;for(let t=0;t=2;h-=2)t[h]===t[h-2]&&t[h-1]===t[h-3]&&t.splice(h-1,2);return this.drawPolygon(t)}function p(e,a,i,o,s){if(s===0)return this.drawRect(e,a,i,o);const r=Math.min(i,o)/2,M=Math.min(r,Math.max(-r,s)),n=e+i,t=a+o,h=M<0?-M:0,l=Math.abs(M);return this.moveTo(e,a+l).arcTo(e+h,a+h,e+l,a,l).lineTo(n-l,a).arcTo(n-h,a+h,n,a+l,l).lineTo(n,t-l).arcTo(n-h,t-h,e+i-l,t,l).lineTo(e+l,t).arcTo(e+h,t-h,e,t-l,l).closePath()}function b(e,a,i,o,s=0){o=Math.max(o|0,3);const r=-1*Math.PI/2+s,M=Math.PI*2/o,n=[];for(let t=0;t{const h=t.x-n.x,l=t.y-n.y,c=Math.sqrt(h*h+l*l),u=h/c,y=l/c;return{len:c,nx:u,ny:y}},r=(n,t)=>{n===0?e.moveTo(t.x,t.y):e.lineTo(t.x,t.y)};let M=a[a.length-1];for(let n=0;n0&&(d=-1,P=!0);const x=y/2;let f,w=Math.abs(Math.cos(x)*h/Math.sin(x));w>Math.min(c.len/2,u.len/2)?(w=Math.min(c.len/2,u.len/2),f=Math.abs(w*Math.sin(x)/Math.cos(x))):f=h;const g=t.x+u.nx*w+-u.ny*f*d,m=t.y+u.ny*w+u.nx*f*d,I=Math.atan2(c.ny,c.nx)+Math.PI/2*d,D=Math.atan2(u.ny,u.nx)-Math.PI/2*d;n===0&&e.moveTo(g+Math.cos(I)*f,m+Math.sin(I)*f),e.arc(g,m,f,I,D,P),M=t}}function S(e,a,i){var o;const s=(n,t)=>Math.sqrt((n.x-t.x)**2+(n.y-t.y)**2),r=(n,t,h)=>({x:n.x+(t.x-n.x)*h,y:n.y+(t.y-n.y)*h}),M=a.length;for(let n=0;n=Math.PI*2?this.drawCircle(e,a,o).beginHole().drawCircle(e,a,i).endHole():(this.finishPoly(),this.arc(e,a,i,r,s,!0).arc(e,a,o,s,r,!1).finishPoly(),this)}Object.defineProperties(v.Graphics.prototype,{drawTorus:{value:j},drawChamferRect:{value:R},drawFilletRect:{value:p},drawRegularPolygon:{value:b},drawRoundedPolygon:{value:C},drawRoundedShape:{value:F},drawStar:{value:X}})})(PIXI,PIXI); +// Disabled to avoid warnings in Chrome (see https://github.com/4ian/GDevelop/pull/3947) +// //# sourceMappingURL=graphics-extras.min.js.map diff --git a/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js b/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js new file mode 100644 index 00000000..c3c9425d --- /dev/null +++ b/Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js @@ -0,0 +1,2 @@ +var gdjs;(function(l){const n=class{constructor(t,i){this._positionXIsUpToDate=!1;this._positionYIsUpToDate=!1;this._transformationIsUpToDate=!1;this._antialiasingFilter=null;this._object=t,this._graphics=new PIXI.Graphics,i.getLayer("").getRenderer().addRendererObject(this._graphics,t.getZOrder()),this.updateAntialiasing()}getRendererObject(){return this._graphics}clear(){this._graphics.clear(),this.invalidateBounds()}drawRectangle(t,i,a,s){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.drawRect(t,i,a-t,s-i),this._graphics.endFill(),this.invalidateBounds()}drawCircle(t,i,a){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.drawCircle(t,i,a),this._graphics.endFill(),this.invalidateBounds()}drawLine(t,i,a,s,e){if(this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),s===i)this._graphics.drawRect(t,i-e/2,a-t,e);else{const o=Math.atan2(s-i,a-t),h=Math.sin(o)*e,r=Math.cos(o)*e;this._graphics.drawPolygon(t+h,i-r,t-h,i+r,a-h,s+r,a+h,s-r)}this._graphics.endFill(),this.invalidateBounds()}drawLineV2(t,i,a,s,e){this._graphics.lineStyle(e,this._object._outlineColor,this._object._outlineOpacity/255),this._graphics.moveTo(t,i),this._graphics.lineTo(a,s),this._graphics.endFill(),this.invalidateBounds()}drawEllipse(t,i,a,s){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.drawEllipse(t,i,a/2,s/2),this._graphics.endFill(),this.invalidateBounds()}drawRoundedRectangle(t,i,a,s,e){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.drawRoundedRect(t,i,a-t,s-i,e),this._graphics.closePath(),this._graphics.endFill(),this.invalidateBounds()}drawFilletRectangle(t,i,a,s,e){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.drawFilletRect(t,i,a-t,s-i,e),this._graphics.closePath(),this._graphics.endFill(),this.invalidateBounds()}drawChamferRectangle(t,i,a,s,e){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.drawChamferRect(t,i,a-t,s-i,e),this._graphics.closePath(),this._graphics.endFill(),this.invalidateBounds()}drawTorus(t,i,a,s,e,o){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.drawTorus(t,i,a,s,e?l.toRad(e):0,o?l.toRad(o):0),this._graphics.closePath(),this._graphics.endFill(),this.invalidateBounds()}drawRegularPolygon(t,i,a,s,e){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.drawRegularPolygon(t,i,s,a,e?l.toRad(e):0),this._graphics.closePath(),this._graphics.endFill(),this.invalidateBounds()}drawStar(t,i,a,s,e,o){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.drawStar(t,i,a,s,e||s/2,o?l.toRad(o):0),this._graphics.closePath(),this._graphics.endFill(),this.invalidateBounds()}drawArc(t,i,a,s,e,o,h){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.moveTo(t+a*Math.cos(l.toRad(s)),i+a*Math.sin(l.toRad(s))),this._graphics.arc(t,i,a,l.toRad(s),l.toRad(e),!!o),h&&this._graphics.closePath(),this._graphics.endFill(),this.invalidateBounds()}drawBezierCurve(t,i,a,s,e,o,h,r){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.moveTo(t,i),this._graphics.bezierCurveTo(a,s,e,o,h,r),this._graphics.endFill(),this.invalidateBounds()}drawQuadraticCurve(t,i,a,s,e,o){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255),this._graphics.moveTo(t,i),this._graphics.quadraticCurveTo(a,s,e,o),this._graphics.endFill(),this.invalidateBounds()}beginFillPath(){this.updateOutline(),this._graphics.beginFill(this._object._fillColor,this._object._fillOpacity/255)}endFillPath(){this._graphics.endFill(),this.invalidateBounds()}drawPathMoveTo(t,i){this._graphics.moveTo(t,i)}drawPathLineTo(t,i){this._graphics.lineTo(t,i),this.invalidateBounds()}drawPathBezierCurveTo(t,i,a,s,e,o){this._graphics.bezierCurveTo(t,i,a,s,e,o),this.invalidateBounds()}drawPathArc(t,i,a,s,e,o){this._graphics.arc(t,i,a,l.toRad(s),l.toRad(e),!!o),this.invalidateBounds()}drawPathQuadraticCurveTo(t,i,a,s){this._graphics.quadraticCurveTo(t,i,a,s),this.invalidateBounds()}closePath(){this._graphics.closePath(),this.invalidateBounds()}updateOutline(){this._graphics.lineStyle(this._object._outlineSize,this._object._outlineColor,this._object._outlineOpacity/255)}invalidateBounds(){this._object.invalidateBounds(),this._positionXIsUpToDate=!1,this._positionYIsUpToDate=!1}updatePreRender(){this.updatePositionIfNeeded()}updatePositionX(){this._object._useAbsoluteCoordinates?(this._graphics.pivot.x=0,this._graphics.position.x=0):(this._graphics.pivot.x=this._object.getRotationCenterX(),this._graphics.position.x=this._object.x+this._graphics.pivot.x*Math.abs(this._graphics.scale.x)),this._transformationIsUpToDate=!1}updatePositionY(){this._object._useAbsoluteCoordinates?(this._graphics.pivot.y=0,this._graphics.position.y=0):(this._graphics.pivot.y=this._object.getRotationCenterY(),this._graphics.position.y=this._object.y+this._graphics.pivot.y*Math.abs(this._graphics.scale.y)),this._transformationIsUpToDate=!1}updatePositionIfNeeded(){this._positionXIsUpToDate||(this.updatePositionX(),this._positionXIsUpToDate=!0),this._positionYIsUpToDate||(this.updatePositionY(),this._positionYIsUpToDate=!0)}updateTransformationIfNeeded(){this._transformationIsUpToDate||(this.updatePositionIfNeeded(),this._graphics.updateTransform()),this._transformationIsUpToDate=!0}updateRotationCenter(){this._positionXIsUpToDate=!1,this._positionYIsUpToDate=!1,this._transformationIsUpToDate=!1}updateAngle(){this._object._useAbsoluteCoordinates?this._graphics.angle=0:this._graphics.angle=this._object.angle,this._transformationIsUpToDate=!1}updateScaleX(){this._object._useAbsoluteCoordinates?this._graphics.scale.x=1:this._graphics.scale.x=this._object._scaleX,this._positionXIsUpToDate=!1,this._transformationIsUpToDate=!1}updateScaleY(){this._object._useAbsoluteCoordinates?this._graphics.scale.y=1:this._graphics.scale.y=this._object._scaleY,this._positionYIsUpToDate=!1,this._transformationIsUpToDate=!1}getDrawableX(){if(this._object._useAbsoluteCoordinates)return this._graphics.getLocalBounds().left;let t=this._graphics.getLocalBounds().left;if(this._object._flippedX){const i=this._object.getRotationCenterX();t=2*i-t}return this._object.getX()+t*Math.abs(this._graphics.scale.x)}getDrawableY(){if(this._object._useAbsoluteCoordinates)return this._graphics.getLocalBounds().top;let t=this._graphics.getLocalBounds().top;if(this._object._flippedY){const i=this._object.getRotationCenterY();t=2*i-t}return this._object.getY()+t*Math.abs(this._graphics.scale.y)}getWidth(){return this._graphics.width}getHeight(){return this._graphics.height}getUnscaledWidth(){return this._graphics.getLocalBounds().width}getUnscaledHeight(){return this._graphics.getLocalBounds().height}getFrameRelativeOriginX(){return-this._graphics.getLocalBounds().left}getFrameRelativeOriginY(){return-this._graphics.getLocalBounds().top}transformToDrawing(t){this.updateTransformationIfNeeded();const i=n._positionForTransformation;return i.x=t[0],i.y=t[1],this._graphics.localTransform.applyInverse(i,i),t[0]=i.x,t[1]=i.y,t}transformToScene(t){this.updateTransformationIfNeeded();const i=n._positionForTransformation;return i.x=t[0],i.y=t[1],this._graphics.localTransform.apply(i,i),t[0]=i.x,t[1]=i.y,t}updateAntialiasing(){if(this._object.getAntialiasing()!=="none"){this._antialiasingFilter||(this._antialiasingFilter=new PIXI.FXAAFilter);const t=this._antialiasingFilter;t.enabled=!0,t.multisample=PIXI.MSAA_QUALITY[this._object.getAntialiasing().toUpperCase()]||PIXI.MSAA_QUALITY.LOW,this._graphics.filters||(this._graphics.filters=[]),this._graphics.filters.indexOf(t)===-1&&this._graphics.filters.push(t)}else if(this._antialiasingFilter!==null){if(!this._graphics.filters)return;const t=this._graphics.filters.indexOf(this._antialiasingFilter);t!==-1&&this._graphics.filters.splice(t,1)}}destroy(){this._graphics.destroy()}};let c=n;c._positionForTransformation={x:0,y:0},l.ShapePainterRuntimeObjectRenderer=c})(gdjs||(gdjs={})); +//# sourceMappingURL=shapepainterruntimeobject-pixi-renderer.js.map diff --git a/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js b/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js new file mode 100644 index 00000000..5a129be7 --- /dev/null +++ b/Extensions/PrimitiveDrawing/shapepainterruntimeobject.js @@ -0,0 +1,2 @@ +var gdjs;(function(a){const n=class extends a.RuntimeObject{constructor(e,t){super(e,t);this._scaleX=1;this._scaleY=1;this._blendMode=0;this._flippedX=!1;this._flippedY=!1;this._customCenter=null;this._customCollisionMask=null;this._fillColor=parseInt(a.rgbToHex(t.fillColor.r,t.fillColor.g,t.fillColor.b),16),this._outlineColor=parseInt(a.rgbToHex(t.outlineColor.r,t.outlineColor.g,t.outlineColor.b),16),this._fillOpacity=t.fillOpacity,this._outlineOpacity=t.outlineOpacity,this._outlineSize=t.outlineSize,this._useAbsoluteCoordinates=t.absoluteCoordinates,this._clearBetweenFrames=t.clearBetweenFrames,this._antialiasing=t.antialiasing,this._renderer=new a.ShapePainterRuntimeObjectRenderer(this,e),this.onCreated()}getRendererObject(){return this._renderer.getRendererObject()}updateFromObjectData(e,t){return(e.fillColor.r!==t.fillColor.r||e.fillColor.g!==t.fillColor.g||e.fillColor.b!==t.fillColor.b)&&this.setFillColor(""+t.fillColor.r+";"+t.fillColor.g+";"+t.fillColor.b),(e.outlineColor.r!==t.outlineColor.r||e.outlineColor.g!==t.outlineColor.g||e.outlineColor.b!==t.outlineColor.b)&&this.setOutlineColor(""+t.outlineColor.r+";"+t.outlineColor.g+";"+t.outlineColor.b),e.fillOpacity!==t.fillOpacity&&this.setFillOpacity(t.fillOpacity),e.outlineOpacity!==t.outlineOpacity&&this.setOutlineOpacity(t.outlineOpacity),e.outlineSize!==t.outlineSize&&this.setOutlineSize(t.outlineSize),e.absoluteCoordinates!==t.absoluteCoordinates&&(this._useAbsoluteCoordinates=t.absoluteCoordinates,this._renderer.updatePositionX(),this._renderer.updatePositionY(),this._renderer.updateAngle(),this._renderer.updateScaleX(),this._renderer.updateScaleY()),e.clearBetweenFrames!==t.clearBetweenFrames&&(this._clearBetweenFrames=t.clearBetweenFrames),!0}stepBehaviorsPreEvents(e){this._clearBetweenFrames&&this.clear(),super.stepBehaviorsPreEvents(e)}onDestroyed(){super.onDestroyed(),this._renderer.destroy()}clear(){this._renderer.clear()}getVisibilityAABB(){return this._useAbsoluteCoordinates?null:this.getAABB()}drawRectangle(e,t,r,o){this._renderer.drawRectangle(e,t,r,o)}drawCircle(e,t,r){this._renderer.drawCircle(e,t,r)}drawLine(e,t,r,o,i){this._renderer.drawLine(e,t,r,o,i)}drawLineV2(e,t,r,o,i){this._renderer.drawLineV2(e,t,r,o,i)}drawEllipse(e,t,r,o){this._renderer.drawEllipse(e,t,r,o)}drawFilletRectangle(e,t,r,o,i){this._renderer.drawFilletRectangle(e,t,r,o,i)}drawRoundedRectangle(e,t,r,o,i){this._renderer.drawRoundedRectangle(e,t,r,o,i)}drawChamferRectangle(e,t,r,o,i){this._renderer.drawChamferRectangle(e,t,r,o,i)}drawTorus(e,t,r,o,i,l){this._renderer.drawTorus(e,t,r,o,i,l)}drawRegularPolygon(e,t,r,o,i){this._renderer.drawRegularPolygon(e,t,r,o,i)}drawStar(e,t,r,o,i,l){this._renderer.drawStar(e,t,r,o,i,l)}drawArc(e,t,r,o,i,l,s){this._renderer.drawArc(e,t,r,o,i,l,s)}drawBezierCurve(e,t,r,o,i,l,s,h){this._renderer.drawBezierCurve(e,t,r,o,i,l,s,h)}drawQuadraticCurve(e,t,r,o,i,l){this._renderer.drawQuadraticCurve(e,t,r,o,i,l)}beginFillPath(e,t){this._renderer.beginFillPath(),this._renderer.drawPathMoveTo(e,t)}endFillPath(){this._renderer.endFillPath()}drawPathMoveTo(e,t){this._renderer.drawPathMoveTo(e,t)}drawPathLineTo(e,t){this._renderer.drawPathLineTo(e,t)}drawPathBezierCurveTo(e,t,r,o,i,l){this._renderer.drawPathBezierCurveTo(e,t,r,o,i,l)}drawPathArc(e,t,r,o,i,l){this._renderer.drawPathArc(e,t,r,o,i,l)}drawPathQuadraticCurveTo(e,t,r,o){this._renderer.drawPathQuadraticCurveTo(e,t,r,o)}closePath(){this._renderer.closePath()}setClearBetweenFrames(e){this._clearBetweenFrames=e}isClearedBetweenFrames(){return this._clearBetweenFrames}setAntialiasing(e){this._antialiasing=e,this._renderer.updateAntialiasing()}getAntialiasing(){return this._antialiasing}checkAntialiasing(e){return this._antialiasing===e}setCoordinatesRelative(e){this._useAbsoluteCoordinates=!e}areCoordinatesRelative(){return!this._useAbsoluteCoordinates}setFillColor(e){const t=e.split(";");t.length<3||(this._fillColor=parseInt(a.rgbToHex(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10)),16))}getFillColorR(){return a.hexNumberToRGB(this._fillColor).r}getFillColorG(){return a.hexNumberToRGB(this._fillColor).g}getFillColorB(){return a.hexNumberToRGB(this._fillColor).b}setOutlineColor(e){const t=e.split(";");t.length<3||(this._outlineColor=parseInt(a.rgbToHex(parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10)),16),this._renderer.updateOutline())}getOutlineColorR(){return a.hexNumberToRGB(this._outlineColor).r}getOutlineColorG(){return a.hexNumberToRGB(this._outlineColor).g}getOutlineColorB(){return a.hexNumberToRGB(this._outlineColor).b}setOutlineSize(e){this._outlineSize=e,this._renderer.updateOutline()}getOutlineSize(){return this._outlineSize}setFillOpacity(e){this._fillOpacity=e}getFillOpacity(){return this._fillOpacity}setOutlineOpacity(e){this._outlineOpacity=e,this._renderer.updateOutline()}getOutlineOpacity(){return this._outlineOpacity}setX(e){e!==this.x&&(super.setX(e),this._renderer.updatePositionX())}setY(e){e!==this.y&&(super.setY(e),this._renderer.updatePositionY())}setAngle(e){e!==this.angle&&(super.setAngle(e),this._renderer.updateAngle(),this.invalidateHitboxes())}setRotationCenter(e,t){this._customCenter||(this._customCenter=[0,0]),this._customCenter[0]=e,this._customCenter[1]=t,this._renderer.updateRotationCenter()}getRotationCenterX(){return this._customCenter?this._customCenter[0]:this._renderer.getUnscaledWidth()/2-this._renderer.getFrameRelativeOriginX()}getRotationCenterY(){return this._customCenter?this._customCenter[1]:this._renderer.getUnscaledHeight()/2-this._renderer.getFrameRelativeOriginY()}getCenterX(){return this._customCenter?this._customCenter[0]*Math.abs(this._scaleX)+this.getX()-this.getDrawableX():super.getCenterX()}getCenterY(){return this._customCenter?this._customCenter[1]*Math.abs(this._scaleY)+this.getY()-this.getDrawableY():super.getCenterY()}setWidth(e){const t=this._renderer.getUnscaledWidth();t!==0&&this.setScaleX(e/t)}setHeight(e){const t=this._renderer.getUnscaledHeight();t!==0&&this.setScaleY(e/t)}setSize(e,t){this.setWidth(e),this.setHeight(t)}setScale(e){this.setScaleX(e),this.setScaleY(e)}setScaleX(e){e<0&&(e=0),e!==Math.abs(this._scaleX)&&(this._scaleX=e*(this._flippedX?-1:1),this._renderer.updateScaleX(),this.invalidateHitboxes())}setScaleY(e){e<0&&(e=0),e!==Math.abs(this._scaleY)&&(this._scaleY=e*(this._flippedY?-1:1),this._renderer.updateScaleY(),this.invalidateHitboxes())}flipX(e){e!==this._flippedX&&(this._scaleX*=-1,this._flippedX=e,this._renderer.updateScaleX(),this.invalidateHitboxes())}flipY(e){e!==this._flippedY&&(this._scaleY*=-1,this._flippedY=e,this._renderer.updateScaleY(),this.invalidateHitboxes())}isFlippedX(){return this._flippedX}isFlippedY(){return this._flippedY}getScale(){const e=Math.abs(this._scaleX),t=Math.abs(this._scaleY);return e===t?e:Math.sqrt(e*t)}getScaleY(){return Math.abs(this._scaleY)}getScaleX(){return Math.abs(this._scaleX)}invalidateBounds(){this.invalidateHitboxes()}getDrawableX(){return this._renderer.getDrawableX()}getDrawableY(){return this._renderer.getDrawableY()}getWidth(){return this._renderer.getWidth()}getHeight(){return this._renderer.getHeight()}updatePreRender(e){this._renderer.updatePreRender()}transformToDrawing(e,t){const r=n._pointForTransformation;return r[0]=e,r[1]=t,this._renderer.transformToDrawing(r)}transformToScene(e,t){const r=n._pointForTransformation;return r[0]=e,r[1]=t,this._renderer.transformToScene(r)}transformToDrawingX(e,t){return this.transformToDrawing(e,t)[0]}transformToDrawingY(e,t){return this.transformToDrawing(e,t)[1]}transformToSceneX(e,t){return this.transformToScene(e,t)[0]}transformToSceneY(e,t){return this.transformToScene(e,t)[1]}setRectangularCollisionMask(e,t,r,o){if(!this._customCollisionMask){const l=new a.Polygon;l.vertices.push([0,0]),l.vertices.push([0,0]),l.vertices.push([0,0]),l.vertices.push([0,0]),this._customCollisionMask=[l]}const i=this._customCollisionMask[0].vertices;i[0][0]=e,i[0][1]=t,i[1][0]=r,i[1][1]=t,i[2][0]=r,i[2][1]=o,i[3][0]=e,i[3][1]=o,this.invalidateHitboxes()}updateHitBoxes(){this.hitBoxes=this._defaultHitBoxes;const e=this.getWidth(),t=this.getHeight(),r=this.getCenterX(),o=this.getCenterY(),i=this.hitBoxes[0].vertices;if(this._customCollisionMask){const l=this._customCollisionMask[0].vertices;for(let s=0;s<4;s++){const h=this.transformToScene(l[s][0],l[s][1]);i[s][0]=h[0],i[s][1]=h[1]}}else r===e/2&&o===t/2?(i[0][0]=-r,i[0][1]=-o,i[1][0]=+r,i[1][1]=-o,i[2][0]=+r,i[2][1]=+o,i[3][0]=-r,i[3][1]=+o):(i[0][0]=0-r,i[0][1]=0-o,i[1][0]=e-r,i[1][1]=0-o,i[2][0]=e-r,i[2][1]=t-o,i[3][0]=0-r,i[3][1]=t-o),this._useAbsoluteCoordinates||this.hitBoxes[0].rotate(a.toRad(this.getAngle())),this.hitBoxes[0].move(this.getDrawableX()+r,this.getDrawableY()+o)}};let f=n;f._pointForTransformation=[0,0],a.ShapePainterRuntimeObject=f,a.registerObject("PrimitiveDrawing::Drawer",a.ShapePainterRuntimeObject),f.supportsReinitialization=!1})(gdjs||(gdjs={})); +//# sourceMappingURL=shapepainterruntimeobject.js.map diff --git a/Extensions/SystemInfo/systeminfotools.js b/Extensions/SystemInfo/systeminfotools.js new file mode 100644 index 00000000..443f5c9b --- /dev/null +++ b/Extensions/SystemInfo/systeminfotools.js @@ -0,0 +1,2 @@ +var gdjs;(function(o){let a;(function(t){let i;(function(e){let r=null;e.isMobile=()=>o.evtTools.common.isMobile(),e.isNativeMobileApp=()=>typeof window!="undefined"&&window.cordova,e.isNativeDesktopApp=n=>!!n.getGame().getRenderer().getElectron();const u=()=>e.isMobile()?!0:!!navigator.maxTouchPoints&&navigator.maxTouchPoints>2;e.hasTouchScreen=()=>r!==null?r:r=u(),e.isWebGLSupported=n=>n.getGame().getRenderer().isWebGLSupported(),e.isPreview=n=>n.getGame().isPreview()})(i=t.systemInfo||(t.systemInfo={}))})(a=o.evtTools||(o.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=systeminfotools.js.map diff --git a/Extensions/TextObject/textruntimeobject-pixi-renderer.js b/Extensions/TextObject/textruntimeobject-pixi-renderer.js new file mode 100644 index 00000000..4efb98d4 --- /dev/null +++ b/Extensions/TextObject/textruntimeobject-pixi-renderer.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){class s{constructor(e,t){this._justCreated=!0;this._object=e,this._fontManager=t.getGame().getFontManager(),this._text=new PIXI.Text(" ",{align:"left"}),this._text.anchor.x=.5,this._text.anchor.y=.5,t.getLayer("").getRenderer().addRendererObject(this._text,e.getZOrder()),this._text.text=e._str.length===0?" ":e._str,this.updateStyle(),this.updatePosition()}getRendererObject(){return this._text}ensureUpToDate(){this._justCreated&&(this._text.updateText(!1),this.updatePosition(),this._justCreated=!1)}updateStyle(){const e='"'+this._fontManager.getFontFamily(this._object._fontName)+'"',t=this._text.style;t.fontStyle=this._object._italic?"italic":"normal",t.fontWeight=this._object._bold?"bold":"normal",t.fontSize=this._object._characterSize,t.fontFamily=e,this._object._useGradient?t.fill=this._getGradientHex():t.fill=this._getColorHex(),this._object._gradientType==="LINEAR_VERTICAL"?t.fillGradientType=PIXI.TEXT_GRADIENT.LINEAR_VERTICAL:t.fillGradientType=PIXI.TEXT_GRADIENT.LINEAR_HORIZONTAL,t.align=this._object._textAlign,t.wordWrap=this._object._wrapping,t.wordWrapWidth=this._object._wrappingWidth,t.breakWords=!0,t.stroke=i.rgbToHexNumber(this._object._outlineColor[0],this._object._outlineColor[1],this._object._outlineColor[2]),t.strokeThickness=this._object._isOutlineEnabled?this._object._outlineThickness:0,t.dropShadow=this._object._shadow,t.dropShadowColor=i.rgbToHexNumber(this._object._shadowColor[0],this._object._shadowColor[1],this._object._shadowColor[2]),t.dropShadowAlpha=this._object._shadowOpacity/255,t.dropShadowBlur=this._object._shadowBlur,t.dropShadowAngle=i.toRad(this._object._shadowAngle),t.dropShadowDistance=this._object._shadowDistance;const o=t.dropShadow?t.dropShadowDistance+t.dropShadowBlur:0;t.padding=Math.ceil(this._object._padding+o),t.miterLimit=3,this.updatePosition(),this._text.dirty=!0}updatePosition(){if(this._object.isWrapping()){const e=this._object._textAlign==="right"?1:this._object._textAlign==="center"?.5:0,t=this._object.getWrappingWidth(),o=(t-this._text.width)*(e-.5);this._text.position.x=this._object.x+t/2,this._text.anchor.x=.5-o/this._text.width}else this._text.position.x=this._object.x+this._text.width/2,this._text.anchor.x=.5;this._text.position.y=this._object.y+this._text.height/2}updateAngle(){this._text.rotation=i.toRad(this._object.angle)}updateOpacity(){this._text.alpha=this._object.opacity/255}updateString(){this._text.text=this._object._str.length===0?" ":this._object._str,this._text.updateText(!1)}getWidth(){return this._text.width}getHeight(){return this._text.height}_getColorHex(){return i.rgbToHexNumber(this._object._color[0],this._object._color[1],this._object._color[2])}_getGradientHex(){const e=[];for(let t=0;t255&&(t=255),this.opacity=t,this._renderer.updateOpacity()}getOpacity(){return this.opacity}getString(){return this.getText()}setString(t){this.setText(t)}getText(){return this._str}setText(t){t!==this._str&&(this._str=t,this._renderer.updateString(),this._updateTextPosition())}getCharacterSize(){return this._characterSize}setCharacterSize(t){t<=1&&(t=1),this._characterSize=t,this._renderer.updateStyle()}setFontName(t){this._fontName=t,this._renderer.updateStyle()}isBold(){return this._bold}setBold(t){this._bold=t,this._renderer.updateStyle()}isItalic(){return this._italic}setItalic(t){this._italic=t,this._renderer.updateStyle()}getWidth(){return this._wrapping?this._wrappingWidth:this._renderer.getWidth()}getHeight(){return this._renderer.getHeight()}getScaleMean(){return(Math.abs(this._scaleX)+Math.abs(this._scaleY))/2}getScale(){const t=Math.abs(this._scaleX),s=Math.abs(this._scaleY);return t===s?t:Math.sqrt(t*s)}getScaleX(){return this._scaleX}getScaleY(){return this._scaleY}setScale(t){this._scaleX===t&&this._scaleY===t||(this._scaleX=t,this._scaleY=t,this._renderer.setScale(t),this.invalidateHitboxes())}setScaleX(t){this._scaleX!==t&&(this._scaleX=t,this._renderer.setScaleX(t),this.invalidateHitboxes())}setScaleY(t){this._scaleY!==t&&(this._scaleY=t,this._renderer.setScaleY(t),this.invalidateHitboxes())}setColor(t){const s=t.split(";");s.length<3||(this._color[0]=parseInt(s[0],10),this._color[1]=parseInt(s[1],10),this._color[2]=parseInt(s[2],10),this._useGradient=!1,this._renderer.updateStyle())}getColor(){return this._color[0]+";"+this._color[1]+";"+this._color[2]}setTextAlignment(t){this._textAlign=t,this._renderer.updateStyle()}getTextAlignment(){return this._textAlign}isWrapping(){return this._wrapping}setWrapping(t){this._wrapping!==t&&(this._wrapping=t,this._renderer.updateStyle(),this.invalidateHitboxes())}getWrappingWidth(){return this._wrappingWidth}setWrappingWidth(t){t<=1&&(t=1),this._wrappingWidth!==t&&(this._wrappingWidth=t,this._wrapping&&(this._renderer.updateStyle(),this.invalidateHitboxes()))}setOutline(t,s){const e=t.split(";");e.length<3||(this._outlineColor[0]=parseInt(e[0],10),this._outlineColor[1]=parseInt(e[1],10),this._outlineColor[2]=parseInt(e[2],10),this._outlineThickness=s,this._renderer.updateStyle())}isOutlineEnabled(){return this._isOutlineEnabled}setOutlineEnabled(t){this._isOutlineEnabled=t,this._renderer.updateStyle()}getOutlineThickness(){return this._outlineThickness}setOutlineThickness(t){this._outlineThickness=t,this._renderer.updateStyle()}setOutlineColor(t){this._outlineColor=r.rgbOrHexToRGBColor(t),this._renderer.updateStyle()}setShadow(t,s,e,i){const n=t.split(";");n.length<3||(this._shadowColor[0]=parseInt(n[0],10),this._shadowColor[1]=parseInt(n[1],10),this._shadowColor[2]=parseInt(n[2],10),this._shadowDistance=s,this._shadowBlur=e,this._shadowAngle=i,this._shadow=!0,this._renderer.updateStyle())}isShadowEnabled(){return this._shadow}showShadow(t){this._shadow=t,this._renderer.updateStyle()}getShadowOpacity(){return this._shadowOpacity}setShadowOpacity(t){this._shadowOpacity=t,this._renderer.updateStyle()}getShadowDistance(){return this._shadowDistance}setShadowDistance(t){this._shadowDistance=t,this._renderer.updateStyle()}getShadowAngle(){return this._shadowAngle}setShadowAngle(t){this._shadowAngle=t,this._renderer.updateStyle()}getShadowBlurRadius(){return this._shadowBlur}setShadowBlurRadius(t){this._shadowBlur=t,this._renderer.updateStyle()}setShadowColor(t){this._shadowColor=r.rgbOrHexToRGBColor(t),this._renderer.updateStyle()}setGradient(t,s,e,i,n){const o=s.split(";"),a=e.split(";"),l=i.split(";"),h=n.split(";");this._gradient=[],o.length==3&&this._gradient.push([parseInt(o[0],10),parseInt(o[1],10),parseInt(o[2],10)]),a.length==3&&this._gradient.push([parseInt(a[0],10),parseInt(a[1],10),parseInt(a[2],10)]),l.length==3&&this._gradient.push([parseInt(l[0],10),parseInt(l[1],10),parseInt(l[2],10)]),h.length==3&&this._gradient.push([parseInt(h[0],10),parseInt(h[1],10),parseInt(h[2],10)]),this._gradientType=t,this._useGradient=this._gradient.length>1,this._renderer.updateStyle()}getPadding(){return this._padding}setPadding(t){this._padding=t,this._renderer.updateStyle()}}r.TextRuntimeObject=d,r.registerObject("TextObject::Text",r.TextRuntimeObject)})(gdjs||(gdjs={})); +//# sourceMappingURL=textruntimeobject.js.map diff --git a/Extensions/TileMap/TileMapRuntimeManager.js b/Extensions/TileMap/TileMapRuntimeManager.js new file mode 100644 index 00000000..8967d378 --- /dev/null +++ b/Extensions/TileMap/TileMapRuntimeManager.js @@ -0,0 +1,2 @@ +var gdjs;(function(r){let d;(function(u){const s=new r.Logger("Tilemap object");class o{constructor(e){this._instanceContainer=e,this._manager=new TileMapHelper.TileMapManager}static getManager(e){return e.tileMapCollisionMaskManager||(e.tileMapCollisionMaskManager=new o(e)),e.tileMapCollisionMaskManager}getOrLoadTileMap(e,t,i,n){this._manager.getOrLoadTileMap(this._loadTileMap.bind(this),e,t,i,pako,n)}getOrLoadTextureCache(e,t,i,n,l,a){this._manager.getOrLoadTextureCache(this._loadTileMap.bind(this),e,t,i,n,l,a)}_loadTileMap(e,t,i){this._instanceContainer.getGame().getJsonManager().loadJson(e,(n,l)=>{if(n){s.error("An error happened while loading a Tilemap JSON data:",n),i(null);return}const a=TileMapHelper.TileMapManager.identify(l);if(!a){i(null);return}a.kind==="tiled"&&t?this._instanceContainer.getGame().getJsonManager().loadJson(t,(p,T)=>{if(p){s.error("An error happened while loading Tileset JSON data:",p),i(null);return}const M=a.data,g=T;g.firstgid=M.tilesets[0].firstgid,M.tilesets=[g],i(a)}):i(a)})}}u.TileMapRuntimeManager=o})(d=r.TileMap||(r.TileMap={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=TileMapRuntimeManager.js.map diff --git a/Extensions/TileMap/helper/TileMapHelper.js b/Extensions/TileMap/helper/TileMapHelper.js new file mode 100644 index 00000000..64900489 --- /dev/null +++ b/Extensions/TileMap/helper/TileMapHelper.js @@ -0,0 +1,2 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TileMapHelper={})}(this,(function(e){"use strict";const t=2147483648,i=1073741824,l=536870912;var s;function n(e){const t=s.isFlippedDiagonally(e),i=s.isFlippedHorizontally(e),l=s.isFlippedVertically(e);let n=0;return t?(n=10,!i&&l?n=2:i&&!l?n=6:i&&l&&(n=14)):(n=0,!i&&l?n=8:i&&!l?n=12:i&&l&&(n=4)),n}function o(e,s,n,o){let r=e;return s&&(r|=t),n&&(r|=i),o&&(r|=l),r}!function(e){e.tileIdMask=536870911,e.getTileId=function(t){return t&e.tileIdMask},e.setFlippedHorizontally=function(e,i){return e&=2147483647,i&&(e|=t),e},e.setFlippedVertically=function(e,t){return e&=-1073741825,t&&(e|=i),e},e.setFlippedDiagonally=function(e,t){return e&=-536870913,t&&(e|=l),e},e.isFlippedHorizontally=function(e){return 0!=(e&t)},e.isFlippedVertically=function(e){return 0!=(e&i)},e.isFlippedDiagonally=function(e){return 0!=(e&l)}}(s||(s={}));class r{constructor(e,t,i,l,s){this.tileWidth=e,this.tileHeight=t,this.dimX=i,this.dimY=l,this._tileSet=s,this._layers=[]}getWidth(){return this.tileWidth*this.dimX}getHeight(){return this.tileHeight*this.dimY}getTileHeight(){return this.tileHeight}getTileWidth(){return this.tileWidth}getDimensionX(){return this.dimX}getDimensionY(){return this.dimY}getTileDefinition(e){return this._tileSet.get(e)}getTileDefinitions(){return this._tileSet.values()}addTileLayer(e){const t=new h(this,e);return this._layers.push(t),t}addObjectLayer(e){const t=new d(this,e);return this._layers.push(t),t}getBackgroundResourceName(){return this._backgroundResourceName}getLayers(){return this._layers}pointIsInsideTile(e,t,i){const l=Math.floor(e/this.tileWidth),s=Math.floor(t/this.tileHeight);for(const e of this._layers){const t=e;if(!t)continue;const n=t.getTileId(l,s);if(void 0===n)return!1;if(this._tileSet.get(n).hasTaggedHitBox(i))return!0}return!1}setBackgroundResourceName(e){this._backgroundResourceName=e}}class a{constructor(e,t){this.visible=!0,this.tileMap=e,this.id=t}setVisible(e){this.visible=e}isVisible(){return this.visible}}class d extends a{constructor(e,t){super(e,t),this.objects=[]}add(e){this.objects.push(e)}}class c{constructor(e,t,i){this.tileId=i,this.x=e,this.y=t}getTileId(){return s.getTileId(this.tileId)}setFlippedHorizontally(e){this.tileId=s.setFlippedHorizontally(this.tileId,e)}setFlippedVertically(e){this.tileId=s.setFlippedVertically(this.tileId,e)}setFlippedDiagonally(e){this.tileId=s.setFlippedDiagonally(this.tileId,e)}isFlippedHorizontally(){return s.isFlippedHorizontally(this.tileId)}isFlippedVertically(){return s.isFlippedVertically(this.tileId)}isFlippedDiagonally(){return s.isFlippedDiagonally(this.tileId)}}class h extends a{constructor(e,t){super(e,t),this._tiles=[],this._tiles.length=this.tileMap.getDimensionY();for(let e=0;e=l.length||(l[e]=i+1)}removeTile(e,t){const i=this._tiles[t];!i||e>=i.length||(i[e]=0)}setFlippedHorizontally(e,t,i){const l=this._tiles[t];if(!l||e>=l.length)return;const n=l[e];0!==n&&(l[e]=s.setFlippedHorizontally(n,i))}setFlippedVertically(e,t,i){const l=this._tiles[t];if(!l||e>=l.length)return;const n=l[e];0!==n&&(l[e]=s.setFlippedVertically(n,i))}setFlippedDiagonally(e,t,i){const l=this._tiles[t];if(!l||e>=l.length)return;const n=l[e];0!==n&&(l[e]=s.setFlippedDiagonally(n,i))}isFlippedHorizontally(e,t){const i=this._tiles[t];return!(!i||e>=i.length)&&s.isFlippedHorizontally(i[e])}isFlippedVertically(e,t){const i=this._tiles[t];return!(!i||e>=i.length)&&s.isFlippedVertically(i[e])}isFlippedDiagonally(e,t){const i=this._tiles[t];return!(!i||e>=i.length)&&s.isFlippedDiagonally(i[e])}getTileGID(e,t){const i=this._tiles[t];if(i&&!(e>=i.length)&&0!==i[e])return i[e]-1}getTileId(e,t){const i=this._tiles[t];if(!i||e>=i.length||0===i[e])return;return s.getTileId(i[e]-1)}getDimensionX(){return 0===this._tiles.length?0:this._tiles[0].length}getDimensionY(){return this._tiles.length}getWidth(){return this.tileMap.getWidth()}getHeight(){return this.tileMap.getHeight()}}class u{constructor(e){this.taggedHitBoxes=[],this.animationLength=null!=e?e:0,this.stackedTiles=[]}addHitBox(e,t){let i=this.taggedHitBoxes.find((t=>t.tag===e));i||(i={tag:e,polygons:[]},this.taggedHitBoxes.push(i)),i.polygons.push(t)}hasTaggedHitBox(e){return this.taggedHitBoxes.some((t=>t.tag===e))}getHitBoxes(e){const t=this.taggedHitBoxes.find((t=>t.tag===e));return t&&t.polygons}getAnimationLength(){return this.animationLength}getStackTileId(){return this.stackTileId}getStackedTiles(){return this.stackedTiles}hasStackedTiles(){return this.stackedTiles.length>0}setStackedTiles(e,...t){this.stackedTiles=t,this.stackTileId=e}}class p{constructor(){this._cachedValues=new Map,this._callbacks=new Map}getOrLoad(e,t,i){{const t=this._cachedValues.get(e);if(t)return void i(t)}{const t=this._callbacks.get(e);if(t)return void t.push(i);this._callbacks.set(e,[i])}t((t=>{t&&this._cachedValues.set(e,t);const i=this._callbacks.get(e);this._callbacks.delete(e);for(const e of i)e(t)}))}}class g{constructor(){this._levelBackgroundTextures=new Map,this._textures=new Map}setTexture(e,t){this._textures.set(e,t)}getTexture(e){return this._textures.get(e)}getLevelBackgroundTexture(e){return this._levelBackgroundTextures.get(e)}setLevelBackgroundTexture(e,t){this._levelBackgroundTextures.set(e,t)}}const f=(e,t)=>{const{data:i,compression:l}=t;if(!i)return i;let s=4;const n=[];let o=atob(i).split("").map((function(e){return e.charCodeAt(0)}));try{const t=(e,t)=>e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24)>>>0;if("zlib"===l){const i=new Uint8Array(o),l=e.inflate(i);for(;s<=l.length;)n.push(t(l,s-4)),s+=4}else{if("zstd"===l)return console.error("Zstandard compression is not supported for layers in a Tilemap. Use instead zlib compression or no compression."),null;for(;s<=o.length;)n.push(t(o,s-4)),s+=4}return n}catch(e){return console.error("Failed to decompress and unzip base64 layer.data string",e),null}},y=e=>{const s=e&t,n=e&i,o=e&l;return{id:T(536870911&e),flippedHorizontally:!!s,flippedVertically:!!n,flippedDiagonally:!!o}};function T(e){return 0===e?void 0:e-1}var _,x,k,I,m,w;function b(e,t){let i=e<<16;return i+=t,i}function M(e,t,i,l){var s;if(e[l])return e[l];let n=null;const o=t[l];return(null==o?void 0:o.relPath)?(n=i(o.relPath),"res/error48.png"===(null===(s=n.baseTexture)||void 0===s?void 0:s.cacheId)&&(console.error(`The atlas texture "${o.relPath}" can't be loaded`),n=null)):console.error(`The tileset "${o.identifier}" doesn't seems to contain an atlas texture`),e[l]=n,n}!function(e){e.parseAtlas=function(e,t,i,l){if(!e.tiledversion)return console.warn("The loaded Tiled map does not contain a 'tiledversion' key. Are you sure this file has been exported from Tiled (mapeditor.org)?"),null;if(!e.tilesets.length||"source"in e.tilesets[0])return console.warn("The loaded Tiled map seems not to contain any tileset data (nothing in 'tilesets' key)."),null;const s=e.tilesets[0],{tilewidth:n,tileheight:o,tilecount:r,image:a,columns:d,spacing:c,margin:h}=s,u=void 0===s.firstgid?1:s.firstgid;i||(i=l(a));const p=r/d,f=n*d+c*(d-1)+2*h,y=o*p+c*(p-1)+2*h;if(i.width-1?t:0];if(!s||!s.layerInstances)return null;const n={};for(const t of e.defs.tilesets)n[t.uid]=t;const o=new g,r={},a={};for(let e=s.layerInstances.length-1;e>=0;--e){const t=s.layerInstances[e];if("Entities"===t.__type)continue;const i=t.__tilesetDefUid;if("number"!=typeof i)continue;const d=n[i],c=M(a,n,l,i);if(!c)continue;const h={},u=d.tileGridSize;for(const e of[...t.autoLayerTiles,...t.gridTiles]){if(h[e.t])continue;const t=b(i,e.t);if(r[t])h[e.t]=!0;else{try{const[i,l]=e.src,s=new PIXI.Rectangle(i,l,u,u),n=new PIXI.Texture(c,s);o.setTexture(t,n)}catch(e){console.error("An error occurred while creating a PIXI.Texture to be used in a TileMap:",e)}h[e.t]=!0,r[t]=!0}}}if(s.bgRelPath){const e=l(s.bgRelPath),t=new PIXI.Rectangle(0,0,s.pxWid,s.pxHei),i=new PIXI.Texture(e,t);o.setLevelBackgroundTexture(s.bgRelPath,i)}return o}}(x||(x={})),e.PixiTileMapHelper=void 0,(k=e.PixiTileMapHelper||(e.PixiTileMapHelper={})).parseAtlas=function(e,t,i,l){return"ldtk"===e.kind?x.parseAtlas(e.data,t,i,l):"tiled"===e.kind?_.parseAtlas(e.data,t,i,l):(console.warn("The loaded Tiled map data does not contain a 'tiledversion' or '__header__' key. Are you sure this file has been exported from Tiled (mapeditor.org) or LDtk (ldtk.io)?"),null)},k.updatePixiTileMap=function(e,t,i,l,o){const r=e;if(!r)return;r.clear();const a=t.getBackgroundResourceName();if(a){const e=i.getLevelBackgroundTexture(a);r.tile(e,0,0)}for(const e of t.getLayers())if(!("index"===l&&o!==e.id||"visible"===l&&!e.isVisible()))if(e instanceof d){const t=e;for(const e of t.objects){const l=e.getTileId(),s=i.getTexture(l);if(s){const i=n(l);r.tile(s,e.x,e.y-t.tileMap.getTileHeight(),{rotate:i})}}}else if(e instanceof h){const t=e,l=t.tileMap.getTileWidth(),o=t.tileMap.getTileHeight(),a=t.tileMap.getDimensionX(),d=t.tileMap.getDimensionY(),c=t.getAlpha();for(let e=0;e0&&o.tileAnimX(l,g.getAnimationLength())}}}},k.updatePixiCollisionMask=function(e,t,i,l,s,n,o,r){if(e){e.clear(),e.lineStyle(l,s,n),e.drawRect(0,0,t.getWidth(),t.getHeight());for(const l of t.getLayers()){const s=t.getTileWidth(),n=t.getTileHeight();if(l instanceof h){const t=l;for(let l=0;l-1?t:0];if(!i||!i.layerInstances)return null;const l=new Map;let s=0,n=0,a=0;for(let e=i.layerInstances.length-1;e>=0;--e){const t=i.layerInstances[e],o=t.__tilesetDefUid,r={};for(const e of[...t.autoLayerTiles,...t.gridTiles]){if(r[e.t])continue;const t=b(o,e.t);if(l.has(t)){r[e.t]=!0;continue}const i=new u(0);r[e.t]=!0,l.set(t,i)}"IntGrid"!==t.__type&&"AutoLayer"!==t.__type&&"Tiles"!==t.__type||(0===s?(s=t.__gridSize,n=t.__cWid,a=t.__cHei):t.__gridSize!==s&&console.warn("Grid size is different across layers. Only the first layer grid size will be followed."))}const d=new r(s,s,n,a,l),c=new Map;let h=268435455;for(let e=i.layerInstances.length-1;e>=0;--e){const t=i.layerInstances[e],s=t.__gridSize,n=t.__tilesetDefUid,r=d.addTileLayer(e);r.setAlpha(t.__opacity),r.setVisible(t.visible);for(const e of[...t.autoLayerTiles,...t.gridTiles]){const t=Math.floor(e.px[0]/s),i=Math.floor(e.px[1]/s),a=b(n,e.t),d=r.getTileId(t,i);if(void 0===d)r.setTile(t,i,a),r.setFlippedHorizontally(t,i,1===e.f||3===e.f),r.setFlippedVertically(t,i,2===e.f||3===e.f);else{const s=o(a,1===e.f||3===e.f,2===e.f||3===e.f,!1),n=l.get(d);if(null==n?void 0:n.hasStackedTiles()){const e=`${n.getStackedTiles().map((e=>`${e}`)).join(";")};${s}`,o=c.get(e);if(o)r.setTile(t,i,o.getStackTileId());else{const o=new u(0);o.setStackedTiles(h,...n.getStackedTiles(),s),l.set(h,o),h-=1,c.set(e,o),r.setTile(t,i,o.getStackTileId())}}else{const e=r.getTileGID(t,i),n=`${e};${s}`,o=new u(0);o.setStackedTiles(h,e,s),l.set(h,o),h-=1,c.set(n,o),r.setTile(t,i,o.getStackTileId())}}}}return i.bgRelPath&&d.setBackgroundResourceName(i.bgRelPath),d}}(I||(I={})),function(e){e.load=function(e,t){if(!e.tiledversion)return console.warn("The loaded Tiled map does not contain a 'tiledversion' key. Are you sure this file has been exported from Tiled (mapeditor.org)?"),null;const i=new Map;for(const t of e.tilesets){const l=void 0===t.firstgid?1:t.firstgid;if(t.tiles)for(const s of t.tiles){const t=new u(s.animation?s.animation.length:0),n=s.type||s.class;if(s.objectgroup)for(const e of s.objectgroup.objects){const i=e.type||e.class||n;if(!i||0===i.length)continue;let l=null;if(e.polygon){const t=e.rotation*Math.PI/180;let i=Math.cos(t),s=Math.sin(t);-1!==i&&1!==i||(s=0),-1!==s&&1!==s||(i=0),l=e.polygon.map((t=>[e.x+t.x*i-t.y*s,e.y+t.x*s+t.y*i]))}else void 0!==e.x&&void 0!==e.y&&void 0!==e.width&&void 0!==e.height&&(l=[[e.x,e.y],[e.x,e.y+e.height],[e.x+e.width,e.y+e.height],[e.x+e.width,e.y]]);l&&t.addHitBox(i,l)}else if(n){const i=[[0,0],[0,e.tileheight],[e.tilewidth,e.tileheight],[e.tilewidth,0]];t.addHitBox(n,i)}i.set(T(l+s.id),t)}for(let e=0;e{e(t,i,(e=>{if(!e)return void n(null);const t=w.load(e,l,s);n(t)}))}),n)}getOrLoadTextureCache(t,i,l,s,n,o,r){const a=s+"|"+n+"|"+l+"|"+o;this._textureCacheCaches.getOrLoad(a,(r=>{t(s,n,(t=>{if(!t)return void r(null);const s=l?i(l):null,n=e.PixiTileMapHelper.parseAtlas(t,o,s,i);r(n)}))}),r)}clearCaches(){this._tileMapCache=new p,this._textureCacheCaches=new p}}e.EditableTileMap=r,e.EditableTileMapLayer=h,e.TileDefinition=u,e.TileMapManager=v,e.TileTextureCache=g,Object.defineProperty(e,"__esModule",{value:!0})})); +//# sourceMappingURL=TileMapHelper.js.map diff --git a/Extensions/TileMap/pako/dist/pako.min.js b/Extensions/TileMap/pako/dist/pako.min.js new file mode 100644 index 00000000..2fecd579 --- /dev/null +++ b/Extensions/TileMap/pako/dist/pako.min.js @@ -0,0 +1,2 @@ +/*! pako 2.0.2 https://github.com/nodeca/pako @license (MIT AND Zlib) */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).pako={})}(this,(function(t){"use strict";function e(t){let e=t.length;for(;--e>=0;)t[e]=0}const a=256,i=286,n=30,s=15,r=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),l=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),o=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new Array(576);e(d);const _=new Array(60);e(_);const f=new Array(512);e(f);const c=new Array(256);e(c);const u=new Array(29);e(u);const w=new Array(n);function b(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let g,p,m;function k(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}e(w);const v=t=>t<256?f[t]:f[256+(t>>>7)],y=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},x=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{x(t,a[2*e],a[2*e+1])},A=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},E=(t,e,a)=>{const i=new Array(16);let n,r,l=0;for(n=1;n<=s;n++)i[n]=l=l+a[n-1]<<1;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=A(i[e]++,e))}},R=t=>{let e;for(e=0;e{t.bi_valid>8?y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},U=(t,e,a,i)=>{const n=2*e,s=2*a;return t[n]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{let n,s,o,h,d=0;if(0!==t.last_lit)do{n=t.pending_buf[t.d_buf+2*d]<<8|t.pending_buf[t.d_buf+2*d+1],s=t.pending_buf[t.l_buf+d],d++,0===n?z(t,s,e):(o=c[s],z(t,o+a+1,e),h=r[o],0!==h&&(s-=u[o],x(t,s,h)),n--,o=v(n),z(t,o,i),h=l[o],0!==h&&(n-=w[o],x(t,n,h)))}while(d{const a=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,r=e.stat_desc.elems;let l,o,h,d=-1;for(t.heap_len=0,t.heap_max=573,l=0;l>1;l>=1;l--)S(t,a,l);h=r;do{l=t.heap[1],t.heap[1]=t.heap[t.heap_len--],S(t,a,1),o=t.heap[1],t.heap[--t.heap_max]=l,t.heap[--t.heap_max]=o,a[2*h]=a[2*l]+a[2*o],t.depth[h]=(t.depth[l]>=t.depth[o]?t.depth[l]:t.depth[o])+1,a[2*l+1]=a[2*o+1]=h,t.heap[1]=h++,S(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,r=e.stat_desc.has_stree,l=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let d,_,f,c,u,w,b=0;for(c=0;c<=s;c++)t.bl_count[c]=0;for(a[2*t.heap[t.heap_max]+1]=0,d=t.heap_max+1;d<573;d++)_=t.heap[d],c=a[2*a[2*_+1]+1]+1,c>h&&(c=h,b++),a[2*_+1]=c,_>i||(t.bl_count[c]++,u=0,_>=o&&(u=l[_-o]),w=a[2*_],t.opt_len+=w*(c+u),r&&(t.static_len+=w*(n[2*_+1]+u)));if(0!==b){do{for(c=h-1;0===t.bl_count[c];)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[h]--,b-=2}while(b>0);for(c=h;0!==c;c--)for(_=t.bl_count[c];0!==_;)f=t.heap[--d],f>i||(a[2*f+1]!==c&&(t.opt_len+=(c-a[2*f+1])*a[2*f],a[2*f+1]=c),_--)}})(t,e),E(a,d,t.bl_count)},T=(t,e,a)=>{let i,n,s=-1,r=e[1],l=0,o=7,h=4;for(0===r&&(o=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=r,r=e[2*(i+1)+1],++l{let i,n,s=-1,r=e[1],l=0,o=7,h=4;for(0===r&&(o=138,h=3),i=0;i<=a;i++)if(n=r,r=e[2*(i+1)+1],!(++l{x(t,0+(i?1:0),3),((t,e,a,i)=>{Z(t),i&&(y(t,a),y(t,~a)),t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a})(t,e,a,!0)};var N={_tr_init:t=>{F||((()=>{let t,e,a,h,k;const v=new Array(16);for(a=0,h=0;h<28;h++)for(u[h]=a,t=0;t<1<>=7;h{let s,r,l=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e{let e;for(T(t,t.dyn_ltree,t.l_desc.max_code),T(t,t.dyn_dtree,t.d_desc.max_code),O(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*h[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),s=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=s&&(s=r)):s=r=i+5,i+4<=s&&-1!==e?L(t,e,i,n):4===t.strategy||r===s?(x(t,2+(n?1:0),3),D(t,d,_)):(x(t,4+(n?1:0),3),((t,e,a,i)=>{let n;for(x(t,e-257,5),x(t,a-1,5),x(t,i-4,4),n=0;n(t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&i,t.last_lit++,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(c[i]+a+1)]++,t.dyn_dtree[2*v(e)]++),t.last_lit===t.lit_bufsize-1),_tr_align:t=>{x(t,2,3),z(t,256,d),(t=>{16===t.bi_valid?(y(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var B=(t,e,a,i)=>{let n=65535&t|0,s=t>>>16&65535|0,r=0;for(;0!==a;){r=a>2e3?2e3:a,a-=r;do{n=n+e[i++]|0,s=s+n|0}while(--r);n%=65521,s%=65521}return n|s<<16|0};const C=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var M=(t,e,a,i)=>{const n=C,s=i+a;t^=-1;for(let a=i;a>>8^n[255&(t^e[a])];return-1^t},H={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},j={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:K,_tr_stored_block:P,_tr_flush_block:Y,_tr_tally:G,_tr_align:X}=N,{Z_NO_FLUSH:W,Z_PARTIAL_FLUSH:q,Z_FULL_FLUSH:J,Z_FINISH:Q,Z_BLOCK:V,Z_OK:$,Z_STREAM_END:tt,Z_STREAM_ERROR:et,Z_DATA_ERROR:at,Z_BUF_ERROR:it,Z_DEFAULT_COMPRESSION:nt,Z_FILTERED:st,Z_HUFFMAN_ONLY:rt,Z_RLE:lt,Z_FIXED:ot,Z_DEFAULT_STRATEGY:ht,Z_UNKNOWN:dt,Z_DEFLATED:_t}=j,ft=258,ct=262,ut=103,wt=113,bt=666,gt=(t,e)=>(t.msg=H[e],e),pt=t=>(t<<1)-(t>4?9:0),mt=t=>{let e=t.length;for(;--e>=0;)t[e]=0};let kt=(t,e,a)=>(e<{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},yt=(t,e)=>{Y(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,vt(t.strm)},xt=(t,e)=>{t.pending_buf[t.pending++]=e},zt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},At=(t,e,a,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),a),1===t.state.wrap?t.adler=B(t.adler,e,n,a):2===t.state.wrap&&(t.adler=M(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)},Et=(t,e)=>{let a,i,n=t.max_chain_length,s=t.strstart,r=t.prev_length,l=t.nice_match;const o=t.strstart>t.w_size-ct?t.strstart-(t.w_size-ct):0,h=t.window,d=t.w_mask,_=t.prev,f=t.strstart+ft;let c=h[s+r-1],u=h[s+r];t.prev_length>=t.good_match&&(n>>=2),l>t.lookahead&&(l=t.lookahead);do{if(a=e,h[a+r]===u&&h[a+r-1]===c&&h[a]===h[s]&&h[++a]===h[s+1]){s+=2,a++;do{}while(h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&sr){if(t.match_start=e,r=i,i>=l)break;c=h[s+r-1],u=h[s+r]}}}while((e=_[e&d])>o&&0!=--n);return r<=t.lookahead?r:t.lookahead},Rt=t=>{const e=t.w_size;let a,i,n,s,r;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ct)){t.window.set(t.window.subarray(e,e+e),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,i=t.hash_size,a=i;do{n=t.head[--a],t.head[a]=n>=e?n-e:0}while(--i);i=e,a=i;do{n=t.prev[--a],t.prev[a]=n>=e?n-e:0}while(--i);s+=e}if(0===t.strm.avail_in)break;if(i=At(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=i,t.lookahead+t.insert>=3)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=kt(t,t.ins_h,t.window[r+1]);t.insert&&(t.ins_h=kt(t,t.ins_h,t.window[r+3-1]),t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let a,i;for(;;){if(t.lookahead=3&&(t.ins_h=kt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ct&&(t.match_length=Et(t,a)),t.match_length>=3)if(i=G(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=kt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=kt(t,t.ins_h,t.window[t.strstart+1]);else i=G(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(yt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(yt(t,!1),0===t.strm.avail_out)?1:2},Ut=(t,e)=>{let a,i,n;for(;;){if(t.lookahead=3&&(t.ins_h=kt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=G(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=kt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(yt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=G(t,0,t.window[t.strstart-1]),i&&yt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=G(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(yt(t,!1),0===t.strm.avail_out)?1:2};function St(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}const Dt=[new St(0,0,0,0,((t,e)=>{let a=65535;for(a>t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(Rt(t),0===t.lookahead&&e===W)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;const i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,yt(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-ct&&(yt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(yt(t,!1),t.strm.avail_out),1)})),new St(4,4,8,4,Zt),new St(4,5,16,8,Zt),new St(4,6,32,32,Zt),new St(4,4,16,16,Ut),new St(8,16,32,32,Ut),new St(8,16,128,128,Ut),new St(8,32,128,256,Ut),new St(32,128,258,1024,Ut),new St(32,258,258,4096,Ut)];function Ot(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_t,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),mt(this.dyn_ltree),mt(this.dyn_dtree),mt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),mt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),mt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Tt=t=>{if(!t||!t.state)return gt(t,et);t.total_in=t.total_out=0,t.data_type=dt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:wt,t.adler=2===e.wrap?0:1,e.last_flush=W,K(e),$},It=t=>{const e=Tt(t);var a;return e===$&&((a=t.state).window_size=2*a.w_size,mt(a.head),a.max_lazy_match=Dt[a.level].max_lazy,a.good_match=Dt[a.level].good_length,a.nice_match=Dt[a.level].nice_length,a.max_chain_length=Dt[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},Ft=(t,e,a,i,n,s)=>{if(!t)return et;let r=1;if(e===nt&&(e=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),n<1||n>9||a!==_t||i<8||i>15||e<0||e>9||s<0||s>ot)return gt(t,et);8===i&&(i=9);const l=new Ot;return t.state=l,l.strm=t,l.wrap=r,l.gzhead=null,l.w_bits=i,l.w_size=1<Ft(t,e,_t,15,8,ht),deflateInit2:Ft,deflateReset:It,deflateResetKeep:Tt,deflateSetHeader:(t,e)=>t&&t.state?2!==t.state.wrap?et:(t.state.gzhead=e,$):et,deflate:(t,e)=>{let a,i;if(!t||!t.state||e>V||e<0)return t?gt(t,et):et;const n=t.state;if(!t.output||!t.input&&0!==t.avail_in||n.status===bt&&e!==Q)return gt(t,0===t.avail_out?it:et);n.strm=t;const s=n.last_flush;if(n.last_flush=e,42===n.status)if(2===n.wrap)t.adler=0,xt(n,31),xt(n,139),xt(n,8),n.gzhead?(xt(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),xt(n,255&n.gzhead.time),xt(n,n.gzhead.time>>8&255),xt(n,n.gzhead.time>>16&255),xt(n,n.gzhead.time>>24&255),xt(n,9===n.level?2:n.strategy>=rt||n.level<2?4:0),xt(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(xt(n,255&n.gzhead.extra.length),xt(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=M(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(xt(n,0),xt(n,0),xt(n,0),xt(n,0),xt(n,0),xt(n,9===n.level?2:n.strategy>=rt||n.level<2?4:0),xt(n,3),n.status=wt);else{let e=_t+(n.w_bits-8<<4)<<8,a=-1;a=n.strategy>=rt||n.level<2?0:n.level<6?1:6===n.level?2:3,e|=a<<6,0!==n.strstart&&(e|=32),e+=31-e%31,n.status=wt,zt(n,e),0!==n.strstart&&(zt(n,t.adler>>>16),zt(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(a=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>a&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),vt(t),a=n.pending,n.pending!==n.pending_buf_size));)xt(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>a&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),vt(t),a=n.pending,n.pending===n.pending_buf_size)){i=1;break}i=n.gzindexa&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),0===i&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),vt(t),a=n.pending,n.pending===n.pending_buf_size)){i=1;break}i=n.gzindexa&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),0===i&&(n.status=ut)}else n.status=ut;if(n.status===ut&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&vt(t),n.pending+2<=n.pending_buf_size&&(xt(n,255&t.adler),xt(n,t.adler>>8&255),t.adler=0,n.status=wt)):n.status=wt),0!==n.pending){if(vt(t),0===t.avail_out)return n.last_flush=-1,$}else if(0===t.avail_in&&pt(e)<=pt(s)&&e!==Q)return gt(t,it);if(n.status===bt&&0!==t.avail_in)return gt(t,it);if(0!==t.avail_in||0!==n.lookahead||e!==W&&n.status!==bt){let a=n.strategy===rt?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(Rt(t),0===t.lookahead)){if(e===W)return 1;break}if(t.match_length=0,a=G(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(yt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(yt(t,!1),0===t.strm.avail_out)?1:2})(n,e):n.strategy===lt?((t,e)=>{let a,i,n,s;const r=t.window;for(;;){if(t.lookahead<=ft){if(Rt(t),t.lookahead<=ft&&e===W)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=r[n],i===r[++n]&&i===r[++n]&&i===r[++n])){s=t.strstart+ft;do{}while(i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=G(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=G(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(yt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(yt(t,!1),0===t.strm.avail_out)?1:2})(n,e):Dt[n.level].func(n,e);if(3!==a&&4!==a||(n.status=bt),1===a||3===a)return 0===t.avail_out&&(n.last_flush=-1),$;if(2===a&&(e===q?X(n):e!==V&&(P(n,0,0,!1),e===J&&(mt(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),vt(t),0===t.avail_out))return n.last_flush=-1,$}return e!==Q?$:n.wrap<=0?tt:(2===n.wrap?(xt(n,255&t.adler),xt(n,t.adler>>8&255),xt(n,t.adler>>16&255),xt(n,t.adler>>24&255),xt(n,255&t.total_in),xt(n,t.total_in>>8&255),xt(n,t.total_in>>16&255),xt(n,t.total_in>>24&255)):(zt(n,t.adler>>>16),zt(n,65535&t.adler)),vt(t),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?$:tt)},deflateEnd:t=>{if(!t||!t.state)return et;const e=t.state.status;return 42!==e&&69!==e&&73!==e&&91!==e&&e!==ut&&e!==wt&&e!==bt?gt(t,et):(t.state=null,e===wt?gt(t,at):$)},deflateSetDictionary:(t,e)=>{let a=e.length;if(!t||!t.state)return et;const i=t.state,n=i.wrap;if(2===n||1===n&&42!==i.status||i.lookahead)return et;if(1===n&&(t.adler=B(t.adler,e,a,0)),i.wrap=0,a>=i.w_size){0===n&&(mt(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(a-i.w_size,a),0),e=t,a=i.w_size}const s=t.avail_in,r=t.next_in,l=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,Rt(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=kt(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,Rt(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=r,t.input=l,t.avail_in=s,i.wrap=n,$},deflateInfo:"pako deflate (from Nodeca project)"};const Nt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Bt=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)Nt(a,e)&&(t[e]=a[e])}}return t},Ct=t=>{let e=0;for(let a=0,i=t.length;a=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Ht[254]=Ht[254]=1;var jt=t=>{let e,a,i,n,s,r=t.length,l=0;for(n=0;n>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},Kt=(t,e)=>{let a,i;const n=e||t.length,s=new Array(2*n);for(i=0,a=0;a4)s[i++]=65533,a+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&a1?s[i++]=65533:e<65536?s[i++]=e:(e-=65536,s[i++]=55296|e>>10&1023,s[i++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Mt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let a="";for(let i=0;i{(e=e||t.length)>t.length&&(e=t.length);let a=e-1;for(;a>=0&&128==(192&t[a]);)a--;return a<0||0===a?e:a+Ht[t[a]]>e?a:e};var Yt=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Gt=Object.prototype.toString,{Z_NO_FLUSH:Xt,Z_SYNC_FLUSH:Wt,Z_FULL_FLUSH:qt,Z_FINISH:Jt,Z_OK:Qt,Z_STREAM_END:Vt,Z_DEFAULT_COMPRESSION:$t,Z_DEFAULT_STRATEGY:te,Z_DEFLATED:ee}=j;function ae(t){this.options=Bt({level:$t,method:ee,chunkSize:16384,windowBits:15,memLevel:8,strategy:te},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yt,this.strm.avail_out=0;let a=Lt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==Qt)throw new Error(H[a]);if(e.header&&Lt.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?jt(e.dictionary):"[object ArrayBuffer]"===Gt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=Lt.deflateSetDictionary(this.strm,t),a!==Qt)throw new Error(H[a]);this._dict_set=!0}}function ie(t,e){const a=new ae(e);if(a.push(t,!0),a.err)throw a.msg||H[a.err];return a.result}ae.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize;let n,s;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Jt:Xt,"string"==typeof t?a.input=jt(t):"[object ArrayBuffer]"===Gt.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),(s===Wt||s===qt)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(n=Lt.deflate(a,s),n===Vt)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),n=Lt.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Qt;if(0!==a.avail_out){if(s>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},ae.prototype.onData=function(t){this.chunks.push(t)},ae.prototype.onEnd=function(t){t===Qt&&(this.result=Ct(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ne={Deflate:ae,deflate:ie,deflateRaw:function(t,e){return(e=e||{}).raw=!0,ie(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,ie(t,e)},constants:j};var se=function(t,e){let a,i,n,s,r,l,o,h,d,_,f,c,u,w,b,g,p,m,k,v,y,x,z,A;const E=t.state;a=t.next_in,z=t.input,i=a+(t.avail_in-5),n=t.next_out,A=t.output,s=n-(e-t.avail_out),r=n+(t.avail_out-257),l=E.dmax,o=E.wsize,h=E.whave,d=E.wnext,_=E.window,f=E.hold,c=E.bits,u=E.lencode,w=E.distcode,b=(1<>>24,f>>>=m,c-=m,m=p>>>16&255,0===m)A[n++]=65535&p;else{if(!(16&m)){if(0==(64&m)){p=u[(65535&p)+(f&(1<>>=m,c-=m),c<15&&(f+=z[a++]<>>24,f>>>=m,c-=m,m=p>>>16&255,!(16&m)){if(0==(64&m)){p=w[(65535&p)+(f&(1<l){t.msg="invalid distance too far back",E.mode=30;break t}if(f>>>=m,c-=m,m=n-s,v>m){if(m=v-m,m>h&&E.sane){t.msg="invalid distance too far back",E.mode=30;break t}if(y=0,x=_,0===d){if(y+=o-m,m2;)A[n++]=x[y++],A[n++]=x[y++],A[n++]=x[y++],k-=3;k&&(A[n++]=x[y++],k>1&&(A[n++]=x[y++]))}else{y=n-v;do{A[n++]=A[y++],A[n++]=A[y++],A[n++]=A[y++],k-=3}while(k>2);k&&(A[n++]=A[y++],k>1&&(A[n++]=A[y++]))}break}}break}}while(a>3,a-=k,c-=k<<3,f&=(1<{const o=l.bits;let h,d,_,f,c,u,w=0,b=0,g=0,p=0,m=0,k=0,v=0,y=0,x=0,z=0,A=null,E=0;const R=new Uint16Array(16),Z=new Uint16Array(16);let U,S,D,O=null,T=0;for(w=0;w<=re;w++)R[w]=0;for(b=0;b=1&&0===R[p];p--);if(m>p&&(m=p),0===p)return n[s++]=20971520,n[s++]=20971520,l.bits=1,0;for(g=1;g0&&(0===t||1!==p))return-1;for(Z[1]=0,w=1;w852||2===t&&x>592)return 1;for(;;){U=w-v,r[b]u?(S=O[T+r[b]],D=A[E+r[b]]):(S=96,D=0),h=1<>v)+d]=U<<24|S<<16|D|0}while(0!==d);for(h=1<>=1;if(0!==h?(z&=h-1,z+=h):z=0,b++,0==--R[w]){if(w===p)break;w=e[a+r[b]]}if(w>m&&(z&f)!==_){for(0===v&&(v=m),c+=g,k=w-v,y=1<852||2===t&&x>592)return 1;_=z&f,n[_]=m<<24|k<<16|c-s|0}}return 0!==z&&(n[c+z]=w-v<<24|64<<16|0),l.bits=m,0};const{Z_FINISH:fe,Z_BLOCK:ce,Z_TREES:ue,Z_OK:we,Z_STREAM_END:be,Z_NEED_DICT:ge,Z_STREAM_ERROR:pe,Z_DATA_ERROR:me,Z_MEM_ERROR:ke,Z_BUF_ERROR:ve,Z_DEFLATED:ye}=j,xe=12,ze=30,Ae=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function Ee(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Re=t=>{if(!t||!t.state)return pe;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,we},Ze=t=>{if(!t||!t.state)return pe;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,Re(t)},Ue=(t,e)=>{let a;if(!t||!t.state)return pe;const i=t.state;return e<0?(a=0,e=-e):(a=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?pe:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,Ze(t))},Se=(t,e)=>{if(!t)return pe;const a=new Ee;t.state=a,a.window=null;const i=Ue(t,e);return i!==we&&(t.state=null),i};let De,Oe,Te=!0;const Ie=t=>{if(Te){De=new Int32Array(512),Oe=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(_e(1,t.lens,0,288,De,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;_e(2,t.lens,0,32,Oe,0,t.work,{bits:5}),Te=!1}t.lencode=De,t.lenbits=9,t.distcode=Oe,t.distbits=5},Fe=(t,e,a,i)=>{let n;const s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(s.window.set(e.subarray(a-s.wsize,a),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),s.window.set(e.subarray(a-i,a-i+n),s.wnext),(i-=n)?(s.window.set(e.subarray(a-i,a),0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whaveSe(t,15),inflateInit2:Se,inflate:(t,e)=>{let a,i,n,s,r,l,o,h,d,_,f,c,u,w,b,g,p,m,k,v,y,x,z=0;const A=new Uint8Array(4);let E,R;const Z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return pe;a=t.state,a.mode===xe&&(a.mode=13),r=t.next_out,n=t.output,o=t.avail_out,s=t.next_in,i=t.input,l=t.avail_in,h=a.hold,d=a.bits,_=l,f=o,x=we;t:for(;;)switch(a.mode){case 1:if(0===a.wrap){a.mode=13;break}for(;d<16;){if(0===l)break t;l--,h+=i[s++]<>>8&255,a.check=M(a.check,A,2,0),h=0,d=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=ze;break}if((15&h)!==ye){t.msg="unknown compression method",a.mode=ze;break}if(h>>>=4,d-=4,y=8+(15&h),0===a.wbits)a.wbits=y;else if(y>a.wbits){t.msg="invalid window size",a.mode=ze;break}a.dmax=1<>8&1),512&a.flags&&(A[0]=255&h,A[1]=h>>>8&255,a.check=M(a.check,A,2,0)),h=0,d=0,a.mode=3;case 3:for(;d<32;){if(0===l)break t;l--,h+=i[s++]<>>8&255,A[2]=h>>>16&255,A[3]=h>>>24&255,a.check=M(a.check,A,4,0)),h=0,d=0,a.mode=4;case 4:for(;d<16;){if(0===l)break t;l--,h+=i[s++]<>8),512&a.flags&&(A[0]=255&h,A[1]=h>>>8&255,a.check=M(a.check,A,2,0)),h=0,d=0,a.mode=5;case 5:if(1024&a.flags){for(;d<16;){if(0===l)break t;l--,h+=i[s++]<>>8&255,a.check=M(a.check,A,2,0)),h=0,d=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&(c=a.length,c>l&&(c=l),c&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(i.subarray(s,s+c),y)),512&a.flags&&(a.check=M(a.check,i,c,s)),l-=c,s+=c,a.length-=c),a.length))break t;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===l)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y))}while(y&&c>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=xe;break;case 10:for(;d<32;){if(0===l)break t;l--,h+=i[s++]<>>=7&d,d-=7&d,a.mode=27;break}for(;d<3;){if(0===l)break t;l--,h+=i[s++]<>>=1,d-=1,3&h){case 0:a.mode=14;break;case 1:if(Ie(a),a.mode=20,e===ue){h>>>=2,d-=2;break t}break;case 2:a.mode=17;break;case 3:t.msg="invalid block type",a.mode=ze}h>>>=2,d-=2;break;case 14:for(h>>>=7&d,d-=7&d;d<32;){if(0===l)break t;l--,h+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=ze;break}if(a.length=65535&h,h=0,d=0,a.mode=15,e===ue)break t;case 15:a.mode=16;case 16:if(c=a.length,c){if(c>l&&(c=l),c>o&&(c=o),0===c)break t;n.set(i.subarray(s,s+c),r),l-=c,s+=c,o-=c,r+=c,a.length-=c;break}a.mode=xe;break;case 17:for(;d<14;){if(0===l)break t;l--,h+=i[s++]<>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=ze;break}a.have=0,a.mode=18;case 18:for(;a.have>>=3,d-=3}for(;a.have<19;)a.lens[Z[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,E={bits:a.lenbits},x=_e(0,a.lens,0,19,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid code lengths set",a.mode=ze;break}a.have=0,a.mode=19;case 19:for(;a.have>>24,g=z>>>16&255,p=65535&z,!(b<=d);){if(0===l)break t;l--,h+=i[s++]<>>=b,d-=b,a.lens[a.have++]=p;else{if(16===p){for(R=b+2;d>>=b,d-=b,0===a.have){t.msg="invalid bit length repeat",a.mode=ze;break}y=a.lens[a.have-1],c=3+(3&h),h>>>=2,d-=2}else if(17===p){for(R=b+3;d>>=b,d-=b,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=b+7;d>>=b,d-=b,y=0,c=11+(127&h),h>>>=7,d-=7}if(a.have+c>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=ze;break}for(;c--;)a.lens[a.have++]=y}}if(a.mode===ze)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=ze;break}if(a.lenbits=9,E={bits:a.lenbits},x=_e(1,a.lens,0,a.nlen,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid literal/lengths set",a.mode=ze;break}if(a.distbits=6,a.distcode=a.distdyn,E={bits:a.distbits},x=_e(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,E),a.distbits=E.bits,x){t.msg="invalid distances set",a.mode=ze;break}if(a.mode=20,e===ue)break t;case 20:a.mode=21;case 21:if(l>=6&&o>=258){t.next_out=r,t.avail_out=o,t.next_in=s,t.avail_in=l,a.hold=h,a.bits=d,se(t,f),r=t.next_out,n=t.output,o=t.avail_out,s=t.next_in,i=t.input,l=t.avail_in,h=a.hold,d=a.bits,a.mode===xe&&(a.back=-1);break}for(a.back=0;z=a.lencode[h&(1<>>24,g=z>>>16&255,p=65535&z,!(b<=d);){if(0===l)break t;l--,h+=i[s++]<>m)],b=z>>>24,g=z>>>16&255,p=65535&z,!(m+b<=d);){if(0===l)break t;l--,h+=i[s++]<>>=m,d-=m,a.back+=m}if(h>>>=b,d-=b,a.back+=b,a.length=p,0===g){a.mode=26;break}if(32&g){a.back=-1,a.mode=xe;break}if(64&g){t.msg="invalid literal/length code",a.mode=ze;break}a.extra=15&g,a.mode=22;case 22:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;z=a.distcode[h&(1<>>24,g=z>>>16&255,p=65535&z,!(b<=d);){if(0===l)break t;l--,h+=i[s++]<>m)],b=z>>>24,g=z>>>16&255,p=65535&z,!(m+b<=d);){if(0===l)break t;l--,h+=i[s++]<>>=m,d-=m,a.back+=m}if(h>>>=b,d-=b,a.back+=b,64&g){t.msg="invalid distance code",a.mode=ze;break}a.offset=p,a.extra=15&g,a.mode=24;case 24:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=ze;break}a.mode=25;case 25:if(0===o)break t;if(c=f-o,a.offset>c){if(c=a.offset-c,c>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=ze;break}c>a.wnext?(c-=a.wnext,u=a.wsize-c):u=a.wnext-c,c>a.length&&(c=a.length),w=a.window}else w=n,u=r-a.offset,c=a.length;c>o&&(c=o),o-=c,a.length-=c;do{n[r++]=w[u++]}while(--c);0===a.length&&(a.mode=21);break;case 26:if(0===o)break t;n[r++]=a.length,o--,a.mode=21;break;case 27:if(a.wrap){for(;d<32;){if(0===l)break t;l--,h|=i[s++]<{if(!t||!t.state)return pe;let e=t.state;return e.window&&(e.window=null),t.state=null,we},inflateGetHeader:(t,e)=>{if(!t||!t.state)return pe;const a=t.state;return 0==(2&a.wrap)?pe:(a.head=e,e.done=!1,we)},inflateSetDictionary:(t,e)=>{const a=e.length;let i,n,s;return t&&t.state?(i=t.state,0!==i.wrap&&11!==i.mode?pe:11===i.mode&&(n=1,n=B(n,e,a,0),n!==i.check)?me:(s=Fe(t,e,a,a),s?(i.mode=31,ke):(i.havedict=1,we))):pe},inflateInfo:"pako inflate (from Nodeca project)"};var Ne=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Be=Object.prototype.toString,{Z_NO_FLUSH:Ce,Z_FINISH:Me,Z_OK:He,Z_STREAM_END:je,Z_NEED_DICT:Ke,Z_STREAM_ERROR:Pe,Z_DATA_ERROR:Ye,Z_MEM_ERROR:Ge}=j;function Xe(t){this.options=Bt({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yt,this.strm.avail_out=0;let a=Le.inflateInit2(this.strm,e.windowBits);if(a!==He)throw new Error(H[a]);if(this.header=new Ne,Le.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=jt(e.dictionary):"[object ArrayBuffer]"===Be.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=Le.inflateSetDictionary(this.strm,e.dictionary),a!==He)))throw new Error(H[a])}function We(t,e){const a=new Xe(e);if(a.push(t),a.err)throw a.msg||H[a.err];return a.result}Xe.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let s,r,l;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Me:Ce,"[object ArrayBuffer]"===Be.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),s=Le.inflate(a,r),s===Ke&&n&&(s=Le.inflateSetDictionary(a,n),s===He?s=Le.inflate(a,r):s===Ye&&(s=Ke));a.avail_in>0&&s===je&&a.state.wrap>0&&0!==t[a.next_in];)Le.inflateReset(a),s=Le.inflate(a,r);switch(s){case Pe:case Ye:case Ke:case Ge:return this.onEnd(s),this.ended=!0,!1}if(l=a.avail_out,a.next_out&&(0===a.avail_out||s===je))if("string"===this.options.to){let t=Pt(a.output,a.next_out),e=a.next_out-t,n=Kt(a.output,t);a.next_out=e,a.avail_out=i-e,e&&a.output.set(a.output.subarray(t,t+e),0),this.onData(n)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(s!==He||0!==l){if(s===je)return s=Le.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},Xe.prototype.onData=function(t){this.chunks.push(t)},Xe.prototype.onEnd=function(t){t===He&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ct(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var qe={Inflate:Xe,inflate:We,inflateRaw:function(t,e){return(e=e||{}).raw=!0,We(t,e)},ungzip:We,constants:j};const{Deflate:Je,deflate:Qe,deflateRaw:Ve,gzip:$e}=ne,{Inflate:ta,inflate:ea,inflateRaw:aa,ungzip:ia}=qe;var na=Je,sa=Qe,ra=Ve,la=$e,oa=ta,ha=ea,da=aa,_a=ia,fa=j,ca={Deflate:na,deflate:sa,deflateRaw:ra,gzip:la,Inflate:oa,inflate:ha,inflateRaw:da,ungzip:_a,constants:fa};t.Deflate=na,t.Inflate=oa,t.constants=fa,t.default=ca,t.deflate=sa,t.deflateRaw=ra,t.gzip=la,t.inflate=ha,t.inflateRaw=da,t.ungzip=_a,Object.defineProperty(t,"__esModule",{value:!0})})); diff --git a/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js b/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js new file mode 100644 index 00000000..b785ea60 --- /dev/null +++ b/Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js @@ -0,0 +1,67 @@ +(function(m,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("@pixi/core"),require("@pixi/display")):typeof define=="function"&&define.amd?define(["exports","@pixi/core","@pixi/display"],u):(m=typeof globalThis<"u"?globalThis:m||self,u((m.PIXI=m.PIXI||{},m.PIXI.tilemap={}),m.PIXI,m.PIXI))})(this,function(m,u,V){"use strict";class D{constructor(t){this.tileAnim=[0,0],this.dontUseTransform=!1,this.renderer=t,this.tileAnim=[0,0]}static registerExtension(){u.extensions.add({name:"tilemap",type:u.ExtensionType.CanvasRendererPlugin,ref:D})}static getInstance(t){if(!t.plugins.tilemap)throw new Error("Extension not registered!");return t.plugins.tilemap}}const p={TEXTURES_PER_TILEMAP:16,TEXTILE_DIMEN:1024,TEXTILE_UNITS:1,TEXTILE_SCALE_MODE:u.SCALE_MODES.LINEAR,use32bitIndex:!1,DO_CLEAR:!0,get maxTextures(){return this.MAX_TEXTURES},set maxTextures(l){this.MAX_TEXTURES=l},get boundSize(){return this.TEXTURE_TILE_DIMEN},set boundSize(l){this.TILE_TEXTURE_DIMEN=l},get boundCountPerBuffer(){return this.TEXTILE_UNITS},set boundCountPerBuffer(l){this.TEXTILE_UNITS=l}},tt=p;var et=(l=>(l[l.U=0]="U",l[l.V=1]="V",l[l.X=2]="X",l[l.Y=3]="Y",l[l.TILE_WIDTH=4]="TILE_WIDTH",l[l.TILE_HEIGHT=5]="TILE_HEIGHT",l[l.ROTATE=6]="ROTATE",l[l.ANIM_X=7]="ANIM_X",l[l.ANIM_Y=8]="ANIM_Y",l[l.TEXTURE_INDEX=9]="TEXTURE_INDEX",l[l.ANIM_COUNT_X=10]="ANIM_COUNT_X",l[l.ANIM_COUNT_Y=11]="ANIM_COUNT_Y",l[l.ANIM_DIVISOR=12]="ANIM_DIVISOR",l[l.ALPHA=13]="ALPHA",l))(et||{});const y=Object.keys(et).length/2;class C extends V.Container{constructor(t){super(),this.shadowColor=new Float32Array([0,0,0,.5]),this._globalMat=null,this.tileAnim=null,this.modificationMarker=0,this.offsetX=0,this.offsetY=0,this.compositeParent=!1,this.tilemapBounds=new V.Bounds,this.hasAnimatedTile=!1,this.pointsBuf=[],this.renderCanvas=e=>{const i=D.getInstance(e);if(i&&!i.dontUseTransform){const s=this.worldTransform;e.canvasContext.activeContext.setTransform(s.a,s.b,s.c,s.d,s.tx*e.resolution,s.ty*e.resolution)}this.renderCanvasCore(e)},this.vbId=0,this.vb=null,this.vbBuffer=null,this.vbArray=null,this.vbInts=null,this.setTileset(t)}getTileset(){return this.tileset}setTileset(t=[]){Array.isArray(t)||(t=[t]);for(let e=0;e0||n>0,v.push(o),v.push(h),v.push(e),v.push(i),v.push(c),v.push(d),v.push(r),v.push(g|0),v.push(n|0),v.push(f),v.push(M),v.push(B),v.push(S),v.push(T),this.tilemapBounds.addFramePad(e,i,e+c,i+d,0,0),this}tileRotate(t){const e=this.pointsBuf;e[e.length-(y-9)]=t}tileAnimX(t,e){const i=this.pointsBuf;i[i.length-(y-7)]=t,i[i.length-(y-10)]=e}tileAnimY(t,e){const i=this.pointsBuf;i[i.length-(y-8)]=t,i[i.length-(y-11)]=e}tileAnimDivisor(t){const e=this.pointsBuf;e[e.length-(y-12)]=t}tileAlpha(t){const e=this.pointsBuf;e[e.length-(y-13)]=t}renderCanvasCore(t){if(this.tileset.length===0)return;const e=this.pointsBuf,i=this.tileAnim||t.plugins.tilemap&&t.plugins.tilemap.tileAnim;t.canvasContext.activeContext.fillStyle="#000000";for(let s=0,a=e.length;s=0&&this.tileset[n]?(t.canvasContext.activeContext.globalAlpha=r,t.canvasContext.activeContext.drawImage(this.tileset[n].getDrawableSource(),f,o,d,g,h,c,d,g)):(t.canvasContext.activeContext.globalAlpha=.5,t.canvasContext.activeContext.fillRect(h,c,d,g)),t.canvasContext.activeContext.globalAlpha=1}}destroyVb(){this.vb&&(this.vb.destroy(),this.vb=null)}render(t){const e=t.plugins.tilemap,i=e.getShader();t.batch.setObjectRenderer(e),this._globalMat=i.uniforms.projTransMatrix,t.globalUniforms.uniforms.projectionMatrix.copyTo(this._globalMat).append(this.worldTransform),i.uniforms.shadowColor=this.shadowColor,i.uniforms.animationFrame=this.tileAnim||e.tileAnim,this.renderWebGLCore(t,e)}renderWebGLCore(t,e){const i=this.pointsBuf;if(i.length===0)return;const s=i.length/y,a=e.getShader(),f=this.tileset;if(f.length===0)return;e.bindTileTextures(t,f),t.shader.bind(a,!1);let o=this.vb;o||(o=e.createVb(),this.vb=o,this.vbId=o.id,this.vbBuffer=null,this.modificationMarker=0),e.checkIndexBuffer(s,o);const h=p.TEXTILE_UNITS,c=o.getBuffer("aVertexPosition"),d=s*o.vertPerQuad;if(d!==0){if(this.modificationMarker!==d){this.modificationMarker=d;const g=o.stride*d;if(!this.vbBuffer||this.vbBuffer.byteLength1?(M=X>>2,B=this.offsetX*(X&1),S=this.offsetY*(X>>1&1)):(M=X,B=0,S=0)}const I=i[T+2],L=i[T+3],b=i[T+4],_=i[T+5],x=i[T+0]+B,A=i[T+1]+S;let E=i[T+6];const ot=i[T+7],ht=i[T+8],ut=i[T+10]||1024,ft=i[T+11]||1024,N=ot+ut*2048,k=ht+ft*2048,H=i[T+12],U=i[T+13];let z,O,$,Q,q,K,Z,J;if(E===0)z=x,O=A,$=x+b,Q=A,q=x+b,K=A+_,Z=x,J=A+_;else{let X=b/2,w=_/2;E%4!==0&&(X=_/2,w=b/2);const W=x+X,j=A+w;E=u.groupD8.add(E,u.groupD8.NW),z=W+X*u.groupD8.uX(E),O=j+w*u.groupD8.uY(E),E=u.groupD8.add(E,2),$=W+X*u.groupD8.uX(E),Q=j+w*u.groupD8.uY(E),E=u.groupD8.add(E,2),q=W+X*u.groupD8.uX(E),K=j+w*u.groupD8.uY(E),E=u.groupD8.add(E,2),Z=W+X*u.groupD8.uX(E),J=j+w*u.groupD8.uY(E)}n[r++]=I,n[r++]=L,n[r++]=z,n[r++]=O,n[r++]=x+.5,n[r++]=A+.5,n[r++]=x+b-.5,n[r++]=A+_-.5,n[r++]=N,n[r++]=k,n[r++]=M,n[r++]=H,n[r++]=U,n[r++]=I+b,n[r++]=L,n[r++]=$,n[r++]=Q,n[r++]=x+.5,n[r++]=A+.5,n[r++]=x+b-.5,n[r++]=A+_-.5,n[r++]=N,n[r++]=k,n[r++]=M,n[r++]=H,n[r++]=U,n[r++]=I+b,n[r++]=L+_,n[r++]=q,n[r++]=K,n[r++]=x+.5,n[r++]=A+.5,n[r++]=x+b-.5,n[r++]=A+_-.5,n[r++]=N,n[r++]=k,n[r++]=M,n[r++]=H,n[r++]=U,n[r++]=I,n[r++]=L+_,n[r++]=Z,n[r++]=J,n[r++]=x+.5,n[r++]=A+.5,n[r++]=x+b-.5,n[r++]=A+_-.5,n[r++]=N,n[r++]=k,n[r++]=M,n[r++]=H,n[r++]=U}c.update(n)}t.geometry.bind(o,a),t.geometry.draw(u.DRAW_MODES.TRIANGLES,s*6,0)}}isModified(t){return!!(this.modificationMarker!==this.pointsBuf.length||t&&this.hasAnimatedTile)}clearModify(){this.modificationMarker=this.pointsBuf.length}_calculateBounds(){const{minX:t,minY:e,maxX:i,maxY:s}=this.tilemapBounds;this._bounds.addFrame(this.transform,t,e,i,s)}getLocalBounds(t){return this.children.length===0?this.tilemapBounds.getRectangle(t):super.getLocalBounds.call(this,t)}destroy(t){super.destroy(t),this.destroyVb()}addFrame(t,e,i,s,a){return this.tile(t,e,i,{animX:s,animY:a}),!0}addRect(t,e,i,s,a,f,o,h=0,c=0,d=0,g=1024,n=1024,r=1,M=1){return this.tile(t,s,a,{u:e,v:i,tileWidth:f,tileHeight:o,animX:h,animY:c,rotate:d,animCountX:g,animCountY:n,animDivisor:r,alpha:M})}}class F extends V.Container{constructor(t){super(),this.tileAnim=null,this.lastModifiedTilemap=null,this.modificationMarker=0,this.shadowColor=new Float32Array([0,0,0,.5]),this._globalMat=null,this.setBitmaps=this.tileset,this.tileset(t),this.texturesPerTilemap=p.TEXTURES_PER_TILEMAP}tileset(t){t||(t=[]);const e=this.texturesPerTilemap,i=this.children.length,s=Math.ceil(t.length/e);for(let a=0;a>0;let h=0;if(a=f[o],a)h=t%this.texturesPerTilemap;else{if(a=f[0],!a)return this;h=0}a.tile(h,e,i,s)}else{typeof t=="string"&&(t=u.Texture.from(t));for(let o=0;o=0;o--){const h=f[o];if(h.getTileset().length>0,M=t%this.texturesPerTilemap;return this.children[r]&&this.children[r].getTileset()?(this.lastModifiedTilemap=this.children[r],this.lastModifiedTilemap.addRect(M,e,i,s,a,f,o,h,c,d,g,n)):this.lastModifiedTilemap=null,this}get texPerChild(){return this.texturesPerTilemap}}class P extends u.Resource{constructor(t=p){super(t.TEXTILE_DIMEN*2,t.TEXTILE_DIMEN*Math.ceil(t.TEXTILE_UNITS/2)),this.baseTexture=null,this._clearBuffer=null;const e=this.tiles=new Array(t.TEXTILE_UNITS);this.doClear=!!t.DO_CLEAR,this.tileDimen=t.TEXTILE_DIMEN;for(let i=0;i>1),baseTexture:u.Texture.WHITE.baseTexture}}tile(t,e){const i=this.tiles[t];i.baseTexture!==e&&(i.baseTexture=e,this.baseTexture.update(),this.tiles[t].dirtyId=this.baseTexture.dirtyId)}bind(t){if(this.baseTexture)throw new Error("Only one baseTexture is allowed for this resource!");this.baseTexture=t,super.bind(t)}upload(t,e,i){const{gl:s}=t,{width:a,height:f}=this;s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.alphaMode===void 0||e.alphaMode===u.ALPHA_MODES.UNPACK),i.dirtyId<0&&(i.width=a,i.height=f,s.texImage2D(e.target,0,e.format,a,f,0,e.format,e.type,null));const o=this.doClear,h=this.tiles;o&&!this._clearBuffer&&(this._clearBuffer=new Uint8Array(p.TEXTILE_DIMEN*p.TEXTILE_DIMEN*4));for(let c=0;c=this.tiles[c].dirtyId)continue;const n=g.resource;!g.valid||!n||!n.source||(o&&(g.widthp.TEXTILE_UNITS*a)){if(p.TEXTILE_UNITS<=1)for(let o=0;o1/this._animationFps;)this._renderer.incrementAnimationFrameX(e),this._frameElapsedTime-=1/this._animationFps}updateFromObjectData(e,t){return e.content.opacity!==t.content.opacity&&this.setOpacity(t.content.opacity),e.content.tilemapJsonFile!==t.content.tilemapJsonFile&&this.setTilemapJsonFile(t.content.tilemapJsonFile),e.content.tilesetJsonFile!==t.content.tilesetJsonFile&&this.setTilesetJsonFile(t.content.tilesetJsonFile),e.content.displayMode!==t.content.displayMode&&this.setDisplayMode(t.content.displayMode),e.content.layerIndex!==t.content.layerIndex&&this.setLayerIndex(t.content.layerIndex),e.content.levelIndex!==t.content.levelIndex&&this.setLevelIndex(t.content.levelIndex),e.content.animationSpeedScale!==t.content.animationSpeedScale&&this.setAnimationSpeedScale(t.content.animationSpeedScale),e.content.animationFps!==t.content.animationFps&&this.setAnimationFps(t.content.animationFps),e.content.tilemapAtlasImage===t.content.tilemapAtlasImage}extraInitializationFromInitialInstance(e){e.customSize&&(this.setWidth(e.width),this.setHeight(e.height))}_updateTileMap(){this._tileMapManager.getOrLoadTileMap(this._tilemapJsonFile,this._tilesetJsonFile,this._levelIndex,e=>{!e||this._tileMapManager.getOrLoadTextureCache(t=>{const n=this.getInstanceContainer().getGame(),s=n.resolveEmbeddedResource(this._tilemapJsonFile,t);return n.getImageManager().getPIXITexture(s)},this._tilemapAtlasImage,this._tilemapJsonFile,this._tilesetJsonFile,this._levelIndex,t=>{!t||this._renderer.updatePixiTileMap(e,t)})})}onDestroyed(){super.onDestroyed(),this._renderer.destroy()}setTilemapJsonFile(e){this._tilemapJsonFile=e,this._updateTileMap()}getTilemapJsonFile(){return this._tilemapJsonFile}isTilemapJsonFile(e){return this._tilemapJsonFile===e}setTilesetJsonFile(e){this._tilesetJsonFile=e,this._updateTileMap()}getTilesetJsonFile(){return this._tilesetJsonFile}setAnimationFps(e){this._animationFps=e}getAnimationFps(){return this._animationFps}isTilesetJsonFile(e){return this._tilesetJsonFile===e}isDisplayMode(e){return this._displayMode===e}setDisplayMode(e){this._displayMode=e,this._updateTileMap()}getDisplayMode(){return this._displayMode}setLayerIndex(e){this._layerIndex=e,this._updateTileMap()}getLayerIndex(){return this._layerIndex}setLevelIndex(e){this._levelIndex=e,this._updateTileMap()}getLevelIndex(){return this._levelIndex}setAnimationSpeedScale(e){this._animationSpeedScale=e}getAnimationSpeedScale(){return this._animationSpeedScale}setWidth(e){this.getWidth()!==e&&(this._renderer.setWidth(e),this.invalidateHitboxes())}setHeight(e){this.getHeight()!==e&&(this._renderer.setHeight(e),this.invalidateHitboxes())}setSize(e,t){this.setWidth(e),this.setHeight(t)}getScale(){const e=this.getScaleX(),t=this.getScaleY();return e===t?e:Math.sqrt(e*t)}setScale(e){this.setScaleX(e),this.setScaleY(e)}setScaleX(e){e<0&&(e=0),this.getScaleX()!==e&&(this._renderer.setScaleX(e),this.invalidateHitboxes())}setScaleY(e){e<0&&(e=0),this.getScaleY()!==e&&(this._renderer.setScaleY(e),this.invalidateHitboxes())}setX(e){super.setX(e),this._renderer.updatePosition()}setY(e){super.setY(e),this._renderer.updatePosition()}setAngle(e){super.setAngle(e),this._renderer.updateAngle()}setOpacity(e){this._opacity=e,this._renderer.updateOpacity()}getOpacity(){return this._opacity}getWidth(){return this._renderer.getWidth()}getHeight(){return this._renderer.getHeight()}getScaleX(){return this._renderer.getScaleX()}getScaleY(){return this._renderer.getScaleY()}}i.TileMapRuntimeObject=l,i.registerObject("TileMap::TileMap",i.TileMapRuntimeObject)})(gdjs||(gdjs={})); +//# sourceMappingURL=tilemapruntimeobject.js.map diff --git a/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js b/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js new file mode 100644 index 00000000..bc081232 --- /dev/null +++ b/Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){class s{constructor(t,e,r){this._object=t;const d=e.getGame().getImageManager().getPIXITexture(r);this._tiledSprite=new PIXI.TilingSprite(d,1024,1024),e.getLayer("").getRenderer().addRendererObject(this._tiledSprite,t.getZOrder()),this.updatePosition(),this.updateAngle(),this.updateXOffset(),this.updateYOffset()}getRendererObject(){return this._tiledSprite}updateOpacity(){this._tiledSprite.alpha=this._object.opacity/255}updatePosition(){this._tiledSprite.position.x=this._object.x+this._tiledSprite.width/2,this._tiledSprite.position.y=this._object.y+this._tiledSprite.height/2}setTexture(t,e){const r=e.getGame().getImageManager().getPIXITexture(t);this._tiledSprite.texture=r,this.updatePosition()}updateAngle(){this._tiledSprite.rotation=i.toRad(this._object.angle)}getWidth(){return this._tiledSprite.width}getHeight(){return this._tiledSprite.height}setWidth(t){this._tiledSprite.width=t,this._tiledSprite.pivot.x=t/2,this.updatePosition()}setHeight(t){this._tiledSprite.height=t,this._tiledSprite.pivot.y=t/2,this.updatePosition()}updateXOffset(){this._tiledSprite.tilePosition.x=-this._object._xOffset%this._tiledSprite.texture.width}updateYOffset(){this._tiledSprite.tilePosition.y=-this._object._yOffset%this._tiledSprite.texture.height}setColor(t){const e=t.split(";");e.length<3||(this._tiledSprite.tint="0x"+i.rgbToHex(parseInt(e[0],10),parseInt(e[1],10),parseInt(e[2],10)))}getColor(){const t=new PIXI.Color(this._tiledSprite.tint).toRgbArray();return Math.floor(t[0]*255)+";"+Math.floor(t[1]*255)+";"+Math.floor(t[2]*255)}getTextureWidth(){return this._tiledSprite.texture.width}getTextureHeight(){return this._tiledSprite.texture.height}destroy(){this._tiledSprite.destroy(!1)}}i.TiledSpriteRuntimeObjectRenderer=s})(gdjs||(gdjs={})); +//# sourceMappingURL=tiledspriteruntimeobject-pixi-renderer.js.map diff --git a/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js b/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js new file mode 100644 index 00000000..dbce49e6 --- /dev/null +++ b/Extensions/TiledSpriteObject/tiledspriteruntimeobject.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){class r extends i.RuntimeObject{constructor(e,t){super(e,t);this._xOffset=0;this._yOffset=0;this.opacity=255;this._renderer=new i.TiledSpriteRuntimeObjectRenderer(this,e,t.texture),this._width=0,this._height=0,this.setWidth(t.width),this.setHeight(t.height),this.onCreated()}updateFromObjectData(e,t){return e.texture!==t.texture&&this.setTexture(t.texture,this.getRuntimeScene()),e.width!==t.width&&this.setWidth(t.width),e.height!==t.height&&this.setHeight(t.height),!0}getRendererObject(){return this._renderer.getRendererObject()}onDestroyed(){super.onDestroyed(),this._renderer.destroy()}extraInitializationFromInitialInstance(e){e.customSize&&(this.setWidth(e.width),this.setHeight(e.height))}setX(e){super.setX(e),this._renderer.updatePosition()}setY(e){super.setY(e),this._renderer.updatePosition()}setTexture(e,t){this._renderer.setTexture(e,t)}setAngle(e){super.setAngle(e),this._renderer.updateAngle()}getWidth(){return this._width}getHeight(){return this._height}setWidth(e){this._width!==e&&(this._width=e,this._renderer.setWidth(e),this.invalidateHitboxes())}setHeight(e){this._height!==e&&(this._height=e,this._renderer.setHeight(e),this.invalidateHitboxes())}setSize(e,t){this.setWidth(e),this.setHeight(t)}setXOffset(e){this._xOffset=e,this._renderer.updateXOffset()}setYOffset(e){this._yOffset=e,this._renderer.updateYOffset()}getXOffset(){return this._xOffset}getYOffset(){return this._yOffset}setOpacity(e){e<0&&(e=0),e>255&&(e=255),this.opacity=e,this._renderer.updateOpacity()}getOpacity(){return this.opacity}setColor(e){this._renderer.setColor(e)}getColor(){return this._renderer.getColor()}getScale(){const e=Math.abs(this.getScaleX()),t=Math.abs(this.getScaleY());return e===t?e:Math.sqrt(e*t)}getScaleX(){return this._width/this._renderer.getTextureWidth()}getScaleY(){return this._height/this._renderer.getTextureHeight()}setScale(e){this.setWidth(this._renderer.getTextureWidth()*e),this.setHeight(this._renderer.getTextureHeight()*e)}setScaleX(e){this.setWidth(this._renderer.getTextureWidth()*e)}setScaleY(e){this.setHeight(this._renderer.getTextureHeight()*e)}}i.TiledSpriteRuntimeObject=r,i.registerObject("TiledSpriteObject::TiledSprite",i.TiledSpriteRuntimeObject)})(gdjs||(gdjs={})); +//# sourceMappingURL=tiledspriteruntimeobject.js.map diff --git a/Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js b/Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js new file mode 100644 index 00000000..6fa8ae84 --- /dev/null +++ b/Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(a){class m extends a.RuntimeBehavior{constructor(e,t,g){super(e,t,g);this._angle=0;this._xVelocity=0;this._yVelocity=0;this._angularSpeed=0;this._leftKey=!1;this._rightKey=!1;this._upKey=!1;this._downKey=!1;this._leftKeyPressedDuration=0;this._rightKeyPressedDuration=0;this._upKeyPressedDuration=0;this._downKeyPressedDuration=0;this._wasStickUsed=!1;this._stickAngle=0;this._stickForce=0;this._temporaryPointForTransformations=[0,0];this._topDownMovementHooks=[];this._allowDiagonals=t.allowDiagonals,this._acceleration=t.acceleration,this._deceleration=t.deceleration,this._maxSpeed=t.maxSpeed,this._angularMaxSpeed=t.angularMaxSpeed,this._rotateObject=t.rotateObject,this._angleOffset=t.angleOffset,this._ignoreDefaultControls=t.ignoreDefaultControls,this.setViewpoint(t.viewpoint,t.customIsometryAngle),this._movementAngleOffset=t.movementAngleOffset||0}updateFromBehaviorData(e,t){return e.allowDiagonals!==t.allowDiagonals&&(this._allowDiagonals=t.allowDiagonals),e.acceleration!==t.acceleration&&(this._acceleration=t.acceleration),e.deceleration!==t.deceleration&&(this._deceleration=t.deceleration),e.maxSpeed!==t.maxSpeed&&(this._maxSpeed=t.maxSpeed),e.angularMaxSpeed!==t.angularMaxSpeed&&(this._angularMaxSpeed=t.angularMaxSpeed),e.rotateObject!==t.rotateObject&&(this._rotateObject=t.rotateObject),e.angleOffset!==t.angleOffset&&(this._angleOffset=t.angleOffset),e.ignoreDefaultControls!==t.ignoreDefaultControls&&(this._ignoreDefaultControls=t.ignoreDefaultControls),(e.platformType!==t.platformType||e.customIsometryAngle!==t.customIsometryAngle)&&this.setViewpoint(t.platformType,t.customIsometryAngle),e.movementAngleOffset!==t.movementAngleOffset&&(this._movementAngleOffset=t.movementAngleOffset),!0}setViewpoint(e,t){e==="PixelIsometry"?this._basisTransformation=new a.TopDownMovementRuntimeBehavior.IsometryTransformation(Math.atan(.5)):e==="TrueIsometry"?this._basisTransformation=new a.TopDownMovementRuntimeBehavior.IsometryTransformation(Math.PI/6):e==="CustomIsometry"?this._basisTransformation=new a.TopDownMovementRuntimeBehavior.IsometryTransformation(t*Math.PI/180):this._basisTransformation=null}setAcceleration(e){this._acceleration=e}getAcceleration(){return this._acceleration}setDeceleration(e){this._deceleration=e}getDeceleration(){return this._deceleration}setMaxSpeed(e){this._maxSpeed=e}getMaxSpeed(){return this._maxSpeed}setAngularMaxSpeed(e){this._angularMaxSpeed=e}getAngularMaxSpeed(){return this._angularMaxSpeed}setAngleOffset(e){this._angleOffset=e}getAngleOffset(){return this._angleOffset}allowDiagonals(e){this._allowDiagonals=e}diagonalsAllowed(){return this._allowDiagonals}setRotateObject(e){this._rotateObject=e}isObjectRotated(){return this._rotateObject}isMoving(){return this._xVelocity!==0||this._yVelocity!==0}getSpeed(){return Math.sqrt(this._xVelocity*this._xVelocity+this._yVelocity*this._yVelocity)}getXVelocity(){return this._xVelocity}setXVelocity(e){this._xVelocity=e}getYVelocity(){return this._yVelocity}setYVelocity(e){this._yVelocity=e}getAngle(){return this._angle}isMovementAngleAround(e,t){return Math.abs(a.evtTools.common.angleDifference(this._angle,e))<=t}setMovementAngleOffset(e){this._movementAngleOffset=e}getMovementAngleOffset(){return this._movementAngleOffset}doStepPreEvents(e){const t=37,g=38,p=39,r=40;this._leftKey|=!this._ignoreDefaultControls&&e.getGame().getInputManager().isKeyPressed(t),this._rightKey|=!this._ignoreDefaultControls&&e.getGame().getInputManager().isKeyPressed(p),this._downKey|=!this._ignoreDefaultControls&&e.getGame().getInputManager().isKeyPressed(r),this._upKey|=!this._ignoreDefaultControls&&e.getGame().getInputManager().isKeyPressed(g);const f=this.owner.getElapsedTime();this._leftKey?this._leftKeyPressedDuration+=f:this._leftKeyPressedDuration=0,this._rightKey?this._rightKeyPressedDuration+=f:this._rightKeyPressedDuration=0,this._downKey?this._downKeyPressedDuration+=f:this._downKeyPressedDuration=0,this._upKey?this._upKeyPressedDuration+=f:this._upKeyPressedDuration=0;let o=-1;this._allowDiagonals?this._upKey&&!this._downKey?this._leftKey&&!this._rightKey?o=5:!this._leftKey&&this._rightKey?o=7:o=6:!this._upKey&&this._downKey?this._leftKey&&!this._rightKey?o=3:!this._leftKey&&this._rightKey?o=1:o=2:this._leftKey&&!this._rightKey?o=4:!this._leftKey&&this._rightKey&&(o=0):(this._upKey&&!this._downKey?o=6:!this._upKey&&this._downKey&&(o=2),this._leftKey&&!this._rightKey&&(this._upKey===this._downKey||this._upKey&&this._leftKeyPressedDuration=0,x=this._yVelocity>=0;s=Math.cos(_),n=Math.sin(_),(s===-1||s===1)&&(n=0),(n===-1||n===1)&&(s=0),this._xVelocity-=this._deceleration*c*s,this._yVelocity-=this._deceleration*c*n,this._xVelocity>0!==i&&(this._xVelocity=0),this._yVelocity>0!==x&&(this._yVelocity=0)}this._xVelocity*this._xVelocity+this._yVelocity*this._yVelocity>this._maxSpeed*this._maxSpeed&&(this._xVelocity=this._maxSpeed*s,this._yVelocity=this._maxSpeed*n),this._angularSpeed=this._angularMaxSpeed;for(const i of this._topDownMovementHooks)i.beforePositionUpdate(h);const u=(M+this._xVelocity)/2*c,d=(v+this._yVelocity)/2*c;if(this._basisTransformation===null)l.setX(l.getX()+u),l.setY(l.getY()+d);else{const i=this._temporaryPointForTransformations;i[0]=u,i[1]=d,this._basisTransformation.toScreen(i,i),l.setX(l.getX()+i[0]),l.setY(l.getY()+i[1])}(this._xVelocity!==0||this._yVelocity!==0)&&(this._angle=y,this._rotateObject&&l.rotateTowardAngle(y+this._angleOffset,this._angularSpeed)),this._leftKey=!1,this._rightKey=!1,this._upKey=!1,this._downKey=!1}simulateControl(e){e==="Left"?this._leftKey=!0:e==="Right"?this._rightKey=!0:e==="Up"?this._upKey=!0:e==="Down"&&(this._downKey=!0)}ignoreDefaultControls(e){this._ignoreDefaultControls=e}simulateLeftKey(){this._leftKey=!0}simulateRightKey(){this._rightKey=!0}simulateUpKey(){this._upKey=!0}simulateDownKey(){this._downKey=!0}simulateStick(e,t){this._stickAngle=e%360,this._stickForce=Math.max(0,Math.min(1,t))}isUsingControl(e){return e==="Left"?this._leftKeyPressedDuration>0:e==="Right"?this._rightKeyPressedDuration>0:e==="Up"?this._upKeyPressedDuration>0:e==="Down"?this._downKeyPressedDuration>0:e==="Stick"?this._wasStickUsed:!1}getLastStickInputAngle(){return this._stickAngle}registerHook(e){this._topDownMovementHooks.push(e)}}a.TopDownMovementRuntimeBehavior=m,function(g){class K{constructor(){this.direction=-1}getDirection(){return this.direction}_setDirection(r){this.direction=r}}g.TopDownMovementHookContext=K,g._topDownMovementHookContext=new a.TopDownMovementRuntimeBehavior.TopDownMovementHookContext;class t{constructor(r){if(r<=0||r>=Math.PI/4)throw new RangeError("An isometry angle must be in ]0; pi/4] but was: "+r);const f=Math.asin(Math.tan(r)),o=Math.sin(f),h=Math.cos(Math.PI/4),l=h;this._screen=[[h,-l],[o*l,o*h]]}toScreen(r,f){const o=this._screen[0][0]*r[0]+this._screen[0][1]*r[1],h=this._screen[1][0]*r[0]+this._screen[1][1]*r[1];f[0]=o,f[1]=h}}g.IsometryTransformation=t}(m=a.TopDownMovementRuntimeBehavior||(a.TopDownMovementRuntimeBehavior={})),a.registerBehavior("TopDownMovementBehavior::TopDownMovementBehavior",a.TopDownMovementRuntimeBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=topdownmovementruntimebehavior.js.map diff --git a/Extensions/TweenBehavior/TweenManager.js b/Extensions/TweenBehavior/TweenManager.js new file mode 100644 index 00000000..540455bc --- /dev/null +++ b/Extensions/TweenBehavior/TweenManager.js @@ -0,0 +1,13 @@ +var gdjs;(function(d){let b;(function(f){let v;(function(l){class p{constructor(){this._tweens=new Map;this._activeTweens=new Array}step(){let t=0;for(let n=0;na===t);this._activeTweens.splice(n,1)}getProgress(t){const n=this._tweens.get(t);return n?n.getProgress():0}getValue(t){const n=this._tweens.get(t);return n?n.getValue():0}}l.TweenManager=p;const T=()=>{};class w{constructor(t,n,a,r,i){this.isPaused=!1;this.timeSource=t,this.totalDuration=n,this.easing=a,this.interpolate=r,this.elapsedTime=0,this.onFinish=i||T}step(){!this.isPlaying()||(this.elapsedTime=Math.min(this.elapsedTime+this.timeSource.getElapsedTime()/1e3,this.totalDuration),this._updateValue())}isPlaying(){return!this.isPaused&&!this.hasFinished()}hasFinished(){return this.elapsedTime===this.totalDuration}stop(t){this.elapsedTime=this.totalDuration,t&&this._updateValue()}resume(){this.isPaused=!1}pause(){this.isPaused=!0}getProgress(){return this.elapsedTime/this.totalDuration}}l.AbstractTweenInstance=w;class M extends w{constructor(t,n,a,r,i,s,u,o){super(t,n,a,r,o);this.initialValue=i,this.currentValue=i,this.targetedValue=s,this.setValue=u}_updateValue(){const t=this.easing(this.getProgress()),n=this.interpolate(this.initialValue,this.targetedValue,t);this.currentValue=n,this.setValue(n),this.hasFinished()&&this.onFinish()}getValue(){return this.currentValue}}l.SimpleTweenInstance=M;class I extends w{constructor(t,n,a,r,i,s,u,o){super(t,n,a,r,o);this.currentValues=new Array;this.initialValue=i,this.targetedValue=s,this.setValue=u}_updateValue(){const t=this.easing(this.getProgress()),n=this.initialValue.length;this.currentValues.length=n;for(let a=0;a{e/=255,t/=255,n/=255;let a=Math.max(e,t,n),r=a-Math.min(e,t,n),i=1-Math.abs(a+a-r-1),s=r&&(a===e?(t-n)/r:a===t?2+(n-e)/r:4+(e-t)/r);return[Math.round(60*(s<0?s+6:s)),Math.round((i?r/i:0)*100),Math.round((a+a-r)/2*100)]},l.hslToRgb=(e,t,n)=>{e=e%=360,e<0&&(e+=360),t=t/100,n=n/100;const a=t*Math.min(n,1-n),r=(i=0,s=(i+e/30)%12)=>n-a*Math.max(Math.min(s-3,9-s,1),-1);return[Math.round(r(0)*255),Math.round(r(8)*255),Math.round(r(4)*255)]},l.ease=(e,t,n,a)=>{const r=d.evtTools.tween.easingFunctions,i=r.hasOwnProperty(e)?r[e]:r.linear;return t+(n-t)*i(a)};/*! + * All equations are adapted from Thomas Fuchs' + * [Scripty2](https://github.com/madrobby/scripty2/blob/master/src/effects/transitions/penner.js). + * + * Based on Easing Equations (c) 2003 [Robert + * Penner](http://www.robertpenner.com/), all rights reserved. This work is + * [subject to terms](http://www.robertpenner.com/easing_terms_of_use.html). + *//*! + * TERMS OF USE - EASING EQUATIONS + * Open source under the BSD License. + * Easing Equations (c) 2003 Robert Penner, all rights reserved. + *//*! Shifty 3.0.3 - https://github.com/jeremyckahn/shifty */l.easingFunctions={linear:e=>e,easeInQuad:e=>Math.pow(e,2),easeOutQuad:e=>-(Math.pow(e-1,2)-1),easeInOutQuad:e=>(e/=.5)<1?.5*Math.pow(e,2):-.5*((e-=2)*e-2),easeInCubic:e=>Math.pow(e,3),easeOutCubic:e=>Math.pow(e-1,3)+1,easeInOutCubic:e=>(e/=.5)<1?.5*Math.pow(e,3):.5*(Math.pow(e-2,3)+2),easeInQuart:e=>Math.pow(e,4),easeOutQuart:e=>-(Math.pow(e-1,4)-1),easeInOutQuart:e=>(e/=.5)<1?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2),easeInQuint:e=>Math.pow(e,5),easeOutQuint:e=>Math.pow(e-1,5)+1,easeInOutQuint:e=>(e/=.5)<1?.5*Math.pow(e,5):.5*(Math.pow(e-2,5)+2),easeInSine:e=>-Math.cos(e*(Math.PI/2))+1,easeOutSine:e=>Math.sin(e*(Math.PI/2)),easeInOutSine:e=>-.5*(Math.cos(Math.PI*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>e===0?0:e===1?1:(e/=.5)<1?.5*Math.pow(2,10*(e-1)):.5*(-Math.pow(2,-10*--e)+2),easeInCirc:e=>-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-Math.pow(e-1,2)),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeOutBounce:e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,easeInBack:e=>{const t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:e=>{const t=1.70158;return(e=e-1)*e*((t+1)*e+t)+1},easeInOutBack:e=>{let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},elastic:e=>-1*Math.pow(4,-8*e)*Math.sin((e*6-1)*(2*Math.PI)/2)+1,swingFromTo:e=>{let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},swingFrom:e=>{const t=1.70158;return e*e*((t+1)*e-t)},swingTo:e=>{const t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},bounce:e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,bouncePast:e=>e<1/2.75?7.5625*e*e:e<2/2.75?2-(7.5625*(e-=1.5/2.75)*e+.75):e<2.5/2.75?2-(7.5625*(e-=2.25/2.75)*e+.9375):2-(7.5625*(e-=2.625/2.75)*e+.984375),easeFromTo:e=>(e/=.5)<1?.5*Math.pow(e,4):-.5*((e-=2)*Math.pow(e,3)-2),easeFrom:e=>Math.pow(e,4),easeTo:e=>Math.pow(e,.25)}})(v=f.tween||(f.tween={}))})(b=d.evtTools||(d.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=TweenManager.js.map diff --git a/Extensions/TweenBehavior/tweenruntimebehavior.js b/Extensions/TweenBehavior/tweenruntimebehavior.js new file mode 100644 index 00000000..50e8cc85 --- /dev/null +++ b/Extensions/TweenBehavior/tweenruntimebehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(w){const p=new w.Logger("Tween");function O(h){return h.setScaleX&&h.setScaleY&&h.getScaleX&&h.getScaleY}function R(h){return h.setOpacity&&h.getOpacity}function S(h){return h.getZ&&h.setZ}function C(h){return h.setColor&&h.getColor}function F(h){return h.setCharacterSize&&h.getCharacterSize}const g=w.evtTools.common.lerp,m=w.evtTools.common.exponentialInterpolation;class X extends w.RuntimeBehavior{constructor(e,t,n){super(e,t,n);this._tweens=new w.evtTools.tween.TweenManager;this._isActive=!0}updateFromBehaviorData(e,t){return!0}doStepPreEvents(e){this._tweens.step()}_deleteFromScene(){this.owner.deleteFromScene(this.owner.getInstanceContainer())}addVariableTween(e,t,n,o,i,s,r){this._tweens.addSimpleTween(e,this.owner.getRuntimeScene(),s/1e3,i,g,n,o,a=>t.setNumber(a),r?()=>this._deleteFromScene():null)}addVariableTween2(e,t,n,o,i,s){this._addVariableTween(e,t,n,o,i/1e3,s,this.owner.getRuntimeScene())}addVariableTween3(e,t,n,o,i,s){this._addVariableTween(e,t,n,o,i,s,this.owner)}_addVariableTween(e,t,n,o,i,s,r){t.getType()==="number"&&this._tweens.addSimpleTween(e,r,i,o,g,t.getValue(),n,a=>t.setNumber(a),s?()=>this._deleteFromScene():null)}addValueTween(e,t,n,o,i,s,r){this._tweens.addSimpleTween(e,this.owner,i,o,s?m:g,t,n,a=>{},r?()=>this._deleteFromScene():null)}addObjectPositionTween(e,t,n,o,i,s){this._addObjectPositionTween(e,t,n,o,i/1e3,s,this.owner.getRuntimeScene())}addObjectPositionTween2(e,t,n,o,i,s){this._addObjectPositionTween(e,t,n,o,i,s,this.owner)}_addObjectPositionTween(e,t,n,o,i,s,r){this._tweens.addMultiTween(e,r,i,o,g,[this.owner.getX(),this.owner.getY()],[t,n],([a,l])=>this.owner.setPosition(a,l),s?()=>this._deleteFromScene():null)}addObjectPositionXTween(e,t,n,o,i){this._addObjectPositionXTween(e,t,n,o/1e3,i,this.owner.getRuntimeScene())}addObjectPositionXTween2(e,t,n,o,i){this._addObjectPositionXTween(e,t,n,o,i,this.owner)}_addObjectPositionXTween(e,t,n,o,i,s){this._tweens.addSimpleTween(e,s,o,n,g,this.owner.getX(),t,r=>this.owner.setX(r),i?()=>this._deleteFromScene():null)}addObjectPositionYTween(e,t,n,o,i){this._addObjectPositionYTween(e,t,n,o/1e3,i,this.owner.getRuntimeScene())}addObjectPositionYTween2(e,t,n,o,i){this._addObjectPositionYTween(e,t,n,o,i,this.owner)}_addObjectPositionYTween(e,t,n,o,i,s){this._tweens.addSimpleTween(e,s,o,n,g,this.owner.getY(),t,r=>this.owner.setY(r),i?()=>this._deleteFromScene():null)}addObjectPositionZTween(e,t,n,o,i){this._addObjectPositionZTween(e,t,n,o/1e3,i,this.owner.getRuntimeScene())}addObjectPositionZTween2(e,t,n,o,i,s){this._addObjectPositionZTween(t,n,o,i,s,this.owner)}_addObjectPositionZTween(e,t,n,o,i,s){const{owner:r}=this;!S(r)||this._tweens.addSimpleTween(e,s,o,n,g,r.getZ(),t,a=>r.setZ(a),i?()=>this._deleteFromScene():null)}addObjectAngleTween(e,t,n,o,i){this._addObjectAngleTween(e,t,n,o/1e3,i,this.owner.getRuntimeScene())}addObjectAngleTween2(e,t,n,o,i){this._addObjectAngleTween(e,t,n,o,i,this.owner)}_addObjectAngleTween(e,t,n,o,i,s){this._tweens.addSimpleTween(e,s,o,n,g,this.owner.getAngle(),t,r=>this.owner.setAngle(r),i?()=>this._deleteFromScene():null)}addObjectRotationXTween(e,t,n,o,i,s){const{owner:r}=this;!S(r)||this._tweens.addSimpleTween(t,this.owner,i,o,g,r.getRotationX(),n,a=>r.setRotationX(a),s?()=>this._deleteFromScene():null)}addObjectRotationYTween(e,t,n,o,i,s){const{owner:r}=this;!S(r)||this._tweens.addSimpleTween(t,this.owner,i,o,g,r.getRotationY(),n,a=>r.setRotationY(a),s?()=>this._deleteFromScene():null)}addObjectScaleTween(e,t,n,o,i,s,r){this._addObjectScaleTween(e,t,n,o,i/1e3,s,r,this.owner.getRuntimeScene(),g)}addObjectScaleTween2(e,t,n,o,i,s,r){this._addObjectScaleTween(e,t,n,o,i,s,r,this.owner,m)}_addObjectScaleTween(e,t,n,o,i,s,r,a,l){const d=this.owner;if(!O(d))return;t<0&&(t=0),n<0&&(n=0);const c=r?([b,T])=>{const f=d.getCenterXInScene(),u=d.getCenterYInScene();d.setScaleX(b),d.setScaleY(T),d.setCenterPositionInScene(f,u)}:([b,T])=>{d.setScaleX(b),d.setScaleY(T)};this._tweens.addMultiTween(e,a,i,o,l,[d.getScaleX(),d.getScaleY()],[t,n],c,s?()=>this._deleteFromScene():null)}addObjectScaleTween3(e,t,n,o,i,s){this._addObjectScaleXTween(e,t,n,o,i,s,this.owner,m);const r=this.owner;if(!O(r))return;const a=S(r)?r:null,l=s?d=>{const c=r.getCenterXInScene(),b=r.getCenterYInScene(),T=a?a.getCenterZInScene():0;r.setScale(d),r.setCenterXInScene(c),r.setCenterYInScene(b),a&&a.setCenterZInScene(T)}:d=>r.setScale(d);this._tweens.addSimpleTween(e,this.owner,o,n,m,r.getScale(),t,l,i?()=>this._deleteFromScene():null)}addObjectScaleXTween(e,t,n,o,i,s){this._addObjectScaleXTween(e,t,n,o/1e3,i,s,this.owner.getRuntimeScene(),g)}addObjectScaleXTween2(e,t,n,o,i,s){this._addObjectScaleXTween(e,t,n,o,i,s,this.owner,m)}_addObjectScaleXTween(e,t,n,o,i,s,r,a){const l=this.owner;if(!O(l))return;const d=s?c=>{const b=l.getCenterXInScene();l.setScaleX(c),l.setCenterXInScene(b)}:c=>l.setScaleX(c);this._tweens.addSimpleTween(e,r,o,n,a,l.getScaleX(),t,d,i?()=>this._deleteFromScene():null)}addObjectScaleYTween(e,t,n,o,i,s){this._addObjectScaleYTween(e,t,n,o/1e3,i,s,this.owner.getRuntimeScene(),g)}addObjectScaleYTween2(e,t,n,o,i,s){this._addObjectScaleYTween(e,t,n,o,i,s,this.owner,m)}_addObjectScaleYTween(e,t,n,o,i,s,r,a){const l=this.owner;if(!O(l))return;const d=s?c=>{const b=l.getCenterYInScene();l.setScaleY(c),l.setCenterYInScene(b)}:c=>l.setScaleY(c);this._tweens.addSimpleTween(e,r,o,n,a,l.getScaleY(),t,d,i?()=>this._deleteFromScene():null)}addObjectOpacityTween(e,t,n,o,i){this._addObjectOpacityTween(e,t,n,o/1e3,i,this.owner.getRuntimeScene())}addObjectOpacityTween2(e,t,n,o,i){this._addObjectOpacityTween(e,t,n,o,i,this.owner)}_addObjectOpacityTween(e,t,n,o,i,s){const r=this.owner;!R(r)||this._tweens.addSimpleTween(e,s,o,n,g,r.getOpacity(),t,a=>r.setOpacity(a),i?()=>this._deleteFromScene():null)}addNumberEffectPropertyTween(e,t,n,o,i,s,r,a){const l=this.owner.getRendererEffects()[o];l||p.error(`The object "${this.owner.name}" doesn't have any effect called "${o}"`),this._tweens.addSimpleTween(t,this.owner,r,s,g,l?l.getDoubleParameter(i):0,n,d=>{l&&l.updateDoubleParameter(i,d)},a?()=>this._deleteFromScene():null)}addColorEffectPropertyTween(e,t,n,o,i,s,r,a){const l=this.owner.getRendererEffects()[o];l||p.error(`The object "${this.owner.name}" doesn't have any effect called "${o}"`);const d=w.hexNumberToRGB(l?l.getColorParameter(i):0),c=w.rgbOrHexToRGBColor(n);this._tweens.addMultiTween(t,this.owner,r,s,g,w.evtTools.tween.rgbToHsl(d.r,d.g,d.b),w.evtTools.tween.rgbToHsl(c[0],c[1],c[2]),([b,T,f])=>{if(l){const u=w.evtTools.tween.hslToRgb(b,T,f);l.updateColorParameter(i,w.rgbToHexNumber(u[0],u[1],u[2]))}},a?()=>this._deleteFromScene():null)}addObjectColorTween(e,t,n,o,i,s){this._addObjectColorTween(e,t,n,o/1e3,i,s,this.owner.getRuntimeScene())}addObjectColorTween2(e,t,n,o,i,s=!0){this._addObjectColorTween(e,t,n,o,i,s,this.owner)}_addObjectColorTween(e,t,n,o,i,s,r){const a=this.owner;if(!C(a))return;const l=w.rgbOrHexToRGBColor(a.getColor()),d=w.rgbOrHexToRGBColor(t);let c,b,T;s?(c=w.evtTools.tween.rgbToHsl(l[0],l[1],l[2]),b=w.evtTools.tween.rgbToHsl(d[0],d[1],d[2]),T=([f,u,j])=>{const _=w.evtTools.tween.hslToRgb(f,u,j);a.setColor(Math.floor(_[0])+";"+Math.floor(_[1])+";"+Math.floor(_[2]))}):(c=l,b=d,T=([f,u,j])=>{a.setColor(Math.floor(f)+";"+Math.floor(u)+";"+Math.floor(j))}),this._tweens.addMultiTween(e,r,o,n,g,c,b,T,i?()=>this._deleteFromScene():null)}addObjectColorHSLTween(e,t,n,o,i,s,r,a){this._addObjectColorHSLTween(e,t,n,o,i,s,r/1e3,a,this.owner.getRuntimeScene())}addObjectColorHSLTween2(e,t,n,o,i,s,r,a){this._addObjectColorHSLTween(e,t,n,o,i,s,r,a,this.owner)}_addObjectColorHSLTween(e,t,n,o,i,s,r,a,l){if(!C(this.owner))return;const d=this.owner,c=d.getColor().split(";");if(c.length<3)return;const b=w.evtTools.tween.rgbToHsl(parseFloat(c[0]),parseFloat(c[1]),parseFloat(c[2])),T=n?t:b[0],f=o===-1?b[1]:Math.min(Math.max(o,0),100),u=i===-1?b[2]:Math.min(Math.max(i,0),100);this._tweens.addMultiTween(e,l,r,s,g,b,[T,f,u],([j,_,P])=>{const v=w.evtTools.tween.hslToRgb(j,_,P);d.setColor(Math.floor(v[0])+";"+Math.floor(v[1])+";"+Math.floor(v[2]))},a?()=>this._deleteFromScene():null)}addTextObjectCharacterSizeTween(e,t,n,o,i){this._addTextObjectCharacterSizeTween(e,t,n,o/1e3,i,this.owner.getRuntimeScene(),g)}addTextObjectCharacterSizeTween2(e,t,n,o,i){this._addTextObjectCharacterSizeTween(e,t,n,o,i,this.owner,m)}_addTextObjectCharacterSizeTween(e,t,n,o,i,s,r){const a=this.owner;!F(a)||this._tweens.addSimpleTween(e,s,o,n,r,a.getCharacterSize(),t,l=>a.setCharacterSize(l),i?()=>this._deleteFromScene():null)}addObjectWidthTween(e,t,n,o,i){this._addObjectWidthTween(e,t,n,o/1e3,i,this.owner.getRuntimeScene())}addObjectWidthTween2(e,t,n,o,i){this._addObjectWidthTween(e,t,n,o,i,this.owner)}_addObjectWidthTween(e,t,n,o,i,s){this._tweens.addSimpleTween(e,s,o,n,g,this.owner.getWidth(),t,r=>this.owner.setWidth(r),i?()=>this._deleteFromScene():null)}addObjectHeightTween(e,t,n,o,i){this._addObjectHeightTween(e,t,n,o/1e3,i,this.owner.getRuntimeScene())}addObjectHeightTween2(e,t,n,o,i){this._addObjectHeightTween(e,t,n,o,i,this.owner)}_addObjectHeightTween(e,t,n,o,i,s){this._tweens.addSimpleTween(e,s,o,n,g,this.owner.getHeight(),t,r=>this.owner.setHeight(r),i?()=>this._deleteFromScene():null)}addObjectDepthTween(e,t,n,o,i){this._addObjectDepthTween(e,t,n,o/1e3,i,this.owner.getRuntimeScene())}addObjectDepthTween2(e,t,n,o,i,s){this._addObjectDepthTween(t,n,o,i,s,this.owner)}_addObjectDepthTween(e,t,n,o,i,s){const{owner:r}=this;!S(r)||this._tweens.addSimpleTween(e,s,o,n,g,r.getDepth(),t,a=>r.setDepth(a),i?()=>this._deleteFromScene():null)}isPlaying(e){return this._tweens.isPlaying(e)}exists(e){return this._tweens.exists(e)}hasFinished(e){return this._tweens.hasFinished(e)}pauseTween(e){this._isActive&&this._tweens.pauseTween(e)}stopTween(e,t){this._isActive&&this._tweens.stopTween(e,t)}resumeTween(e){this._isActive&&this._tweens.resumeTween(e)}removeTween(e){this._tweens.removeTween(e)}getProgress(e){return this._tweens.getProgress(e)}getValue(e){return this._tweens.getValue(e)}onDeActivate(){this._isActive=!1}onActivate(){this._isActive=!0}}w.TweenRuntimeBehavior=X,w.registerBehavior("Tween::TweenBehavior",w.TweenRuntimeBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=tweenruntimebehavior.js.map diff --git a/Extensions/TweenBehavior/tweentools.js b/Extensions/TweenBehavior/tweentools.js new file mode 100644 index 00000000..ad79d161 --- /dev/null +++ b/Extensions/TweenBehavior/tweentools.js @@ -0,0 +1,2 @@ +var gdjs;(function(u){let v;(function(d){let w;(function(n){const x=new u.Logger("Tween");n.getTweensMap=e=>e._tweens||(e._tweens=new u.evtTools.tween.TweenManager),u.registerRuntimeScenePreEventsCallback(function(e){u.evtTools.tween.getTweensMap(e).step()}),n.sceneTweenExists=(e,t)=>n.getTweensMap(e).exists(t),n.sceneTweenIsPlaying=(e,t)=>n.getTweensMap(e).isPlaying(t),n.sceneTweenHasFinished=(e,t)=>n.getTweensMap(e).hasFinished(t),n.resumeSceneTween=(e,t)=>{n.getTweensMap(e).resumeTween(t)},n.pauseSceneTween=(e,t)=>{n.getTweensMap(e).pauseTween(t)},n.stopSceneTween=(e,t,r)=>{n.getTweensMap(e).stopTween(t,r)},n.removeSceneTween=(e,t)=>{n.getTweensMap(e).removeTween(t)},n.getProgress=(e,t)=>n.getTweensMap(e).getProgress(t),n.getValue=(e,t)=>n.getTweensMap(e).getValue(t);const b=u.evtTools.common.lerp,p=u.evtTools.common.exponentialInterpolation;n.addLayoutValueTween=(e,t,r,s,o,a,i)=>{n.getTweensMap(e).addSimpleTween(t,e,a,o,i?p:b,r,s,l=>{})},n.addLayerValueTween=(e,t,r,s,o,a,i,l)=>{const g=e.getLayer(l);n.getTweensMap(e).addSimpleTween(t,g,a,o,i?p:b,r,s,c=>{})},n.tweenVariableNumber=(e,t,r,s,o,a,i)=>{n.getTweensMap(e).addSimpleTween(t,e,a/1e3,i,b,s,o,l=>r.setNumber(l))},n.tweenVariableNumber2=(e,t,r,s,o,a)=>{n.tweenVariableNumber3(e,t,r,s,a,o/1e3)},n.tweenVariableNumber3=(e,t,r,s,o,a)=>{r.getType()==="number"&&n.getTweensMap(e).addSimpleTween(t,e,a,o,b,r.getValue(),s,i=>r.setNumber(i))},n.tweenCamera=(e,t,r,s,o,a,i)=>{S(e,t,r,s,o,a/1e3,i,e)},n.tweenCamera2=(e,t,r,s,o,a,i)=>{const l=e.getLayer(o);S(e,t,r,s,o,i,a,l)};const S=(e,t,r,s,o,a,i,l)=>{const g=e.getLayer(o);n.getTweensMap(e).addMultiTween(t,l,a,i,b,[g.getCameraX(),g.getCameraY()],[r,s],([c,T])=>{g.setCameraX(c),g.setCameraY(T)})};n.tweenCameraZoom=(e,t,r,s,o,a)=>{C(e,t,r,s,o/1e3,a,e,b)},n.tweenCameraZoom2=(e,t,r,s,o,a)=>{const i=e.getLayer(s);C(e,t,r,s,a,o,i,p)};const C=(e,t,r,s,o,a,i,l)=>{const g=e.getLayer(s);n.getTweensMap(e).addSimpleTween(t,i,o,a,l,g.getCameraZoom(),r,c=>g.setCameraZoom(c))};n.tweenCameraRotation=(e,t,r,s,o,a)=>{y(e,t,r,s,o/1e3,a,e)},n.tweenCameraRotation2=(e,t,r,s,o,a)=>{const i=e.getLayer(s);y(e,t,r,s,a,o,i)};const y=(e,t,r,s,o,a,i)=>{const l=e.getLayer(s);n.getTweensMap(e).addSimpleTween(t,i,o,a,b,l.getCameraRotation(),r,g=>l.setCameraRotation(g))};n.tweenNumberEffectPropertyTween=(e,t,r,s,o,a,i,l)=>{const g=e.getLayer(s),c=g.getRendererEffects()[o];c||x.error(`The layer "${g.getName()}" doesn't have any effect called "${o}"`),n.getTweensMap(e).addSimpleTween(t,g,l,i,b,c?c.getDoubleParameter(a):0,r,T=>{c&&c.updateDoubleParameter(a,T)})},n.tweenColorEffectPropertyTween=(e,t,r,s,o,a,i,l)=>{const g=e.getLayer(s),c=g.getRendererEffects()[o];c||x.error(`The layer "${g.getName()}" doesn't have any effect called "${o}"`);const T=u.hexNumberToRGB(c?c.getColorParameter(a):0),f=u.rgbOrHexToRGBColor(r);n.getTweensMap(e).addMultiTween(t,g,l,i,b,u.evtTools.tween.rgbToHsl(T.r,T.g,T.b),u.evtTools.tween.rgbToHsl(f[0],f[1],f[2]),([P,V,h])=>{if(c){const R=u.evtTools.tween.hslToRgb(P,V,h);c.updateColorParameter(a,u.rgbToHexNumber(R[0],R[1],R[2]))}})}})(w=d.tween||(d.tween={}))})(v=u.evtTools||(u.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=tweentools.js.map diff --git a/Flat Bar Red Fill Bar.png b/Flat Bar Red Fill Bar.png new file mode 100644 index 00000000..ed4af9e9 Binary files /dev/null and b/Flat Bar Red Fill Bar.png differ diff --git a/Flat Bar White Border.png b/Flat Bar White Border.png new file mode 100644 index 00000000..14782eb1 Binary files /dev/null and b/Flat Bar White Border.png differ diff --git a/LICENSE.GDevelop.txt b/LICENSE.GDevelop.txt new file mode 100644 index 00000000..b707a925 --- /dev/null +++ b/LICENSE.GDevelop.txt @@ -0,0 +1,2 @@ +Part of this app is using the GDevelop game engine, which is licensed under the MIT license. +Find more information on https://gdevelop.io/. \ No newline at end of file diff --git a/Model3DManager.js b/Model3DManager.js new file mode 100644 index 00000000..8e556098 --- /dev/null +++ b/Model3DManager.js @@ -0,0 +1,2 @@ +var gdjs;(function(t){const a=new t.Logger("Model3DManager"),n=["model3D"];class c{constructor(r){this._loadedThreeModels=new t.ResourceCache;this._downloadedArrayBuffers=new t.ResourceCache;this._loader=null;this._dracoLoader=null;if(this._resourceLoader=r,typeof THREE!="undefined"){this._loader=new THREE_ADDONS.GLTFLoader,this._dracoLoader=new THREE_ADDONS.DRACOLoader,this._dracoLoader.setDecoderPath("./pixi-renderers/draco/gltf/"),this._loader.setDRACOLoader(this._dracoLoader);const e=new THREE.Group;e.add(new THREE.Mesh(new THREE.BoxGeometry(1,1,1),new THREE.MeshBasicMaterial({color:"#ff00ff"}))),this._invalidModel={scene:e,animations:[],cameras:[],scenes:[],asset:{},userData:{},parser:null}}}getResourceKinds(){return n}async processResource(r){const e=this._resourceLoader.getResource(r);if(!e){a.warn('Unable to find texture for resource "'+r+'".');return}const d=this._loader;if(!d)return;const s=this._downloadedArrayBuffers.get(e);if(!!s){this._downloadedArrayBuffers.delete(e);try{const o=await d.parseAsync(s,"");this._loadedThreeModels.set(e,o)}catch(o){a.error("Can't fetch the 3D model file "+e.file+", error: "+o)}}}async loadResource(r){const e=this._resourceLoader.getResource(r);if(!e){a.warn('Unable to find texture for resource "'+r+'".');return}if(!this._loader||this._loadedThreeModels.get(e))return;const s=this._resourceLoader.getFullUrl(e.file);try{const o=await fetch(s,{credentials:this._resourceLoader.checkIfCredentialsRequired(s)?"include":"omit"});if(!o.ok)throw new Error("Network response was not ok");const i=await o.arrayBuffer();this._downloadedArrayBuffers.set(e,i)}catch(o){a.error("Can't fetch the 3D model file "+e.file+", error: "+o)}}getModel(r){return this._loadedThreeModels.getFromName(r)||this._invalidModel}}t.Model3DManager=c})(gdjs||(gdjs={})); +//# sourceMappingURL=Model3DManager.js.map diff --git a/ResourceCache.js b/ResourceCache.js new file mode 100644 index 00000000..b4e7d89d --- /dev/null +++ b/ResourceCache.js @@ -0,0 +1,2 @@ +var gdjs;(function(a){class n{constructor(){this._nameToContent=new Map;this._fileToContent=new Map}getFromName(e){return this._nameToContent.get(e)||null}get(e){let t=this._nameToContent.get(e.name);return t||(t=this._fileToContent.get(e.file),t?(this._nameToContent.set(e.name,t),t):null)}set(e,t){this._nameToContent.set(e.name,t),this._fileToContent.set(e.file,t)}delete(e){this._nameToContent.delete(e.name),this._fileToContent.delete(e.file)}clear(){this._nameToContent.clear(),this._fileToContent.clear()}}a.ResourceCache=n})(gdjs||(gdjs={})); +//# sourceMappingURL=ResourceCache.js.map diff --git a/ResourceLoader.js b/ResourceLoader.js new file mode 100644 index 00000000..5377d43c --- /dev/null +++ b/ResourceLoader.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){const c=new i.Logger("ResourceLoader"),R=(t,e,s)=>{if(t.startsWith("data:")||t.startsWith("blob:"))return t;const n=t.indexOf("?")===-1?"?":"&";return t+n+e+"="+s},_=t=>t.startsWith("https://project-resources.gdevelop.io/")||t.startsWith("https://project-resources-dev.gdevelop.io/"),g=20,f=5,d=3;class v{constructor(e){this.isFinished=!1;this.sceneName=e,this.onProgressCallbacks=new Array,this.onFinishCallbacks=new Array}registerCallback(e,s){if(this.isFinished){e();return}this.onFinishCallbacks.push(e),s&&this.onProgressCallbacks.push(s)}onProgress(e,s){for(const n of this.onProgressCallbacks)n(e,s)}onFinish(){this.isFinished=!0;for(const e of this.onFinishCallbacks)e()}}class w{constructor(e,s,n,r){this._sceneToLoadQueue=new Array;this._spineAtlasManager=null;this._spineManager=null;this.currentLoadingSceneName="";this.currentSceneLoadingProgress=0;this._isLoadingInForeground=!0;this._runtimeGame=e,this._resources=new Map,this._globalResources=n,this._sceneResources=new Map,this._sceneNamesToLoad=new Set,this._sceneNamesToMakeReady=new Set,this.setResources(s,n,r),this._imageManager=new i.ImageManager(this),this._soundManager=new i.SoundManager(this),this._fontManager=new i.FontManager(this),this._jsonManager=new i.JsonManager(this),this._bitmapFontManager=new i.BitmapFontManager(this,this._imageManager),this._model3DManager=new i.Model3DManager(this),i.SpineAtlasManager&&i.SpineManager&&(this._spineAtlasManager=new i.SpineAtlasManager(this,this._imageManager),this._spineManager=new i.SpineManager(this,this._spineAtlasManager));const a=[this._imageManager,this._soundManager,this._fontManager,this._jsonManager,this._bitmapFontManager,this._model3DManager];this._spineAtlasManager&&a.push(this._spineAtlasManager),this._spineManager&&a.push(this._spineManager),this._resourceManagersMap=new Map;for(const o of a)for(const u of o.getResourceKinds())this._resourceManagersMap.set(u,o)}getRuntimeGame(){return this._runtimeGame}setResources(e,s,n){this._globalResources=s,this._sceneResources.clear(),this._sceneNamesToLoad.clear(),this._sceneNamesToMakeReady.clear();for(const r of n)this._sceneResources.set(r.name,r.usedResources.map(a=>a.name)),this._sceneNamesToLoad.add(r.name),this._sceneNamesToMakeReady.add(r.name);this._sceneToLoadQueue.length=0;for(let r=n.length-1;r>=0;r--){const a=n[r];this._sceneToLoadQueue.push(new v(a.name))}this._resources.clear();for(const r of e)this._resources.set(r.name,r)}async loadAllResources(e){let s=0;await h([...this._resources.values()],g,d,async n=>{await this._loadResource(n),await this._processResource(n),s++,e(s,this._resources.size)}),this._sceneNamesToLoad.clear(),this._sceneNamesToMakeReady.clear()}async loadGlobalAndFirstSceneResources(e,s){const n=this._sceneResources.get(e);if(!n){c.warn(`Can't load resource for unknown scene: "`+e+'".');return}let r=0;const a=[...this._globalResources,...n.values()];await h(a,g,d,async o=>{const u=this._resources.get(o);if(!u){c.warn('Unable to find resource "'+o+'".');return}await this._loadResource(u),await this._processResource(u),r++,s(r,a.length)}),this._setSceneAssetsLoaded(e),this._setSceneAssetsReady(e)}async loadAllSceneInBackground(){for(;this._sceneToLoadQueue.length>0;){const e=this._sceneToLoadQueue[this._sceneToLoadQueue.length-1];e!==void 0&&(this.currentLoadingSceneName=e.sceneName,this.areSceneAssetsLoaded(e.sceneName)?this._sceneToLoadQueue.pop():(await this._doLoadSceneResources(e.sceneName,async(s,n)=>e.onProgress(s,n)),this._sceneToLoadQueue.splice(this._sceneToLoadQueue.findIndex(s=>s===e),1),e.onFinish()))}this.currentLoadingSceneName=""}async _doLoadSceneResources(e,s){const n=this._sceneResources.get(e);if(!n){c.warn(`Can't load resource for unknown scene: "`+e+'".');return}let r=0;await h([...n.values()],this._isLoadingInForeground?g:f,d,async a=>{const o=this._resources.get(a);if(!o){c.warn('Unable to find resource "'+a+'".');return}await this._loadResource(o),r++,this.currentSceneLoadingProgress=r/this._resources.size,s&&await s(r,this._resources.size)}),this._setSceneAssetsLoaded(e)}async _loadResource(e){const s=this._resourceManagersMap.get(e.kind);if(!s){c.warn('Unknown resource kind: "'+e.kind+'" for: "'+e.name+'".');return}await s.loadResource(e.name)}async loadAndProcessSceneResources(e,s){if(this.areSceneAssetsReady(e))return;await this.loadSceneResources(e,s);const n=this._sceneResources.get(e);if(!n){c.warn(`Can't load resource for unknown scene: "`+e+'".');return}let r=0;for(const a of n){const o=this._resources.get(a);if(!o){c.warn('Unable to find resource "'+a+'".');continue}await this._processResource(o),r++,s&&await s(r,n.length)}this._setSceneAssetsReady(e)}async loadSceneResources(e,s){this._isLoadingInForeground=!0;const n=this._prioritizeScene(e);return new Promise((r,a)=>{if(!n){this._isLoadingInForeground=!1,r();return}n.registerCallback(()=>{this._isLoadingInForeground=!1,r()},s)})}_prioritizeScene(e){const s=this._sceneToLoadQueue.findIndex(r=>r.sceneName===e);if(s<0)return null;const n=this._sceneToLoadQueue[s];return this._sceneToLoadQueue.splice(s,1),this._sceneToLoadQueue.push(n),n}async _processResource(e){const s=this._resourceManagersMap.get(e.kind);if(!s){c.warn('Unknown resource kind: "'+e.kind+'" for: "'+e.name+'".');return}await s.processResource(e.name)}getSceneLoadingProgress(e){return e===this.currentLoadingSceneName?this.currentSceneLoadingProgress:this.areSceneAssetsLoaded(e)?1:0}areSceneAssetsLoaded(e){return!this._sceneNamesToLoad.has(e)}areSceneAssetsReady(e){return!this._sceneNamesToMakeReady.has(e)}_setSceneAssetsLoaded(e){this._sceneNamesToLoad.delete(e)}_setSceneAssetsReady(e){this._sceneNamesToMakeReady.delete(e)}getResource(e){return this._resources.get(e)||null}getFullUrl(e){const{gdevelopResourceToken:s}=this._runtimeGame._options;return!s||!_(e)?e:R(e,"gd_resource_token",encodeURIComponent(s))}checkIfCredentialsRequired(e){return this._runtimeGame._options.gdevelopResourceToken?!1:!!_(e)}getSoundManager(){return this._soundManager}getImageManager(){return this._imageManager}getFontManager(){return this._fontManager}getBitmapFontManager(){return this._bitmapFontManager}getJsonManager(){return this._jsonManager}getModel3DManager(){return this._model3DManager}getSpineManager(){return this._spineManager}getSpineAtlasManager(){return this._spineAtlasManager}}i.ResourceLoader=w;const m=(t,e,s)=>{const n=[],r=[];let a=0,o=0;return new Promise((u,y)=>{const p=()=>{if(t.length===0){u({results:n,errors:r});return}for(;an.push(l)).catch(l=>r.push({item:M,error:l})).finally(()=>{a--,o===t.length&&a===0?u({results:n,errors:r}):p()})}};p()})},h=async(t,e,s,n)=>{const r=await m(t,e,n);r.errors.length!==0&&c.warn("Some assets couldn't be downloaded. Trying again now.");for(let a=1;at==="3d"?1:t==="2d+3d"||t===""?2:0;let s;(function(t){t[t.PERSPECTIVE=0]="PERSPECTIVE",t[t.ORTHOGRAPHIC=1]="ORTHOGRAPHIC"})(s=i.RuntimeLayerCameraType||(i.RuntimeLayerCameraType={}));const f=t=>t==="orthographic"?1:0;class l{constructor(e,a){this._timeScale=1;this._defaultZOrder=0;this._rendererEffects={};this._name=e.name,this._renderingType=o(e.renderingType),this._cameraType=f(e.cameraType),this._hidden=!e.visibility,this._initialCamera3DFieldOfView=e.camera3DFieldOfView||45,this._initialCamera3DNearPlaneDistance=e.camera3DNearPlaneDistance||.1,this._initialCamera3DFarPlaneDistance=e.camera3DFarPlaneDistance||2e3,this._initialEffectsData=e.effects||[],this._runtimeScene=a,this._effectsManager=a.getGame().getEffectsManager(),this._isLightingLayer=e.isLightingLayer,this._followBaseLayerCamera=e.followBaseLayerCamera,this._clearColor=[e.ambientLightColorR/255,e.ambientLightColorG/255,e.ambientLightColorB/255,1],this._renderer=new i.LayerRenderer(this,a.getRenderer(),a.getGame().getRenderer()),this.show(!this._hidden);for(let r=0;r=0&&(this._timeScale=e)}getTimeScale(){return this._timeScale}getElapsedTime(e){return(e||this._runtimeScene).getElapsedTime()*this._timeScale}followBaseLayer(){const e=this._runtimeScene.getLayer("");this.setCameraX(e.getCameraX()),this.setCameraY(e.getCameraY()),this.setCameraRotation(e.getCameraRotation()),this.setCameraZoom(e.getCameraZoom())}getClearColor(){return this._clearColor}setClearColor(e,a,r){this._clearColor[0]=e/255,this._clearColor[1]=a/255,this._clearColor[2]=r/255,this._renderer.updateClearColor()}setFollowBaseLayerCamera(e){this._followBaseLayerCamera=e}isLightingLayer(){return this._isLightingLayer}}i.RuntimeLayer=l})(gdjs||(gdjs={})); +//# sourceMappingURL=RuntimeLayer.js.map diff --git a/SpriteAnimator.js b/SpriteAnimator.js new file mode 100644 index 00000000..b2aa144c --- /dev/null +++ b/SpriteAnimator.js @@ -0,0 +1,2 @@ +var gdjs;(function(a){class u{constructor(t,i){this.center={x:0,y:0};this.origin={x:0,y:0};this.hasCustomHitBoxes=!1;this.customHitBoxes=[];this.image=t?t.image:"",this.texture=i.getAnimationFrameTexture(this.image),this.points=new Hashtable,this.reinitialize(t,i)}reinitialize(t,i){this.points.clear();for(let n=0,o=t.points.length;n=this.customHitBoxes.length&&this.customHitBoxes.push(new a.Polygon);let s=0;for(const c=m.length;s=this.customHitBoxes[n].vertices.length&&this.customHitBoxes[n].vertices.push([0,0]),this.customHitBoxes[n].vertices[s][0]=l.x,this.customHitBoxes[n].vertices[s][1]=l.y}this.customHitBoxes[n].vertices.length=s}this.customHitBoxes.length=n}else this.customHitBoxes.length=0}getPoint(t){return t==="Centre"||t==="Center"?this.center:t==="Origin"?this.origin:this.points.containsKey(t)?this.points.get(t):this.origin}}a.SpriteAnimationFrame=u;class _{constructor(t,i){this.frames=[];this.timeBetweenFrames=t?t.timeBetweenFrames:1,this.loop=!!t.looping,this.reinitialize(t,i)}reinitialize(t,i){this.timeBetweenFrames=t?t.timeBetweenFrames:1,this.loop=!!t.looping;let e=0;for(const r=t.sprites.length;e=this._animations.length||this._currentDirection>=this._animations[this._currentAnimation].directions.length)return!1;const i=this._animations[this._currentAnimation].directions[this._currentDirection],e=this.getAnimationDuration();if(!this._animationPaused&&(i.loop||this._animationElapsedTime!==e)&&i.timeBetweenFrames){const r=this._animationElapsedTime+t*this._animationSpeedScale;return this.setAnimationElapsedTime(i.loop?a.evtTools.common.mod(r,e):a.evtTools.common.clamp(r,0,e))}return!1}setOnFrameChangeCallback(t){this._onFrameChange=t}getAnimationIndex(){return this._currentAnimation}setAnimationIndex(t){return t=t|0,t=0?(this._currentAnimation=t,this._currentFrameIndex=0,this._animationElapsedTime=0,this.invalidateFrame(),!0):!1}getAnimationName(){return this._currentAnimation>=this._animations.length?"":this._animations[this._currentAnimation].name}setAnimationName(t){if(!t)return!1;for(let i=0;i=this._animations.length||this._currentDirection>=this._animations[this._currentAnimation].directions.length)return!0;const t=this._animations[this._currentAnimation].directions[this._currentDirection];return t.loop?!1:this._currentFrameIndex===t.frames.length-1&&this._animationElapsedTime===t.frames.length*t.timeBetweenFrames}isAnimationPaused(){return this._animationPaused}pauseAnimation(){this._animationPaused=!0}resumeAnimation(){this._animationPaused=!1}getAnimationSpeedScale(){return this._animationSpeedScale}setAnimationSpeedScale(t){this._animationSpeedScale=t}setAnimationFrameIndex(t){if(this._currentAnimation>=this._animations.length||this._currentDirection>=this._animations[this._currentAnimation].directions.length)return!1;const i=this._animations[this._currentAnimation].directions[this._currentDirection];return t>=0&&t=this._animations.length)return 0;const t=this._animations[this._currentAnimation];return this._currentDirection>=t.directions.length?0:t.directions[this._currentDirection].frames.length}setDirectionOrAngle(t,i){if(this._currentAnimation>=this._animations.length)return null;const e=this._animations[this._currentAnimation];return e.hasMultipleDirections?(i=i|0,i===this._currentDirection||i>=e.directions.length||e.directions[i].frames.length===0?null:(this._currentDirection=i,this._currentFrameIndex=0,this._animationElapsedTime=0,this.invalidateFrame(),0)):t===i?null:i}getDirectionOrAngle(t){return this._currentAnimation>=this._animations.length?0:this._animations[this._currentAnimation].hasMultipleDirections?this._currentDirection:t}getAngle(t){return this._currentAnimation>=this._animations.length?0:this._animations[this._currentAnimation].hasMultipleDirections?this._currentDirection*45:t}setAngle(t,i){return this._currentAnimation>=this._animations.length?null:this._animations[this._currentAnimation].hasMultipleDirections?(i=i%360,i<0&&(i+=360),this.setDirectionOrAngle(t,Math.round(i/45)%8)):t===i?null:i}hasAnimationEndedLegacy(){if(this._currentAnimation>=this._animations.length||this._currentDirection>=this._animations[this._currentAnimation].directions.length)return!0;const t=this._animations[this._currentAnimation].directions[this._currentDirection];return t.loop?!1:this._currentFrameIndex===t.frames.length-1}}a.SpriteAnimator=g})(gdjs||(gdjs={})); +//# sourceMappingURL=SpriteAnimator.js.map diff --git a/Square White Slider Border.png b/Square White Slider Border.png new file mode 100644 index 00000000..804271b3 Binary files /dev/null and b/Square White Slider Border.png differ diff --git a/Square White Slider Fill Bar.png b/Square White Slider Fill Bar.png new file mode 100644 index 00000000..c5ed0833 Binary files /dev/null and b/Square White Slider Fill Bar.png differ diff --git a/Square White Slider Thumb.png b/Square White Slider Thumb.png new file mode 100644 index 00000000..5307d8c6 Binary files /dev/null and b/Square White Slider Thumb.png differ diff --git a/White Decorated Button_Hovered.png b/White Decorated Button_Hovered.png new file mode 100644 index 00000000..1e510d36 Binary files /dev/null and b/White Decorated Button_Hovered.png differ diff --git a/White Decorated Button_Idle.png b/White Decorated Button_Idle.png new file mode 100644 index 00000000..c055532e Binary files /dev/null and b/White Decorated Button_Idle.png differ diff --git a/White Decorated Button_Pressed.png b/White Decorated Button_Pressed.png new file mode 100644 index 00000000..e1660829 Binary files /dev/null and b/White Decorated Button_Pressed.png differ diff --git a/affinetransformation.js b/affinetransformation.js new file mode 100644 index 00000000..916c6203 --- /dev/null +++ b/affinetransformation.js @@ -0,0 +1,2 @@ +var gdjs;(function(c){class y{constructor(){this.matrix=new Float32Array([1,0,0,1,0,0])}setToIdentity(){const o=this.matrix;o[0]=1,o[1]=0,o[2]=0,o[3]=1,o[4]=0,o[5]=0}isIdentity(){const o=this.matrix;return o[0]===1&&o[1]===0&&o[2]===0&&o[3]===1&&o[4]===0&&o[5]===0}equals(o){const t=this.matrix,a=o.matrix;return this===o||t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]}nearlyEquals(o,t){const a=this.matrix,s=o.matrix;return this===o||c.nearlyEqual(a[0],s[0],t)&&c.nearlyEqual(a[1],s[1],t)&&c.nearlyEqual(a[2],s[2],t)&&c.nearlyEqual(a[3],s[3],t)&&c.nearlyEqual(a[4],s[4],t)&&c.nearlyEqual(a[5],s[5],t)}copyFrom(o){const t=this.matrix,a=o.matrix;return t[0]=a[0],t[1]=a[1],t[2]=a[2],t[3]=a[3],t[4]=a[4],t[5]=a[5],this}setToTranslation(o,t){const a=this.matrix;a[0]=1,a[1]=0,a[2]=0,a[3]=1,a[4]=o,a[5]=t}translate(o,t){var a=this.matrix;a[4]=a[0]*o+a[2]*t+a[4],a[5]=a[1]*o+a[3]*t+a[5]}setToScale(o,t){const a=this.matrix;a[0]=o,a[1]=0,a[2]=0,a[3]=t,a[4]=0,a[5]=0}scale(o,t){const a=this.matrix;a[0]*=o,a[1]*=o,a[2]*=t,a[3]*=t}setToRotation(o){const t=this.matrix;let a=Math.cos(o),s=Math.sin(o);(a===-1||a===1)&&(s=0),(s===-1||s===1)&&(a=0),t[0]=a,t[1]=s,t[2]=-s,t[3]=a,t[4]=0,t[5]=0}rotate(o){const t=this.matrix;let a=Math.cos(o),s=Math.sin(o);(a===-1||a===1)&&(s=0),(s===-1||s===1)&&(a=0);const i=t[0],n=t[1],m=t[2],r=t[3];t[0]=i*a+m*s,t[1]=n*a+r*s,t[2]=i*-s+m*a,t[3]=n*-s+r*a}setToRotationAround(o,t,a){const s=this.matrix;let i=Math.cos(o),n=Math.sin(o);(i===-1||i===1)&&(n=0),(n===-1||n===1)&&(i=0),s[0]=i,s[1]=n,s[2]=-n,s[3]=i,s[4]=t-t*i+a*n,s[5]=a-t*n+a*i}rotateAround(o,t,a){this.translate(t,a),this.rotate(o),this.translate(-t,-a)}setToFlipX(o){const t=this.matrix;t[0]=-1,t[1]=0,t[2]=0,t[3]=1,t[4]=2*o,t[5]=0}flipX(o){this.translate(o,0),this.scale(-1,1),this.translate(-o,0)}setToFlipY(o){const t=this.matrix;t[0]=-1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=2*o}flipY(o){this.translate(0,o),this.scale(1,-1),this.translate(0,-o)}concatenate(o){const t=this.matrix,a=o.matrix,s=t[0],i=t[1],n=t[2],m=t[3],r=t[4],h=t[5],l=a[0],e=a[1],x=a[2],f=a[3],u=a[4],T=a[5];t[0]=l*s+e*n,t[1]=l*i+e*m,t[2]=x*s+f*n,t[3]=x*i+f*m,t[4]=u*s+T*n+r,t[5]=u*i+T*m+h}preConcatenate(o){const t=this.matrix,a=o.matrix,s=t[0],i=t[1],n=t[2],m=t[3],r=t[4],h=t[5],l=a[0],e=a[1],x=a[2],f=a[3],u=a[4],T=a[5];t[0]=s*l+i*x,t[1]=s*e+i*f,t[2]=n*l+m*x,t[3]=n*e+m*f,t[4]=r*l+h*x+u,t[5]=r*e+h*f+T}transform(o,t){const a=this.matrix,s=a[0]*o[0]+a[2]*o[1]+a[4],i=a[1]*o[0]+a[3]*o[1]+a[5];t[0]=s,t[1]=i}invert(){const o=this.matrix,t=o[0],a=o[1],s=o[2],i=o[3],n=o[4],m=o[5],r=t*i-a*s;return o[0]=i/r,o[1]=-a/r,o[2]=-s/r,o[3]=t/r,o[4]=(s*m-i*n)/r,o[5]=-(t*m-a*n)/r,this}toString(){const o=this.matrix;return`[[${o[0]} ${o[1]}] [${o[2]} ${o[3]}] [${o[4]} ${o[5]}]]`}}c.AffineTransformation=y})(gdjs||(gdjs={})); +//# sourceMappingURL=affinetransformation.js.map diff --git a/ammo_uzi.png b/ammo_uzi.png new file mode 100644 index 00000000..86ee0c84 Binary files /dev/null and b/ammo_uzi.png differ diff --git a/app_1.png b/app_1.png new file mode 100644 index 00000000..63030f31 Binary files /dev/null and b/app_1.png differ diff --git a/app_2.png b/app_2.png new file mode 100644 index 00000000..5248fec9 Binary files /dev/null and b/app_2.png differ diff --git a/app_3.png b/app_3.png new file mode 100644 index 00000000..725d78ed Binary files /dev/null and b/app_3.png differ diff --git a/bar.png b/bar.png new file mode 100644 index 00000000..7298f83b Binary files /dev/null and b/bar.png differ diff --git a/basketball_1.png b/basketball_1.png new file mode 100644 index 00000000..760659ff Binary files /dev/null and b/basketball_1.png differ diff --git a/basketball_2.png b/basketball_2.png new file mode 100644 index 00000000..25c14d4e Binary files /dev/null and b/basketball_2.png differ diff --git a/battery_1.png b/battery_1.png new file mode 100644 index 00000000..402ee6ae Binary files /dev/null and b/battery_1.png differ diff --git a/battery_2.png b/battery_2.png new file mode 100644 index 00000000..5b66b779 Binary files /dev/null and b/battery_2.png differ diff --git a/battery_3.png b/battery_3.png new file mode 100644 index 00000000..7fbce77a Binary files /dev/null and b/battery_3.png differ diff --git a/black.png b/black.png new file mode 100644 index 00000000..b774cda9 Binary files /dev/null and b/black.png differ diff --git a/block_1.png b/block_1.png new file mode 100644 index 00000000..79965293 Binary files /dev/null and b/block_1.png differ diff --git a/block_2.png b/block_2.png new file mode 100644 index 00000000..5359cd2d Binary files /dev/null and b/block_2.png differ diff --git a/body_1.png b/body_1.png new file mode 100644 index 00000000..6cd1df56 Binary files /dev/null and b/body_1.png differ diff --git a/body_2.png b/body_2.png new file mode 100644 index 00000000..8dafed9d Binary files /dev/null and b/body_2.png differ diff --git a/body_3.png b/body_3.png new file mode 100644 index 00000000..61cf246c Binary files /dev/null and b/body_3.png differ diff --git a/body_4.png b/body_4.png new file mode 100644 index 00000000..2c7bb5fb Binary files /dev/null and b/body_4.png differ diff --git a/body_5.png b/body_5.png new file mode 100644 index 00000000..f9900c77 Binary files /dev/null and b/body_5.png differ diff --git a/body_6.png b/body_6.png new file mode 100644 index 00000000..0f60d321 Binary files /dev/null and b/body_6.png differ diff --git a/body_7.png b/body_7.png new file mode 100644 index 00000000..0ed089b5 Binary files /dev/null and b/body_7.png differ diff --git a/body_8.png b/body_8.png new file mode 100644 index 00000000..da53925b Binary files /dev/null and b/body_8.png differ diff --git a/body_9.png b/body_9.png new file mode 100644 index 00000000..783aa119 Binary files /dev/null and b/body_9.png differ diff --git a/bridge.png b/bridge.png new file mode 100644 index 00000000..b80953b4 Binary files /dev/null and b/bridge.png differ diff --git a/city1.json b/city1.json new file mode 100644 index 00000000..7964dbdf --- /dev/null +++ b/city1.json @@ -0,0 +1,73 @@ +{ "compressionlevel":-1, + "height":300, + "infinite":false, + "layers":[ + { + "compression":"zlib", + "data":"eJzt3V1O3DAUhmHvpteg\/tEfZIm26+jSWApL64wKqhUV8AyZnOP4eaTvtmVE88qCJC0FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIhwddh1sr2\/6CcGRvXlsJ\/J9uGinxgYlV4Bo9ArYBR6BYxCr2AffpRyf5dgh6\/jYc3P1f5OsB7+7Og+6RW83aEV5XuC3a3cq9sS36SX9nHNDwuT2GOvjmermvBMpVfwNnvsVfazlV7BefRKr2AUx2t76zb97\/q91SvgFVv26tcLq6X8XuvZvJr8Z1d6Bed5S6+ir\/mR534GON2pvYq+zvcyvSLaGu8t2fo9I729ir6+9za9Itoaz31s\/e+45\/eD0df2HqdXRNtbr6Kv6T1Pr4g2Yq9uSrmPvnZnnF4RbcReZXx3wQzTK6LplWX9PsOSXlnW7zMs6ZVl\/T7D0hrXfl3xuZS9PLuyx+kV0ZxVrHd6RTS9st7pFdH0ynqnV0TTK+udXhFNr6x3ekU0vbLe6RXR9Mp6p1dE0yvrnV4RTa+sd3pFNL2y3ukV0fTKeqdXRNMr651eEU2vrHd6RTS9st7pFdH0ynqnV0TTK+udXhFNr6x3ekU0vbLe6RXR9Mp6p1dE0ytrVw\/79Mw+F4ilV9bOGYrM9Cp+7x4X\/XUcp1dkplfWTq\/ITK+snV6RmV5ZO70iM72ydnpFZnpl7fSKzPTK2ukVmemVtdMrMtMra6dXZKZX1k6vyEyvrJ1ekZleWTu9IjO9snZ6RWZ6Ze30isz0ytrpFZnplbXTKzLTqzlWy\/PvDX3aTfEOUXLTqznm3MQe6NUc0yv2QK\/mmF4R5eqw65VWS3mIvpZMr9gvZyI7dXpFFL2yU6dXRNErO3V6RRS9slOnV0TRKzt1ekUUvbLlavl7f\/pzc986UfTKlnN+Iiu9suX0iqz0ypbTK7LSK1tOr8hKr2w5vSIrvbLl9Iqs9MqW0yuy0itbTq\/ISq9sOb0iK72y5fSKrPRq3NXy+v\/7cM48b0NWejXunIOYjV6NO71iNno17vSK2ejVuNMrZqNX406vmI1ejTu9YjZ6Ne70itno1bjTK2ajV+NOr5iNXo07vWI2ejXu9IrZ6NW40ytmo1fjTq+YjV6NO71iNno17vSK2Xwrl3mH0nG1lPvoa\/pp9YKfM2reUwXryXR2cxYBXvL1sJvH1aCzVn38+51FgF5RZy3nKuBUUb36uMWHA3ZFr4BR6BUwCr0CRqFXwCi27FUt7qkEzneJXtXy7\/6udhoFvMUleuXeKuASjve6r\/1soV4BWzj3vFWLn00B2zq3V85UwNbaZ6G9QwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbyB1yd4YU=", + "encoding":"base64", + "height":300, + "id":1, + "locked":true, + "name":"edge", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":300, + "x":0, + "y":0 + }, + { + "compression":"zlib", + "data":"eJzt3V1O20AUgFE\/tvwEHlEB8QAChGAZ3QdLzdJqCK3CNBMnzow9NzpHulLjGmIi+ZNB46TrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACI7vdMA7AvfQKi0B8gCo0CotArIAqdAqLQKYAyLvo52TKX8x0awDc\/+nndMqfzHRrAN3oFRJH26qXTK6BNaa+ukseLrlv2zXqfc\/wNDfgw1KsWxjUe8EGvgCj0CohCr4Ao9AqIYqhXZ6t93uec29leHaAlQ71ybQPlDN3\/VmLOC0yra4j0CqYzdD9JK9Pqea9XMB292k3u\/Wv0CqYzZ68eMts2bW\/1vNcrmM4UvdrUH70C9uX3wcPoFUxHrw6jVzCdXK\/O+rkbMYvM99Mr4FC5Xo09zzZ9v\/Q97LZtz+3b6nmvVzCdKXqVu6du0\/bcvq2e93oF09Grw+gVTOdYenXbdcu7galxr9H1wPEvvp5323G1eq8RtKbFXo1Zf9X\/\/3LTc0w9j8njtfVky9y4BoPd6FXd0Ssop8VejTkevYLjN0Wv0t+Rtm3P7btvr97W\/v3cz03Feco872uyz99uva216mGHnw1YmaJXJcb1FVC6V\/fduHXxQzP0nr56BcevdK\/mkvYqt06+hV496hWMcqy9Sv9uf71a61Tl2m\/bnPTP+3VP5b8+XekVjHIsvWp5nflp0ie9gnH0qr6hXvXHvpzx8CAMvapPr6AMvapPr6AMvapPr6AMvapPr6AMvapPr6AMvapPr6AMvapPr6AMvapPr6AMvapPr6AMvapPr6AMvarv5+oY9AoOpFf16RWUoVf16RWUoVf16RWUoVf16RWUoVf16RWUoVf16RWUoVf1peuvXvQKRtGr+tJepaNXsBu9qk+voIxcr371c\/41d93nZ2Fl56T7\/NyqWee6a7dXl6vXKDsXegU7qfX58XPPY\/I42vUi8L9j7VU6egXx6RUQxXqvnvu52TBPa\/u87bD\/XJM7Tr2C4+D6CohCr4Ao9u3Vy577tzJ6BfHdd5\/rq7Kz6L6f9+m6prOBr29lbku9YECzWl43DrBOr4Ao9AqIQq+AKPQKiEKvgCj0CohCr4Ao9AqIQq+AKPQKiEKvgCj0CohCr4Ao9AqIQq+AKPQKiEKvgCj0CohCr4Ao9AqIQq+AKPQKiEKvgCj0CohCr4Ao9AqIQq+AKPQKiEKvgCj0CohCr4Ao9AqIQq+AKPQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA2v4A7Pip+A==", + "encoding":"base64", + "height":300, + "id":4, + "locked":true, + "name":"road", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":300, + "x":0, + "y":0 + }, + { + "compression":"zlib", + "data":"eJzt3UtOAzEQRdGsCNgE+98SE5CiZEJ3u9r17HMkiwmJqlB8hRQ+jwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM8+wg+wj9m9uaNXny\/niCuPBcb6u\/ev93LGOdIgvYL96FXdY4GxXns1w5VedTjAPfRKryBFaq86SJsX0unVeWnzQjq9Oi9tXkinV+elzQvp9Oq8tHkhnV6dlzYvPJv9vvqVo1fHpc0Lz2Y3Z6dezf56PR9IlPj61Su9Yk+Jr9\/0XlXz+4OsSq+O+f79qFdwP706R6\/gfnp1TudewaoS75BewZ4S75BewZ4S79Brr1b8+6LAu\/\/coW4\/36NXsKfkXnU6o+cG3h3p1ajnu2p2m\/QK5litV+lW2QMq6FUvq+wBFfSql1X2gAp61csqe0AFvepllT2ggl71ssoeUEGvelllD6hQ1atZJ90qe0AFvepllT2gwuhezZLQ1NF7wG70Sq8gxc69ukvn2SCJXtXrPBsk0at6nWeDJHpVr\/NskESv6nWeDZLoVb3Os0ESvarXeTZIolc1rv5PCv+fGd7pVQ29gvH0qoZewXh6VUOvYDy9qtd5NkiiV\/U6zwZJ9Kpe59kgiV7V6zwbJNGrep1ngyR6Va\/zbJBEr+p1ng2SHOlVwhm180idZ4MkelWv82yQZMf7oVeQacf7MatXo79PhN3seD\/+dr7rd\/T0CsbY8X7c3StgDL3SK0ihV3oFKXbuFZBlx7u7486wgh3v7o47wwoqfm485QBZ9ApYxZle\/dfnY\/x7dBXPCWTQKyCFXgEpKnsFMJJeASn0CkihV0AKvQJS6BWQQq+AFHoFpNArIIVeASn0CkihV0AKvQJS6BWQQq+AFHoFpNArIIVeASn0CkihV0AKvQJS6BWQQq+AFHoFpNArIMXX7xn9uQCj6RWQQq8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDTD6JhPgM=", + "encoding":"base64", + "height":300, + "id":7, + "name":"path", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":300, + "x":0, + "y":0 + }], + "nextlayerid":8, + "nextobjectid":1, + "orientation":"orthogonal", + "renderorder":"right-down", + "tiledversion":"1.10.2", + "tileheight":70, + "tilesets":[ + { + "columns":72, + "firstgid":1, + "image":"city1\/spritesheet.png", + "imageheight":71, + "imagewidth":5040, + "margin":0, + "name":"spritesheet", + "spacing":0, + "tilecount":72, + "tileheight":70, + "tilewidth":70 + }], + "tilewidth":70, + "type":"map", + "version":"1.10", + "width":300 +} \ No newline at end of file diff --git a/code0.js b/code0.js new file mode 100644 index 00000000..b93449df --- /dev/null +++ b/code0.js @@ -0,0 +1,47 @@ +gdjs.Game_95IntroCode = {}; +gdjs.Game_95IntroCode.GDgame_9595crosshairObjects1= []; +gdjs.Game_95IntroCode.GDgame_9595crosshairObjects2= []; +gdjs.Game_95IntroCode.GDgame_9595transitionObjects1= []; +gdjs.Game_95IntroCode.GDgame_9595transitionObjects2= []; + + +gdjs.Game_95IntroCode.eventsList0 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{gdjs.evtTools.p2p.useDefaultBrokerServer(); +}{runtimeScene.getGame().getVariables().get("sceneLoad").setString("Game_FirstLaunch"); +}{gdjs.evtTools.runtimeScene.replaceScene(runtimeScene, "Game_Loading", true); +}{gdjs.evtTools.window.setFullScreen(runtimeScene, true, true); +}} + +} + + +}; + +gdjs.Game_95IntroCode.func = function(runtimeScene) { +runtimeScene.getOnceTriggers().startNewFrame(); + +gdjs.Game_95IntroCode.GDgame_9595crosshairObjects1.length = 0; +gdjs.Game_95IntroCode.GDgame_9595crosshairObjects2.length = 0; +gdjs.Game_95IntroCode.GDgame_9595transitionObjects1.length = 0; +gdjs.Game_95IntroCode.GDgame_9595transitionObjects2.length = 0; + +gdjs.Game_95IntroCode.eventsList0(runtimeScene); + +return; + +} + +gdjs['Game_95IntroCode'] = gdjs.Game_95IntroCode; diff --git a/code1.js b/code1.js new file mode 100644 index 00000000..3c098d90 --- /dev/null +++ b/code1.js @@ -0,0 +1,106 @@ +gdjs.Game_95Customisation_95WIPCode = {}; +gdjs.Game_95Customisation_95WIPCode.GDplayer_9595bodyObjects1= []; +gdjs.Game_95Customisation_95WIPCode.GDplayer_9595bodyObjects2= []; +gdjs.Game_95Customisation_95WIPCode.GDplayer_9595legObjects1= []; +gdjs.Game_95Customisation_95WIPCode.GDplayer_9595legObjects2= []; +gdjs.Game_95Customisation_95WIPCode.GDplayer_9595handObjects1= []; +gdjs.Game_95Customisation_95WIPCode.GDplayer_9595handObjects2= []; +gdjs.Game_95Customisation_95WIPCode.GDSquareWhiteSliderObjects1= []; +gdjs.Game_95Customisation_95WIPCode.GDSquareWhiteSliderObjects2= []; +gdjs.Game_95Customisation_95WIPCode.GDWhiteDecoratedButtonObjects1= []; +gdjs.Game_95Customisation_95WIPCode.GDWhiteDecoratedButtonObjects2= []; +gdjs.Game_95Customisation_95WIPCode.GDgame_9595crosshairObjects1= []; +gdjs.Game_95Customisation_95WIPCode.GDgame_9595crosshairObjects2= []; +gdjs.Game_95Customisation_95WIPCode.GDgame_9595transitionObjects1= []; +gdjs.Game_95Customisation_95WIPCode.GDgame_9595transitionObjects2= []; + + +gdjs.Game_95Customisation_95WIPCode.eventsList0 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("SquareWhiteSlider"), gdjs.Game_95Customisation_95WIPCode.GDSquareWhiteSliderObjects1); +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95Customisation_95WIPCode.GDplayer_9595bodyObjects1); +gdjs.copyArray(runtimeScene.getObjects("player_hand"), gdjs.Game_95Customisation_95WIPCode.GDplayer_9595handObjects1); +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95Customisation_95WIPCode.GDplayer_9595legObjects1); +{for(var i = 0, len = gdjs.Game_95Customisation_95WIPCode.GDplayer_9595bodyObjects1.length ;i < len;++i) { + gdjs.Game_95Customisation_95WIPCode.GDplayer_9595bodyObjects1[i].getBehavior("Animation").setAnimationIndex((( gdjs.Game_95Customisation_95WIPCode.GDSquareWhiteSliderObjects1.length === 0 ) ? 0 :gdjs.Game_95Customisation_95WIPCode.GDSquareWhiteSliderObjects1[0].Value((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)))); +} +}{for(var i = 0, len = gdjs.Game_95Customisation_95WIPCode.GDplayer_9595handObjects1.length ;i < len;++i) { + gdjs.Game_95Customisation_95WIPCode.GDplayer_9595handObjects1[i].getBehavior("Animation").setAnimationIndex((( gdjs.Game_95Customisation_95WIPCode.GDSquareWhiteSliderObjects1.length === 0 ) ? 0 :gdjs.Game_95Customisation_95WIPCode.GDSquareWhiteSliderObjects1[0].Value((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)))); +} +}{for(var i = 0, len = gdjs.Game_95Customisation_95WIPCode.GDplayer_9595legObjects1.length ;i < len;++i) { + gdjs.Game_95Customisation_95WIPCode.GDplayer_9595legObjects1[i].getBehavior("Animation").setAnimationIndex((( gdjs.Game_95Customisation_95WIPCode.GDSquareWhiteSliderObjects1.length === 0 ) ? 0 :gdjs.Game_95Customisation_95WIPCode.GDSquareWhiteSliderObjects1[0].Value((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)))); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95Customisation_95WIPCode.GDplayer_9595bodyObjects1); +gdjs.copyArray(runtimeScene.getObjects("player_hand"), gdjs.Game_95Customisation_95WIPCode.GDplayer_9595handObjects1); +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95Customisation_95WIPCode.GDplayer_9595legObjects1); +{runtimeScene.getGame().getVariables().getFromIndex(1).getChild("Customisation").getChild("body").setNumber((( gdjs.Game_95Customisation_95WIPCode.GDplayer_9595bodyObjects1.length === 0 ) ? 0 :gdjs.Game_95Customisation_95WIPCode.GDplayer_9595bodyObjects1[0].getBehavior("Animation").getAnimationIndex())); +}{runtimeScene.getGame().getVariables().getFromIndex(1).getChild("Customisation").getChild("hand").setNumber((( gdjs.Game_95Customisation_95WIPCode.GDplayer_9595handObjects1.length === 0 ) ? 0 :gdjs.Game_95Customisation_95WIPCode.GDplayer_9595handObjects1[0].getBehavior("Animation").getAnimationIndex())); +}{runtimeScene.getGame().getVariables().getFromIndex(1).getChild("Customisation").getChild("leg").setNumber((( gdjs.Game_95Customisation_95WIPCode.GDplayer_9595legObjects1.length === 0 ) ? 0 :gdjs.Game_95Customisation_95WIPCode.GDplayer_9595legObjects1[0].getBehavior("Animation").getAnimationIndex())); +}} + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("WhiteDecoratedButton"), gdjs.Game_95Customisation_95WIPCode.GDWhiteDecoratedButtonObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95Customisation_95WIPCode.GDWhiteDecoratedButtonObjects1.length;i (gdjs.Game_95World_95oldCode.asyncCallback28180948(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.asyncCallback28180700 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "introSepia", "opacity", 0); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "brightness", "brightness", 1); +}{gdjs.evtTools.tween.tweenCameraZoom2(runtimeScene, "introZoom", 1, "", "elastic", 2); +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList1(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95World_95oldCode.eventsList2 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95World_95oldCode.asyncCallback28180700(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.asyncCallback28178852 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "introSepia", "opacity", 0.1); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "brightness", "brightness", 0.9); +}{gdjs.evtTools.tween.tweenCameraZoom2(runtimeScene, "introZoom", 0.75, "", "elastic", 2); +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList2(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95World_95oldCode.eventsList3 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95World_95oldCode.asyncCallback28178852(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.asyncCallback28178492 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "introSepia", "opacity", 0.3); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "brightness", "brightness", 0.8); +}{gdjs.evtTools.tween.tweenCameraZoom2(runtimeScene, "introZoom", 0.5, "", "elastic", 2); +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList3(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95World_95oldCode.eventsList4 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95World_95oldCode.asyncCallback28178492(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList5 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{gdjs.evtTools.camera.setCameraZoom(runtimeScene, 0.35, "", 0); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "introSepia", "opacity", 0.5); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "brightness", "brightness", 0.7); +}{gdjs.evtTools.tween.tweenCameraZoom2(runtimeScene, "introZoom", 0.35, "", "elastic", 1); +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList4(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList6 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("building_rooftop"), gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects2); +gdjs.copyArray(runtimeScene.getObjects("props_foliage"), gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects2); +gdjs.copyArray(runtimeScene.getObjects("sea_tiled_water_cover"), gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects2); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects2.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects2[i].setZOrder(120); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects2.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects2[i].setZOrder(121); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects2.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects2[i].hide(); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("beach_sand_E"), gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_N"), gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_NE"), gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_S"), gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_SE"), gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_SW"), gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_W"), gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_inner_SW"), gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects1); +gdjs.copyArray(runtimeScene.getObjects("grass_tiled"), gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_E"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_N"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_NE"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_NW"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_S"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_SE"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_SW"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_W"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_center"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_curve_left"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_curve_right"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_end"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_inner"), gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects1); +gdjs.copyArray(runtimeScene.getObjects("sand_tiled_1"), gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects1); +gdjs.copyArray(runtimeScene.getObjects("sand_tiled_2"), gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects1); +gdjs.copyArray(runtimeScene.getObjects("sea_tiled_water"), gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects1); +gdjs.copyArray(runtimeScene.getObjects("sea_tiled_water_cover"), gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects1); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects1[i].setZOrder(-(1)); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects1[i].setZOrder(-(2)); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects1[i].setZOrder(-(2)); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects1[i].setZOrder(0); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects1[i].setZOrder(1); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects1[i].setZOrder(1); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects1.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects1[i].setZOrder(1); +} +}} + +} + + +};gdjs.Game_95World_95oldCode.eventsList7 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29631612); +} +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("weaponWheelSticker"), gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4); +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4); +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4[i].hide(false); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4[i].hide(false); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4[i].hide(false); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4[i].getBehavior("Tween").addObjectPositionXTween2("weaponWheelStickerAlign", gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) / 2 - (gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4[i].getWidth()) / 2, "easeOutQuad", 0.5, false); +} +}{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "weaponWheelFade", 10, "", "weaponBar", "blur", "easeOutQuad", 0.5); +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4[i].getBehavior("Tween").addObjectOpacityTween2("bar", 255, "linear", 0.1, false); +} +}{gdjs.evtTools.input.showCursor(runtimeScene); +}} + +} + + +};gdjs.Game_95World_95oldCode.asyncCallback29638724 = function (runtimeScene, asyncObjectsList) { +gdjs.copyArray(asyncObjectsList.getObjects("weaponWheelSticker"), gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects6); + +gdjs.copyArray(asyncObjectsList.getObjects("weapon_bar"), gdjs.Game_95World_95oldCode.GDweapon_9595barObjects6); + +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects6); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects6.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects6[i].hide(); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595barObjects6.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595barObjects6[i].hide(); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects6.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects6[i].hide(); +} +}} +gdjs.Game_95World_95oldCode.eventsList8 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +for (const obj of gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5) asyncObjectsList.addObject("weaponWheelSticker", obj); +for (const obj of gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5) asyncObjectsList.addObject("weapon_bar", obj); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(0.2), (runtimeScene) => (gdjs.Game_95World_95oldCode.asyncCallback29638724(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList9 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29636484); +} +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("weaponWheelSticker"), gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5); +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5); +{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "weaponWheelFade", 0, "", "weaponBar", "blur", "easeInQuad", 0.3); +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5[i].getBehavior("Tween").addObjectPositionXTween2("weaponWheelStickerAlign", gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) / 2 - (gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5[i].getWidth()) / 2 + 50, "easeOutQuad", 0.3, false); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5[i].getBehavior("Tween").addObjectOpacityTween2("bar", 0, "linear", 0.3, false); +} +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList8(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDweapon_95959595iconObjects4Objects = Hashtable.newFrom({"weapon_icon": gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4}); +gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDweapon_95959595iconObjects4Objects = Hashtable.newFrom({"weapon_icon": gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4}); +gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDweapon_95959595iconObjects5Objects = Hashtable.newFrom({"weapon_icon": gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects5}); +gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDweaponWheelStickerObjects5Objects = Hashtable.newFrom({"weaponWheelSticker": gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5}); +gdjs.Game_95World_95oldCode.eventsList10 = function(runtimeScene) { + +};gdjs.Game_95World_95oldCode.eventsList11 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4[i].getBehavior("Resizable").setWidth(gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) + 4); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.input.isKeyPressed(runtimeScene, "Tab")); +if (isConditionTrue_0) { +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{gdjs.evtTools.runtimeScene.createObjectsFromExternalLayout(runtimeScene, "WeaponBar", 0, 0, 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Button_pressed.func(runtimeScene, 1, "L1", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "Tab"); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{gdjs.evtTools.input.showCursor(runtimeScene); +}{gdjs.evtTools.camera.enableLayerEffect(runtimeScene, "", "weaponBar", true); +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList7(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Button_released.func(runtimeScene, 1, "L1", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtTools.input.isKeyPressed(runtimeScene, "Tab")); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{gdjs.evtTools.input.hideCursor(runtimeScene); +}{gdjs.evtTools.camera.enableLayerEffect(runtimeScene, "", "weaponBar", false); +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList9(runtimeScene);} //End of subevents +} + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.cursorOnObject(gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDweapon_95959595iconObjects4Objects, runtimeScene, true, true); +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4 */ +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4[i].getBehavior("Tween").addObjectScaleTween3("weaponWheelHoverScale", 1, "easeInQuad", 0.05, false, true); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4[i].getBehavior("Tween").addObjectAngleTween2("weaponWheelHoverRotate", 0.8, "easeInQuad", 0.05, false); +} +}} + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.cursorOnObject(gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDweapon_95959595iconObjects4Objects, runtimeScene, true, false); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29642180); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4 */ +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4[i].getBehavior("Tween").addObjectScaleTween3("weaponWheelHoverScale", 1.2, "easeInQuad", 0.2, false, true); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4[i].getBehavior("Tween").addObjectAngleTween2("weaponWheelHoverRotate", -(45), "easeInQuad", 0.2, false); +} +}} + +} + + +{ + + +const keyIteratorReference5 = runtimeScene.getScene().getVariables().get("i"); +const valueIteratorReference5 = runtimeScene.getScene().getVariables().get("child"); +const iterableReference5 = runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Active"); +if(!iterableReference5.isPrimitive()) { +for( + const iteratorKey5 in + iterableReference5.getType() === "structure" + ? iterableReference5.getAllChildren() + : iterableReference5.getType() === "array" + ? iterableReference5.getAllChildrenArray() + : [] +) { + if(iterableReference5.getType() === "structure") + keyIteratorReference5.setString(iteratorKey5); + else if(iterableReference5.getType() === "array") + keyIteratorReference5.setNumber(iteratorKey5); + const structureChildVariable5 = iterableReference5.getChild(iteratorKey5) + valueIteratorReference5.castTo(structureChildVariable5.getType()) + if(structureChildVariable5.isPrimitive()) { + valueIteratorReference5.setValue(structureChildVariable5.getValue()); + } else if (structureChildVariable5.getType() === "structure") { + // Structures are passed by reference like JS objects + valueIteratorReference5.replaceChildren(structureChildVariable5.getAllChildren()); + } else if (structureChildVariable5.getType() === "array") { + // Arrays are passed by reference like JS objects + valueIteratorReference5.replaceChildrenArray(structureChildVariable5.getAllChildrenArray()); + } else console.warn("Cannot identify type: ", type); +gdjs.copyArray(runtimeScene.getObjects("weaponWheelSticker"), gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5); +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5); +gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects5.length = 0; + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Active").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("i"))).getChild("active"), true); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Slot").getChild("current")) < runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Slot").getChild("max").getAsNumber(); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29643788); +} +} +} +if (isConditionTrue_0) +{ +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5[i].getBehavior("Resizable").setWidth(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("WeaponWheel").getChild("adder").getAsNumber()); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5[i].getBehavior("Resizable").setHeight((( gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5.length === 0 ) ? 0 :gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5[0].getHeight())); +} +}{gdjs.evtTools.object.createObjectOnScene((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : runtimeScene), gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDweapon_95959595iconObjects5Objects, (( gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5.length === 0 ) ? 0 :gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5[0].getCenterXInScene()) + runtimeScene.getScene().getVariables().getFromIndex(3).getChild("WeaponWheel").getChild("adder").getAsNumber(), (( gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5.length === 0 ) ? 0 :gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5[0].getCenterYInScene()), "UI"); +}{runtimeScene.getScene().getVariables().getFromIndex(3).getChild("WeaponWheel").getChild("adder").add((( gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects5.length === 0 ) ? 0 :gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects5[0].getWidth()) + 50); +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects5.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects5[i].getBehavior("Animation").setAnimationName(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("i"))); +} +}{runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Slot").getChild("current").add(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Active").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("i"))).getChild("slot").getAsNumber()); +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects5.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects5[i].getBehavior("Sticker").Stick(gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDweaponWheelStickerObjects5Objects, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5[i].getBehavior("Tween").addObjectPositionXTween2("weaponWheelStickerAlign", gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) / 2 - (gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5[i].getWidth()) / 2 + 50, "linear", 0.5, false); +} +}} +} +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.camera.layerEffectEnabled(runtimeScene, "", "weaponBar")); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4[i].hide(); +} +}} + +} + + +{ + + + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("weaponWheelSticker"), gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4); +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4); +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4[i].hide(); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4[i].hide(); +} +for(var i = 0, len = gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4[i].hide(); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("debug_ammo_text"), gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects3); +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects3); +{runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Selected").setString(((gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects3.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects3[0].getVariables()).getFromIndex(5).getChild("equipped").getAsString()); +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects3.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects3[i].getBehavior("Text").setText(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Selected").getAsString()); +} +}} + +} + + +};gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDplayer_95959595bodyObjects5Objects = Hashtable.newFrom({"player_body": gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects5}); +gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDprops_95959595foliageObjects5Objects = Hashtable.newFrom({"props_foliage": gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects5}); +gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDgreen_95959595leaves_95959595particleObjects5Objects = Hashtable.newFrom({"green_leaves_particle": gdjs.Game_95World_95oldCode.GDgreen_9595leaves_9595particleObjects5}); +gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDbrown_95959595leaves_95959595particleObjects4Objects = Hashtable.newFrom({"brown_leaves_particle": gdjs.Game_95World_95oldCode.GDbrown_9595leaves_9595particleObjects4}); +gdjs.Game_95World_95oldCode.eventsList12 = function(runtimeScene) { + +{ + +gdjs.copyArray(gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects4, gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects5); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects5.length;i (gdjs.Game_95World_95oldCode.asyncCallback29611028(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList15 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ + +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList14(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList16 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("basketball"), gdjs.Game_95World_95oldCode.GDbasketballObjects4); +gdjs.copyArray(runtimeScene.getObjects("basketball_hoop"), gdjs.Game_95World_95oldCode.GDbasketball_9595hoopObjects4); +gdjs.copyArray(runtimeScene.getObjects("building_rooftop"), gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects4); +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4); +gdjs.copyArray(runtimeScene.getObjects("props_decorations"), gdjs.Game_95World_95oldCode.GDprops_9595decorationsObjects4); +gdjs.copyArray(runtimeScene.getObjects("props_fences"), gdjs.Game_95World_95oldCode.GDprops_9595fencesObjects4); +gdjs.copyArray(runtimeScene.getObjects("props_foliage"), gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects4); +gdjs.copyArray(runtimeScene.getObjects("props_roadblock"), gdjs.Game_95World_95oldCode.GDprops_9595roadblockObjects4); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbasketballObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbasketballObjects4[i].getBehavior("Bounce").BounceOff(gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDbuilding_95959595rooftopObjects4ObjectsGDgdjs_9546Game_959595World_959595oldCode_9546GDprops_95959595foliageObjects4ObjectsGDgdjs_9546Game_959595World_959595oldCode_9546GDbasketball_95959595hoopObjects4ObjectsGDgdjs_9546Game_959595World_959595oldCode_9546GDprops_95959595decorationsObjects4ObjectsGDgdjs_9546Game_959595World_959595oldCode_9546GDprops_95959595roadblockObjects4ObjectsGDgdjs_9546Game_959595World_959595oldCode_9546GDprops_95959595fencesObjects4Objects, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbasketballObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbasketballObjects4[i].getBehavior("Bounce").BounceOff(gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDplayer_95959595bodyObjects4Objects, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +{ + + + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("basketball"), gdjs.Game_95World_95oldCode.GDbasketballObjects4); +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.object.hitBoxesCollisionTest(gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDplayer_95959595bodyObjects4Objects, gdjs.Game_95World_95oldCode.mapOfGDgdjs_9546Game_959595World_959595oldCode_9546GDbasketballObjects4Objects, false, runtimeScene, false); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29609476); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95World_95oldCode.GDbasketballObjects4 */ +/* Reuse gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4 */ +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbasketballObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbasketballObjects4[i].addPolarForce((( gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4.length === 0 ) ? 0 :gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4[0].getAngle()), 120, 1); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbasketballObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbasketballObjects4[i].playAnimation(); +} +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList15(runtimeScene);} //End of subevents +} + +} + + +{ + + + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("basketball"), gdjs.Game_95World_95oldCode.GDbasketballObjects4); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95World_95oldCode.GDbasketballObjects4.length;i (gdjs.Game_95World_95oldCode.asyncCallback29505828(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList23 = function(runtimeScene) { + +{ + + + +} + + +{ + +/* Reuse gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4 */ + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4.length;i= (gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4[i].getBehavior("TopDownMovement").getSpeed()) / 1000 ) { + isConditionTrue_0 = true; + gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4[k] = gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4[i]; + ++k; + } +} +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4.length = k; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29504932); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4 */ +gdjs.copyArray(runtimeScene.getObjects("player_hand"), gdjs.Game_95World_95oldCode.GDplayer_9595handObjects4); +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95World_95oldCode.GDplayer_9595legObjects4); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDplayer_9595handObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDplayer_9595handObjects4[i].getBehavior("Tween").addObjectWidthTween2("hand", 0, "easeInQuad", ((gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild(((gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4[0].getVariables()).getFromIndex(0).getAsString()).getChild("shuffleTweenDuration").getAsNumber(), false); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDplayer_9595legObjects4.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDplayer_9595legObjects4[i].getBehavior("Tween").addObjectWidthTween2("leg", 0, "easeInQuad", ((gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild(((gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4[0].getVariables()).getFromIndex(0).getAsString()).getChild("shuffleTweenDuration").getAsNumber(), false); +} +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList22(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList24 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95World_95oldCode.asyncCallback29514388 = function (runtimeScene, asyncObjectsList) { +gdjs.copyArray(asyncObjectsList.getObjects("player_body"), gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects7); + +gdjs.copyArray(asyncObjectsList.getObjects("player_leg"), gdjs.Game_95World_95oldCode.GDplayer_9595legObjects7); + +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDplayer_9595legObjects7.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDplayer_9595legObjects7[i].returnVariable(gdjs.Game_95World_95oldCode.GDplayer_9595legObjects7[i].getVariables().getFromIndex(1)).add(180); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDplayer_9595legObjects7.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDplayer_9595legObjects7[i].getBehavior("Tween").addObjectWidthTween2("leg", 20, "easeOutQuad", ((gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects7.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects7[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleTweenDuration").getAsNumber(), false); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects7.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects7[i].resetTimer("switchWalkAngle"); +} +}} +gdjs.Game_95World_95oldCode.eventsList25 = function(runtimeScene) { + +{ + +/* Reuse gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6 */ + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +for (const obj of gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6) asyncObjectsList.addObject("player_body", obj); +for (const obj of gdjs.Game_95World_95oldCode.GDplayer_9595legObjects6) asyncObjectsList.addObject("player_leg", obj); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(((gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleTweenDelay").getAsNumber()), (runtimeScene) => (gdjs.Game_95World_95oldCode.asyncCallback29514388(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList26 = function(runtimeScene) { + +{ + +gdjs.copyArray(gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects5, gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6.length;i= (gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[i].getBehavior("TopDownMovement").getSpeed()) / gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[i].getVariables().getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleSwitchTime").getAsNumber() ) { + isConditionTrue_0 = true; + gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[k] = gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[i]; + ++k; + } +} +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6.length = k; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29514836); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6 */ +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95World_95oldCode.GDplayer_9595legObjects6); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDplayer_9595legObjects6.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDplayer_9595legObjects6[i].getBehavior("Tween").addObjectWidthTween2("leg", 0, "easeInQuad", ((gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleTweenDuration").getAsNumber(), false); +} +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList25(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList27 = function(runtimeScene) { + +{ + +gdjs.copyArray(runtimeScene.getObjects("player_hand"), gdjs.Game_95World_95oldCode.GDplayer_9595handObjects5); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95World_95oldCode.GDplayer_9595handObjects5.length;i (gdjs.Game_95World_95oldCode.asyncCallback29522052(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList29 = function(runtimeScene) { + +{ + +gdjs.copyArray(gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects5, gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6.length;i= (gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[i].getBehavior("TopDownMovement").getSpeed()) / gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[i].getVariables().getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleSwitchTime").getAsNumber() ) { + isConditionTrue_0 = true; + gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[k] = gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[i]; + ++k; + } +} +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6.length = k; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29522500); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6 */ +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95World_95oldCode.GDplayer_9595legObjects6); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDplayer_9595legObjects6.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDplayer_9595legObjects6[i].getBehavior("Tween").addObjectWidthTween2("leg", 0, "easeInQuad", ((gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleTweenDuration").getAsNumber(), false); +} +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList28(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList30 = function(runtimeScene) { + +{ + +gdjs.copyArray(runtimeScene.getObjects("player_hand"), gdjs.Game_95World_95oldCode.GDplayer_9595handObjects5); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95World_95oldCode.GDplayer_9595handObjects5.length;i (gdjs.Game_95World_95oldCode.asyncCallback29487140(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList66 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("building_rooftop"), gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects2); +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects2); +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95World_95oldCode.GDplayer_9595legObjects2); +gdjs.copyArray(runtimeScene.getObjects("props_foliage"), gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects2); +{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDplayer_9595legObjects2.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDplayer_9595legObjects2[i].getBehavior("Effect").setEffectDoubleParameter("shadow", "rotation", gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value"))); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects2.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects2[i].getBehavior("Effect").setEffectDoubleParameter("shadow", "rotation", gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value"))); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects2.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects2[i].getBehavior("Effect").setEffectDoubleParameter("shadow", "rotation", gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value"))); +} +}{for(var i = 0, len = gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects2.length ;i < len;++i) { + gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects2[i].getBehavior("Effect").setEffectDoubleParameter("shadow", "rotation", gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value"))); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value").add(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("adder"))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value")) > 360; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29485372); +} +} +if (isConditionTrue_0) { +{runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value").setNumber(0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.tween.sceneTweenIsPlaying(runtimeScene, "nightdaycircle")); +if (isConditionTrue_0) { +{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "nightdaycircle", 1, "", "nightDayCycle", "opacity", "linear", 360 / (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("adder")) * 60)); +} +{ //Subevents +gdjs.Game_95World_95oldCode.eventsList65(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95World_95oldCode.eventsList67 = function(runtimeScene) { + +{ + + +gdjs.Game_95World_95oldCode.eventsList66(runtimeScene); +} + + +};gdjs.Game_95World_95oldCode.eventsList68 = function(runtimeScene) { + +{ + + + +} + + +{ + + +gdjs.Game_95World_95oldCode.eventsList63(runtimeScene); +} + + +{ + + +gdjs.Game_95World_95oldCode.eventsList64(runtimeScene); +} + + +{ + + +gdjs.Game_95World_95oldCode.eventsList67(runtimeScene); +} + + +};gdjs.Game_95World_95oldCode.eventsList69 = function(runtimeScene) { + +{ + + +gdjs.Game_95World_95oldCode.eventsList0(runtimeScene); +} + + +{ + + +gdjs.Game_95World_95oldCode.eventsList5(runtimeScene); +} + + +{ + + +gdjs.Game_95World_95oldCode.eventsList6(runtimeScene); +} + + +{ + + +gdjs.Game_95World_95oldCode.eventsList68(runtimeScene); +} + + +}; + +gdjs.Game_95World_95oldCode.func = function(runtimeScene) { +runtimeScene.getOnceTriggers().startNewFrame(); + +gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDgrass_9595tiledObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbuilding_9595rooftopObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595spriteObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595spriteObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595spriteObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595spriteObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595spriteObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595spriteObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595spriteObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDdoorObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDdoorObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDdoorObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDdoorObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDdoorObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDdoorObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDdoorObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595crosshairObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595crosshairObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595crosshairObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595crosshairObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595crosshairObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595crosshairObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595crosshairObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595fencesObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595fencesObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595fencesObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595fencesObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595fencesObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595fencesObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595fencesObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595roadblockObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595roadblockObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595roadblockObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595roadblockObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595roadblockObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595roadblockObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595roadblockObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595ammo_9595textObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595holdingObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595holdingObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595holdingObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595holdingObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595holdingObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595holdingObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595holdingObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595foliageObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595water_9595coverObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDsea_9595tiled_9595waterObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbasketballObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbasketballObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbasketballObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbasketballObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbasketballObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbasketballObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbasketballObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595hoopObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595hoopObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595hoopObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595hoopObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595hoopObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595hoopObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595hoopObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDground_95951Objects1.length = 0; +gdjs.Game_95World_95oldCode.GDground_95951Objects2.length = 0; +gdjs.Game_95World_95oldCode.GDground_95951Objects3.length = 0; +gdjs.Game_95World_95oldCode.GDground_95951Objects4.length = 0; +gdjs.Game_95World_95oldCode.GDground_95951Objects5.length = 0; +gdjs.Game_95World_95oldCode.GDground_95951Objects6.length = 0; +gdjs.Game_95World_95oldCode.GDground_95951Objects7.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595courtObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595courtObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595courtObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595courtObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595courtObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595courtObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbasketball_9595courtObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fire_9595secondaryObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fire_9595secondaryObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fire_9595secondaryObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fire_9595secondaryObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fire_9595secondaryObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fire_9595secondaryObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fire_9595secondaryObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fireObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fireObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fireObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fireObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fireObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fireObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDflame_9595thrower_9595fireObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595reloadingObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595reloadingObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595reloadingObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595reloadingObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595reloadingObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595reloadingObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595reloadingObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDwheel_9595infoObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDwheel_9595infoObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDwheel_9595infoObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDwheel_9595infoObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDwheel_9595infoObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDwheel_9595infoObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDwheel_9595infoObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595decorationsObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595decorationsObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595decorationsObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595decorationsObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595decorationsObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595decorationsObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595decorationsObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595moveableObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595moveableObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595moveableObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595moveableObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595moveableObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595moveableObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDprops_9595moveableObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbrown_9595leaves_9595particleObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbrown_9595leaves_9595particleObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbrown_9595leaves_9595particleObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbrown_9595leaves_9595particleObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbrown_9595leaves_9595particleObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbrown_9595leaves_9595particleObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbrown_9595leaves_9595particleObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDgreen_9595leaves_9595particleObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDgreen_9595leaves_9595particleObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDgreen_9595leaves_9595particleObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDgreen_9595leaves_9595particleObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDgreen_9595leaves_9595particleObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDgreen_9595leaves_9595particleObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDgreen_9595leaves_9595particleObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDconcrete_95951Objects1.length = 0; +gdjs.Game_95World_95oldCode.GDconcrete_95951Objects2.length = 0; +gdjs.Game_95World_95oldCode.GDconcrete_95951Objects3.length = 0; +gdjs.Game_95World_95oldCode.GDconcrete_95951Objects4.length = 0; +gdjs.Game_95World_95oldCode.GDconcrete_95951Objects5.length = 0; +gdjs.Game_95World_95oldCode.GDconcrete_95951Objects6.length = 0; +gdjs.Game_95World_95oldCode.GDconcrete_95951Objects7.length = 0; +gdjs.Game_95World_95oldCode.GDhidden_9595separateObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDhidden_9595separateObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDhidden_9595separateObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDhidden_9595separateObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDhidden_9595separateObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDhidden_9595separateObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDhidden_9595separateObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wifiObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wifiObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wifiObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wifiObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wifiObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wifiObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wifiObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595batteryObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595batteryObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595batteryObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595batteryObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595batteryObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595batteryObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595batteryObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595timeObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595timeObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595timeObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595timeObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595timeObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595timeObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595timeObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595WObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDedge_9595sand_9595NWObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDedge_9595sand_9595NWObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDedge_9595sand_9595NWObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDedge_9595sand_9595NWObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDedge_9595sand_9595NWObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDedge_9595sand_9595NWObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDedge_9595sand_9595NWObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SWObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconsObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconsObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconsObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconsObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconsObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconsObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconsObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDNewObjectObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDNewObjectObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDNewObjectObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDNewObjectObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDNewObjectObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDNewObjectObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDNewObjectObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDmouse_9595pointObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDmouse_9595pointObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDmouse_9595pointObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDmouse_9595pointObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDmouse_9595pointObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDmouse_9595pointObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDmouse_9595pointObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595rocketObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595rocketObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595rocketObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595rocketObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595rocketObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595rocketObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595rocketObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595machineObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595machineObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595machineObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595machineObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595machineObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595machineObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595machineObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595sniperObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595sniperObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595sniperObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595sniperObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595sniperObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595sniperObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595sniperObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595pistolObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595pistolObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595pistolObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595pistolObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595pistolObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595pistolObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbullet_9595destroy_9595pistolObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595rocketObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595rocketObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595rocketObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595rocketObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595rocketObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595rocketObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595rocketObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595sniperObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595sniperObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595sniperObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595sniperObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595sniperObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595sniperObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effect_9595sniperObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effectObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effectObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effectObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effectObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effectObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effectObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDshooting_9595effectObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595toggleObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595toggleObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595toggleObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595toggleObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595toggleObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595toggleObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595toggleObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595textObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595textObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595textObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595textObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595textObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595textObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595textObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595frameObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595frameObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595frameObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595frameObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595frameObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595frameObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595frameObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595maskObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595maskObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595maskObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595maskObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595maskObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595maskObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595maskObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595iconObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595iconObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595iconObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595iconObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595iconObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595iconObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595iconObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wallpaperObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wallpaperObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wallpaperObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wallpaperObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wallpaperObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wallpaperObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDphone_9595wallpaperObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595iconObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595barObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595barObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595barObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595barObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595barObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595barObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDweapon_9595barObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDweaponWheelStickerObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595EObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SEObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595NEObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbridge_9595tiled_95951Objects1.length = 0; +gdjs.Game_95World_95oldCode.GDbridge_9595tiled_95951Objects2.length = 0; +gdjs.Game_95World_95oldCode.GDbridge_9595tiled_95951Objects3.length = 0; +gdjs.Game_95World_95oldCode.GDbridge_9595tiled_95951Objects4.length = 0; +gdjs.Game_95World_95oldCode.GDbridge_9595tiled_95951Objects5.length = 0; +gdjs.Game_95World_95oldCode.GDbridge_9595tiled_95951Objects6.length = 0; +gdjs.Game_95World_95oldCode.GDbridge_9595tiled_95951Objects7.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595fpsObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595fpsObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595fpsObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595fpsObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595fpsObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595fpsObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDdebug_9595fpsObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595bodyObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595legObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595legObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595legObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595legObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595legObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595legObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595legObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595handObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595handObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595handObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595handObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595handObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595handObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDplayer_9595handObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NEObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595NWObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595WObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595EObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595centerObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SEObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595SWObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595innerObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595endObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595SObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDbeach_9595sand_9595inner_9595SWObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects1.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects2.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects3.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects4.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects5.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects6.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95951Objects7.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects1.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects2.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects3.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects4.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects5.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects6.length = 0; +gdjs.Game_95World_95oldCode.GDsand_9595tiled_95952Objects7.length = 0; +gdjs.Game_95World_95oldCode.GDuziGold_9595holdObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDuziGold_9595holdObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDuziGold_9595holdObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDuziGold_9595holdObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDuziGold_9595holdObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDuziGold_9595holdObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDuziGold_9595holdObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595holdObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595holdObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595holdObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595holdObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595holdObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595holdObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595holdObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595pickObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595pickObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595pickObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595pickObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595pickObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595pickObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDuziLong_9595pickObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDuzi_9595ammoObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDuzi_9595ammoObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDuzi_9595ammoObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDuzi_9595ammoObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDuzi_9595ammoObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDuzi_9595ammoObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDuzi_9595ammoObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595crosshairObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595crosshairObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595crosshairObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595crosshairObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595crosshairObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595crosshairObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595crosshairObjects7.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595transitionObjects1.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595transitionObjects2.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595transitionObjects3.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595transitionObjects4.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595transitionObjects5.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595transitionObjects6.length = 0; +gdjs.Game_95World_95oldCode.GDgame_9595transitionObjects7.length = 0; + +gdjs.Game_95World_95oldCode.eventsList69(runtimeScene); + +return; + +} + +gdjs['Game_95World_95oldCode'] = gdjs.Game_95World_95oldCode; diff --git a/code3.js b/code3.js new file mode 100644 index 00000000..36df37d8 --- /dev/null +++ b/code3.js @@ -0,0 +1,5785 @@ +gdjs.Game_95WorldCode = {}; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4_1final = []; + +gdjs.Game_95WorldCode.GDprops_9595foliageObjects4_1final = []; + +gdjs.Game_95WorldCode.forEachIndex4 = 0; + +gdjs.Game_95WorldCode.forEachObjects4 = []; + +gdjs.Game_95WorldCode.forEachTemporary4 = null; + +gdjs.Game_95WorldCode.forEachTotalCount4 = 0; + +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects1= []; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects2= []; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects3= []; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects4= []; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects5= []; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects6= []; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects7= []; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects1= []; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects2= []; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects3= []; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects4= []; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects5= []; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects6= []; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects7= []; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects1= []; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects2= []; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects3= []; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects4= []; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects5= []; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects6= []; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects7= []; +gdjs.Game_95WorldCode.GDdoorObjects1= []; +gdjs.Game_95WorldCode.GDdoorObjects2= []; +gdjs.Game_95WorldCode.GDdoorObjects3= []; +gdjs.Game_95WorldCode.GDdoorObjects4= []; +gdjs.Game_95WorldCode.GDdoorObjects5= []; +gdjs.Game_95WorldCode.GDdoorObjects6= []; +gdjs.Game_95WorldCode.GDdoorObjects7= []; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects1= []; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects2= []; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects3= []; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects4= []; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects5= []; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects6= []; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects7= []; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects1= []; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects2= []; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects3= []; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects4= []; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects5= []; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects6= []; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects7= []; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects1= []; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects2= []; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects3= []; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects4= []; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects5= []; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects6= []; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects7= []; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects1= []; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects2= []; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects3= []; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects4= []; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects5= []; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects6= []; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects7= []; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects1= []; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects2= []; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects3= []; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects4= []; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects5= []; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects6= []; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects7= []; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects1= []; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects2= []; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects3= []; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects4= []; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects5= []; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects6= []; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects7= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects1= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects2= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects3= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects4= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects5= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects6= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects7= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects1= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects2= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects3= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects4= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects5= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects6= []; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects7= []; +gdjs.Game_95WorldCode.GDbasketballObjects1= []; +gdjs.Game_95WorldCode.GDbasketballObjects2= []; +gdjs.Game_95WorldCode.GDbasketballObjects3= []; +gdjs.Game_95WorldCode.GDbasketballObjects4= []; +gdjs.Game_95WorldCode.GDbasketballObjects5= []; +gdjs.Game_95WorldCode.GDbasketballObjects6= []; +gdjs.Game_95WorldCode.GDbasketballObjects7= []; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects1= []; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects2= []; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects3= []; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects4= []; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects5= []; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects6= []; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects7= []; +gdjs.Game_95WorldCode.GDground_95951Objects1= []; +gdjs.Game_95WorldCode.GDground_95951Objects2= []; +gdjs.Game_95WorldCode.GDground_95951Objects3= []; +gdjs.Game_95WorldCode.GDground_95951Objects4= []; +gdjs.Game_95WorldCode.GDground_95951Objects5= []; +gdjs.Game_95WorldCode.GDground_95951Objects6= []; +gdjs.Game_95WorldCode.GDground_95951Objects7= []; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects1= []; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects2= []; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects3= []; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects4= []; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects5= []; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects6= []; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects7= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects1= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects2= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects3= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects4= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects5= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects6= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects7= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects1= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects2= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects3= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects4= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects5= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects6= []; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects7= []; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects1= []; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects2= []; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects3= []; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects4= []; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects5= []; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects6= []; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects7= []; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects1= []; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects2= []; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects3= []; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects4= []; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects5= []; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects6= []; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects7= []; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects1= []; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects2= []; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects3= []; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects4= []; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects5= []; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects6= []; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects7= []; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects1= []; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects2= []; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects3= []; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects4= []; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects5= []; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects6= []; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects7= []; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects1= []; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects2= []; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects3= []; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects4= []; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects5= []; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects6= []; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects7= []; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects1= []; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects2= []; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects3= []; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects4= []; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects5= []; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects6= []; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects7= []; +gdjs.Game_95WorldCode.GDconcrete_95951Objects1= []; +gdjs.Game_95WorldCode.GDconcrete_95951Objects2= []; +gdjs.Game_95WorldCode.GDconcrete_95951Objects3= []; +gdjs.Game_95WorldCode.GDconcrete_95951Objects4= []; +gdjs.Game_95WorldCode.GDconcrete_95951Objects5= []; +gdjs.Game_95WorldCode.GDconcrete_95951Objects6= []; +gdjs.Game_95WorldCode.GDconcrete_95951Objects7= []; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects1= []; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects2= []; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects3= []; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects4= []; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects5= []; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects6= []; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects7= []; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects1= []; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects2= []; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects3= []; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects4= []; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects5= []; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects6= []; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects7= []; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects1= []; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects2= []; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects3= []; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects4= []; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects5= []; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects6= []; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects7= []; +gdjs.Game_95WorldCode.GDphone_9595timeObjects1= []; +gdjs.Game_95WorldCode.GDphone_9595timeObjects2= []; +gdjs.Game_95WorldCode.GDphone_9595timeObjects3= []; +gdjs.Game_95WorldCode.GDphone_9595timeObjects4= []; +gdjs.Game_95WorldCode.GDphone_9595timeObjects5= []; +gdjs.Game_95WorldCode.GDphone_9595timeObjects6= []; +gdjs.Game_95WorldCode.GDphone_9595timeObjects7= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects1= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects2= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects3= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects4= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects5= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects6= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects7= []; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects1= []; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects2= []; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects3= []; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects4= []; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects5= []; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects6= []; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects7= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects1= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects2= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects3= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects4= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects5= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects6= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects7= []; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects1= []; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects2= []; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects3= []; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects4= []; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects5= []; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects6= []; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects7= []; +gdjs.Game_95WorldCode.GDNewObjectObjects1= []; +gdjs.Game_95WorldCode.GDNewObjectObjects2= []; +gdjs.Game_95WorldCode.GDNewObjectObjects3= []; +gdjs.Game_95WorldCode.GDNewObjectObjects4= []; +gdjs.Game_95WorldCode.GDNewObjectObjects5= []; +gdjs.Game_95WorldCode.GDNewObjectObjects6= []; +gdjs.Game_95WorldCode.GDNewObjectObjects7= []; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects1= []; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects2= []; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects3= []; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects4= []; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects5= []; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects6= []; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects7= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects1= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects2= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects3= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects4= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects5= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects6= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects7= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects1= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects2= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects3= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects4= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects5= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects6= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects7= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects1= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects2= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects3= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects4= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects5= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects6= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects7= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects1= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects2= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects3= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects4= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects5= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects6= []; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects7= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects1= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects2= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects3= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects4= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects5= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects6= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects7= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects1= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects2= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects3= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects4= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects5= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects6= []; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects7= []; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects1= []; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects2= []; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects3= []; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects4= []; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects5= []; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects6= []; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects7= []; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects1= []; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects2= []; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects3= []; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects4= []; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects5= []; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects6= []; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects7= []; +gdjs.Game_95WorldCode.GDdebug_9595textObjects1= []; +gdjs.Game_95WorldCode.GDdebug_9595textObjects2= []; +gdjs.Game_95WorldCode.GDdebug_9595textObjects3= []; +gdjs.Game_95WorldCode.GDdebug_9595textObjects4= []; +gdjs.Game_95WorldCode.GDdebug_9595textObjects5= []; +gdjs.Game_95WorldCode.GDdebug_9595textObjects6= []; +gdjs.Game_95WorldCode.GDdebug_9595textObjects7= []; +gdjs.Game_95WorldCode.GDphone_9595frameObjects1= []; +gdjs.Game_95WorldCode.GDphone_9595frameObjects2= []; +gdjs.Game_95WorldCode.GDphone_9595frameObjects3= []; +gdjs.Game_95WorldCode.GDphone_9595frameObjects4= []; +gdjs.Game_95WorldCode.GDphone_9595frameObjects5= []; +gdjs.Game_95WorldCode.GDphone_9595frameObjects6= []; +gdjs.Game_95WorldCode.GDphone_9595frameObjects7= []; +gdjs.Game_95WorldCode.GDphone_9595maskObjects1= []; +gdjs.Game_95WorldCode.GDphone_9595maskObjects2= []; +gdjs.Game_95WorldCode.GDphone_9595maskObjects3= []; +gdjs.Game_95WorldCode.GDphone_9595maskObjects4= []; +gdjs.Game_95WorldCode.GDphone_9595maskObjects5= []; +gdjs.Game_95WorldCode.GDphone_9595maskObjects6= []; +gdjs.Game_95WorldCode.GDphone_9595maskObjects7= []; +gdjs.Game_95WorldCode.GDphone_9595iconObjects1= []; +gdjs.Game_95WorldCode.GDphone_9595iconObjects2= []; +gdjs.Game_95WorldCode.GDphone_9595iconObjects3= []; +gdjs.Game_95WorldCode.GDphone_9595iconObjects4= []; +gdjs.Game_95WorldCode.GDphone_9595iconObjects5= []; +gdjs.Game_95WorldCode.GDphone_9595iconObjects6= []; +gdjs.Game_95WorldCode.GDphone_9595iconObjects7= []; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects1= []; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects2= []; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects3= []; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects4= []; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects5= []; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects6= []; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects7= []; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects1= []; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects2= []; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects3= []; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects4= []; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects5= []; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects6= []; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects7= []; +gdjs.Game_95WorldCode.GDweapon_9595barObjects1= []; +gdjs.Game_95WorldCode.GDweapon_9595barObjects2= []; +gdjs.Game_95WorldCode.GDweapon_9595barObjects3= []; +gdjs.Game_95WorldCode.GDweapon_9595barObjects4= []; +gdjs.Game_95WorldCode.GDweapon_9595barObjects5= []; +gdjs.Game_95WorldCode.GDweapon_9595barObjects6= []; +gdjs.Game_95WorldCode.GDweapon_9595barObjects7= []; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects1= []; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects2= []; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects3= []; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4= []; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5= []; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects6= []; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects7= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects1= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects2= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects3= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects4= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects5= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects6= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects7= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects1= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects2= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects3= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects4= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects5= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects6= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects7= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects1= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects2= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects3= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects4= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects5= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects6= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects7= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects1= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects2= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects3= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects4= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects5= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects6= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects7= []; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects1= []; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects2= []; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects3= []; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects4= []; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects5= []; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects6= []; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects7= []; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects1= []; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects2= []; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects3= []; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects4= []; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects5= []; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects6= []; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects7= []; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects1= []; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects2= []; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects3= []; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4= []; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects5= []; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6= []; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects7= []; +gdjs.Game_95WorldCode.GDplayer_9595legObjects1= []; +gdjs.Game_95WorldCode.GDplayer_9595legObjects2= []; +gdjs.Game_95WorldCode.GDplayer_9595legObjects3= []; +gdjs.Game_95WorldCode.GDplayer_9595legObjects4= []; +gdjs.Game_95WorldCode.GDplayer_9595legObjects5= []; +gdjs.Game_95WorldCode.GDplayer_9595legObjects6= []; +gdjs.Game_95WorldCode.GDplayer_9595legObjects7= []; +gdjs.Game_95WorldCode.GDplayer_9595handObjects1= []; +gdjs.Game_95WorldCode.GDplayer_9595handObjects2= []; +gdjs.Game_95WorldCode.GDplayer_9595handObjects3= []; +gdjs.Game_95WorldCode.GDplayer_9595handObjects4= []; +gdjs.Game_95WorldCode.GDplayer_9595handObjects5= []; +gdjs.Game_95WorldCode.GDplayer_9595handObjects6= []; +gdjs.Game_95WorldCode.GDplayer_9595handObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects7= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects1= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects2= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects3= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects4= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects5= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects6= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects7= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects1= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects2= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects3= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects4= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects5= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects6= []; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects7= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects1= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects2= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects3= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects4= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects5= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects6= []; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects7= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects1= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects2= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects3= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects4= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects5= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects6= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects7= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects1= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects2= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects3= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects4= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects5= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects6= []; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects7= []; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects1= []; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects2= []; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects3= []; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects4= []; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects5= []; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects6= []; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects7= []; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects1= []; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects2= []; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects3= []; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects4= []; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects5= []; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects6= []; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects7= []; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects1= []; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects2= []; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects3= []; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects4= []; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects5= []; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects6= []; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects7= []; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects1= []; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects2= []; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects3= []; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects4= []; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects5= []; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects6= []; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects7= []; +gdjs.Game_95WorldCode.GDmapObjects1= []; +gdjs.Game_95WorldCode.GDmapObjects2= []; +gdjs.Game_95WorldCode.GDmapObjects3= []; +gdjs.Game_95WorldCode.GDmapObjects4= []; +gdjs.Game_95WorldCode.GDmapObjects5= []; +gdjs.Game_95WorldCode.GDmapObjects6= []; +gdjs.Game_95WorldCode.GDmapObjects7= []; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects1= []; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects2= []; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects3= []; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects4= []; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects5= []; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects6= []; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects7= []; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects1= []; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects2= []; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects3= []; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects4= []; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects5= []; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects6= []; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects7= []; + + +gdjs.Game_95WorldCode.eventsList0 = function(runtimeScene) { + +{ + + + +} + + +};gdjs.Game_95WorldCode.asyncCallback28668868 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.variable.toggleVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("intro")); +}{runtimeScene.getScene().getVariables().getFromIndex(1).getChild("Camera").getChild("Zoom").setNumber(1); +}{gdjs.evtTools.camera.setLayerEffectBooleanParameter(runtimeScene, "", "introSepia", "opacity", false); +}{gdjs.evtTools.camera.setLayerEffectBooleanParameter(runtimeScene, "", "brightness", "opacity", false); +}} +gdjs.Game_95WorldCode.eventsList1 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95WorldCode.asyncCallback28668868(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.asyncCallback28668620 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "introSepia", "opacity", 0); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "brightness", "brightness", 1); +}{gdjs.evtTools.tween.tweenCameraZoom2(runtimeScene, "introZoom", 1, "", "elastic", 2); +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList1(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95WorldCode.eventsList2 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95WorldCode.asyncCallback28668620(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.asyncCallback28666772 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "introSepia", "opacity", 0.1); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "brightness", "brightness", 0.9); +}{gdjs.evtTools.tween.tweenCameraZoom2(runtimeScene, "introZoom", 0.75, "", "elastic", 2); +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList2(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95WorldCode.eventsList3 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95WorldCode.asyncCallback28666772(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.asyncCallback28666412 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "introSepia", "opacity", 0.3); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "brightness", "brightness", 0.8); +}{gdjs.evtTools.tween.tweenCameraZoom2(runtimeScene, "introZoom", 0.5, "", "elastic", 2); +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList3(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95WorldCode.eventsList4 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95WorldCode.asyncCallback28666412(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.eventsList5 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{gdjs.evtTools.camera.setCameraZoom(runtimeScene, 0.35, "", 0); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "introSepia", "opacity", 0.5); +}{gdjs.evtTools.camera.setLayerEffectDoubleParameter(runtimeScene, "", "brightness", "brightness", 0.7); +}{gdjs.evtTools.tween.tweenCameraZoom2(runtimeScene, "introZoom", 0.35, "", "elastic", 1); +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList4(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95WorldCode.eventsList6 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("building_rooftop"), gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects2); +gdjs.copyArray(runtimeScene.getObjects("props_foliage"), gdjs.Game_95WorldCode.GDprops_9595foliageObjects2); +gdjs.copyArray(runtimeScene.getObjects("sea_tiled_water_cover"), gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects2); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects2.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects2[i].setZOrder(120); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDprops_9595foliageObjects2.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDprops_9595foliageObjects2[i].setZOrder(121); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects2.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects2[i].hide(); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("beach_sand_E"), gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_N"), gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_NE"), gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_S"), gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_SE"), gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_SW"), gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_W"), gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects1); +gdjs.copyArray(runtimeScene.getObjects("beach_sand_inner_SW"), gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects1); +gdjs.copyArray(runtimeScene.getObjects("grass_tiled"), gdjs.Game_95WorldCode.GDgrass_9595tiledObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_E"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_N"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_NE"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_NW"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_S"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_SE"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_SW"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_W"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_center"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_curve_left"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_curve_right"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_end"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects1); +gdjs.copyArray(runtimeScene.getObjects("road_tiled_white_inner"), gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects1); +gdjs.copyArray(runtimeScene.getObjects("sand_tiled_1"), gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects1); +gdjs.copyArray(runtimeScene.getObjects("sand_tiled_2"), gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects1); +gdjs.copyArray(runtimeScene.getObjects("sea_tiled_water"), gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects1); +gdjs.copyArray(runtimeScene.getObjects("sea_tiled_water_cover"), gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects1); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects1[i].setZOrder(-(1)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects1[i].setZOrder(-(1)); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects1[i].setZOrder(-(2)); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects1[i].setZOrder(-(2)); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDgrass_9595tiledObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDgrass_9595tiledObjects1[i].setZOrder(0); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects1[i].setZOrder(1); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects1[i].setZOrder(1); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects1[i].setZOrder(1); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects1.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects1[i].setZOrder(1); +} +}} + +} + + +};gdjs.Game_95WorldCode.eventsList7 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29631612); +} +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("weaponWheelSticker"), gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4); +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95WorldCode.GDweapon_9595barObjects4); +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95WorldCode.GDweapon_9595iconObjects4); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects4[i].hide(false); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595barObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595barObjects4[i].hide(false); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4[i].hide(false); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4[i].getBehavior("Tween").addObjectPositionXTween2("weaponWheelStickerAlign", gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) / 2 - (gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4[i].getWidth()) / 2, "easeOutQuad", 0.5, false); +} +}{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "weaponWheelFade", 10, "", "weaponBar", "blur", "easeOutQuad", 0.5); +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595barObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595barObjects4[i].getBehavior("Tween").addObjectOpacityTween2("bar", 255, "linear", 0.1, false); +} +}{gdjs.evtTools.input.showCursor(runtimeScene); +}} + +} + + +};gdjs.Game_95WorldCode.asyncCallback29638724 = function (runtimeScene, asyncObjectsList) { +gdjs.copyArray(asyncObjectsList.getObjects("weaponWheelSticker"), gdjs.Game_95WorldCode.GDweaponWheelStickerObjects6); + +gdjs.copyArray(asyncObjectsList.getObjects("weapon_bar"), gdjs.Game_95WorldCode.GDweapon_9595barObjects6); + +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95WorldCode.GDweapon_9595iconObjects6); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects6.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects6[i].hide(); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595barObjects6.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595barObjects6[i].hide(); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDweaponWheelStickerObjects6.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweaponWheelStickerObjects6[i].hide(); +} +}} +gdjs.Game_95WorldCode.eventsList8 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +for (const obj of gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5) asyncObjectsList.addObject("weaponWheelSticker", obj); +for (const obj of gdjs.Game_95WorldCode.GDweapon_9595barObjects5) asyncObjectsList.addObject("weapon_bar", obj); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(0.2), (runtimeScene) => (gdjs.Game_95WorldCode.asyncCallback29638724(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.eventsList9 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29636484); +} +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("weaponWheelSticker"), gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5); +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95WorldCode.GDweapon_9595barObjects5); +{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "weaponWheelFade", 0, "", "weaponBar", "blur", "easeInQuad", 0.3); +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5[i].getBehavior("Tween").addObjectPositionXTween2("weaponWheelStickerAlign", gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) / 2 - (gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5[i].getWidth()) / 2 + 50, "easeOutQuad", 0.3, false); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595barObjects5.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595barObjects5[i].getBehavior("Tween").addObjectOpacityTween2("bar", 0, "linear", 0.3, false); +} +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList8(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDweapon_95959595iconObjects4Objects = Hashtable.newFrom({"weapon_icon": gdjs.Game_95WorldCode.GDweapon_9595iconObjects4}); +gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDweapon_95959595iconObjects4Objects = Hashtable.newFrom({"weapon_icon": gdjs.Game_95WorldCode.GDweapon_9595iconObjects4}); +gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDweapon_95959595iconObjects5Objects = Hashtable.newFrom({"weapon_icon": gdjs.Game_95WorldCode.GDweapon_9595iconObjects5}); +gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDweaponWheelStickerObjects5Objects = Hashtable.newFrom({"weaponWheelSticker": gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5}); +gdjs.Game_95WorldCode.eventsList10 = function(runtimeScene) { + +};gdjs.Game_95WorldCode.eventsList11 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95WorldCode.GDweapon_9595barObjects4); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595barObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595barObjects4[i].getBehavior("Resizable").setWidth(gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) + 4); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.input.isKeyPressed(runtimeScene, "Tab")); +if (isConditionTrue_0) { +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{gdjs.evtTools.runtimeScene.createObjectsFromExternalLayout(runtimeScene, "WeaponBar", 0, 0, 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Button_pressed.func(runtimeScene, 1, "L1", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "Tab"); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{gdjs.evtTools.input.showCursor(runtimeScene); +}{gdjs.evtTools.camera.enableLayerEffect(runtimeScene, "", "weaponBar", true); +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList7(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Button_released.func(runtimeScene, 1, "L1", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtTools.input.isKeyPressed(runtimeScene, "Tab")); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{gdjs.evtTools.input.hideCursor(runtimeScene); +}{gdjs.evtTools.camera.enableLayerEffect(runtimeScene, "", "weaponBar", false); +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList9(runtimeScene);} //End of subevents +} + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95WorldCode.GDweapon_9595iconObjects4); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.cursorOnObject(gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDweapon_95959595iconObjects4Objects, runtimeScene, true, true); +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95WorldCode.GDweapon_9595iconObjects4 */ +{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects4[i].getBehavior("Tween").addObjectScaleTween3("weaponWheelHoverScale", 1, "easeInQuad", 0.05, false, true); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects4[i].getBehavior("Tween").addObjectAngleTween2("weaponWheelHoverRotate", 0.8, "easeInQuad", 0.05, false); +} +}} + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95WorldCode.GDweapon_9595iconObjects4); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.cursorOnObject(gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDweapon_95959595iconObjects4Objects, runtimeScene, true, false); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29642180); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95WorldCode.GDweapon_9595iconObjects4 */ +{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects4[i].getBehavior("Tween").addObjectScaleTween3("weaponWheelHoverScale", 1.2, "easeInQuad", 0.2, false, true); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects4[i].getBehavior("Tween").addObjectAngleTween2("weaponWheelHoverRotate", -(45), "easeInQuad", 0.2, false); +} +}} + +} + + +{ + + +const keyIteratorReference5 = runtimeScene.getScene().getVariables().get("i"); +const valueIteratorReference5 = runtimeScene.getScene().getVariables().get("child"); +const iterableReference5 = runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Active"); +if(!iterableReference5.isPrimitive()) { +for( + const iteratorKey5 in + iterableReference5.getType() === "structure" + ? iterableReference5.getAllChildren() + : iterableReference5.getType() === "array" + ? iterableReference5.getAllChildrenArray() + : [] +) { + if(iterableReference5.getType() === "structure") + keyIteratorReference5.setString(iteratorKey5); + else if(iterableReference5.getType() === "array") + keyIteratorReference5.setNumber(iteratorKey5); + const structureChildVariable5 = iterableReference5.getChild(iteratorKey5) + valueIteratorReference5.castTo(structureChildVariable5.getType()) + if(structureChildVariable5.isPrimitive()) { + valueIteratorReference5.setValue(structureChildVariable5.getValue()); + } else if (structureChildVariable5.getType() === "structure") { + // Structures are passed by reference like JS objects + valueIteratorReference5.replaceChildren(structureChildVariable5.getAllChildren()); + } else if (structureChildVariable5.getType() === "array") { + // Arrays are passed by reference like JS objects + valueIteratorReference5.replaceChildrenArray(structureChildVariable5.getAllChildrenArray()); + } else console.warn("Cannot identify type: ", type); +gdjs.copyArray(runtimeScene.getObjects("weaponWheelSticker"), gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5); +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95WorldCode.GDweapon_9595barObjects5); +gdjs.Game_95WorldCode.GDweapon_9595iconObjects5.length = 0; + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Active").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("i"))).getChild("active"), true); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Slot").getChild("current")) < runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Slot").getChild("max").getAsNumber(); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29643788); +} +} +} +if (isConditionTrue_0) +{ +{for(var i = 0, len = gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5[i].getBehavior("Resizable").setWidth(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("WeaponWheel").getChild("adder").getAsNumber()); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5[i].getBehavior("Resizable").setHeight((( gdjs.Game_95WorldCode.GDweapon_9595barObjects5.length === 0 ) ? 0 :gdjs.Game_95WorldCode.GDweapon_9595barObjects5[0].getHeight())); +} +}{gdjs.evtTools.object.createObjectOnScene((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : runtimeScene), gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDweapon_95959595iconObjects5Objects, (( gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5.length === 0 ) ? 0 :gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5[0].getCenterXInScene()) + runtimeScene.getScene().getVariables().getFromIndex(3).getChild("WeaponWheel").getChild("adder").getAsNumber(), (( gdjs.Game_95WorldCode.GDweapon_9595barObjects5.length === 0 ) ? 0 :gdjs.Game_95WorldCode.GDweapon_9595barObjects5[0].getCenterYInScene()), "UI"); +}{runtimeScene.getScene().getVariables().getFromIndex(3).getChild("WeaponWheel").getChild("adder").add((( gdjs.Game_95WorldCode.GDweapon_9595iconObjects5.length === 0 ) ? 0 :gdjs.Game_95WorldCode.GDweapon_9595iconObjects5[0].getWidth()) + 50); +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects5.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects5[i].getBehavior("Animation").setAnimationName(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("i"))); +} +}{runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Slot").getChild("current").add(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Active").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("i"))).getChild("slot").getAsNumber()); +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects5.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects5[i].getBehavior("Sticker").Stick(gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDweaponWheelStickerObjects5Objects, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5[i].getBehavior("Tween").addObjectPositionXTween2("weaponWheelStickerAlign", gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) / 2 - (gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5[i].getWidth()) / 2 + 50, "linear", 0.5, false); +} +}} +} +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.camera.layerEffectEnabled(runtimeScene, "", "weaponBar")); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95WorldCode.GDweapon_9595iconObjects4); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects4[i].hide(); +} +}} + +} + + +{ + + + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("weaponWheelSticker"), gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4); +gdjs.copyArray(runtimeScene.getObjects("weapon_bar"), gdjs.Game_95WorldCode.GDweapon_9595barObjects4); +gdjs.copyArray(runtimeScene.getObjects("weapon_icon"), gdjs.Game_95WorldCode.GDweapon_9595iconObjects4); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595iconObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595iconObjects4[i].hide(); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDweapon_9595barObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweapon_9595barObjects4[i].hide(); +} +for(var i = 0, len = gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4[i].hide(); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("debug_ammo_text"), gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects3); +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95WorldCode.GDplayer_9595bodyObjects3); +{runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Selected").setString(((gdjs.Game_95WorldCode.GDplayer_9595bodyObjects3.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95WorldCode.GDplayer_9595bodyObjects3[0].getVariables()).getFromIndex(5).getChild("equipped").getAsString()); +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects3.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects3[i].getBehavior("Text").setText(runtimeScene.getScene().getVariables().getFromIndex(3).getChild("Weapons").getChild("Selected").getAsString()); +} +}} + +} + + +};gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDplayer_95959595bodyObjects5Objects = Hashtable.newFrom({"player_body": gdjs.Game_95WorldCode.GDplayer_9595bodyObjects5}); +gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDprops_95959595foliageObjects5Objects = Hashtable.newFrom({"props_foliage": gdjs.Game_95WorldCode.GDprops_9595foliageObjects5}); +gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDgreen_95959595leaves_95959595particleObjects5Objects = Hashtable.newFrom({"green_leaves_particle": gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects5}); +gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDbrown_95959595leaves_95959595particleObjects4Objects = Hashtable.newFrom({"brown_leaves_particle": gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects4}); +gdjs.Game_95WorldCode.eventsList12 = function(runtimeScene) { + +{ + +gdjs.copyArray(gdjs.Game_95WorldCode.GDprops_9595foliageObjects4, gdjs.Game_95WorldCode.GDprops_9595foliageObjects5); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95WorldCode.GDprops_9595foliageObjects5.length;i (gdjs.Game_95WorldCode.asyncCallback29611028(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.eventsList15 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ + +{ //Subevents +gdjs.Game_95WorldCode.eventsList14(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95WorldCode.eventsList16 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("basketball"), gdjs.Game_95WorldCode.GDbasketballObjects4); +gdjs.copyArray(runtimeScene.getObjects("basketball_hoop"), gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects4); +gdjs.copyArray(runtimeScene.getObjects("building_rooftop"), gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects4); +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4); +gdjs.copyArray(runtimeScene.getObjects("props_decorations"), gdjs.Game_95WorldCode.GDprops_9595decorationsObjects4); +gdjs.copyArray(runtimeScene.getObjects("props_fences"), gdjs.Game_95WorldCode.GDprops_9595fencesObjects4); +gdjs.copyArray(runtimeScene.getObjects("props_foliage"), gdjs.Game_95WorldCode.GDprops_9595foliageObjects4); +gdjs.copyArray(runtimeScene.getObjects("props_roadblock"), gdjs.Game_95WorldCode.GDprops_9595roadblockObjects4); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDbasketballObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbasketballObjects4[i].getBehavior("Bounce").BounceOff(gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDbuilding_95959595rooftopObjects4ObjectsGDgdjs_9546Game_959595WorldCode_9546GDprops_95959595foliageObjects4ObjectsGDgdjs_9546Game_959595WorldCode_9546GDbasketball_95959595hoopObjects4ObjectsGDgdjs_9546Game_959595WorldCode_9546GDprops_95959595decorationsObjects4ObjectsGDgdjs_9546Game_959595WorldCode_9546GDprops_95959595roadblockObjects4ObjectsGDgdjs_9546Game_959595WorldCode_9546GDprops_95959595fencesObjects4Objects, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDbasketballObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbasketballObjects4[i].getBehavior("Bounce").BounceOff(gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDplayer_95959595bodyObjects4Objects, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +{ + + + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("basketball"), gdjs.Game_95WorldCode.GDbasketballObjects4); +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.object.hitBoxesCollisionTest(gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDplayer_95959595bodyObjects4Objects, gdjs.Game_95WorldCode.mapOfGDgdjs_9546Game_959595WorldCode_9546GDbasketballObjects4Objects, false, runtimeScene, false); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29609476); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95WorldCode.GDbasketballObjects4 */ +/* Reuse gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4 */ +{for(var i = 0, len = gdjs.Game_95WorldCode.GDbasketballObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbasketballObjects4[i].addPolarForce((( gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4.length === 0 ) ? 0 :gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4[0].getAngle()), 120, 1); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDbasketballObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbasketballObjects4[i].playAnimation(); +} +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList15(runtimeScene);} //End of subevents +} + +} + + +{ + + + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("basketball"), gdjs.Game_95WorldCode.GDbasketballObjects4); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95WorldCode.GDbasketballObjects4.length;i (gdjs.Game_95WorldCode.asyncCallback29505828(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.eventsList23 = function(runtimeScene) { + +{ + + + +} + + +{ + +/* Reuse gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4 */ + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4.length;i= (gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4[i].getBehavior("TopDownMovement").getSpeed()) / 1000 ) { + isConditionTrue_0 = true; + gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4[k] = gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4[i]; + ++k; + } +} +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4.length = k; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29504932); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4 */ +gdjs.copyArray(runtimeScene.getObjects("player_hand"), gdjs.Game_95WorldCode.GDplayer_9595handObjects4); +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95WorldCode.GDplayer_9595legObjects4); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDplayer_9595handObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDplayer_9595handObjects4[i].getBehavior("Tween").addObjectWidthTween2("hand", 0, "easeInQuad", ((gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild(((gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4[0].getVariables()).getFromIndex(0).getAsString()).getChild("shuffleTweenDuration").getAsNumber(), false); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDplayer_9595legObjects4.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDplayer_9595legObjects4[i].getBehavior("Tween").addObjectWidthTween2("leg", 0, "easeInQuad", ((gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild(((gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4[0].getVariables()).getFromIndex(0).getAsString()).getChild("shuffleTweenDuration").getAsNumber(), false); +} +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList22(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95WorldCode.eventsList24 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95WorldCode.asyncCallback29514388 = function (runtimeScene, asyncObjectsList) { +gdjs.copyArray(asyncObjectsList.getObjects("player_body"), gdjs.Game_95WorldCode.GDplayer_9595bodyObjects7); + +gdjs.copyArray(asyncObjectsList.getObjects("player_leg"), gdjs.Game_95WorldCode.GDplayer_9595legObjects7); + +{for(var i = 0, len = gdjs.Game_95WorldCode.GDplayer_9595legObjects7.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDplayer_9595legObjects7[i].returnVariable(gdjs.Game_95WorldCode.GDplayer_9595legObjects7[i].getVariables().getFromIndex(1)).add(180); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDplayer_9595legObjects7.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDplayer_9595legObjects7[i].getBehavior("Tween").addObjectWidthTween2("leg", 20, "easeOutQuad", ((gdjs.Game_95WorldCode.GDplayer_9595bodyObjects7.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95WorldCode.GDplayer_9595bodyObjects7[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleTweenDuration").getAsNumber(), false); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDplayer_9595bodyObjects7.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDplayer_9595bodyObjects7[i].resetTimer("switchWalkAngle"); +} +}} +gdjs.Game_95WorldCode.eventsList25 = function(runtimeScene) { + +{ + +/* Reuse gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6 */ + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +for (const obj of gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6) asyncObjectsList.addObject("player_body", obj); +for (const obj of gdjs.Game_95WorldCode.GDplayer_9595legObjects6) asyncObjectsList.addObject("player_leg", obj); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(((gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleTweenDelay").getAsNumber()), (runtimeScene) => (gdjs.Game_95WorldCode.asyncCallback29514388(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.eventsList26 = function(runtimeScene) { + +{ + +gdjs.copyArray(gdjs.Game_95WorldCode.GDplayer_9595bodyObjects5, gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6.length;i= (gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[i].getBehavior("TopDownMovement").getSpeed()) / gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[i].getVariables().getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleSwitchTime").getAsNumber() ) { + isConditionTrue_0 = true; + gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[k] = gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[i]; + ++k; + } +} +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6.length = k; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29514836); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6 */ +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95WorldCode.GDplayer_9595legObjects6); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDplayer_9595legObjects6.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDplayer_9595legObjects6[i].getBehavior("Tween").addObjectWidthTween2("leg", 0, "easeInQuad", ((gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleTweenDuration").getAsNumber(), false); +} +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList25(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95WorldCode.eventsList27 = function(runtimeScene) { + +{ + +gdjs.copyArray(runtimeScene.getObjects("player_hand"), gdjs.Game_95WorldCode.GDplayer_9595handObjects5); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95WorldCode.GDplayer_9595handObjects5.length;i (gdjs.Game_95WorldCode.asyncCallback29522052(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.eventsList29 = function(runtimeScene) { + +{ + +gdjs.copyArray(gdjs.Game_95WorldCode.GDplayer_9595bodyObjects5, gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6.length;i= (gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[i].getBehavior("TopDownMovement").getSpeed()) / gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[i].getVariables().getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleSwitchTime").getAsNumber() ) { + isConditionTrue_0 = true; + gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[k] = gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[i]; + ++k; + } +} +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6.length = k; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29522500); +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6 */ +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95WorldCode.GDplayer_9595legObjects6); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDplayer_9595legObjects6.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDplayer_9595legObjects6[i].getBehavior("Tween").addObjectWidthTween2("leg", 0, "easeInQuad", ((gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6.length === 0 ) ? gdjs.VariablesContainer.badVariablesContainer : gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6[0].getVariables()).getFromIndex(2).getChild("TopDownMovement").getChild("walk").getChild("shuffleTweenDuration").getAsNumber(), false); +} +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList28(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95WorldCode.eventsList30 = function(runtimeScene) { + +{ + +gdjs.copyArray(runtimeScene.getObjects("player_hand"), gdjs.Game_95WorldCode.GDplayer_9595handObjects5); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95WorldCode.GDplayer_9595handObjects5.length;i (gdjs.Game_95WorldCode.asyncCallback29487140(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95WorldCode.eventsList66 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("building_rooftop"), gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects2); +gdjs.copyArray(runtimeScene.getObjects("player_body"), gdjs.Game_95WorldCode.GDplayer_9595bodyObjects2); +gdjs.copyArray(runtimeScene.getObjects("player_leg"), gdjs.Game_95WorldCode.GDplayer_9595legObjects2); +gdjs.copyArray(runtimeScene.getObjects("props_foliage"), gdjs.Game_95WorldCode.GDprops_9595foliageObjects2); +{for(var i = 0, len = gdjs.Game_95WorldCode.GDplayer_9595legObjects2.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDplayer_9595legObjects2[i].getBehavior("Effect").setEffectDoubleParameter("shadow", "rotation", gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value"))); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects2.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects2[i].getBehavior("Effect").setEffectDoubleParameter("shadow", "rotation", gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value"))); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDprops_9595foliageObjects2.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDprops_9595foliageObjects2[i].getBehavior("Effect").setEffectDoubleParameter("shadow", "rotation", gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value"))); +} +}{for(var i = 0, len = gdjs.Game_95WorldCode.GDplayer_9595bodyObjects2.length ;i < len;++i) { + gdjs.Game_95WorldCode.GDplayer_9595bodyObjects2[i].getBehavior("Effect").setEffectDoubleParameter("shadow", "rotation", gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value"))); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value").add(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("adder"))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value")) > 360; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29485372); +} +} +if (isConditionTrue_0) { +{runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value").setNumber(0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.tween.sceneTweenIsPlaying(runtimeScene, "nightdaycircle")); +if (isConditionTrue_0) { +{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "nightdaycircle", 1, "", "nightDayCycle", "opacity", "linear", 360 / (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("adder")) * 60)); +} +{ //Subevents +gdjs.Game_95WorldCode.eventsList65(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95WorldCode.eventsList67 = function(runtimeScene) { + +{ + + +gdjs.Game_95WorldCode.eventsList66(runtimeScene); +} + + +};gdjs.Game_95WorldCode.eventsList68 = function(runtimeScene) { + +{ + + + +} + + +{ + + +gdjs.Game_95WorldCode.eventsList63(runtimeScene); +} + + +{ + + +gdjs.Game_95WorldCode.eventsList64(runtimeScene); +} + + +{ + + +gdjs.Game_95WorldCode.eventsList67(runtimeScene); +} + + +};gdjs.Game_95WorldCode.eventsList69 = function(runtimeScene) { + +{ + + +gdjs.Game_95WorldCode.eventsList0(runtimeScene); +} + + +{ + + +gdjs.Game_95WorldCode.eventsList5(runtimeScene); +} + + +{ + + +gdjs.Game_95WorldCode.eventsList6(runtimeScene); +} + + +{ + + +gdjs.Game_95WorldCode.eventsList68(runtimeScene); +} + + +}; + +gdjs.Game_95WorldCode.func = function(runtimeScene) { +runtimeScene.getOnceTriggers().startNewFrame(); + +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects1.length = 0; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects2.length = 0; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects3.length = 0; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects4.length = 0; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects5.length = 0; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects6.length = 0; +gdjs.Game_95WorldCode.GDgrass_9595tiledObjects7.length = 0; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects1.length = 0; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects2.length = 0; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects3.length = 0; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects4.length = 0; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects5.length = 0; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects6.length = 0; +gdjs.Game_95WorldCode.GDbuilding_9595rooftopObjects7.length = 0; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects1.length = 0; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects2.length = 0; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects3.length = 0; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects4.length = 0; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects5.length = 0; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects6.length = 0; +gdjs.Game_95WorldCode.GDsand_9595spriteObjects7.length = 0; +gdjs.Game_95WorldCode.GDdoorObjects1.length = 0; +gdjs.Game_95WorldCode.GDdoorObjects2.length = 0; +gdjs.Game_95WorldCode.GDdoorObjects3.length = 0; +gdjs.Game_95WorldCode.GDdoorObjects4.length = 0; +gdjs.Game_95WorldCode.GDdoorObjects5.length = 0; +gdjs.Game_95WorldCode.GDdoorObjects6.length = 0; +gdjs.Game_95WorldCode.GDdoorObjects7.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects1.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects2.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects3.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects4.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects5.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects6.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595crosshairObjects7.length = 0; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects1.length = 0; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects2.length = 0; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects3.length = 0; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects4.length = 0; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects5.length = 0; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects6.length = 0; +gdjs.Game_95WorldCode.GDprops_9595fencesObjects7.length = 0; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects1.length = 0; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects2.length = 0; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects3.length = 0; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects4.length = 0; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects5.length = 0; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects6.length = 0; +gdjs.Game_95WorldCode.GDprops_9595roadblockObjects7.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects1.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects2.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects3.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects4.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects5.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects6.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595ammo_9595textObjects7.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects1.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects2.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects3.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects4.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects5.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects6.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595holdingObjects7.length = 0; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects1.length = 0; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects2.length = 0; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects3.length = 0; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects4.length = 0; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects5.length = 0; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects6.length = 0; +gdjs.Game_95WorldCode.GDprops_9595foliageObjects7.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects1.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects2.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects3.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects4.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects5.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects6.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595water_9595coverObjects7.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects1.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects2.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects3.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects4.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects5.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects6.length = 0; +gdjs.Game_95WorldCode.GDsea_9595tiled_9595waterObjects7.length = 0; +gdjs.Game_95WorldCode.GDbasketballObjects1.length = 0; +gdjs.Game_95WorldCode.GDbasketballObjects2.length = 0; +gdjs.Game_95WorldCode.GDbasketballObjects3.length = 0; +gdjs.Game_95WorldCode.GDbasketballObjects4.length = 0; +gdjs.Game_95WorldCode.GDbasketballObjects5.length = 0; +gdjs.Game_95WorldCode.GDbasketballObjects6.length = 0; +gdjs.Game_95WorldCode.GDbasketballObjects7.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects1.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects2.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects3.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects4.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects5.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects6.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595hoopObjects7.length = 0; +gdjs.Game_95WorldCode.GDground_95951Objects1.length = 0; +gdjs.Game_95WorldCode.GDground_95951Objects2.length = 0; +gdjs.Game_95WorldCode.GDground_95951Objects3.length = 0; +gdjs.Game_95WorldCode.GDground_95951Objects4.length = 0; +gdjs.Game_95WorldCode.GDground_95951Objects5.length = 0; +gdjs.Game_95WorldCode.GDground_95951Objects6.length = 0; +gdjs.Game_95WorldCode.GDground_95951Objects7.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects1.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects2.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects3.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects4.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects5.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects6.length = 0; +gdjs.Game_95WorldCode.GDbasketball_9595courtObjects7.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects1.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects2.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects3.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects4.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects5.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects6.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fire_9595secondaryObjects7.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects1.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects2.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects3.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects4.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects5.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects6.length = 0; +gdjs.Game_95WorldCode.GDflame_9595thrower_9595fireObjects7.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects1.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects2.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects3.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects4.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects5.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects6.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595reloadingObjects7.length = 0; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects1.length = 0; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects2.length = 0; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects3.length = 0; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects4.length = 0; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects5.length = 0; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects6.length = 0; +gdjs.Game_95WorldCode.GDwheel_9595infoObjects7.length = 0; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects1.length = 0; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects2.length = 0; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects3.length = 0; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects4.length = 0; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects5.length = 0; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects6.length = 0; +gdjs.Game_95WorldCode.GDprops_9595decorationsObjects7.length = 0; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects1.length = 0; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects2.length = 0; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects3.length = 0; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects4.length = 0; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects5.length = 0; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects6.length = 0; +gdjs.Game_95WorldCode.GDprops_9595moveableObjects7.length = 0; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects1.length = 0; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects2.length = 0; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects3.length = 0; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects4.length = 0; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects5.length = 0; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects6.length = 0; +gdjs.Game_95WorldCode.GDbrown_9595leaves_9595particleObjects7.length = 0; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects1.length = 0; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects2.length = 0; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects3.length = 0; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects4.length = 0; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects5.length = 0; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects6.length = 0; +gdjs.Game_95WorldCode.GDgreen_9595leaves_9595particleObjects7.length = 0; +gdjs.Game_95WorldCode.GDconcrete_95951Objects1.length = 0; +gdjs.Game_95WorldCode.GDconcrete_95951Objects2.length = 0; +gdjs.Game_95WorldCode.GDconcrete_95951Objects3.length = 0; +gdjs.Game_95WorldCode.GDconcrete_95951Objects4.length = 0; +gdjs.Game_95WorldCode.GDconcrete_95951Objects5.length = 0; +gdjs.Game_95WorldCode.GDconcrete_95951Objects6.length = 0; +gdjs.Game_95WorldCode.GDconcrete_95951Objects7.length = 0; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects1.length = 0; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects2.length = 0; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects3.length = 0; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects4.length = 0; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects5.length = 0; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects6.length = 0; +gdjs.Game_95WorldCode.GDhidden_9595separateObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NObjects7.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects1.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects2.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects3.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects4.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects5.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects6.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wifiObjects7.length = 0; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects1.length = 0; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects2.length = 0; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects3.length = 0; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects4.length = 0; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects5.length = 0; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects6.length = 0; +gdjs.Game_95WorldCode.GDphone_9595batteryObjects7.length = 0; +gdjs.Game_95WorldCode.GDphone_9595timeObjects1.length = 0; +gdjs.Game_95WorldCode.GDphone_9595timeObjects2.length = 0; +gdjs.Game_95WorldCode.GDphone_9595timeObjects3.length = 0; +gdjs.Game_95WorldCode.GDphone_9595timeObjects4.length = 0; +gdjs.Game_95WorldCode.GDphone_9595timeObjects5.length = 0; +gdjs.Game_95WorldCode.GDphone_9595timeObjects6.length = 0; +gdjs.Game_95WorldCode.GDphone_9595timeObjects7.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects1.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects2.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects3.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects4.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects5.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects6.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595WObjects7.length = 0; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects1.length = 0; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects2.length = 0; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects3.length = 0; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects4.length = 0; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects5.length = 0; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects6.length = 0; +gdjs.Game_95WorldCode.GDedge_9595sand_9595NWObjects7.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects1.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects2.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects3.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects4.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects5.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects6.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SWObjects7.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects1.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects2.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects3.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects4.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects5.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects6.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconsObjects7.length = 0; +gdjs.Game_95WorldCode.GDNewObjectObjects1.length = 0; +gdjs.Game_95WorldCode.GDNewObjectObjects2.length = 0; +gdjs.Game_95WorldCode.GDNewObjectObjects3.length = 0; +gdjs.Game_95WorldCode.GDNewObjectObjects4.length = 0; +gdjs.Game_95WorldCode.GDNewObjectObjects5.length = 0; +gdjs.Game_95WorldCode.GDNewObjectObjects6.length = 0; +gdjs.Game_95WorldCode.GDNewObjectObjects7.length = 0; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects1.length = 0; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects2.length = 0; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects3.length = 0; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects4.length = 0; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects5.length = 0; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects6.length = 0; +gdjs.Game_95WorldCode.GDmouse_9595pointObjects7.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects1.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects2.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects3.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects4.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects5.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects6.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595rocketObjects7.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects1.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects2.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects3.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects4.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects5.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects6.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595machineObjects7.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects1.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects2.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects3.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects4.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects5.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects6.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595sniperObjects7.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects1.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects2.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects3.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects4.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects5.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects6.length = 0; +gdjs.Game_95WorldCode.GDbullet_9595destroy_9595pistolObjects7.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects1.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects2.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects3.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects4.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects5.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects6.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595rocketObjects7.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects1.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects2.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects3.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects4.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects5.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects6.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effect_9595sniperObjects7.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects1.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects2.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects3.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects4.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects5.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects6.length = 0; +gdjs.Game_95WorldCode.GDshooting_9595effectObjects7.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects1.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects2.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects3.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects4.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects5.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects6.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595toggleObjects7.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595textObjects1.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595textObjects2.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595textObjects3.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595textObjects4.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595textObjects5.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595textObjects6.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595textObjects7.length = 0; +gdjs.Game_95WorldCode.GDphone_9595frameObjects1.length = 0; +gdjs.Game_95WorldCode.GDphone_9595frameObjects2.length = 0; +gdjs.Game_95WorldCode.GDphone_9595frameObjects3.length = 0; +gdjs.Game_95WorldCode.GDphone_9595frameObjects4.length = 0; +gdjs.Game_95WorldCode.GDphone_9595frameObjects5.length = 0; +gdjs.Game_95WorldCode.GDphone_9595frameObjects6.length = 0; +gdjs.Game_95WorldCode.GDphone_9595frameObjects7.length = 0; +gdjs.Game_95WorldCode.GDphone_9595maskObjects1.length = 0; +gdjs.Game_95WorldCode.GDphone_9595maskObjects2.length = 0; +gdjs.Game_95WorldCode.GDphone_9595maskObjects3.length = 0; +gdjs.Game_95WorldCode.GDphone_9595maskObjects4.length = 0; +gdjs.Game_95WorldCode.GDphone_9595maskObjects5.length = 0; +gdjs.Game_95WorldCode.GDphone_9595maskObjects6.length = 0; +gdjs.Game_95WorldCode.GDphone_9595maskObjects7.length = 0; +gdjs.Game_95WorldCode.GDphone_9595iconObjects1.length = 0; +gdjs.Game_95WorldCode.GDphone_9595iconObjects2.length = 0; +gdjs.Game_95WorldCode.GDphone_9595iconObjects3.length = 0; +gdjs.Game_95WorldCode.GDphone_9595iconObjects4.length = 0; +gdjs.Game_95WorldCode.GDphone_9595iconObjects5.length = 0; +gdjs.Game_95WorldCode.GDphone_9595iconObjects6.length = 0; +gdjs.Game_95WorldCode.GDphone_9595iconObjects7.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects1.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects2.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects3.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects4.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects5.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects6.length = 0; +gdjs.Game_95WorldCode.GDphone_9595wallpaperObjects7.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects1.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects2.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects3.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects4.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects5.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects6.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595iconObjects7.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595barObjects1.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595barObjects2.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595barObjects3.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595barObjects4.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595barObjects5.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595barObjects6.length = 0; +gdjs.Game_95WorldCode.GDweapon_9595barObjects7.length = 0; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects1.length = 0; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects2.length = 0; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects3.length = 0; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects4.length = 0; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects5.length = 0; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects6.length = 0; +gdjs.Game_95WorldCode.GDweaponWheelStickerObjects7.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects1.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects2.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects3.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects4.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects5.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects6.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NObjects7.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects1.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects2.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects3.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects4.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects5.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects6.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595EObjects7.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects1.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects2.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects3.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects4.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects5.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects6.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SEObjects7.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects1.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects2.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects3.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects4.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects5.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects6.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595NEObjects7.length = 0; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects1.length = 0; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects2.length = 0; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects3.length = 0; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects4.length = 0; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects5.length = 0; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects6.length = 0; +gdjs.Game_95WorldCode.GDbridge_9595tiled_95951Objects7.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects1.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects2.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects3.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects4.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects5.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects6.length = 0; +gdjs.Game_95WorldCode.GDdebug_9595fpsObjects7.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects1.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects2.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects3.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects4.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects5.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects6.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595bodyObjects7.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595legObjects1.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595legObjects2.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595legObjects3.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595legObjects4.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595legObjects5.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595legObjects6.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595legObjects7.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595handObjects1.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595handObjects2.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595handObjects3.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595handObjects4.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595handObjects5.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595handObjects6.length = 0; +gdjs.Game_95WorldCode.GDplayer_9595handObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NEObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595NWObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595WObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595EObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595centerObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SEObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595SWObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595innerObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595endObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595rightObjects7.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects1.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects2.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects3.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects4.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects5.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects6.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595SObjects7.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects1.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects2.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects3.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects4.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects5.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects6.length = 0; +gdjs.Game_95WorldCode.GDroad_9595tiled_9595white_9595curve_9595leftObjects7.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects1.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects2.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects3.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects4.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects5.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects6.length = 0; +gdjs.Game_95WorldCode.GDbeach_9595sand_9595inner_9595SWObjects7.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects1.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects2.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects3.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects4.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects5.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects6.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95951Objects7.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects1.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects2.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects3.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects4.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects5.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects6.length = 0; +gdjs.Game_95WorldCode.GDsand_9595tiled_95952Objects7.length = 0; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects1.length = 0; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects2.length = 0; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects3.length = 0; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects4.length = 0; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects5.length = 0; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects6.length = 0; +gdjs.Game_95WorldCode.GDuziGold_9595holdObjects7.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects1.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects2.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects3.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects4.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects5.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects6.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595holdObjects7.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects1.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects2.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects3.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects4.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects5.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects6.length = 0; +gdjs.Game_95WorldCode.GDuziLong_9595pickObjects7.length = 0; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects1.length = 0; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects2.length = 0; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects3.length = 0; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects4.length = 0; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects5.length = 0; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects6.length = 0; +gdjs.Game_95WorldCode.GDuzi_9595ammoObjects7.length = 0; +gdjs.Game_95WorldCode.GDmapObjects1.length = 0; +gdjs.Game_95WorldCode.GDmapObjects2.length = 0; +gdjs.Game_95WorldCode.GDmapObjects3.length = 0; +gdjs.Game_95WorldCode.GDmapObjects4.length = 0; +gdjs.Game_95WorldCode.GDmapObjects5.length = 0; +gdjs.Game_95WorldCode.GDmapObjects6.length = 0; +gdjs.Game_95WorldCode.GDmapObjects7.length = 0; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects1.length = 0; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects2.length = 0; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects3.length = 0; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects4.length = 0; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects5.length = 0; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects6.length = 0; +gdjs.Game_95WorldCode.GDgame_9595crosshairObjects7.length = 0; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects1.length = 0; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects2.length = 0; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects3.length = 0; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects4.length = 0; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects5.length = 0; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects6.length = 0; +gdjs.Game_95WorldCode.GDgame_9595transitionObjects7.length = 0; + +gdjs.Game_95WorldCode.eventsList69(runtimeScene); + +return; + +} + +gdjs['Game_95WorldCode'] = gdjs.Game_95WorldCode; diff --git a/code4.js b/code4.js new file mode 100644 index 00000000..cf605af4 --- /dev/null +++ b/code4.js @@ -0,0 +1,3642 @@ +gdjs.Game_95RoomCode = {}; +gdjs.Game_95RoomCode.GDwallsObjects1= []; +gdjs.Game_95RoomCode.GDwallsObjects2= []; +gdjs.Game_95RoomCode.GDwallsObjects3= []; +gdjs.Game_95RoomCode.GDwallsObjects4= []; +gdjs.Game_95RoomCode.GDwallsObjects5= []; +gdjs.Game_95RoomCode.GDwallsObjects6= []; +gdjs.Game_95RoomCode.GDkitchenObjects1= []; +gdjs.Game_95RoomCode.GDkitchenObjects2= []; +gdjs.Game_95RoomCode.GDkitchenObjects3= []; +gdjs.Game_95RoomCode.GDkitchenObjects4= []; +gdjs.Game_95RoomCode.GDkitchenObjects5= []; +gdjs.Game_95RoomCode.GDkitchenObjects6= []; +gdjs.Game_95RoomCode.GDfurnitureObjects1= []; +gdjs.Game_95RoomCode.GDfurnitureObjects2= []; +gdjs.Game_95RoomCode.GDfurnitureObjects3= []; +gdjs.Game_95RoomCode.GDfurnitureObjects4= []; +gdjs.Game_95RoomCode.GDfurnitureObjects5= []; +gdjs.Game_95RoomCode.GDfurnitureObjects6= []; +gdjs.Game_95RoomCode.GDNikoObjects1= []; +gdjs.Game_95RoomCode.GDNikoObjects2= []; +gdjs.Game_95RoomCode.GDNikoObjects3= []; +gdjs.Game_95RoomCode.GDNikoObjects4= []; +gdjs.Game_95RoomCode.GDNikoObjects5= []; +gdjs.Game_95RoomCode.GDNikoObjects6= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects1= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects2= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects3= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects4= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects5= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects6= []; +gdjs.Game_95RoomCode.GDfloorObjects1= []; +gdjs.Game_95RoomCode.GDfloorObjects2= []; +gdjs.Game_95RoomCode.GDfloorObjects3= []; +gdjs.Game_95RoomCode.GDfloorObjects4= []; +gdjs.Game_95RoomCode.GDfloorObjects5= []; +gdjs.Game_95RoomCode.GDfloorObjects6= []; +gdjs.Game_95RoomCode.GDenergyObjects1= []; +gdjs.Game_95RoomCode.GDenergyObjects2= []; +gdjs.Game_95RoomCode.GDenergyObjects3= []; +gdjs.Game_95RoomCode.GDenergyObjects4= []; +gdjs.Game_95RoomCode.GDenergyObjects5= []; +gdjs.Game_95RoomCode.GDenergyObjects6= []; +gdjs.Game_95RoomCode.GDPlaceholderObjects1= []; +gdjs.Game_95RoomCode.GDPlaceholderObjects2= []; +gdjs.Game_95RoomCode.GDPlaceholderObjects3= []; +gdjs.Game_95RoomCode.GDPlaceholderObjects4= []; +gdjs.Game_95RoomCode.GDPlaceholderObjects5= []; +gdjs.Game_95RoomCode.GDPlaceholderObjects6= []; +gdjs.Game_95RoomCode.GDroom6outObjects1= []; +gdjs.Game_95RoomCode.GDroom6outObjects2= []; +gdjs.Game_95RoomCode.GDroom6outObjects3= []; +gdjs.Game_95RoomCode.GDroom6outObjects4= []; +gdjs.Game_95RoomCode.GDroom6outObjects5= []; +gdjs.Game_95RoomCode.GDroom6outObjects6= []; +gdjs.Game_95RoomCode.GDroom5outObjects1= []; +gdjs.Game_95RoomCode.GDroom5outObjects2= []; +gdjs.Game_95RoomCode.GDroom5outObjects3= []; +gdjs.Game_95RoomCode.GDroom5outObjects4= []; +gdjs.Game_95RoomCode.GDroom5outObjects5= []; +gdjs.Game_95RoomCode.GDroom5outObjects6= []; +gdjs.Game_95RoomCode.GDroom4outObjects1= []; +gdjs.Game_95RoomCode.GDroom4outObjects2= []; +gdjs.Game_95RoomCode.GDroom4outObjects3= []; +gdjs.Game_95RoomCode.GDroom4outObjects4= []; +gdjs.Game_95RoomCode.GDroom4outObjects5= []; +gdjs.Game_95RoomCode.GDroom4outObjects6= []; +gdjs.Game_95RoomCode.GDroom3outObjects1= []; +gdjs.Game_95RoomCode.GDroom3outObjects2= []; +gdjs.Game_95RoomCode.GDroom3outObjects3= []; +gdjs.Game_95RoomCode.GDroom3outObjects4= []; +gdjs.Game_95RoomCode.GDroom3outObjects5= []; +gdjs.Game_95RoomCode.GDroom3outObjects6= []; +gdjs.Game_95RoomCode.GDroom2outObjects1= []; +gdjs.Game_95RoomCode.GDroom2outObjects2= []; +gdjs.Game_95RoomCode.GDroom2outObjects3= []; +gdjs.Game_95RoomCode.GDroom2outObjects4= []; +gdjs.Game_95RoomCode.GDroom2outObjects5= []; +gdjs.Game_95RoomCode.GDroom2outObjects6= []; +gdjs.Game_95RoomCode.GDgun3Objects1= []; +gdjs.Game_95RoomCode.GDgun3Objects2= []; +gdjs.Game_95RoomCode.GDgun3Objects3= []; +gdjs.Game_95RoomCode.GDgun3Objects4= []; +gdjs.Game_95RoomCode.GDgun3Objects5= []; +gdjs.Game_95RoomCode.GDgun3Objects6= []; +gdjs.Game_95RoomCode.GDroom1outObjects1= []; +gdjs.Game_95RoomCode.GDroom1outObjects2= []; +gdjs.Game_95RoomCode.GDroom1outObjects3= []; +gdjs.Game_95RoomCode.GDroom1outObjects4= []; +gdjs.Game_95RoomCode.GDroom1outObjects5= []; +gdjs.Game_95RoomCode.GDroom1outObjects6= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects1= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects2= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects3= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects4= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects5= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects6= []; +gdjs.Game_95RoomCode.GDgun1Objects1= []; +gdjs.Game_95RoomCode.GDgun1Objects2= []; +gdjs.Game_95RoomCode.GDgun1Objects3= []; +gdjs.Game_95RoomCode.GDgun1Objects4= []; +gdjs.Game_95RoomCode.GDgun1Objects5= []; +gdjs.Game_95RoomCode.GDgun1Objects6= []; +gdjs.Game_95RoomCode.GDgun2Objects1= []; +gdjs.Game_95RoomCode.GDgun2Objects2= []; +gdjs.Game_95RoomCode.GDgun2Objects3= []; +gdjs.Game_95RoomCode.GDgun2Objects4= []; +gdjs.Game_95RoomCode.GDgun2Objects5= []; +gdjs.Game_95RoomCode.GDgun2Objects6= []; +gdjs.Game_95RoomCode.GDgun4Objects1= []; +gdjs.Game_95RoomCode.GDgun4Objects2= []; +gdjs.Game_95RoomCode.GDgun4Objects3= []; +gdjs.Game_95RoomCode.GDgun4Objects4= []; +gdjs.Game_95RoomCode.GDgun4Objects5= []; +gdjs.Game_95RoomCode.GDgun4Objects6= []; +gdjs.Game_95RoomCode.GDgun5Objects1= []; +gdjs.Game_95RoomCode.GDgun5Objects2= []; +gdjs.Game_95RoomCode.GDgun5Objects3= []; +gdjs.Game_95RoomCode.GDgun5Objects4= []; +gdjs.Game_95RoomCode.GDgun5Objects5= []; +gdjs.Game_95RoomCode.GDgun5Objects6= []; +gdjs.Game_95RoomCode.GDmele1Objects1= []; +gdjs.Game_95RoomCode.GDmele1Objects2= []; +gdjs.Game_95RoomCode.GDmele1Objects3= []; +gdjs.Game_95RoomCode.GDmele1Objects4= []; +gdjs.Game_95RoomCode.GDmele1Objects5= []; +gdjs.Game_95RoomCode.GDmele1Objects6= []; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects1= []; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects2= []; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects3= []; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects4= []; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects5= []; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects6= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects1= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects2= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects3= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects4= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects5= []; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects6= []; +gdjs.Game_95RoomCode.GDbulletObjects1= []; +gdjs.Game_95RoomCode.GDbulletObjects2= []; +gdjs.Game_95RoomCode.GDbulletObjects3= []; +gdjs.Game_95RoomCode.GDbulletObjects4= []; +gdjs.Game_95RoomCode.GDbulletObjects5= []; +gdjs.Game_95RoomCode.GDbulletObjects6= []; +gdjs.Game_95RoomCode.GDammoObjects1= []; +gdjs.Game_95RoomCode.GDammoObjects2= []; +gdjs.Game_95RoomCode.GDammoObjects3= []; +gdjs.Game_95RoomCode.GDammoObjects4= []; +gdjs.Game_95RoomCode.GDammoObjects5= []; +gdjs.Game_95RoomCode.GDammoObjects6= []; +gdjs.Game_95RoomCode.GDflowerObjects1= []; +gdjs.Game_95RoomCode.GDflowerObjects2= []; +gdjs.Game_95RoomCode.GDflowerObjects3= []; +gdjs.Game_95RoomCode.GDflowerObjects4= []; +gdjs.Game_95RoomCode.GDflowerObjects5= []; +gdjs.Game_95RoomCode.GDflowerObjects6= []; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects1= []; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects2= []; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects3= []; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects4= []; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects5= []; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects6= []; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects1= []; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects2= []; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects3= []; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects4= []; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects5= []; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects6= []; +gdjs.Game_95RoomCode.GDcrossairObjects1= []; +gdjs.Game_95RoomCode.GDcrossairObjects2= []; +gdjs.Game_95RoomCode.GDcrossairObjects3= []; +gdjs.Game_95RoomCode.GDcrossairObjects4= []; +gdjs.Game_95RoomCode.GDcrossairObjects5= []; +gdjs.Game_95RoomCode.GDcrossairObjects6= []; +gdjs.Game_95RoomCode.GDPhoneObjects1= []; +gdjs.Game_95RoomCode.GDPhoneObjects2= []; +gdjs.Game_95RoomCode.GDPhoneObjects3= []; +gdjs.Game_95RoomCode.GDPhoneObjects4= []; +gdjs.Game_95RoomCode.GDPhoneObjects5= []; +gdjs.Game_95RoomCode.GDPhoneObjects6= []; +gdjs.Game_95RoomCode.GDphone_9595timeObjects1= []; +gdjs.Game_95RoomCode.GDphone_9595timeObjects2= []; +gdjs.Game_95RoomCode.GDphone_9595timeObjects3= []; +gdjs.Game_95RoomCode.GDphone_9595timeObjects4= []; +gdjs.Game_95RoomCode.GDphone_9595timeObjects5= []; +gdjs.Game_95RoomCode.GDphone_9595timeObjects6= []; +gdjs.Game_95RoomCode.GDreloadingObjects1= []; +gdjs.Game_95RoomCode.GDreloadingObjects2= []; +gdjs.Game_95RoomCode.GDreloadingObjects3= []; +gdjs.Game_95RoomCode.GDreloadingObjects4= []; +gdjs.Game_95RoomCode.GDreloadingObjects5= []; +gdjs.Game_95RoomCode.GDreloadingObjects6= []; +gdjs.Game_95RoomCode.GDAmmoTextObjects1= []; +gdjs.Game_95RoomCode.GDAmmoTextObjects2= []; +gdjs.Game_95RoomCode.GDAmmoTextObjects3= []; +gdjs.Game_95RoomCode.GDAmmoTextObjects4= []; +gdjs.Game_95RoomCode.GDAmmoTextObjects5= []; +gdjs.Game_95RoomCode.GDAmmoTextObjects6= []; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects1= []; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects2= []; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects3= []; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects4= []; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects5= []; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects6= []; +gdjs.Game_95RoomCode.GDSlash1Objects1= []; +gdjs.Game_95RoomCode.GDSlash1Objects2= []; +gdjs.Game_95RoomCode.GDSlash1Objects3= []; +gdjs.Game_95RoomCode.GDSlash1Objects4= []; +gdjs.Game_95RoomCode.GDSlash1Objects5= []; +gdjs.Game_95RoomCode.GDSlash1Objects6= []; +gdjs.Game_95RoomCode.GDmele2Objects1= []; +gdjs.Game_95RoomCode.GDmele2Objects2= []; +gdjs.Game_95RoomCode.GDmele2Objects3= []; +gdjs.Game_95RoomCode.GDmele2Objects4= []; +gdjs.Game_95RoomCode.GDmele2Objects5= []; +gdjs.Game_95RoomCode.GDmele2Objects6= []; +gdjs.Game_95RoomCode.GDroomIndicObjects1= []; +gdjs.Game_95RoomCode.GDroomIndicObjects2= []; +gdjs.Game_95RoomCode.GDroomIndicObjects3= []; +gdjs.Game_95RoomCode.GDroomIndicObjects4= []; +gdjs.Game_95RoomCode.GDroomIndicObjects5= []; +gdjs.Game_95RoomCode.GDroomIndicObjects6= []; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects1= []; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects2= []; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects3= []; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects4= []; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects5= []; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects6= []; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects1= []; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects2= []; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects3= []; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects4= []; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects5= []; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects6= []; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects1= []; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects2= []; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects3= []; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects4= []; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects5= []; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects6= []; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects1= []; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects2= []; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects3= []; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects4= []; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects5= []; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects6= []; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects1= []; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects2= []; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects3= []; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects4= []; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects5= []; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects6= []; + + +gdjs.Game_95RoomCode.mapOfGDgdjs_9546Game_959595RoomCode_9546GDroomIndicObjects2Objects = Hashtable.newFrom({"roomIndic": gdjs.Game_95RoomCode.GDroomIndicObjects2}); +gdjs.Game_95RoomCode.eventsList0 = function(runtimeScene) { + +};gdjs.Game_95RoomCode.eventsList1 = function(runtimeScene) { + +{ + + +let stopDoWhile_0 = false; +do { +gdjs.Game_95RoomCode.GDroomIndicObjects2.length = 0; + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("i")) == gdjs.evtsExt__RoomManager__roomNumbers.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) + 1); +if (isConditionTrue_0) { +let isConditionTrue_0 = false; +if (true) { +{gdjs.evtTools.object.createObjectOnScene((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : runtimeScene), gdjs.Game_95RoomCode.mapOfGDgdjs_9546Game_959595RoomCode_9546GDroomIndicObjects2Objects, gdjs.evtsExt__RoomManager__getX.func(runtimeScene, gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("iteration")), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)), gdjs.evtsExt__RoomManager__getY.func(runtimeScene, gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("iteration")), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)), ""); +}{for(var i = 0, len = gdjs.Game_95RoomCode.GDroomIndicObjects2.length ;i < len;++i) { + gdjs.Game_95RoomCode.GDroomIndicObjects2[i].setString(gdjs.evtTools.common.toString(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("iteration")))); +} +}{runtimeScene.getScene().getVariables().get("i").add(1); +} +{ //Subevents: +gdjs.Game_95RoomCode.eventsList0(runtimeScene);} //Subevents end. +} +} else stopDoWhile_0 = true; +} while (!stopDoWhile_0); + +} + + +};gdjs.Game_95RoomCode.eventsList2 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.systemInfo.isPreview(runtimeScene); +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("i").setNumber(1); +} +{ //Subevents +gdjs.Game_95RoomCode.eventsList1(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95RoomCode.eventsList3 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29631612); +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "weaponWheelFade", 10, "", "weaponBar", "blur", "easeOutQuad", 0.5); +}{/* Unknown object - skipped. */}{gdjs.evtTools.input.showCursor(runtimeScene); +}} + +} + + +};gdjs.Game_95RoomCode.asyncCallback29638724 = function (runtimeScene, asyncObjectsList) { +{/* Unknown object - skipped. */}} +gdjs.Game_95RoomCode.eventsList4 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(0.2), (runtimeScene) => (gdjs.Game_95RoomCode.asyncCallback29638724(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95RoomCode.eventsList5 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29636484); +} +if (isConditionTrue_0) { +{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "weaponWheelFade", 0, "", "weaponBar", "blur", "easeInQuad", 0.3); +}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */} +{ //Subevents +gdjs.Game_95RoomCode.eventsList4(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList6 = function(runtimeScene) { + +};gdjs.Game_95RoomCode.eventsList7 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.input.isKeyPressed(runtimeScene, "Tab")); +if (isConditionTrue_0) { +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{gdjs.evtTools.runtimeScene.createObjectsFromExternalLayout(runtimeScene, "WeaponBar", 0, 0, 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Button_pressed.func(runtimeScene, 1, "L1", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "Tab"); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{gdjs.evtTools.input.showCursor(runtimeScene); +}{gdjs.evtTools.camera.enableLayerEffect(runtimeScene, "", "weaponBar", true); +} +{ //Subevents +gdjs.Game_95RoomCode.eventsList3(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Button_released.func(runtimeScene, 1, "L1", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtTools.input.isKeyPressed(runtimeScene, "Tab")); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{gdjs.evtTools.input.hideCursor(runtimeScene); +}{gdjs.evtTools.camera.enableLayerEffect(runtimeScene, "", "weaponBar", false); +} +{ //Subevents +gdjs.Game_95RoomCode.eventsList5(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29642180); +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +const keyIteratorReference4 = runtimeScene.getScene().getVariables().get("i"); +const valueIteratorReference4 = runtimeScene.getScene().getVariables().get("child"); +const iterableReference4 = runtimeScene.getScene().getVariables().get("Player").getChild("Weapons").getChild("Active"); +if(!iterableReference4.isPrimitive()) { +for( + const iteratorKey4 in + iterableReference4.getType() === "structure" + ? iterableReference4.getAllChildren() + : iterableReference4.getType() === "array" + ? iterableReference4.getAllChildrenArray() + : [] +) { + if(iterableReference4.getType() === "structure") + keyIteratorReference4.setString(iteratorKey4); + else if(iterableReference4.getType() === "array") + keyIteratorReference4.setNumber(iteratorKey4); + const structureChildVariable4 = iterableReference4.getChild(iteratorKey4) + valueIteratorReference4.castTo(structureChildVariable4.getType()) + if(structureChildVariable4.isPrimitive()) { + valueIteratorReference4.setValue(structureChildVariable4.getValue()); + } else if (structureChildVariable4.getType() === "structure") { + // Structures are passed by reference like JS objects + valueIteratorReference4.replaceChildren(structureChildVariable4.getAllChildren()); + } else if (structureChildVariable4.getType() === "array") { + // Arrays are passed by reference like JS objects + valueIteratorReference4.replaceChildrenArray(structureChildVariable4.getAllChildrenArray()); + } else console.warn("Cannot identify type: ", type); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getScene().getVariables().get("Player").getChild("Weapons").getChild("Active").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("i"))).getChild("active"), true); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("Player").getChild("Weapons").getChild("Slot").getChild("current")) < runtimeScene.getGame().getVariables().getFromIndex(1).getChild("Weapons").getChild("Slot").getChild("max").getAsNumber(); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29643788); +} +} +} +if (isConditionTrue_0) +{ +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{runtimeScene.getScene().getVariables().get("Player").getChild("WeaponWheel").getChild("adder").add(0 + 50); +}{/* Unknown object - skipped. */}{runtimeScene.getScene().getVariables().get("Player").getChild("Weapons").getChild("Slot").getChild("current").add(runtimeScene.getGame().getVariables().getFromIndex(1).getChild("Weapons").getChild("Active").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("i"))).getChild("slot").getAsNumber()); +}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} +} +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.camera.layerEffectEnabled(runtimeScene, "", "weaponBar")); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("Player").getChild("Weapons").getChild("Selected").setString(""); +}{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList8 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList9 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +/* Unknown object - skipped. */if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29613964); +} +} +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList8(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.asyncCallback29611028 = function (runtimeScene, asyncObjectsList) { +{/* Unknown object - skipped. */}} +gdjs.Game_95RoomCode.eventsList10 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(5), (runtimeScene) => (gdjs.Game_95RoomCode.asyncCallback29611028(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95RoomCode.eventsList11 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ + +{ //Subevents +gdjs.Game_95RoomCode.eventsList10(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95RoomCode.eventsList12 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29609476); +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */} +{ //Subevents +gdjs.Game_95RoomCode.eventsList11(runtimeScene);} //End of subevents +} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList13 = function(runtimeScene) { + +{ + + + +} + + +};gdjs.Game_95RoomCode.eventsList14 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList15 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList16 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.input.isKeyPressed(runtimeScene, "LShift")); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "LShift"); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList17 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +/* Unknown object - skipped. */} +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList16(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95RoomCode.asyncCallback29505828 = function (runtimeScene, asyncObjectsList) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} +gdjs.Game_95RoomCode.eventsList18 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(0), (runtimeScene) => (gdjs.Game_95RoomCode.asyncCallback29505828(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95RoomCode.eventsList19 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29504932); +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */} +{ //Subevents +gdjs.Game_95RoomCode.eventsList18(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95RoomCode.eventsList20 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.asyncCallback29514388 = function (runtimeScene, asyncObjectsList) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} +gdjs.Game_95RoomCode.eventsList21 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(0), (runtimeScene) => (gdjs.Game_95RoomCode.asyncCallback29514388(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95RoomCode.eventsList22 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29514836); +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */} +{ //Subevents +gdjs.Game_95RoomCode.eventsList21(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList23 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList22(runtimeScene);} //End of subevents +} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.asyncCallback29522052 = function (runtimeScene, asyncObjectsList) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} +gdjs.Game_95RoomCode.eventsList24 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(0), (runtimeScene) => (gdjs.Game_95RoomCode.asyncCallback29522052(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95RoomCode.eventsList25 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29522500); +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */} +{ //Subevents +gdjs.Game_95RoomCode.eventsList24(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList26 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList25(runtimeScene);} //End of subevents +} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList27 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList28 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{}{}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList17(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29498580); +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +/* Unknown object - skipped. */} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29501052); +} +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +/* Unknown object - skipped. */} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +/* Unknown object - skipped. */if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +/* Unknown object - skipped. */if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList19(runtimeScene);} //End of subevents +} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */} +{ //Subevents +gdjs.Game_95RoomCode.eventsList20(runtimeScene);} //End of subevents +} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */} +{ //Subevents +gdjs.Game_95RoomCode.eventsList23(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{gdjs.evtTools.variable.setVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(2).getChild("cameraControlType"), true); +} +{ //Subevents +gdjs.Game_95RoomCode.eventsList26(runtimeScene);} //End of subevents +} + +} + + +{ + + +gdjs.Game_95RoomCode.eventsList27(runtimeScene); +} + + +};gdjs.Game_95RoomCode.eventsList29 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29531028); +} +} +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{gdjs.evtTools.variable.setVariableBoolean(gdjs.VariablesContainer.badVariable, true); +}} + +} + + +};gdjs.Game_95RoomCode.eventsList30 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtsExt__Gamepads__C_Button_pressed.func(runtimeScene, 1, "R2", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +{let isConditionTrue_2 = false; +isConditionTrue_2 = false; +isConditionTrue_2 = !(gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +if (isConditionTrue_2) { +isConditionTrue_2 = false; +isConditionTrue_2 = gdjs.evtTools.input.isMouseButtonPressed(runtimeScene, "Left"); +} +isConditionTrue_1 = isConditionTrue_2; +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + + +} + + +};gdjs.Game_95RoomCode.eventsList31 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29528884); +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */} +{ //Subevents +gdjs.Game_95RoomCode.eventsList29(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}} + +} + + +{ + + + +} + + +{ + + +gdjs.Game_95RoomCode.eventsList30(runtimeScene); +} + + +};gdjs.Game_95RoomCode.eventsList32 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{gdjs.evtTools.tween.tweenVariableNumber3(runtimeScene, "zoomOut", runtimeScene.getScene().getVariables().get("Game").getChild("Camera").getChild("Zoom"), 1, "linear", 1); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{gdjs.evtTools.tween.tweenVariableNumber3(runtimeScene, "zoomOut", runtimeScene.getScene().getVariables().get("Game").getChild("Camera").getChild("Zoom"), 0.9, "linear", 1); +}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getScene().getVariables().get("GodMode").getChild("active"), false); +if (isConditionTrue_0) { +{gdjs.evtTools.camera.setCameraZoom(runtimeScene, runtimeScene.getGame().getVariables().getFromIndex(3).getChild("Camera").getChild("Zoom").getAsNumber(), "", 0); +}} + +} + + +};gdjs.Game_95RoomCode.eventsList33 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("intro"), false); +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList32(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList34 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList35 = function(runtimeScene) { + +{ + + + +} + + +{ + + + +} + + +{ + + + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "a"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Axis_pushed.func(runtimeScene, 1, "Left", "Left", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "d"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Axis_pushed.func(runtimeScene, 1, "Left", "Right", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "w"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Axis_pushed.func(runtimeScene, 1, "Left", "Up", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "s"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Axis_pushed.func(runtimeScene, 1, "Left", "Down", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList36 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "a"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Axis_pushed.func(runtimeScene, 1, "Left", "Left", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "d"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Axis_pushed.func(runtimeScene, 1, "Left", "Right", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "w"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Axis_pushed.func(runtimeScene, 1, "Left", "Up", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "s"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Axis_pushed.func(runtimeScene, 1, "Left", "Down", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList37 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(2).getChild("cameraControlType"), true); +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList35(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(2).getChild("cameraControlType"), false); +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList36(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95RoomCode.eventsList38 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList39 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList37(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtsExt__Gamepads__C_Axis_pushed.func(runtimeScene, 1, "Left", "Right", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_0) { +{gdjs.evtTools.debuggerTools.log("lol", "info", ""); +}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getScene().getVariables().get("GodMode").getChild("active"), false); +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList38(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList40 = function(runtimeScene) { + +};gdjs.Game_95RoomCode.eventsList41 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.wasKeyReleased(runtimeScene, "g"); +if (isConditionTrue_0) { +{gdjs.evtTools.variable.toggleVariableBoolean(runtimeScene.getScene().getVariables().get("GodMode").getChild("active")); +}} + +} + + +};gdjs.Game_95RoomCode.eventsList42 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList43 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{gdjs.evtTools.camera.setCameraZoom(runtimeScene, 0.5, "", 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList44 = function(runtimeScene) { + +{ + + +gdjs.Game_95RoomCode.eventsList42(runtimeScene); +} + + +{ + + +gdjs.Game_95RoomCode.eventsList43(runtimeScene); +} + + +};gdjs.Game_95RoomCode.eventsList45 = function(runtimeScene) { + +{ + + +gdjs.Game_95RoomCode.eventsList41(runtimeScene); +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getScene().getVariables().get("GodMode").getChild("active"), true); +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList44(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95RoomCode.eventsList46 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{gdjs.evtTools.input.hideCursor(runtimeScene); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList47 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("phone_time"), gdjs.Game_95RoomCode.GDphone_9595timeObjects2); +{for(var i = 0, len = gdjs.Game_95RoomCode.GDphone_9595timeObjects2.length ;i < len;++i) { + gdjs.Game_95RoomCode.GDphone_9595timeObjects2[i].setString(gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS.func(runtimeScene, gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value")), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +} +}} + +} + + +};gdjs.Game_95RoomCode.eventsList48 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29583900); +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList49 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{gdjs.evtTools.runtimeScene.resetTimer(runtimeScene, "t"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.wasKeyReleased(runtimeScene, "Up"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Button_pressed.func(runtimeScene, 1, "Up", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +} +} +if (isConditionTrue_0) { +{gdjs.evtTools.runtimeScene.createObjectsFromExternalLayout(runtimeScene, "Phone", 0, gdjs.evtTools.window.getWindowInnerHeight() - 200, 0); +}{gdjs.evtTools.variable.setVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("Player").getChild("phone").getChild("active"), true); +}{/* Unknown object - skipped. */} +{ //Subevents +gdjs.Game_95RoomCode.eventsList48(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList50 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +isConditionTrue_1 = gdjs.evtTools.input.wasKeyReleased(runtimeScene, "Down"); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +isConditionTrue_1 = gdjs.evtsExt__Gamepads__C_Button_pressed.func(runtimeScene, 1, "Down", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if(isConditionTrue_1) { + isConditionTrue_0 = true; +} +} +{ +} +} +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{gdjs.evtTools.variable.setVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("Player").getChild("phone").getChild("active"), false); +}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList51 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +{}{}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList52 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.wasKeyReleased(runtimeScene, "h"); +if (isConditionTrue_0) { +{gdjs.evtTools.variable.toggleVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(2).getChild("active")); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(2).getChild("active"), false); +if (isConditionTrue_0) { +{gdjs.evtTools.camera.showLayer(runtimeScene, "Debug"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getGame().getVariables().getFromIndex(2).getChild("active"), true); +if (isConditionTrue_0) { +{gdjs.evtTools.camera.hideLayer(runtimeScene, "Debug"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + + +} + + +};gdjs.Game_95RoomCode.eventsList53 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList54 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}} + +} + + +};gdjs.Game_95RoomCode.eventsList55 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList54(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95RoomCode.eventsList56 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList57 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +/* Unknown object - skipped. */if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95RoomCode.eventsList56(runtimeScene);} //End of subevents +} + +} + + +};gdjs.Game_95RoomCode.eventsList58 = function(runtimeScene) { + +{ + + + +} + + +{ + + +gdjs.Game_95RoomCode.eventsList7(runtimeScene); +} + + +{ + + + +} + + +{ + + +gdjs.Game_95RoomCode.eventsList9(runtimeScene); +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.isKeyPressed(runtimeScene, "Return"); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29576844); +} +} +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("game_transition"), gdjs.Game_95RoomCode.GDgame_9595transitionObjects2); +{runtimeScene.getScene().getVariables().get("niko_movement").setNumber(0); +}{runtimeScene.getScene().getVariables().get("RoomID").setNumber(0); +}{gdjs.evtTools.variable.setVariableBoolean(runtimeScene.getScene().getVariables().get("door"), true); +}{gdjs.evtTools.sound.playSound(runtimeScene, "assets\\sound\\door_sound\\DoorOpening_0.wav", false, 50, 1); +}{for(var i = 0, len = gdjs.Game_95RoomCode.GDgame_9595transitionObjects2.length ;i < len;++i) { + gdjs.Game_95RoomCode.GDgame_9595transitionObjects2[i].getBehavior("FlashTransitionPainter").PaintEffect("0;0;0", 1.5, "Flash", "", 0, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +{ + +gdjs.copyArray(runtimeScene.getObjects("game_transition"), gdjs.Game_95RoomCode.GDgame_9595transitionObjects2); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getScene().getVariables().get("door"), true); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.Game_95RoomCode.GDgame_9595transitionObjects2.length;i (gdjs.Game_95RoomCode.asyncCallback29487140(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95RoomCode.eventsList61 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +{ +{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}{/* Unknown object - skipped. */}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value").add(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("adder"))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value")) > 360; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29485372); +} +} +if (isConditionTrue_0) { +{runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("value").setNumber(0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.tween.sceneTweenIsPlaying(runtimeScene, "nightdaycircle")); +if (isConditionTrue_0) { +{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "nightdaycircle", 1, "", "nightDayCycle", "opacity", "linear", 360 / (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().getFromIndex(3).getChild("globalTime").getChild("shadowTime").getChild("adder")) * 60)); +} +{ //Subevents +gdjs.Game_95RoomCode.eventsList60(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95RoomCode.eventsList62 = function(runtimeScene) { + +{ + + +gdjs.Game_95RoomCode.eventsList61(runtimeScene); +} + + +};gdjs.Game_95RoomCode.mapOfGDgdjs_9546Game_959595RoomCode_9546GDPlaceholderObjects1Objects = Hashtable.newFrom({"Placeholder": gdjs.Game_95RoomCode.GDPlaceholderObjects1}); +gdjs.Game_95RoomCode.mapOfGDgdjs_9546Game_959595RoomCode_9546GDroom2outObjects1ObjectsGDgdjs_9546Game_959595RoomCode_9546GDroom1outObjects1ObjectsGDgdjs_9546Game_959595RoomCode_9546GDroom3outObjects1ObjectsGDgdjs_9546Game_959595RoomCode_9546GDroom4outObjects1ObjectsGDgdjs_9546Game_959595RoomCode_9546GDroom5outObjects1Objects = Hashtable.newFrom({"room2out": gdjs.Game_95RoomCode.GDroom2outObjects1, "room1out": gdjs.Game_95RoomCode.GDroom1outObjects1, "room3out": gdjs.Game_95RoomCode.GDroom3outObjects1, "room4out": gdjs.Game_95RoomCode.GDroom4outObjects1, "room5out": gdjs.Game_95RoomCode.GDroom5outObjects1}); +gdjs.Game_95RoomCode.eventsList63 = function(runtimeScene) { + +{ + +gdjs.copyArray(runtimeScene.getObjects("Placeholder"), gdjs.Game_95RoomCode.GDPlaceholderObjects1); +gdjs.copyArray(runtimeScene.getObjects("room1out"), gdjs.Game_95RoomCode.GDroom1outObjects1); +gdjs.copyArray(runtimeScene.getObjects("room2out"), gdjs.Game_95RoomCode.GDroom2outObjects1); +gdjs.copyArray(runtimeScene.getObjects("room3out"), gdjs.Game_95RoomCode.GDroom3outObjects1); +gdjs.copyArray(runtimeScene.getObjects("room4out"), gdjs.Game_95RoomCode.GDroom4outObjects1); +gdjs.copyArray(runtimeScene.getObjects("room5out"), gdjs.Game_95RoomCode.GDroom5outObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.object.hitBoxesCollisionTest(gdjs.Game_95RoomCode.mapOfGDgdjs_9546Game_959595RoomCode_9546GDPlaceholderObjects1Objects, gdjs.Game_95RoomCode.mapOfGDgdjs_9546Game_959595RoomCode_9546GDroom2outObjects1ObjectsGDgdjs_9546Game_959595RoomCode_9546GDroom1outObjects1ObjectsGDgdjs_9546Game_959595RoomCode_9546GDroom3outObjects1ObjectsGDgdjs_9546Game_959595RoomCode_9546GDroom4outObjects1ObjectsGDgdjs_9546Game_959595RoomCode_9546GDroom5outObjects1Objects, false, runtimeScene, false); +if (isConditionTrue_0) { +{gdjs.evtTools.runtimeScene.popScene(runtimeScene); +}} + +} + + +};gdjs.Game_95RoomCode.eventsList64 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("Placeholder"), gdjs.Game_95RoomCode.GDPlaceholderObjects1); +gdjs.copyArray(runtimeScene.getObjects("room1out"), gdjs.Game_95RoomCode.GDroom1outObjects1); +gdjs.copyArray(runtimeScene.getObjects("room2out"), gdjs.Game_95RoomCode.GDroom2outObjects1); +gdjs.copyArray(runtimeScene.getObjects("room3out"), gdjs.Game_95RoomCode.GDroom3outObjects1); +gdjs.copyArray(runtimeScene.getObjects("room4out"), gdjs.Game_95RoomCode.GDroom4outObjects1); +gdjs.copyArray(runtimeScene.getObjects("room5out"), gdjs.Game_95RoomCode.GDroom5outObjects1); +{for(var i = 0, len = gdjs.Game_95RoomCode.GDPlaceholderObjects1.length ;i < len;++i) { + gdjs.Game_95RoomCode.GDPlaceholderObjects1[i].setPosition(gdjs.evtsExt__RoomManager__getX.func(runtimeScene, gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().get("currentRoomID")), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)),gdjs.evtsExt__RoomManager__getY.func(runtimeScene, gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().get("currentRoomID")), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); +} +}{for(var i = 0, len = gdjs.Game_95RoomCode.GDroom2outObjects1.length ;i < len;++i) { + gdjs.Game_95RoomCode.GDroom2outObjects1[i].hide(); +} +for(var i = 0, len = gdjs.Game_95RoomCode.GDroom1outObjects1.length ;i < len;++i) { + gdjs.Game_95RoomCode.GDroom1outObjects1[i].hide(); +} +for(var i = 0, len = gdjs.Game_95RoomCode.GDroom3outObjects1.length ;i < len;++i) { + gdjs.Game_95RoomCode.GDroom3outObjects1[i].hide(); +} +for(var i = 0, len = gdjs.Game_95RoomCode.GDroom4outObjects1.length ;i < len;++i) { + gdjs.Game_95RoomCode.GDroom4outObjects1[i].hide(); +} +for(var i = 0, len = gdjs.Game_95RoomCode.GDroom5outObjects1.length ;i < len;++i) { + gdjs.Game_95RoomCode.GDroom5outObjects1[i].hide(); +} +} +{ //Subevents +gdjs.Game_95RoomCode.eventsList2(runtimeScene);} //End of subevents +} + +} + + +{ + + + +} + + +{ + + +gdjs.Game_95RoomCode.eventsList58(runtimeScene); +} + + +{ + + +gdjs.Game_95RoomCode.eventsList59(runtimeScene); +} + + +{ + + +gdjs.Game_95RoomCode.eventsList62(runtimeScene); +} + + +{ + + +gdjs.Game_95RoomCode.eventsList63(runtimeScene); +} + + +}; + +gdjs.Game_95RoomCode.func = function(runtimeScene) { +runtimeScene.getOnceTriggers().startNewFrame(); + +gdjs.Game_95RoomCode.GDwallsObjects1.length = 0; +gdjs.Game_95RoomCode.GDwallsObjects2.length = 0; +gdjs.Game_95RoomCode.GDwallsObjects3.length = 0; +gdjs.Game_95RoomCode.GDwallsObjects4.length = 0; +gdjs.Game_95RoomCode.GDwallsObjects5.length = 0; +gdjs.Game_95RoomCode.GDwallsObjects6.length = 0; +gdjs.Game_95RoomCode.GDkitchenObjects1.length = 0; +gdjs.Game_95RoomCode.GDkitchenObjects2.length = 0; +gdjs.Game_95RoomCode.GDkitchenObjects3.length = 0; +gdjs.Game_95RoomCode.GDkitchenObjects4.length = 0; +gdjs.Game_95RoomCode.GDkitchenObjects5.length = 0; +gdjs.Game_95RoomCode.GDkitchenObjects6.length = 0; +gdjs.Game_95RoomCode.GDfurnitureObjects1.length = 0; +gdjs.Game_95RoomCode.GDfurnitureObjects2.length = 0; +gdjs.Game_95RoomCode.GDfurnitureObjects3.length = 0; +gdjs.Game_95RoomCode.GDfurnitureObjects4.length = 0; +gdjs.Game_95RoomCode.GDfurnitureObjects5.length = 0; +gdjs.Game_95RoomCode.GDfurnitureObjects6.length = 0; +gdjs.Game_95RoomCode.GDNikoObjects1.length = 0; +gdjs.Game_95RoomCode.GDNikoObjects2.length = 0; +gdjs.Game_95RoomCode.GDNikoObjects3.length = 0; +gdjs.Game_95RoomCode.GDNikoObjects4.length = 0; +gdjs.Game_95RoomCode.GDNikoObjects5.length = 0; +gdjs.Game_95RoomCode.GDNikoObjects6.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects1.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects2.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects3.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects4.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects5.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595secondaryObjects6.length = 0; +gdjs.Game_95RoomCode.GDfloorObjects1.length = 0; +gdjs.Game_95RoomCode.GDfloorObjects2.length = 0; +gdjs.Game_95RoomCode.GDfloorObjects3.length = 0; +gdjs.Game_95RoomCode.GDfloorObjects4.length = 0; +gdjs.Game_95RoomCode.GDfloorObjects5.length = 0; +gdjs.Game_95RoomCode.GDfloorObjects6.length = 0; +gdjs.Game_95RoomCode.GDenergyObjects1.length = 0; +gdjs.Game_95RoomCode.GDenergyObjects2.length = 0; +gdjs.Game_95RoomCode.GDenergyObjects3.length = 0; +gdjs.Game_95RoomCode.GDenergyObjects4.length = 0; +gdjs.Game_95RoomCode.GDenergyObjects5.length = 0; +gdjs.Game_95RoomCode.GDenergyObjects6.length = 0; +gdjs.Game_95RoomCode.GDPlaceholderObjects1.length = 0; +gdjs.Game_95RoomCode.GDPlaceholderObjects2.length = 0; +gdjs.Game_95RoomCode.GDPlaceholderObjects3.length = 0; +gdjs.Game_95RoomCode.GDPlaceholderObjects4.length = 0; +gdjs.Game_95RoomCode.GDPlaceholderObjects5.length = 0; +gdjs.Game_95RoomCode.GDPlaceholderObjects6.length = 0; +gdjs.Game_95RoomCode.GDroom6outObjects1.length = 0; +gdjs.Game_95RoomCode.GDroom6outObjects2.length = 0; +gdjs.Game_95RoomCode.GDroom6outObjects3.length = 0; +gdjs.Game_95RoomCode.GDroom6outObjects4.length = 0; +gdjs.Game_95RoomCode.GDroom6outObjects5.length = 0; +gdjs.Game_95RoomCode.GDroom6outObjects6.length = 0; +gdjs.Game_95RoomCode.GDroom5outObjects1.length = 0; +gdjs.Game_95RoomCode.GDroom5outObjects2.length = 0; +gdjs.Game_95RoomCode.GDroom5outObjects3.length = 0; +gdjs.Game_95RoomCode.GDroom5outObjects4.length = 0; +gdjs.Game_95RoomCode.GDroom5outObjects5.length = 0; +gdjs.Game_95RoomCode.GDroom5outObjects6.length = 0; +gdjs.Game_95RoomCode.GDroom4outObjects1.length = 0; +gdjs.Game_95RoomCode.GDroom4outObjects2.length = 0; +gdjs.Game_95RoomCode.GDroom4outObjects3.length = 0; +gdjs.Game_95RoomCode.GDroom4outObjects4.length = 0; +gdjs.Game_95RoomCode.GDroom4outObjects5.length = 0; +gdjs.Game_95RoomCode.GDroom4outObjects6.length = 0; +gdjs.Game_95RoomCode.GDroom3outObjects1.length = 0; +gdjs.Game_95RoomCode.GDroom3outObjects2.length = 0; +gdjs.Game_95RoomCode.GDroom3outObjects3.length = 0; +gdjs.Game_95RoomCode.GDroom3outObjects4.length = 0; +gdjs.Game_95RoomCode.GDroom3outObjects5.length = 0; +gdjs.Game_95RoomCode.GDroom3outObjects6.length = 0; +gdjs.Game_95RoomCode.GDroom2outObjects1.length = 0; +gdjs.Game_95RoomCode.GDroom2outObjects2.length = 0; +gdjs.Game_95RoomCode.GDroom2outObjects3.length = 0; +gdjs.Game_95RoomCode.GDroom2outObjects4.length = 0; +gdjs.Game_95RoomCode.GDroom2outObjects5.length = 0; +gdjs.Game_95RoomCode.GDroom2outObjects6.length = 0; +gdjs.Game_95RoomCode.GDgun3Objects1.length = 0; +gdjs.Game_95RoomCode.GDgun3Objects2.length = 0; +gdjs.Game_95RoomCode.GDgun3Objects3.length = 0; +gdjs.Game_95RoomCode.GDgun3Objects4.length = 0; +gdjs.Game_95RoomCode.GDgun3Objects5.length = 0; +gdjs.Game_95RoomCode.GDgun3Objects6.length = 0; +gdjs.Game_95RoomCode.GDroom1outObjects1.length = 0; +gdjs.Game_95RoomCode.GDroom1outObjects2.length = 0; +gdjs.Game_95RoomCode.GDroom1outObjects3.length = 0; +gdjs.Game_95RoomCode.GDroom1outObjects4.length = 0; +gdjs.Game_95RoomCode.GDroom1outObjects5.length = 0; +gdjs.Game_95RoomCode.GDroom1outObjects6.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects1.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects2.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects3.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects4.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects5.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fire_9595collisionObjects6.length = 0; +gdjs.Game_95RoomCode.GDgun1Objects1.length = 0; +gdjs.Game_95RoomCode.GDgun1Objects2.length = 0; +gdjs.Game_95RoomCode.GDgun1Objects3.length = 0; +gdjs.Game_95RoomCode.GDgun1Objects4.length = 0; +gdjs.Game_95RoomCode.GDgun1Objects5.length = 0; +gdjs.Game_95RoomCode.GDgun1Objects6.length = 0; +gdjs.Game_95RoomCode.GDgun2Objects1.length = 0; +gdjs.Game_95RoomCode.GDgun2Objects2.length = 0; +gdjs.Game_95RoomCode.GDgun2Objects3.length = 0; +gdjs.Game_95RoomCode.GDgun2Objects4.length = 0; +gdjs.Game_95RoomCode.GDgun2Objects5.length = 0; +gdjs.Game_95RoomCode.GDgun2Objects6.length = 0; +gdjs.Game_95RoomCode.GDgun4Objects1.length = 0; +gdjs.Game_95RoomCode.GDgun4Objects2.length = 0; +gdjs.Game_95RoomCode.GDgun4Objects3.length = 0; +gdjs.Game_95RoomCode.GDgun4Objects4.length = 0; +gdjs.Game_95RoomCode.GDgun4Objects5.length = 0; +gdjs.Game_95RoomCode.GDgun4Objects6.length = 0; +gdjs.Game_95RoomCode.GDgun5Objects1.length = 0; +gdjs.Game_95RoomCode.GDgun5Objects2.length = 0; +gdjs.Game_95RoomCode.GDgun5Objects3.length = 0; +gdjs.Game_95RoomCode.GDgun5Objects4.length = 0; +gdjs.Game_95RoomCode.GDgun5Objects5.length = 0; +gdjs.Game_95RoomCode.GDgun5Objects6.length = 0; +gdjs.Game_95RoomCode.GDmele1Objects1.length = 0; +gdjs.Game_95RoomCode.GDmele1Objects2.length = 0; +gdjs.Game_95RoomCode.GDmele1Objects3.length = 0; +gdjs.Game_95RoomCode.GDmele1Objects4.length = 0; +gdjs.Game_95RoomCode.GDmele1Objects5.length = 0; +gdjs.Game_95RoomCode.GDmele1Objects6.length = 0; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects1.length = 0; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects2.length = 0; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects3.length = 0; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects4.length = 0; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects5.length = 0; +gdjs.Game_95RoomCode.GDWheel_9595infoObjects6.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects1.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects2.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects3.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects4.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects5.length = 0; +gdjs.Game_95RoomCode.GDflame_9595thrower_9595fireObjects6.length = 0; +gdjs.Game_95RoomCode.GDbulletObjects1.length = 0; +gdjs.Game_95RoomCode.GDbulletObjects2.length = 0; +gdjs.Game_95RoomCode.GDbulletObjects3.length = 0; +gdjs.Game_95RoomCode.GDbulletObjects4.length = 0; +gdjs.Game_95RoomCode.GDbulletObjects5.length = 0; +gdjs.Game_95RoomCode.GDbulletObjects6.length = 0; +gdjs.Game_95RoomCode.GDammoObjects1.length = 0; +gdjs.Game_95RoomCode.GDammoObjects2.length = 0; +gdjs.Game_95RoomCode.GDammoObjects3.length = 0; +gdjs.Game_95RoomCode.GDammoObjects4.length = 0; +gdjs.Game_95RoomCode.GDammoObjects5.length = 0; +gdjs.Game_95RoomCode.GDammoObjects6.length = 0; +gdjs.Game_95RoomCode.GDflowerObjects1.length = 0; +gdjs.Game_95RoomCode.GDflowerObjects2.length = 0; +gdjs.Game_95RoomCode.GDflowerObjects3.length = 0; +gdjs.Game_95RoomCode.GDflowerObjects4.length = 0; +gdjs.Game_95RoomCode.GDflowerObjects5.length = 0; +gdjs.Game_95RoomCode.GDflowerObjects6.length = 0; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects1.length = 0; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects2.length = 0; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects3.length = 0; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects4.length = 0; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects5.length = 0; +gdjs.Game_95RoomCode.GDphone_9595wifiObjects6.length = 0; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects1.length = 0; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects2.length = 0; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects3.length = 0; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects4.length = 0; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects5.length = 0; +gdjs.Game_95RoomCode.GDphone_9595batteryObjects6.length = 0; +gdjs.Game_95RoomCode.GDcrossairObjects1.length = 0; +gdjs.Game_95RoomCode.GDcrossairObjects2.length = 0; +gdjs.Game_95RoomCode.GDcrossairObjects3.length = 0; +gdjs.Game_95RoomCode.GDcrossairObjects4.length = 0; +gdjs.Game_95RoomCode.GDcrossairObjects5.length = 0; +gdjs.Game_95RoomCode.GDcrossairObjects6.length = 0; +gdjs.Game_95RoomCode.GDPhoneObjects1.length = 0; +gdjs.Game_95RoomCode.GDPhoneObjects2.length = 0; +gdjs.Game_95RoomCode.GDPhoneObjects3.length = 0; +gdjs.Game_95RoomCode.GDPhoneObjects4.length = 0; +gdjs.Game_95RoomCode.GDPhoneObjects5.length = 0; +gdjs.Game_95RoomCode.GDPhoneObjects6.length = 0; +gdjs.Game_95RoomCode.GDphone_9595timeObjects1.length = 0; +gdjs.Game_95RoomCode.GDphone_9595timeObjects2.length = 0; +gdjs.Game_95RoomCode.GDphone_9595timeObjects3.length = 0; +gdjs.Game_95RoomCode.GDphone_9595timeObjects4.length = 0; +gdjs.Game_95RoomCode.GDphone_9595timeObjects5.length = 0; +gdjs.Game_95RoomCode.GDphone_9595timeObjects6.length = 0; +gdjs.Game_95RoomCode.GDreloadingObjects1.length = 0; +gdjs.Game_95RoomCode.GDreloadingObjects2.length = 0; +gdjs.Game_95RoomCode.GDreloadingObjects3.length = 0; +gdjs.Game_95RoomCode.GDreloadingObjects4.length = 0; +gdjs.Game_95RoomCode.GDreloadingObjects5.length = 0; +gdjs.Game_95RoomCode.GDreloadingObjects6.length = 0; +gdjs.Game_95RoomCode.GDAmmoTextObjects1.length = 0; +gdjs.Game_95RoomCode.GDAmmoTextObjects2.length = 0; +gdjs.Game_95RoomCode.GDAmmoTextObjects3.length = 0; +gdjs.Game_95RoomCode.GDAmmoTextObjects4.length = 0; +gdjs.Game_95RoomCode.GDAmmoTextObjects5.length = 0; +gdjs.Game_95RoomCode.GDAmmoTextObjects6.length = 0; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects1.length = 0; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects2.length = 0; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects3.length = 0; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects4.length = 0; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects5.length = 0; +gdjs.Game_95RoomCode.GDtazer_9595hitboxObjects6.length = 0; +gdjs.Game_95RoomCode.GDSlash1Objects1.length = 0; +gdjs.Game_95RoomCode.GDSlash1Objects2.length = 0; +gdjs.Game_95RoomCode.GDSlash1Objects3.length = 0; +gdjs.Game_95RoomCode.GDSlash1Objects4.length = 0; +gdjs.Game_95RoomCode.GDSlash1Objects5.length = 0; +gdjs.Game_95RoomCode.GDSlash1Objects6.length = 0; +gdjs.Game_95RoomCode.GDmele2Objects1.length = 0; +gdjs.Game_95RoomCode.GDmele2Objects2.length = 0; +gdjs.Game_95RoomCode.GDmele2Objects3.length = 0; +gdjs.Game_95RoomCode.GDmele2Objects4.length = 0; +gdjs.Game_95RoomCode.GDmele2Objects5.length = 0; +gdjs.Game_95RoomCode.GDmele2Objects6.length = 0; +gdjs.Game_95RoomCode.GDroomIndicObjects1.length = 0; +gdjs.Game_95RoomCode.GDroomIndicObjects2.length = 0; +gdjs.Game_95RoomCode.GDroomIndicObjects3.length = 0; +gdjs.Game_95RoomCode.GDroomIndicObjects4.length = 0; +gdjs.Game_95RoomCode.GDroomIndicObjects5.length = 0; +gdjs.Game_95RoomCode.GDroomIndicObjects6.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects1.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects2.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects3.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects4.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects5.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floorObjects6.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects1.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects2.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects3.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects4.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects5.length = 0; +gdjs.Game_95RoomCode.GDWooden_9595floor_9595darkObjects6.length = 0; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects1.length = 0; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects2.length = 0; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects3.length = 0; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects4.length = 0; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects5.length = 0; +gdjs.Game_95RoomCode.GDGrey_9595floor_9595tiledObjects6.length = 0; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects1.length = 0; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects2.length = 0; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects3.length = 0; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects4.length = 0; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects5.length = 0; +gdjs.Game_95RoomCode.GDgame_9595crosshairObjects6.length = 0; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects1.length = 0; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects2.length = 0; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects3.length = 0; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects4.length = 0; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects5.length = 0; +gdjs.Game_95RoomCode.GDgame_9595transitionObjects6.length = 0; + +gdjs.Game_95RoomCode.eventsList64(runtimeScene); + +return; + +} + +gdjs['Game_95RoomCode'] = gdjs.Game_95RoomCode; diff --git a/code5.js b/code5.js new file mode 100644 index 00000000..23faa20f --- /dev/null +++ b/code5.js @@ -0,0 +1,159 @@ +gdjs.Game_95LoadingCode = {}; +gdjs.Game_95LoadingCode.GDbgObjects1= []; +gdjs.Game_95LoadingCode.GDbgObjects2= []; +gdjs.Game_95LoadingCode.GDNewTextObjects1= []; +gdjs.Game_95LoadingCode.GDNewTextObjects2= []; +gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1= []; +gdjs.Game_95LoadingCode.GDRedFlatBarwObjects2= []; +gdjs.Game_95LoadingCode.GDgame_9595crosshairObjects1= []; +gdjs.Game_95LoadingCode.GDgame_9595crosshairObjects2= []; +gdjs.Game_95LoadingCode.GDgame_9595transitionObjects1= []; +gdjs.Game_95LoadingCode.GDgame_9595transitionObjects2= []; + + +gdjs.Game_95LoadingCode.asyncCallback29441788 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.runtimeScene.replaceScene(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getGame().getVariables().get("sceneLoad")), false); +}} +gdjs.Game_95LoadingCode.eventsList0 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95LoadingCode.asyncCallback29441788(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95LoadingCode.mapOfGDgdjs_9546Game_959595LoadingCode_9546GDRedFlatBarwObjects1Objects = Hashtable.newFrom({"RedFlatBarw": gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1}); +gdjs.Game_95LoadingCode.mapOfGDgdjs_9546Game_959595LoadingCode_9546GDNewTextObjects1Objects = Hashtable.newFrom({"NewText": gdjs.Game_95LoadingCode.GDNewTextObjects1}); +gdjs.Game_95LoadingCode.eventsList1 = function(runtimeScene) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +gdjs.copyArray(runtimeScene.getObjects("RedFlatBarw"), gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1); +gdjs.copyArray(runtimeScene.getObjects("bg"), gdjs.Game_95LoadingCode.GDbgObjects1); +{for(var i = 0, len = gdjs.Game_95LoadingCode.GDbgObjects1.length ;i < len;++i) { + gdjs.Game_95LoadingCode.GDbgObjects1[i].getBehavior("Opacity").setOpacity(200); +} +}{for(var i = 0, len = gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1.length ;i < len;++i) { + gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1[i].setX(66); +} +}{for(var i = 0, len = gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1.length ;i < len;++i) { + gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1[i].getBehavior("Resizable").setWidth(gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) - 132); +} +}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("RedFlatBarw"), gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1); +gdjs.copyArray(runtimeScene.getObjects("bg"), gdjs.Game_95LoadingCode.GDbgObjects1); +{for(var i = 0, len = gdjs.Game_95LoadingCode.GDbgObjects1.length ;i < len;++i) { + gdjs.Game_95LoadingCode.GDbgObjects1[i].setXOffset(gdjs.Game_95LoadingCode.GDbgObjects1[i].getXOffset() + (5)); +} +}{for(var i = 0, len = gdjs.Game_95LoadingCode.GDbgObjects1.length ;i < len;++i) { + gdjs.Game_95LoadingCode.GDbgObjects1[i].setYOffset(gdjs.Game_95LoadingCode.GDbgObjects1[i].getYOffset() + (5)); +} +}{for(var i = 0, len = gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1.length ;i < len;++i) { + gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1[i].SetValue(gdjs.evtTools.runtimeScene.getSceneLoadingProgress(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getGame().getVariables().get("sceneLoad"))) * 100, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.areSceneAssetsLoaded(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getGame().getVariables().get("sceneLoad"))); +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95LoadingCode.eventsList0(runtimeScene);} //End of subevents +} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("NewText"), gdjs.Game_95LoadingCode.GDNewTextObjects1); +gdjs.copyArray(runtimeScene.getObjects("RedFlatBarw"), gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1); +{gdjs.evtsExt__AlignObject__ToSceneCenter.func(runtimeScene, gdjs.Game_95LoadingCode.mapOfGDgdjs_9546Game_959595LoadingCode_9546GDRedFlatBarwObjects1Objects, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{gdjs.evtsExt__AlignObject__ToSceneCenter.func(runtimeScene, gdjs.Game_95LoadingCode.mapOfGDgdjs_9546Game_959595LoadingCode_9546GDNewTextObjects1Objects, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}} + +} + + +}; + +gdjs.Game_95LoadingCode.func = function(runtimeScene) { +runtimeScene.getOnceTriggers().startNewFrame(); + +gdjs.Game_95LoadingCode.GDbgObjects1.length = 0; +gdjs.Game_95LoadingCode.GDbgObjects2.length = 0; +gdjs.Game_95LoadingCode.GDNewTextObjects1.length = 0; +gdjs.Game_95LoadingCode.GDNewTextObjects2.length = 0; +gdjs.Game_95LoadingCode.GDRedFlatBarwObjects1.length = 0; +gdjs.Game_95LoadingCode.GDRedFlatBarwObjects2.length = 0; +gdjs.Game_95LoadingCode.GDgame_9595crosshairObjects1.length = 0; +gdjs.Game_95LoadingCode.GDgame_9595crosshairObjects2.length = 0; +gdjs.Game_95LoadingCode.GDgame_9595transitionObjects1.length = 0; +gdjs.Game_95LoadingCode.GDgame_9595transitionObjects2.length = 0; + +gdjs.Game_95LoadingCode.eventsList1(runtimeScene); + +return; + +} + +gdjs['Game_95LoadingCode'] = gdjs.Game_95LoadingCode; diff --git a/code6.js b/code6.js new file mode 100644 index 00000000..360d1026 --- /dev/null +++ b/code6.js @@ -0,0 +1,450 @@ +gdjs.Game_95FirstLaunchCode = {}; +gdjs.Game_95FirstLaunchCode.GDrankObjects1= []; +gdjs.Game_95FirstLaunchCode.GDrankObjects2= []; +gdjs.Game_95FirstLaunchCode.GDrankObjects3= []; +gdjs.Game_95FirstLaunchCode.GDrankObjects4= []; +gdjs.Game_95FirstLaunchCode.GDrankObjects5= []; +gdjs.Game_95FirstLaunchCode.GDrankObjects6= []; +gdjs.Game_95FirstLaunchCode.GDrankObjects7= []; +gdjs.Game_95FirstLaunchCode.GDrankObjects8= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects1= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects2= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects3= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects4= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects5= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects6= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects7= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects8= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects1= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects2= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects3= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects4= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects5= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects6= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects7= []; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects8= []; + + +gdjs.Game_95FirstLaunchCode.eventsList0 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.storage.elementExistsInJSONFile("Game", gdjs.evtTools.runtimeScene.getSceneName(runtimeScene) + "FirstLaunch"); +if (isConditionTrue_0) { +{gdjs.evtTools.runtimeScene.setBackgroundColor(runtimeScene, "131;214;155"); +}{runtimeScene.getGame().getVariables().get("sceneLoad").setString("Game_World"); +}{gdjs.evtTools.storage.readStringFromJSONFile("Game", gdjs.evtTools.runtimeScene.getSceneName(runtimeScene) + "Rank", runtimeScene, runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank")); +}{runtimeScene.getGame().getVariables().getFromIndex(4).getChild("rank").setString(runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").getAsString()); +}{gdjs.evtTools.runtimeScene.replaceScene(runtimeScene, "Game_Loading", true); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.storage.elementExistsInJSONFile("Game", gdjs.evtTools.runtimeScene.getSceneName(runtimeScene) + "FirstLaunch")); +if (isConditionTrue_0) { +{gdjs.evtTools.storage.writeStringInJSONFile("Game", gdjs.evtTools.runtimeScene.getSceneName(runtimeScene) + "FirstLaunch", "true"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +};gdjs.Game_95FirstLaunchCode.asyncCallback29463020 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.runtimeScene.setBackgroundColor(runtimeScene, "144;19;254"); +}} +gdjs.Game_95FirstLaunchCode.eventsList1 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95FirstLaunchCode.asyncCallback29463020(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95FirstLaunchCode.asyncCallback29462948 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.runtimeScene.setBackgroundColor(runtimeScene, "189;16;224"); +} +{ //Subevents +gdjs.Game_95FirstLaunchCode.eventsList1(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95FirstLaunchCode.eventsList2 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95FirstLaunchCode.asyncCallback29462948(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95FirstLaunchCode.asyncCallback29462388 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.runtimeScene.setBackgroundColor(runtimeScene, "65;117;5"); +} +{ //Subevents +gdjs.Game_95FirstLaunchCode.eventsList2(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95FirstLaunchCode.eventsList3 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95FirstLaunchCode.asyncCallback29462388(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95FirstLaunchCode.asyncCallback29462316 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.runtimeScene.setBackgroundColor(runtimeScene, "126;211;33"); +} +{ //Subevents +gdjs.Game_95FirstLaunchCode.eventsList3(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95FirstLaunchCode.eventsList4 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95FirstLaunchCode.asyncCallback29462316(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95FirstLaunchCode.asyncCallback29461788 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.runtimeScene.setBackgroundColor(runtimeScene, "208;2;27"); +} +{ //Subevents +gdjs.Game_95FirstLaunchCode.eventsList4(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95FirstLaunchCode.eventsList5 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95FirstLaunchCode.asyncCallback29461788(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95FirstLaunchCode.asyncCallback29461484 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.runtimeScene.setBackgroundColor(runtimeScene, "245;166;35"); +} +{ //Subevents +gdjs.Game_95FirstLaunchCode.eventsList5(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95FirstLaunchCode.eventsList6 = function(runtimeScene, asyncObjectsList) { + +{ + + +{ +const parentAsyncObjectsList = asyncObjectsList; +{ +const asyncObjectsList = gdjs.LongLivedObjectsList.from(parentAsyncObjectsList); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95FirstLaunchCode.asyncCallback29461484(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95FirstLaunchCode.asyncCallback29461292 = function (runtimeScene, asyncObjectsList) { +{gdjs.evtTools.runtimeScene.setBackgroundColor(runtimeScene, "248;231;28"); +} +{ //Subevents +gdjs.Game_95FirstLaunchCode.eventsList6(runtimeScene, asyncObjectsList);} //End of subevents +} +gdjs.Game_95FirstLaunchCode.eventsList7 = function(runtimeScene) { + +{ + + +{ +{ +const asyncObjectsList = new gdjs.LongLivedObjectsList(); +runtimeScene.getAsyncTasksManager().addTask(gdjs.evtTools.runtimeScene.wait(1), (runtimeScene) => (gdjs.Game_95FirstLaunchCode.asyncCallback29461292(runtimeScene, asyncObjectsList))); +} +} + +} + + +};gdjs.Game_95FirstLaunchCode.mapOfGDgdjs_9546Game_959595FirstLaunchCode_9546GDrankObjects1Objects = Hashtable.newFrom({"rank": gdjs.Game_95FirstLaunchCode.GDrankObjects1}); +gdjs.Game_95FirstLaunchCode.eventsList8 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (gdjs.evtsExt__FPS__FPS.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) > 50); +} +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").setString("A"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (gdjs.evtsExt__FPS__FPS.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) < 50); +} +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").setString("B"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (gdjs.evtsExt__FPS__FPS.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) < 40); +} +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").setString("C"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (gdjs.evtsExt__FPS__FPS.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) < 30); +} +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").setString("D"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (gdjs.evtsExt__FPS__FPS.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) < 20); +} +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").setString("E"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (gdjs.evtsExt__FPS__FPS.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) < 10); +} +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").setString("F"); +}} + +} + + +};gdjs.Game_95FirstLaunchCode.eventsList9 = function(runtimeScene) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95FirstLaunchCode.eventsList0(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{gdjs.evtTools.runtimeScene.setBackgroundColor(runtimeScene, "139;87;42"); +} +{ //Subevents +gdjs.Game_95FirstLaunchCode.eventsList7(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.runtimeScene.sceneJustBegins(runtimeScene); +if (isConditionTrue_0) { +{gdjs.evtTools.tween.tweenNumberEffectPropertyTween(runtimeScene, "adder", 200, "", "Effect", "blur", "linear", 7); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(runtimeScene.getObjects("rank"), gdjs.Game_95FirstLaunchCode.GDrankObjects1); +{gdjs.evtsExt__AlignObject__ToSceneCentered.func(runtimeScene, gdjs.Game_95FirstLaunchCode.mapOfGDgdjs_9546Game_959595FirstLaunchCode_9546GDrankObjects1Objects, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{for(var i = 0, len = gdjs.Game_95FirstLaunchCode.GDrankObjects1.length ;i < len;++i) { + gdjs.Game_95FirstLaunchCode.GDrankObjects1[i].getBehavior("Text").setText(runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").getAsString()); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.tween.sceneTweenIsPlaying(runtimeScene, "adder"); +if (isConditionTrue_0) { + +{ //Subevents +gdjs.Game_95FirstLaunchCode.eventsList8(runtimeScene);} //End of subevents +} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.tween.sceneTweenHasFinished(runtimeScene, "adder"); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +{isConditionTrue_0 = runtimeScene.getOnceTriggers().triggerOnce(29469964); +} +} +if (isConditionTrue_0) { +{gdjs.evtTools.storage.writeStringInJSONFile("Game", gdjs.evtTools.runtimeScene.getSceneName(runtimeScene) + "Rank", runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").getAsString()); +}{runtimeScene.getGame().getVariables().getFromIndex(4).getChild("rank").setString(runtimeScene.getScene().getVariables().getFromIndex(0).getChild("rank").getAsString()); +}{runtimeScene.getGame().getVariables().get("sceneLoad").setString("Game_World"); +}{gdjs.evtTools.runtimeScene.replaceScene(runtimeScene, "Game_Loading", true); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +}; + +gdjs.Game_95FirstLaunchCode.func = function(runtimeScene) { +runtimeScene.getOnceTriggers().startNewFrame(); + +gdjs.Game_95FirstLaunchCode.GDrankObjects1.length = 0; +gdjs.Game_95FirstLaunchCode.GDrankObjects2.length = 0; +gdjs.Game_95FirstLaunchCode.GDrankObjects3.length = 0; +gdjs.Game_95FirstLaunchCode.GDrankObjects4.length = 0; +gdjs.Game_95FirstLaunchCode.GDrankObjects5.length = 0; +gdjs.Game_95FirstLaunchCode.GDrankObjects6.length = 0; +gdjs.Game_95FirstLaunchCode.GDrankObjects7.length = 0; +gdjs.Game_95FirstLaunchCode.GDrankObjects8.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects1.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects2.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects3.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects4.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects5.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects6.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects7.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595crosshairObjects8.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects1.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects2.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects3.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects4.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects5.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects6.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects7.length = 0; +gdjs.Game_95FirstLaunchCode.GDgame_9595transitionObjects8.length = 0; + +gdjs.Game_95FirstLaunchCode.eventsList9(runtimeScene); + +return; + +} + +gdjs['Game_95FirstLaunchCode'] = gdjs.Game_95FirstLaunchCode; diff --git a/concrete.png b/concrete.png new file mode 100644 index 00000000..02e59588 Binary files /dev/null and b/concrete.png differ diff --git a/crosshair_1.png b/crosshair_1.png new file mode 100644 index 00000000..f62394c6 Binary files /dev/null and b/crosshair_1.png differ diff --git a/data.js b/data.js new file mode 100644 index 00000000..52ef250a --- /dev/null +++ b/data.js @@ -0,0 +1,2 @@ +gdjs.projectData = {"firstLayout":"Game_Intro","gdVersion":{"build":99,"major":4,"minor":0,"revision":0},"properties":{"adaptGameResolutionAtRuntime":true,"antialiasingMode":"MSAA","antialisingEnabledOnMobile":false,"folderProject":true,"orientation":"landscape","packageName":"com.gdevelopcommunity.opengame","pixelsRounding":false,"projectUuid":"0ebc044a-8844-4a8e-8091-2edaba2852e0","scaleMode":"linear","sizeOnStartupMode":"adaptWidth","templateSlug":"","useExternalSourceFiles":false,"version":"1.0.0","name":"GDevelop Open Game","description":"","author":"GDevelop Community","windowWidth":1920,"windowHeight":1080,"latestCompilationDirectory":"","maxFPS":0,"minFPS":20,"verticalSync":false,"platformSpecificAssets":{},"loadingScreen":{"backgroundColor":0,"backgroundFadeInDuration":0.2,"backgroundImageResourceName":"","gdevelopLogoStyle":"light","logoAndProgressFadeInDuration":0.2,"logoAndProgressLogoFadeInDelay":0.2,"minDuration":1.5,"progressBarColor":16777215,"progressBarHeight":20.0,"progressBarMaxWidth":200.0,"progressBarMinWidth":40.0,"progressBarWidthPercent":30.0,"showGDevelopSplash":false,"showProgressBar":false},"watermark":{"placement":"bottom-left","showWatermark":false},"authorIds":[],"authorUsernames":[],"categories":[],"playableDevices":[],"extensionProperties":[],"platforms":[{"name":"GDevelop JS platform"}],"currentPlatform":"GDevelop JS platform"},"resources":{"resources":[{"alwaysLoaded":false,"file":"placeholder.png","kind":"image","metadata":"","name":"assets\\character\\Player\\placeholder.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_stand.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_stand.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_hold.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_hold.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"door.png","kind":"image","metadata":"","name":"assets\\sprite_objects\\door.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"crossair_1.png","kind":"image","metadata":"","name":"assets\\crossair\\crossair_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_260.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_260.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tile_145.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_145.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tile_118.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_118.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_147.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_147.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_120.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_120.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_122.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_122.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_233.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_233.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_261.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_261.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_119.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_119.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_146.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_146.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_148.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_148.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_121.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_121.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_149.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_149.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_234.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_234.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_321.png","kind":"image","metadata":"","name":"assets\\Interior\\kitchen\\tile_321.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_297.png","kind":"image","metadata":"","name":"assets\\Interior\\kitchen\\tile_297.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_323.png","kind":"image","metadata":"","name":"assets\\Interior\\kitchen\\tile_323.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_269.png","kind":"image","metadata":"","name":"assets\\Interior\\kitchen\\tile_269.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_270.png","kind":"image","metadata":"","name":"assets\\Interior\\kitchen\\tile_270.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_322.png","kind":"image","metadata":"","name":"assets\\Interior\\kitchen\\tile_322.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_102.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_102.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_21.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_21.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_104.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_104.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_49.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_49.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_103.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_103.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_76.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_76.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_77.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_77.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_50.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_50.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_501.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\chair\\tile_501.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_502.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\chair\\tile_502.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_504.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\chair\\tile_504.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_505.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\chair\\tile_505.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_483.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\table\\tile_483.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_484.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\carpet\\tile_484.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_11.png","kind":"image","metadata":"","name":"assets\\Interior\\floor\\tile_11.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_46.png","kind":"image","metadata":"","name":"assets\\Interior\\floor\\tile_46.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_466.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_466.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_440.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_440.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_441.png","kind":"image","metadata":"","name":"assets\\Interior\\walls\\tile_441.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_12.png","kind":"image","metadata":"","name":"assets\\Interior\\floor\\tile_12.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tile_240.png","kind":"image","metadata":"","name":"assets\\foliage\\flower\\tile_240.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"flame thrower fire collision.png","kind":"image","metadata":"","name":"assets\\sprite_objects\\flame thrower fire collision.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"flamethrower.png","kind":"image","metadata":"","name":"assets\\weapons\\gun\\flamethrower.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"FireParticle.png","kind":"image","metadata":"","name":"assets\\particles\\FireParticle.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tile_534.png","kind":"image","metadata":"","name":"assets\\Interior\\electronic\\tile_534.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_535.png","kind":"image","metadata":"","name":"assets\\Interior\\electronic\\tile_535.png","smoothed":true,"userAdded":true},{"file":"DoorOpening_0.wav","kind":"audio","metadata":"","name":"assets\\sound\\door_sound\\DoorOpening_0.wav","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":false},{"file":"DoorClosing_0.wav","kind":"audio","metadata":"","name":"assets\\sound\\door_sound\\DoorClosing_0.wav","preloadAsMusic":false,"preloadAsSound":false,"preloadInCache":false,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_sniper.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_sniper.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tile_45.png","kind":"image","metadata":"","name":"assets\\Interior\\floor\\tile_45.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_42.png","kind":"image","metadata":"","name":"assets\\Interior\\floor\\tile_42.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_474.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\chair\\tile_474.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_475.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\chair\\tile_475.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_476.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\chair\\tile_476.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_477.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\chair\\tile_477.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_507.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\table\\tile_507.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_510.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\table\\tile_510.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tile_529.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\chair\\tile_529.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tile_48.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_48.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_52.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_52.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tile_53.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_53.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_79.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_79.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_80.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_80.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_106.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_106.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_107.png","kind":"image","metadata":"","name":"assets\\Interior\\furniture\\bed\\tile_107.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"bulletYellowSilver_outline.png","kind":"image","metadata":"","name":"assets\\weapons\\bullet\\bulletYellowSilver_outline.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"bulletYellow_outline.png","kind":"image","metadata":"","name":"assets\\weapons\\bullet\\bulletYellow_outline.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"bulletBlueSilver_outline.png","kind":"image","metadata":"","name":"assets\\weapons\\bullet\\bulletBlueSilver_outline.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"phone_unlock.png","kind":"image","metadata":"","name":"assets\\character\\Player\\phone\\phone_unlock.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"phone_lock.png","kind":"image","metadata":"","name":"assets\\character\\Player\\phone\\phone_lock.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"phone_apps.png","kind":"image","metadata":"","name":"assets\\character\\Player\\phone\\phone_apps.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_tazer.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_tazer.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tazer.png","kind":"image","metadata":"","name":"assets\\weapons\\mele\\tazer.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"energy.png","kind":"image","metadata":"","name":"assets\\weapons\\energy.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tazer_hitbox=0.png","kind":"image","metadata":"","name":"assets\\sprite_objects\\tazer_Hitbox\\tazer_hitbox=0.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tazer_hitbox=1.png","kind":"image","metadata":"","name":"assets\\sprite_objects\\tazer_Hitbox\\tazer_hitbox=1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tazer_hitbox=2.png","kind":"image","metadata":"","name":"assets\\sprite_objects\\tazer_Hitbox\\tazer_hitbox=2.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"pointer_1.png","kind":"image","metadata":"","name":"assets\\character\\Player\\phone\\pointer_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"pointer_2.png","kind":"image","metadata":"","name":"assets\\character\\Player\\phone\\pointer_2.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_flametrhower.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_flametrhower.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"treeGreen_leaf.png","kind":"image","metadata":"","name":"assets\\foliage\\leaves\\treeGreen_leaf.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"treeBrown_leaf.png","kind":"image","metadata":"","name":"assets\\foliage\\leaves\\treeBrown_leaf.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"sniper.png","kind":"image","metadata":"","name":"assets\\weapons\\gun\\sniper.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"wifi_0.png","kind":"image","metadata":"","name":"assets\\character\\Player\\phone\\wifi_0.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"wifi_1.png","kind":"image","metadata":"","name":"assets\\character\\Player\\phone\\wifi_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"wifi_2.png","kind":"image","metadata":"","name":"assets\\character\\Player\\phone\\wifi_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"wifi_3.png","kind":"image","metadata":"","name":"assets\\character\\Player\\phone\\wifi_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"manBlue_phone_0.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_phone_0.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_phone_1.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_phone_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_swim_0.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_swim_0.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_swim_1.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_swim_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_swim_2.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_swim_2.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_swim_3.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_swim_3.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_swim_4.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_swim_4.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_swim_5.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_swim_5.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_swim_6.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_swim_6.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"manBlue_swim_7.png","kind":"image","metadata":"","name":"assets\\character\\Player\\manBlue_swim_7.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Machine_gun_hold.png","kind":"image","metadata":"","name":"assets\\character\\Player\\Machine_gun_hold.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Machine_gun_item.png","kind":"image","metadata":"","name":"assets\\weapons\\gun\\Machine_gun_item.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"Single_pistol.png","kind":"image","metadata":"","name":"assets\\character\\Player\\Single_pistol.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Single_pistol_item.png","kind":"image","metadata":"","name":"assets\\weapons\\gun\\Single_pistol_item.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Rocket_launcher_loaded.png","kind":"image","metadata":"","name":"assets\\character\\Player\\Rocket_launcher_loaded.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Rocket_launcher_unloaded.png","kind":"image","metadata":"","name":"assets\\character\\Player\\Rocket_launcher_unloaded.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Rocket_launcher_item.png","kind":"image","metadata":"","name":"assets\\weapons\\gun\\Rocket_launcher_item.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Rocket_ammo.png","kind":"image","metadata":"","name":"assets\\weapons\\bullet\\Rocket_ammo.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Rocket.png","kind":"image","metadata":"","name":"assets\\weapons\\bullet\\Rocket.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tazer_icon.png","kind":"image","metadata":"","name":"assets\\UI\\weapon_icons\\tazer_icon.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"sniper_icon.png","kind":"image","metadata":"","name":"assets\\UI\\weapon_icons\\sniper_icon.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"rocket_launcher_icon.png","kind":"image","metadata":"","name":"assets\\UI\\weapon_icons\\rocket_launcher_icon.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"mouse_point-1.png","kind":"image","metadata":"","name":"assets\\sprite_objects\\mouse_point-1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"slash.png","kind":"image","metadata":"","name":"assets\\weapons\\slash.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"knife.png","kind":"image","metadata":"","name":"assets\\weapons\\mele\\knife.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"knife_a1.png","kind":"image","metadata":"","name":"assets\\character\\Player\\knife_a1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_100.png","kind":"image","metadata":"","name":"assets/Interior/floor/tile_100.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"tile_46.png","kind":"image","metadata":"","name":"assets/Interior/floor/tile_46.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tile_11.png","kind":"image","metadata":"","name":"assets/Interior/floor/tile_11.png","smoothed":true,"userAdded":true},{"file":"Kenney Rocket Square.ttf","kind":"font","metadata":"","name":"assets\\fonts\\Kenney Rocket Square.ttf","userAdded":true},{"file":"ArchitectsDaughter.ttf","kind":"font","metadata":"","name":"ArchitectsDaughter.ttf","userAdded":false,"origin":{"identifier":"https://asset-resources.gdevelop.io/public-resources/Menu buttons/ab812c7d15ad3474b6e55761235713b68f34374f3f064d1b8685ed46720df2f8_ArchitectsDaughter.ttf","name":"ArchitectsDaughter.ttf"}},{"alwaysLoaded":false,"file":"crosshair_1.png","kind":"image","metadata":"","name":"assets/weapon/crosshair/crosshair_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"body_1.png","kind":"image","metadata":"","name":"assets/character/body/body_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"body_2.png","kind":"image","metadata":"","name":"assets/character/body/body_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"body_3.png","kind":"image","metadata":"","name":"assets/character/body/body_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"body_4.png","kind":"image","metadata":"","name":"assets/character/body/body_4.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"body_5.png","kind":"image","metadata":"","name":"assets/character/body/body_5.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"body_6.png","kind":"image","metadata":"","name":"assets/character/body/body_6.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"body_7.png","kind":"image","metadata":"","name":"assets/character/body/body_7.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"body_8.png","kind":"image","metadata":"","name":"assets/character/body/body_8.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"body_9.png","kind":"image","metadata":"","name":"assets/character/body/body_9.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_1.png","kind":"image","metadata":"","name":"assets/character/hand/hand_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_10.png","kind":"image","metadata":"","name":"assets/character/hand/hand_10.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_2.png","kind":"image","metadata":"","name":"assets/character/hand/hand_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_3.png","kind":"image","metadata":"","name":"assets/character/hand/hand_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_4.png","kind":"image","metadata":"","name":"assets/character/hand/hand_4.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_5.png","kind":"image","metadata":"","name":"assets/character/hand/hand_5.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_6.png","kind":"image","metadata":"","name":"assets/character/hand/hand_6.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_7.png","kind":"image","metadata":"","name":"assets/character/hand/hand_7.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_8.png","kind":"image","metadata":"","name":"assets/character/hand/hand_8.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"hand_9.png","kind":"image","metadata":"","name":"assets/character/hand/hand_9.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"leg_1.png","kind":"image","metadata":"","name":"assets/character/leg/leg_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"leg_2.png","kind":"image","metadata":"","name":"assets/character/leg/leg_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"leg_3.png","kind":"image","metadata":"","name":"assets/character/leg/leg_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"leg_4.png","kind":"image","metadata":"","name":"assets/character/leg/leg_4.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"leg_5.png","kind":"image","metadata":"","name":"assets/character/leg/leg_5.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"leg_6.png","kind":"image","metadata":"","name":"assets/character/leg/leg_6.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"leg_7.png","kind":"image","metadata":"","name":"assets/character/leg/leg_7.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"leg_8.png","kind":"image","metadata":"","name":"assets/character/leg/leg_8.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"app_1.png","kind":"image","metadata":"","name":"assets/character/phone/apps/app_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"app_2.png","kind":"image","metadata":"","name":"assets/character/phone/apps/app_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"app_3.png","kind":"image","metadata":"","name":"assets/character/phone/apps/app_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"battery_1.png","kind":"image","metadata":"","name":"assets/character/phone/battery/battery_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"battery_2.png","kind":"image","metadata":"","name":"assets/character/phone/battery/battery_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"battery_3.png","kind":"image","metadata":"","name":"assets/character/phone/battery/battery_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"frame_1.png","kind":"image","metadata":"","name":"assets/character/phone/frame/frame_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"frame_2.png","kind":"image","metadata":"","name":"assets/character/phone/frame/frame_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"wallpaper_1.png","kind":"image","metadata":"","name":"assets/character/phone/wallpaper/wallpaper_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"wallpaper_2.png","kind":"image","metadata":"","name":"assets/character/phone/wallpaper/wallpaper_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"wallpaper_3.png","kind":"image","metadata":"","name":"assets/character/phone/wallpaper/wallpaper_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"wallpaper_4.png","kind":"image","metadata":"","name":"assets/character/phone/wallpaper/wallpaper_4.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"bridge.png","kind":"image","metadata":"","name":"assets/environment/bridge/bridge.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"roof_1.png","kind":"image","metadata":"","name":"assets/environment/building/rooftop/roof_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"roof_2.png","kind":"image","metadata":"","name":"assets/environment/building/rooftop/roof_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"roof_3.png","kind":"image","metadata":"","name":"assets/environment/building/rooftop/roof_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"decoration_1.png","kind":"image","metadata":"","name":"assets/environment/decoration/decoration_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"fence_1.png","kind":"image","metadata":"","name":"assets/environment/fence/fence_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"fence_2.png","kind":"image","metadata":"","name":"assets/environment/fence/fence_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"fence_3.png","kind":"image","metadata":"","name":"assets/environment/fence/fence_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"fence_4.png","kind":"image","metadata":"","name":"assets/environment/fence/fence_4.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"fence_5.png","kind":"image","metadata":"","name":"assets/environment/fence/fence_5.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"fence_6.png","kind":"image","metadata":"","name":"assets/environment/fence/fence_6.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"fence_7.png","kind":"image","metadata":"","name":"assets/environment/fence/fence_7.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"fence_8.png","kind":"image","metadata":"","name":"assets/environment/fence/fence_8.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"grass_1.png","kind":"image","metadata":"","name":"assets/environment/foliage/grass/grass_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tree_1.png","kind":"image","metadata":"","name":"assets/environment/foliage/tree/tree_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tree_2.png","kind":"image","metadata":"","name":"assets/environment/foliage/tree/tree_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tree_3.png","kind":"image","metadata":"","name":"assets/environment/foliage/tree/tree_3.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"tree_4.png","kind":"image","metadata":"","name":"assets/environment/foliage/tree/tree_4.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"basketball_1.png","kind":"image","metadata":"","name":"assets/environment/sport/basketball/ball/basketball_1.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"basketball_2.png","kind":"image","metadata":"","name":"assets/environment/sport/basketball/ball/basketball_2.png","smoothed":true,"userAdded":false},{"alwaysLoaded":false,"file":"element_1.png","kind":"image","metadata":"","name":"assets/environment/sport/basketball/ground_elements/element_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"ground_1.png","kind":"image","metadata":"","name":"assets/environment/sport/basketball/ground/ground_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"hoop.png","kind":"image","metadata":"","name":"assets/environment/sport/basketball/hoop/hoop.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"map_edge_1.png","kind":"image","metadata":"","name":"assets/environment/tile/map_edge/map_edge_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"map_edge_10.png","kind":"image","metadata":"","name":"assets/environment/tile/map_edge/map_edge_10.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"map_edge_12.png","kind":"image","metadata":"","name":"assets/environment/tile/map_edge/map_edge_12.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"map_edge_14.png","kind":"image","metadata":"","name":"assets/environment/tile/map_edge/map_edge_14.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"map_edge_2.png","kind":"image","metadata":"","name":"assets/environment/tile/map_edge/map_edge_2.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"map_edge_4.png","kind":"image","metadata":"","name":"assets/environment/tile/map_edge/map_edge_4.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"map_edge_5.png","kind":"image","metadata":"","name":"assets/environment/tile/map_edge/map_edge_5.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"map_edge_7.png","kind":"image","metadata":"","name":"assets/environment/tile/map_edge/map_edge_7.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"map_edge_9.png","kind":"image","metadata":"","name":"assets/environment/tile/map_edge/map_edge_9.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"concrete.png","kind":"image","metadata":"","name":"assets/environment/tile/path/concrete.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"dirt.png","kind":"image","metadata":"","name":"assets/environment/tile/path/dirt.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"sand.png","kind":"image","metadata":"","name":"assets/environment/tile/path/sand.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"block_1.png","kind":"image","metadata":"","name":"assets/environment/tile/road_block/block_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"block_2.png","kind":"image","metadata":"","name":"assets/environment/tile/road_block/block_2.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_10.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_10.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_11.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_11.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_13.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_13.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_14.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_14.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_15.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_15.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_16.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_16.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_24.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_24.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_27.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_27.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_30.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_30.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_31.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_31.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_39.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_39.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_43.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_43.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"road_8.png","kind":"image","metadata":"","name":"assets/environment/tile/road/road_8.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"water_1.png","kind":"image","metadata":"","name":"assets/environment/water/water_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Flat Bar Red Fill Bar.png","kind":"image","metadata":"","name":"assets/UI/bar/Flat Bar Red Fill Bar.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Flat Bar White Border.png","kind":"image","metadata":"","name":"assets/UI/bar/Flat Bar White Border.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Square White Slider Border.png","kind":"image","metadata":"","name":"assets/UI/bar/Square White Slider Border.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Square White Slider Fill Bar.png","kind":"image","metadata":"","name":"assets/UI/bar/Square White Slider Fill Bar.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"Square White Slider Thumb.png","kind":"image","metadata":"","name":"assets/UI/bar/Square White Slider Thumb.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"White Decorated Button_Hovered.png","kind":"image","metadata":"","name":"assets/UI/button/White Decorated Button_Hovered.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"White Decorated Button_Idle.png","kind":"image","metadata":"","name":"assets/UI/button/White Decorated Button_Idle.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"White Decorated Button_Pressed.png","kind":"image","metadata":"","name":"assets/UI/button/White Decorated Button_Pressed.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"bar.png","kind":"image","metadata":"","name":"assets/weapon/icon/bar.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"flamethrower_long.png","kind":"image","metadata":"","name":"assets/weapon/icon/flamethrower_long.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"flamethrower_short.png","kind":"image","metadata":"","name":"assets/weapon/icon/flamethrower_short.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"grenade.png","kind":"image","metadata":"","name":"assets/weapon/icon/grenade.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"grenadeFlash.png","kind":"image","metadata":"","name":"assets/weapon/icon/grenadeFlash.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"grenadeSmoke.png","kind":"image","metadata":"","name":"assets/weapon/icon/grenadeSmoke.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"grenadeVintage.png","kind":"image","metadata":"","name":"assets/weapon/icon/grenadeVintage.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"knife_sharp.png","kind":"image","metadata":"","name":"assets/weapon/icon/knife_sharp.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"knifeRound_sharp.png","kind":"image","metadata":"","name":"assets/weapon/icon/knifeRound_sharp.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"knifeRound_smooth.png","kind":"image","metadata":"","name":"assets/weapon/icon/knifeRound_smooth.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"machinegun.png","kind":"image","metadata":"","name":"assets/weapon/icon/machinegun.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"machinegunLauncher.png","kind":"image","metadata":"","name":"assets/weapon/icon/machinegunLauncher.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"pistol.png","kind":"image","metadata":"","name":"assets/weapon/icon/pistol.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"pistolSilencer.png","kind":"image","metadata":"","name":"assets/weapon/icon/pistolSilencer.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"rocketlauncher.png","kind":"image","metadata":"","name":"assets/weapon/icon/rocketlauncher.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"shotgun.png","kind":"image","metadata":"","name":"assets/weapon/icon/shotgun.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"shotgunShort.png","kind":"image","metadata":"","name":"assets/weapon/icon/shotgunShort.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"sniper2.png","kind":"image","metadata":"","name":"assets/weapon/icon/sniper.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"uzi.png","kind":"image","metadata":"","name":"assets/weapon/icon/uzi.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"uziLong.png","kind":"image","metadata":"","name":"assets/weapon/icon/uziLong.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"uziLongSilencer.png","kind":"image","metadata":"","name":"assets/weapon/icon/uziLongSilencer.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"uziSilencer.png","kind":"image","metadata":"","name":"assets/weapon/icon/uziSilencer.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"wifi_02.png","kind":"image","metadata":"","name":"assets/character/phone/wifi/wifi_0.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"wifi_12.png","kind":"image","metadata":"","name":"assets/character/phone/wifi/wifi_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"wifi_22.png","kind":"image","metadata":"","name":"assets/character/phone/wifi/wifi_2.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"wifi_32.png","kind":"image","metadata":"","name":"assets/character/phone/wifi/wifi_3.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_1.png","kind":"image","metadata":"","name":"assets/environment/prop/props_1.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_2.png","kind":"image","metadata":"","name":"assets/environment/prop/props_2.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_3.png","kind":"image","metadata":"","name":"assets/environment/prop/props_3.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_4.png","kind":"image","metadata":"","name":"assets/environment/prop/props_4.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_6.png","kind":"image","metadata":"","name":"assets/environment/prop/props_6.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_7.png","kind":"image","metadata":"","name":"assets/environment/prop/props_7.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_8.png","kind":"image","metadata":"","name":"assets/environment/prop/props_8.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_9.png","kind":"image","metadata":"","name":"assets/environment/prop/props_9.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_10.png","kind":"image","metadata":"","name":"assets/environment/prop/props_10.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"props_11.png","kind":"image","metadata":"","name":"assets/environment/prop/props_11.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"black.png","kind":"image","metadata":"","name":"assets/misc/black.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"door2.png","kind":"image","metadata":"","name":"assets/misc/door.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"green_checked.png","kind":"image","metadata":"","name":"assets/misc/green_checked.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"uziGold.png","kind":"image","metadata":"","name":"assets/weapon/gun/uziGold.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"uziLong2.png","kind":"image","metadata":"","name":"assets/weapon/gun/uziLong.png","smoothed":true,"userAdded":true},{"alwaysLoaded":false,"file":"ammo_uzi.png","kind":"image","metadata":"","name":"assets/weapon/ammo/ammo_uzi.png","smoothed":true,"userAdded":true},{"disablePreload":false,"file":"city1.json","kind":"tilemap","metadata":"","name":"assets/environment/map/city1.json","userAdded":true},{"alwaysLoaded":false,"file":"spritesheet.png","kind":"image","metadata":"","name":"assets/environment/map/city1/spritesheet.png","smoothed":true,"userAdded":true}],"resourceFolders":[]},"objects":[{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"game_crosshair","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/crosshair/crosshair_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","name":"game_transition","type":"PrimitiveDrawing::Drawer","variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter","Timer":1.0,"Color":"255;255;255","Type":"","Direction":"","MaxOpacity":255.0},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"fillOpacity":255.0,"outlineSize":1,"outlineOpacity":255.0,"fillColor":{"b":255,"g":255,"r":255},"outlineColor":{"b":0,"g":0,"r":0},"absoluteCoordinates":false,"clearBetweenFrames":true,"antialiasing":"none"}],"objectsFolderStructure":{"folderName":"__ROOT"},"objectsGroups":[],"variables":[{"folded":true,"name":"_RoomManager__Rooms","type":"structure","children":[{"name":"invalid","type":"structure","children":[{"name":"x","type":"string","value":"0"},{"name":"y","type":"string","value":"0"}]}]},{"name":"Player","type":"structure","children":[{"name":"Customisation","persistentUuid":"6f3e9e87-d6f3-44d0-a02a-6c8089850a4a","type":"structure","children":[{"folded":true,"name":"body","type":"number","value":8.0},{"folded":true,"name":"hand","type":"number","value":0.0},{"folded":true,"name":"leg","type":"number","value":0.0}]}]},{"folded":true,"name":"debug","type":"structure","children":[{"name":"active","type":"boolean","value":false},{"folded":true,"name":"cameraControlType","type":"boolean","value":false}]},{"name":"Game","type":"structure","children":[{"name":"Player","type":"structure","children":[{"name":"phone","type":"structure","children":[{"name":"active","type":"boolean","value":false}]}]},{"name":"Settings","type":"structure","children":[{"folded":true,"name":"Shadows","type":"boolean","value":false}]},{"name":"fullscreen","persistentUuid":"83497f70-c1a7-4f18-8382-0fe6e8b62e2a","type":"boolean","value":true},{"name":"globalTime","type":"structure","children":[{"folded":true,"name":"ChildVariable","type":"string","value":""},{"name":"shadowTime","type":"structure","children":[{"folded":true,"name":"adder","type":"number","value":0.01},{"folded":true,"name":"value","type":"number","value":0.0}]}]},{"folded":true,"name":"intro","type":"boolean","value":true},{"folded":true,"name":"preloadScene","persistentUuid":"a052a8b7-a27b-4d83-a9ab-043c56878642","type":"string","value":""}]},{"name":"System","type":"structure","children":[{"folded":true,"name":"rank","type":"string","value":""}]}],"layouts":[{"b":209,"disableInputWhenNotFocused":true,"mangledName":"Game_95Intro","name":"Game_Intro","r":209,"standardSortMethod":true,"stopSoundsOnStartup":true,"title":"","v":209,"uiSettings":{"grid":false,"gridType":"rectangular","gridWidth":32.0,"gridHeight":32.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.2256,"windowMask":false},"objectsGroups":[],"variables":[],"instances":[],"objects":[],"objectsFolderStructure":{"folderName":"__ROOT"},"events":[],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[]}],"behaviorsSharedData":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"usedResources":[]},{"b":209,"disableInputWhenNotFocused":true,"mangledName":"Game_95Customisation_95WIP","name":"Game_Customisation_WIP","r":209,"standardSortMethod":true,"stopSoundsOnStartup":true,"title":"","v":209,"uiSettings":{"grid":false,"gridType":"rectangular","gridWidth":32.0,"gridHeight":32.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":false,"zoomFactor":0.9679970813577352,"windowMask":false},"objectsGroups":[],"variables":[],"instances":[{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"player_body","persistentUuid":"fe739552-1993-438f-b5b4-5c816cf15f53","width":0.0,"x":334.0,"y":255.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"player_leg","persistentUuid":"1ab6ba1f-9d01-40cc-a99c-79e52279ef47","width":0.0,"x":337.0,"y":195.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"player_hand","persistentUuid":"95d85909-f8e1-4db3-860b-07dac18c73ee","width":0.0,"x":341.0,"y":375.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"SquareWhiteSlider","persistentUuid":"57f41a4c-af1b-4264-9a44-b3e0ee2286dc","width":0.0,"x":259.0,"y":496.0,"zOrder":7,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"WhiteDecoratedButton","persistentUuid":"a50905bd-9ce5-4c4a-8abf-e4868197ee7b","width":0.0,"x":697.0,"y":487.0,"zOrder":8,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"player_body","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"Animation","type":"string","value":""},{"name":"Movement","type":"structure","children":[{"folded":true,"name":"handTweenDuration","type":"number","value":0.5},{"folded":true,"name":"legTweenDuration","type":"number","value":0.5}]},{"name":"Customisation","type":"structure","children":[{"folded":true,"name":"body","type":"number","value":0.0},{"folded":true,"name":"hand","type":"number","value":0.0},{"folded":true,"name":"leg","type":"number","value":0.0}]}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior","acceleration":400.0,"allowDiagonals":true,"angleOffset":0.0,"angularMaxSpeed":400.0,"customIsometryAngle":30.0,"deceleration":800.0,"ignoreDefaultControls":false,"maxSpeed":200.0,"movementAngleOffset":0.0,"rotateObject":true,"viewpoint":"TopDown"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_1.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_2.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_3.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_4.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_5.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_6.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_7.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_8.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_9.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"player_leg","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"type","type":"string","value":""},{"folded":true,"name":"angle","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"player_hand","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"type","type":"string","value":""},{"folded":true,"name":"angle","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_9.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_10.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]}]},{"assetStoreId":"bfeeb465a4a164b560a2215e3ff9e78e66123af43cbf7ef1f22d56fca4271c80","name":"SquareWhiteSlider","type":"PanelSpriteSlider::PanelSpriteSlider","variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"content":{"BarTopPadding":6.0,"BarLeftPadding":6.0,"BarRightPadding":6.0,"BarBottomPadding":6.0,"LabelMargin":6.0,"MaxValue":3.0,"InitialValue":0.0},"childrenContent":{"Background":{"bottomMargin":4.0,"height":28.0,"leftMargin":2.0,"rightMargin":2.0,"texture":"assets/UI/bar/Square White Slider Border.png","tiled":false,"topMargin":4.0,"width":265.0},"FillBar":{"bottomMargin":2.0,"height":16.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"assets/UI/bar/Square White Slider Fill Bar.png","tiled":false,"topMargin":0.0,"width":16.0},"Label":{"bold":false,"italic":false,"smoothed":true,"underlined":false,"string":"It displays the value when it changes.","font":"","textAlignment":"","characterSize":20.0,"color":{"b":221,"g":221,"r":221},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"It displays the value when it changes.","font":"","textAlignment":"","characterSize":20.0,"color":"221;221;221"}},"Thumb":{"bottomMargin":2.0,"height":36.0,"leftMargin":1.0,"rightMargin":1.0,"texture":"assets/UI/bar/Square White Slider Thumb.png","tiled":false,"topMargin":2.0,"width":22.0}}},{"assetStoreId":"d907b5df38595e6d3f128058fbb3dbd0861f86505cc6d7bf9859ddcc3eceeb1f","name":"WhiteDecoratedButton","type":"PanelSpriteButton::PanelSpriteButton","variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"content":{"LeftPadding":16.0,"RightPadding":16.0,"PressedLabelOffsetY":6.0,"BottomPadding":24.0,"TopPadding":20.0,"HoveredFadeOutDuration":0.25},"childrenContent":{"Hovered":{"bottomMargin":22.0,"height":64.0,"leftMargin":16.0,"rightMargin":16.0,"texture":"assets/UI/button/White Decorated Button_Hovered.png","tiled":true,"topMargin":16.0,"width":192.0},"Idle":{"bottomMargin":22.0,"height":64.0,"leftMargin":16.0,"rightMargin":16.0,"texture":"assets/UI/button/White Decorated Button_Idle.png","tiled":true,"topMargin":16.0,"width":192.0},"Label":{"bold":false,"italic":false,"smoothed":true,"underlined":false,"string":"Start","font":"ArchitectsDaughter.ttf","textAlignment":"center","characterSize":16.0,"color":{"b":0,"g":0,"r":0},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Start","font":"ArchitectsDaughter.ttf","textAlignment":"center","characterSize":16.0,"color":"0;0;0"}},"Pressed":{"bottomMargin":16.0,"height":64.0,"leftMargin":16.0,"rightMargin":16.0,"texture":"assets/UI/button/White Decorated Button_Pressed.png","tiled":true,"topMargin":22.0,"width":192.0}}}],"objectsFolderStructure":{"folderName":"__ROOT"},"events":[],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":3.0,"cameraType":"","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[{"effectType":"Scene3D::HemisphereLight","name":"3D Light","doubleParameters":{"elevation":45.0,"intensity":1.0,"rotation":0.0},"stringParameters":{"groundColor":"64;64;64","skyColor":"255;255;255","top":"Y-"},"booleanParameters":{}}]}],"behaviorsSharedData":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"usedResources":[{"name":"ArchitectsDaughter.ttf"},{"name":"assets/UI/bar/Square White Slider Border.png"},{"name":"assets/UI/bar/Square White Slider Fill Bar.png"},{"name":"assets/UI/bar/Square White Slider Thumb.png"},{"name":"assets/UI/button/White Decorated Button_Hovered.png"},{"name":"assets/UI/button/White Decorated Button_Idle.png"},{"name":"assets/UI/button/White Decorated Button_Pressed.png"},{"name":"assets/character/body/body_1.png"},{"name":"assets/character/body/body_2.png"},{"name":"assets/character/body/body_3.png"},{"name":"assets/character/body/body_4.png"},{"name":"assets/character/body/body_5.png"},{"name":"assets/character/body/body_6.png"},{"name":"assets/character/body/body_7.png"},{"name":"assets/character/body/body_8.png"},{"name":"assets/character/body/body_9.png"},{"name":"assets/character/hand/hand_1.png"},{"name":"assets/character/hand/hand_10.png"},{"name":"assets/character/hand/hand_2.png"},{"name":"assets/character/hand/hand_3.png"},{"name":"assets/character/hand/hand_4.png"},{"name":"assets/character/hand/hand_5.png"},{"name":"assets/character/hand/hand_6.png"},{"name":"assets/character/hand/hand_7.png"},{"name":"assets/character/hand/hand_8.png"},{"name":"assets/character/hand/hand_9.png"},{"name":"assets/character/leg/leg_1.png"},{"name":"assets/character/leg/leg_2.png"},{"name":"assets/character/leg/leg_3.png"},{"name":"assets/character/leg/leg_4.png"},{"name":"assets/character/leg/leg_5.png"},{"name":"assets/character/leg/leg_6.png"},{"name":"assets/character/leg/leg_7.png"},{"name":"assets/character/leg/leg_8.png"}]},{"b":232,"disableInputWhenNotFocused":true,"mangledName":"Game_95World_95old","name":"Game_World_old","r":102,"standardSortMethod":true,"stopSoundsOnStartup":true,"title":"","v":165,"uiSettings":{"grid":true,"gridType":"rectangular","gridWidth":70.0,"gridHeight":70.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.32500141402409679,"windowMask":false},"objectsGroups":[],"variables":[{"folded":true,"name":"DebugVariables","type":"structure","children":[{"name":"shadowAdder","type":"number","value":0.0}]},{"folded":true,"name":"Game","type":"structure","children":[{"name":"Camera","type":"structure","children":[{"folded":true,"name":"Zoom","type":"number","value":0.0}]}]},{"folded":true,"name":"GodMode","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false}]},{"name":"Player","type":"structure","children":[{"folded":true,"name":"WeaponWheel","type":"structure","children":[{"folded":true,"name":"adder","type":"number","value":0.0}]},{"name":"Weapons","persistentUuid":"156e00a8-0565-4399-b01a-2d67f7dd2aea","type":"structure","children":[{"name":"Active","type":"structure","children":[{"name":"pistolSilencer","persistentUuid":"ca505ad0-64b4-44ee-b4b4-20ba640dd356","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"name":"slot","type":"number","value":1.0}]},{"name":"rocketLauncher","persistentUuid":"a8cbcdb0-769a-42ec-97ba-2d4452a2f44c","type":"structure","children":[{"name":"active","type":"boolean","value":false},{"name":"slot","type":"number","value":2.0}]},{"name":"rocketLauncherModern","persistentUuid":"c25e6f18-b9d3-4077-badd-9e7fe02d7289","type":"structure","children":[{"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":2.0}]},{"name":"shotgunLong","persistentUuid":"1ea7f09e-67e9-446c-b924-8b7841d8c706","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":1.0}]},{"name":"sniper","persistentUuid":"fd26e664-81a2-41e1-b99d-eb5b6f68fd1f","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":2.0}]},{"name":"uzi","persistentUuid":"8042baed-2539-4ca7-a163-86635a6c0c14","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":1.0}]},{"name":"uziLong","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"name":"slot","type":"number","value":1.0}]},{"name":"uziLongSilencer","persistentUuid":"f1e60af4-7996-42a0-b4ec-fa7e985445ea","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":1.0}]},{"name":"uziSilencer","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"name":"slot","type":"number","value":1.0}]}]},{"folded":true,"name":"Selected","type":"string","value":""},{"folded":true,"name":"Slot","type":"structure","children":[{"folded":true,"name":"current","type":"number","value":0.0},{"name":"max","type":"number","value":4.0}]}]}]}],"instances":[{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_sprite_all","persistentUuid":"31b55d93-52d6-4943-b893-510f2b88a2d1","width":70.0,"x":-2940.0,"y":3570.0,"zOrder":5,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_sprite_all","persistentUuid":"b185d489-b531-4c15-b461-c92fdd5d3a3d","width":70.0,"x":-3500.0,"y":3570.0,"zOrder":7,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"debug_ammo_text","persistentUuid":"9f827c04-49af-448b-8657-4d6e8925c4ed","width":0.0,"x":-5110.0,"y":-5530.0,"zOrder":111,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a2d1fc6e-24bd-4d01-819f-b83fa49de7b0","width":70.0,"x":560.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5b311db4-b01a-49c0-bc98-836ceb539869","width":70.0,"x":630.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"00467e28-1cc0-43ec-aba8-5c1b605285a4","width":70.0,"x":700.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5702dbfb-70f6-4109-bcdd-73e5d772ac29","width":70.0,"x":700.0,"y":910.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c95d69f3-0f6b-4bc1-af13-bff8c7bb23cd","width":70.0,"x":700.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2912d545-ecf1-4a9f-967c-fd0b89172e79","width":70.0,"x":700.0,"y":840.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d1f16e96-0360-4d53-9203-cfe1b440e4e8","width":70.0,"x":700.0,"y":630.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"54c40cc1-4e52-485d-969f-b836244f9226","width":70.0,"x":700.0,"y":700.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"82873e8f-71e5-4b17-8593-2a8e5a34e52f","width":70.0,"x":700.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b78b5acb-8fe0-4281-a6f7-691fb9dfde29","width":70.0,"x":700.0,"y":560.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2d5ca299-ed23-4c61-a435-f41d12d2a0fd","width":70.0,"x":700.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9981aab4-b8c3-419c-9a92-20224b0b5d98","width":70.0,"x":700.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d45ef463-2519-4dbc-944b-2541cdfe2aba","width":70.0,"x":560.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"da0503c6-1009-4107-b5b8-7d2b2b789ca1","width":70.0,"x":630.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c10d9808-30e4-40dc-b32e-013f1f2635ac","width":70.0,"x":420.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ca719108-2c5e-4b2d-928a-38ca269ff1e6","width":70.0,"x":490.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"05acc597-03e0-42ba-a510-b7a92f26d76c","width":70.0,"x":280.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[{"name":"Id","type":"string","value":"1"}]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3c70c022-fd5b-4fe6-9f33-ba501db2d388","width":70.0,"x":350.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8d386d79-ca44-4a34-afb0-ac62f58746e2","width":70.0,"x":140.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0a6d45da-6eba-41bb-a818-b186c7d92141","width":70.0,"x":210.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"440bd0e0-f9a5-49d8-b40c-db52ab388627","width":70.0,"x":0.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"91c63811-86e4-4ba9-9de0-806283f1e96e","width":70.0,"x":0.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5badc14d-fd0f-4a06-a5e4-33bc4b5c807f","width":70.0,"x":0.0,"y":560.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c55ea66a-0209-4ac0-9a45-9ad23d5753d1","width":70.0,"x":0.0,"y":630.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"33fa0ae7-89c4-4d2e-891b-10a3bba064e4","width":70.0,"x":0.0,"y":700.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9738bd51-9c54-4ddc-af5b-0a7e926a69f8","width":70.0,"x":0.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f843ef6c-ea20-4175-aff0-a7ab0665f0aa","width":70.0,"x":0.0,"y":840.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"19edc6dc-2703-4e70-adcc-22348d764efd","width":70.0,"x":0.0,"y":910.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5b28ec0e-1d30-4ef1-912e-201e54cab4c1","width":70.0,"x":0.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d949838d-aa44-4fa2-85c2-0d8cc2342fcc","width":70.0,"x":70.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d8192924-06db-4891-88fc-a556d04a1514","width":70.0,"x":0.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"69aab11d-55d6-44bf-98ae-57291c0540ad","width":70.0,"x":140.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6dff53c2-6b34-4501-b578-2a9d9740bb4f","width":70.0,"x":70.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ebec8e1b-f443-4bd2-ba37-f279b776d542","width":70.0,"x":280.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4b7956e3-b8a3-4b11-90ae-064195c744b4","width":70.0,"x":210.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"249f7dce-f389-4dad-9f56-e6b909010114","width":70.0,"x":350.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a73699d5-b3f9-4528-aceb-2c1527457d6a","width":70.0,"x":0.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4b4b1509-5fd6-44c0-9da9-751496771205","width":70.0,"x":-210.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"763861b9-8087-49f9-b9b4-9b62b300bfc5","width":70.0,"x":-140.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c3e9591d-05fa-4c36-a3a5-0e058f4490c1","width":70.0,"x":-350.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2f992f04-5089-4504-b6aa-07d53dbfd3cf","width":70.0,"x":-280.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7684a836-1680-438e-85a2-d7658cd7bfbd","width":70.0,"x":-490.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a34a5764-3e41-49ec-8214-13634f012f98","width":70.0,"x":-420.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ecb2df85-43ff-46f4-97de-857bd0e5bf86","width":70.0,"x":-630.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d0e50798-94f1-41c0-834f-281c32a295c6","width":70.0,"x":-560.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a86db12d-2ba7-43fc-a449-2f0df36b9a2c","width":70.0,"x":-700.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a444477c-00f0-4f3c-89cf-0ee25a610ffd","width":70.0,"x":-910.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3b9a6a71-c576-44a2-931b-dca3df5223d7","width":70.0,"x":-840.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6a48810d-a4b0-40a2-bbb1-31c1246694e8","width":70.0,"x":-770.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"37169d51-c96d-4234-8520-0d04eafdcb94","width":70.0,"x":-910.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f469133d-1a09-46dc-bc12-7c6de605c425","width":70.0,"x":-910.0,"y":560.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"fd3baa04-a34f-4f69-9eb2-97021f83054d","width":70.0,"x":-910.0,"y":630.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"255e0fd5-e168-431e-95d2-440780a41cbe","width":70.0,"x":-910.0,"y":700.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"923b4898-3067-4fa4-a938-a31a0721104c","width":70.0,"x":-910.0,"y":840.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"44865652-40ac-409e-a00d-fb2293d90d93","width":70.0,"x":-910.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"97c0fdcf-8976-4436-a9f2-c7461190f771","width":70.0,"x":-910.0,"y":910.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8afeb6f6-7cfa-4dc2-be2f-d897c3586d50","width":70.0,"x":-910.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f26c778a-2780-42d6-b9d3-092c58f89a58","width":70.0,"x":-910.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"300090a4-a583-42f8-bfcd-0e4b5e06ea97","width":70.0,"x":-840.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5cfb8271-9dd7-4ede-8305-bc5a1e7a46ff","width":70.0,"x":-770.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c21dd97f-7d3c-4972-be87-e29d9215a968","width":70.0,"x":-700.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"41fbb43f-7a07-4e73-90e3-4ed90775c2b2","width":70.0,"x":-630.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"fc578b6d-c1ad-45c6-b4d7-b7c828fbf3d6","width":70.0,"x":-490.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5bc65b1a-208e-489a-81d5-3a6152acfbed","width":70.0,"x":-420.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e783d849-2795-459d-a85e-f7fcf8b64a30","width":70.0,"x":-560.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"569f34cd-51cc-4b7e-8cf3-5f527bab2fe4","width":70.0,"x":0.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dae20420-327f-4f2c-850d-2c5e94d3b732","width":70.0,"x":-140.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"afb42eed-95a1-4dcf-b337-05b7b87f81e6","width":70.0,"x":-350.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"cacc3dde-b6ab-4b49-a5fe-84e899cdd2cf","width":70.0,"x":-70.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0b642714-1ed6-4498-ae00-0d52b669e647","width":70.0,"x":-70.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":11.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"b2a47a50-aa87-4eb6-b58b-c454055a4609","width":140.0,"x":-241.0,"y":484.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":11.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"03be6f60-e612-4fee-8eda-38db86fac3f6","width":140.0,"x":-830.0,"y":549.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-11.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"74cf8db3-6136-4ba7-ad29-310960268231","width":140.0,"x":-830.0,"y":969.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"94f6e78c-1719-403f-a3c6-076f98bf4720","width":140.0,"x":-772.0,"y":771.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"46b965cf-acc1-4592-a2f7-4adbf6de7ac6","width":70.0,"x":-980.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9d037289-8f77-4a52-bf9b-8ab0df1ff369","width":70.0,"x":-980.0,"y":1260.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0fba62e4-4fcf-4325-a2ff-bb8c1f0826a5","width":70.0,"x":-980.0,"y":1190.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8f4f88f8-485a-451d-b300-75463026f64f","width":70.0,"x":-980.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dd1b4156-432c-4702-a5c2-f4c44a96b0d9","width":70.0,"x":-1470.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b36e8a70-21ff-4fa3-a6ee-0e73782c5411","width":70.0,"x":-1120.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d1096eda-44b6-4843-afd6-0a2fb27b0788","width":70.0,"x":-1190.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"cb4e1d4f-66e8-4fb7-84ca-595ad8509966","width":70.0,"x":-1050.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c0068524-8ad5-48b2-b97b-87bec81d38c5","width":70.0,"x":-1540.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1841e7a0-088e-441a-aad5-a4f2aca261ea","width":70.0,"x":-1400.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7c3530d3-ab42-4516-8126-eed61488ccdb","width":70.0,"x":-1330.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c549bc4a-7c0f-4f3d-ad33-5442c40e2206","width":70.0,"x":-1260.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"abeb9985-cdab-4765-a987-3095b56a0668","width":70.0,"x":-1680.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a4f9da10-f270-4a1c-b060-b4e03a83e514","width":70.0,"x":-1680.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ade4595b-07cf-41c1-849f-53288e77da03","width":70.0,"x":-1680.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b54184f8-91b5-4757-a780-0d4454fdd056","width":70.0,"x":-1680.0,"y":1610.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"07698671-edda-4c85-9967-32af9785d79d","width":70.0,"x":-1680.0,"y":1540.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d50db919-2104-455b-ac8c-335ad1539b98","width":70.0,"x":-1680.0,"y":1470.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5b476c0d-426b-498b-9764-3a6392e611eb","width":70.0,"x":-1680.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"086b0e45-6427-4e93-ba8f-d87de976fc83","width":70.0,"x":-1680.0,"y":1330.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c813d0c2-8e52-4ff2-baf2-1268c0b5e6bf","width":70.0,"x":-1680.0,"y":1260.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"aa1aa9b6-4405-4f70-9423-7386d8bf7e48","width":70.0,"x":-1680.0,"y":1190.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":270.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"64e2bc1a-6ed1-4730-a450-01f22b757448","width":70.0,"x":-980.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"aa9bbfe4-af78-404f-8a96-38ae5640369a","width":70.0,"x":-980.0,"y":1820.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"35ec0425-7d90-44cf-80b7-3145dece8f8e","width":70.0,"x":-980.0,"y":1610.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dc2feba8-8dd5-49e3-94b1-fdc87657c894","width":70.0,"x":-980.0,"y":2170.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"96df6bc0-1219-44dc-9484-2d3f3dc684ae","width":70.0,"x":-1680.0,"y":1120.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"65c3dcd5-07c8-4612-b556-91695c0616ae","width":70.0,"x":-1680.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2f5f3daf-c8d3-4161-bc2f-5a6466ce3d04","width":70.0,"x":-1680.0,"y":1960.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8e6d2c07-c514-465a-84cf-b7ef27b7aedc","width":70.0,"x":-1680.0,"y":1890.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a03f113f-45c6-4267-b7ec-8b6b5b99da0b","width":70.0,"x":-1680.0,"y":1820.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b8023473-e42c-408f-b42c-04c1f1c30715","width":70.0,"x":-1680.0,"y":1750.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a3f370c6-1b40-4441-b84a-37e3999b6ad6","width":70.0,"x":-980.0,"y":2100.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"67ae9195-3ef6-4ab8-b3a9-3930c2f45218","width":70.0,"x":-1680.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2620af78-f634-4128-b040-faf6a008bab0","width":70.0,"x":-1680.0,"y":2170.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c5a84b28-cd51-4279-81ff-7aa86e898fd6","width":70.0,"x":-1680.0,"y":2100.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c5bdcafb-2946-4c35-a658-601fbd2a3ebb","width":70.0,"x":-1680.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"46d3319e-cc7b-40d0-8dbb-5caaf0df5fba","width":70.0,"x":-1330.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"eda054ed-6522-4c12-9090-d55e15515e66","width":70.0,"x":-1400.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f7848992-06bc-4d17-a94f-3df415fa4cea","width":70.0,"x":-1470.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"54fc988d-5ead-4580-91a5-6d13283a13f7","width":70.0,"x":-1540.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"05429aae-bc4c-4b3c-b211-14f70557fe57","width":70.0,"x":-1050.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7d62f29a-2f23-4bec-90b9-d9d67f1018e3","width":70.0,"x":-1120.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9459ca97-10bc-415d-8fd8-0a518ede99f1","width":70.0,"x":-1190.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c00a0d0d-24a1-46ee-bcd5-b09aab3e3d5b","width":70.0,"x":-1260.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1d7758a8-7e7c-4b45-ad29-04f73e3e74d0","width":70.0,"x":-980.0,"y":1890.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0f8e73de-35e1-4b86-b750-a39640aa9aba","width":70.0,"x":-980.0,"y":1470.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"01042663-7279-4bb3-b7d7-837773f0619f","width":140.0,"x":-1540.0,"y":1120.0,"zOrder":116,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"45a62f6f-8e6f-489d-a3b6-634f9243391b","width":70.0,"x":-1680.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"62161171-9b48-4af0-a3ea-0e2329ac7b7b","width":70.0,"x":-1610.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2cb61418-8558-4cbf-bace-3cf6a8ff32d2","width":70.0,"x":-1470.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"093c978c-ddfb-4c52-a2cb-8204d6dd9ce0","width":70.0,"x":-1120.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"50ca2e52-35a7-44cf-8e34-3376943f14b4","width":70.0,"x":-1190.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"fb3c7b2f-ee4b-4eab-a1c6-738df76fcf21","width":70.0,"x":-1050.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e62dcb54-b0d3-4b8b-a342-240fcb9acaed","width":70.0,"x":-1540.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b52c145b-7799-41af-821f-24b97407a2c6","width":70.0,"x":-1400.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ab62b35a-cfe0-4271-98b0-c890c4980f12","width":70.0,"x":-1330.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f7272c26-d997-4def-93cc-ab4d4af0c82b","width":70.0,"x":-1260.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"54946b72-97b0-435c-8dcf-68eea499c47e","width":70.0,"x":-1610.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"44ac5cdc-54ac-4f31-9695-ace3b2befe34","width":70.0,"x":-1610.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e361b2bf-305f-4953-a332-f187560e74d7","width":70.0,"x":-980.0,"y":1120.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"67000d7b-f2e9-4d20-aa74-cc48d989a702","width":70.0,"x":-980.0,"y":1540.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1e305285-0611-4117-a70d-e4c1e9bc4292","width":70.0,"x":-980.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d107543c-2246-4845-8cda-72494659b918","width":70.0,"x":-980.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"7f9c1ae9-8eea-4c80-9924-dfa005df4bce","width":140.0,"x":-1540.0,"y":1330.0,"zOrder":116,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"4e9b931f-6a1f-4dc2-b548-c67a45510283","width":140.0,"x":-1540.0,"y":1610.0,"zOrder":116,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"6229d402-7d4b-4593-bbed-3bea4b617d21","width":140.0,"x":-1540.0,"y":1820.0,"zOrder":116,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"f2784c06-7b67-4745-8f7b-1ab44863161a","width":140.0,"x":-1540.0,"y":2170.0,"zOrder":116,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3759c0ed-cd57-4f89-a0c7-9b1ed8df6cc8","width":70.0,"x":-910.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"847f227f-34bf-418c-b8d6-e69c655c7f15","width":70.0,"x":-910.0,"y":-140.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"81d202ee-0b37-4403-8a40-7774347fb1f0","width":70.0,"x":-910.0,"y":-70.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"27d8c146-7620-4152-81f4-81d9b9c58595","width":70.0,"x":-910.0,"y":0.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0f808ec5-bf1e-4740-b072-332cd2b73935","width":70.0,"x":-910.0,"y":70.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"97676745-182e-4c56-8d4b-1331aa007f16","width":70.0,"x":-910.0,"y":140.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d6cad1ff-b2d0-42db-acad-6bb570ca67f2","width":70.0,"x":-910.0,"y":210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0d27da6d-010a-43c1-b9eb-34b801d7af3b","width":70.0,"x":630.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"07d8e19e-1ecd-42d7-a509-7e12b7fff0ba","width":70.0,"x":490.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"867568f4-22df-48fd-bdc1-ead9a6100b2c","width":70.0,"x":560.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5d6ff924-a90a-4fc6-a8c4-eace97442a98","width":70.0,"x":350.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dd35aa13-920d-4249-9bd2-556a883a0dbc","width":70.0,"x":420.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4dbfc7bd-35ea-47e6-9428-5d5acaf40785","width":70.0,"x":210.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"48161ebf-7bfd-4f08-816e-e24a26ec041f","width":70.0,"x":280.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"46415850-067a-4300-9ec3-b382de33622b","width":70.0,"x":140.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b1ecc8a8-5f01-4b38-a2f1-9d1c181e46a7","width":70.0,"x":700.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a4382c08-1a10-4dbd-8014-282080e877cb","width":70.0,"x":-350.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"34087f23-0f1e-4e3d-8d37-8d3dc211c15c","width":70.0,"x":-490.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f1072ca1-205c-4740-9f4a-fba874d43752","width":70.0,"x":-420.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1abf609b-dfb1-4c2f-93ed-0bf780c8acc7","width":70.0,"x":-630.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6bf50a9f-22cc-4a39-90a0-208a5a92809e","width":70.0,"x":-560.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"83f3497d-af9e-410d-a0a3-6b70a7c7e964","width":70.0,"x":-770.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b03ab825-2548-4f5b-ba96-b0766f645a7b","width":70.0,"x":-700.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2bd61b3b-146f-44a7-b043-2802977e5385","width":70.0,"x":-840.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b39de211-f728-4152-8ad0-a92a9465079c","width":70.0,"x":0.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"40511db9-a397-4a3b-a34d-60c1abcfc1d5","width":70.0,"x":-140.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3001d7a1-69c2-49e9-aa32-97fb3a4687ea","width":70.0,"x":-70.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7dae7f99-2e03-4f52-bcc8-3020640f2fd5","width":70.0,"x":-280.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"42325149-659b-499a-8a2d-e0d96dcf3fac","width":70.0,"x":-210.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"74b8ca9d-ffd8-49cd-9e4f-fde8c3ca330c","width":70.0,"x":70.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"depth":1.0,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1c9b8337-d5fc-4b98-a401-761921c369f0","width":70.0,"x":700.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9391fbf4-8d8f-4b59-a99c-a252d3c555be","width":70.0,"x":700.0,"y":-140.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a9e8189f-8adc-4a62-a2ae-8a487fab41e7","width":70.0,"x":700.0,"y":210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9468b431-220d-4dff-9a44-71b2f48b505e","width":70.0,"x":630.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"899ea4c5-ffd9-4927-b781-378df1b99743","width":70.0,"x":490.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"cfe99a77-b6a7-4608-b95f-7ae631d26053","width":70.0,"x":560.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d3203064-e8f5-47a8-bf36-7182dac45a1b","width":70.0,"x":350.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"04aa7e1e-cd58-493a-83d9-2eba35e8798e","width":70.0,"x":420.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f61a08ac-8d82-4fab-a4c5-96aa61cef191","width":70.0,"x":210.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"32b1de0b-3c81-4f36-b328-b3c78feed6ef","width":70.0,"x":280.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e3440ed6-7d70-4d88-93d1-e747d5a8aeee","width":70.0,"x":140.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b5c86e63-a0dc-4e1d-ab09-ff5c542b9c07","width":70.0,"x":0.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6978009f-37fd-4a78-a3c0-84e88b286e6d","width":70.0,"x":70.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"153cc8c8-61fb-4440-b530-aea6fded2173","width":70.0,"x":-140.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e7817943-5802-4803-a1a0-3ed8b055b98f","width":70.0,"x":-70.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b66b394f-158e-44ba-a465-a12f81892e15","width":70.0,"x":-280.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2cb271af-bd65-49b8-8789-11d9aceb2035","width":70.0,"x":-210.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1f6ddc50-5667-467e-afb6-400c922ae154","width":70.0,"x":-420.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3ececfcc-dd31-4a75-a88b-6c42e6d0d080","width":70.0,"x":-350.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"fde22dbd-b7d7-42f3-ba64-86f07a053ce5","width":70.0,"x":-490.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ed62dfb5-9a01-4509-af11-b690f611dad8","width":70.0,"x":-630.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"895872b8-9087-4a1e-9b23-2aa7f40c9751","width":70.0,"x":-560.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7a0cdedc-61f5-4462-9a01-9768b0c0aa1e","width":70.0,"x":-770.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6d3611e6-f307-4f8e-b80c-8dbe113db32d","width":70.0,"x":-700.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"58c11e20-d01c-4e93-b71d-bfc50369ac1a","width":70.0,"x":-840.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c62e0e8e-662f-4364-9997-f1de59c851c7","width":70.0,"x":-910.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"599ebcf9-2cfe-441c-bcbb-8340aff09f86","width":70.0,"x":-2030.0,"y":840.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0deca073-8233-4154-8ba8-a35ff5febd4b","width":70.0,"x":-1960.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4c7057fe-534e-4b27-8e93-50bf60244da5","width":70.0,"x":-1960.0,"y":1540.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"116aa189-8376-433e-ba0d-040d949c2978","width":70.0,"x":-1960.0,"y":1470.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5d2ec17a-9e6d-4557-a15e-42d3159f7dac","width":70.0,"x":-1960.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e711882b-a486-421b-aacc-6f8789a4a8fe","width":70.0,"x":-1960.0,"y":1330.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"491dd95b-2cd1-4df9-a9b5-3309b947a9d1","width":70.0,"x":-1960.0,"y":1260.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b21ed2e5-1b61-44ca-8e59-1f7d7f932fcc","width":70.0,"x":-1960.0,"y":1190.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"16193c84-0f49-4996-8def-91b0c81bf668","width":70.0,"x":-1960.0,"y":1120.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"43f26275-9b3a-4c89-b1ce-40906efacdb9","width":70.0,"x":-1960.0,"y":1960.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e329ffbe-2dda-4d99-b9b3-0807c2ac9c60","width":70.0,"x":-1960.0,"y":1890.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9646ac1b-2f53-4d45-92ec-ab6afb2f3585","width":70.0,"x":-1960.0,"y":1820.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"50324816-058b-4c08-bb33-657f6eedefa9","width":70.0,"x":-1960.0,"y":1750.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"61849e6d-898f-4868-a29b-fffa7d6926a8","width":70.0,"x":-1960.0,"y":2170.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b42c0a5e-c829-441e-a2e5-3378a0aa866b","width":70.0,"x":-1960.0,"y":2100.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3cbc653a-d271-4c41-9f3a-93fe0c862e66","width":70.0,"x":-1960.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b9b4bfa5-d698-45e0-a518-f7dc5dc09404","width":70.0,"x":-1960.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":270.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"10254315-8643-4422-a76f-d35470d4d9a3","width":70.0,"x":-1960.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"07ee95a6-ca3b-4bef-88e8-2ea23db069b5","width":70.0,"x":-1960.0,"y":1610.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":85.0,"layer":"","name":"basketball_hoop","persistentUuid":"81546174-88bc-475a-8547-ce5b89ba9412","width":78.0,"x":595.0,"y":70.0,"zOrder":118,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":30.0,"layer":"","name":"basketball","persistentUuid":"6948a31e-81b4-4f3a-9a1c-8440d0a084dd","width":30.0,"x":-140.0,"y":70.0,"zOrder":100,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":608.0,"layer":"","locked":true,"name":"building_rooftop","persistentUuid":"863a46f7-41e7-473e-8b57-f537cc46a4f6","sealed":true,"width":648.0,"x":-1543.0,"y":1066.0,"zOrder":120,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.0,"height":490.0,"layer":"","name":"building_rooftop","persistentUuid":"c760740e-c3b5-4ca5-9652-f8d5cfa5b8d0","width":490.0,"x":-1470.0,"y":1755.0,"zOrder":120,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":626.0,"layer":"","name":"building_rooftop","persistentUuid":"e3012678-1b46-402f-a141-3532c55a7d0e","width":626.0,"x":74.0,"y":424.0,"zOrder":200,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":700.0,"layer":"","name":"building_rooftop","persistentUuid":"b6e96a1f-d06e-4ab1-b49f-49dc34a24024","width":700.0,"x":-2660.0,"y":1470.0,"zOrder":120,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":606.0,"layer":"","locked":true,"name":"building_rooftop","persistentUuid":"087bf72d-7e88-49ed-bed7-9b7d6b40d901","sealed":true,"width":606.0,"x":-2624.0,"y":797.0,"zOrder":120,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"659dbba9-0e13-4576-b0cf-f2ac764b95c1","width":70.0,"x":-2030.0,"y":910.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d1dc9fa8-2e2b-47e6-8f0b-11d1963eb546","width":70.0,"x":-2030.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b7f165c4-0deb-47ec-8b1e-aa33c4293820","width":70.0,"x":-2380.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"eb1147d6-eb27-4ef2-b729-1e6a71cd126e","width":70.0,"x":-2030.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"084bd44c-1298-47a8-808d-87aca93d6bdc","width":70.0,"x":-2100.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3052048b-8e85-4861-b50f-e252b50ef953","width":70.0,"x":-2310.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f0ec7dde-0c58-4529-8814-0e7c65daec57","width":70.0,"x":-2240.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5c47f978-eaa1-4d22-b840-e206bb15c050","width":70.0,"x":-2170.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"fa2c8456-3482-4d4f-860e-e275622d149f","width":70.0,"x":-1960.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"888b26c8-a289-4478-8458-8cc26dcbefcf","width":70.0,"x":-2660.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"52a4d903-f86d-46ee-88c3-8c5e084970b5","width":70.0,"x":-2660.0,"y":1750.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b3cb4875-4a29-43ce-be55-3da9a8e53832","width":70.0,"x":-2660.0,"y":1610.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9881fa0f-6c9c-444e-aa3c-4492b7d08a80","width":70.0,"x":-2660.0,"y":1540.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8fb1424a-08b6-496e-9dfb-4399819bfac4","width":70.0,"x":-2660.0,"y":1470.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3890d9d9-c585-4c62-aedd-fdb8b0653d9d","width":70.0,"x":-2660.0,"y":1960.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d37f33b1-33dc-473c-8092-f4c3363da026","width":70.0,"x":-2660.0,"y":1890.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"34515fcb-798d-404c-8e23-8ff661c81f74","width":70.0,"x":-2660.0,"y":1820.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9a72125c-0fac-4060-b2ea-f8ba9efb1ea9","width":70.0,"x":-2660.0,"y":2170.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1ae5ee2e-6598-4908-8e2a-b3bb54b5dc35","width":70.0,"x":-2660.0,"y":2100.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f700037d-5650-4b41-b687-e54171125b6e","width":70.0,"x":-2660.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dd32f594-af16-46c3-a4d8-ad2f75235c2f","width":70.0,"x":-2660.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2f56a1e6-0fb3-46f7-8e07-721d317c7534","width":70.0,"x":-2660.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"56c4014d-4890-4bed-9b13-9299e2b9ab57","width":70.0,"x":-2660.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"10484b73-3d8d-44c4-b698-ebd330a26e32","width":70.0,"x":-2450.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7ae0a165-4145-4bd4-9da7-d6e4e175eb42","width":70.0,"x":-2520.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4f001428-89f3-4eec-a642-6dd55b8600bd","width":70.0,"x":-2590.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0c96b1bb-2993-42a3-aa58-150e1569798d","width":70.0,"x":-2660.0,"y":1330.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1f0023c4-ef68-4358-8589-ae38d6ef1944","width":70.0,"x":-2660.0,"y":1190.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"fe3d6aa3-6005-4568-aa8b-6a12fd251140","width":70.0,"x":-2660.0,"y":1120.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"36995062-6b1f-4dc7-a32e-c81f04248360","width":70.0,"x":-2660.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7a50e957-2778-446e-a6c3-94929d02cb46","width":70.0,"x":-2660.0,"y":1260.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"67837de1-f1ac-43a9-8d9b-fee99f31b5c9","width":70.0,"x":-2660.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a0e998e6-1b69-4321-a028-f884447b19ea","width":70.0,"x":-2660.0,"y":840.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"808b5459-76e1-4463-93b1-439ebb5564ce","width":70.0,"x":-2660.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f2a55148-424a-4840-8c7d-04e9bce4f78e","width":70.0,"x":-2660.0,"y":700.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"78c1cace-6a2f-40f5-aaab-f6f401a9c132","width":70.0,"x":-2660.0,"y":910.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c135bb0c-30de-4872-9e2f-35e25fb127f0","width":70.0,"x":-2660.0,"y":630.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3ebfdf6b-ee64-4783-b30c-f3a493ec99b0","width":70.0,"x":-2660.0,"y":560.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f35751fc-3c1c-4739-ba50-da2a57d86ea1","width":70.0,"x":-2660.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"21a88a9f-05f7-4e39-8803-947fadfb3839","width":70.0,"x":-2590.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9e513a7d-2786-422c-8eb5-72ce2fe4ca37","width":70.0,"x":-2520.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ac9fc40e-aa9b-4d9a-b61a-4b65b7e24800","width":70.0,"x":-2450.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a5038e6f-0852-42d8-8cdc-558e7cd25239","width":70.0,"x":-2380.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ac119b0c-9c9c-49e9-8c26-71fdd2ab8f00","width":70.0,"x":-2310.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"70be2bc3-3c03-456f-aad4-c08bb4e8c3bd","width":70.0,"x":-2240.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1920a97f-b817-4e74-ba95-db9d4d4f0309","width":70.0,"x":-2170.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"bd069cfa-41fe-4eef-ac63-2808b2f86309","width":70.0,"x":-2100.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0ec0ac9f-c050-4ea4-832b-852587de8442","width":70.0,"x":-2030.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7940e251-2ac9-42af-9e41-6ff402dc0ff8","width":70.0,"x":-2590.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a31dbcda-344f-4c95-a80d-db7f676ba0b5","width":70.0,"x":-2100.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"13e21123-306a-4c9f-9a76-48c647132e1b","width":70.0,"x":-2520.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0f8d9c38-b54c-4e3f-97ee-0425d7cf18e7","width":70.0,"x":-2170.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4a4627fb-1c7e-4be1-bc64-57ea73660d78","width":70.0,"x":-2240.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"85c1ccc2-d79b-48bf-b3ac-608e86ce95b4","width":70.0,"x":-2450.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8bcdc884-58dc-4aec-94b6-d7db214e4fea","width":70.0,"x":-2030.0,"y":560.0,"zOrder":115,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1860d70d-a294-4ffa-8e59-6577b4a0cfa4","width":70.0,"x":-2030.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"basketball_court","persistentUuid":"3238639a-5a90-47cd-9db1-356fb462525c","width":0.0,"x":-775.0,"y":-70.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"layer":"","name":"basketball_court","persistentUuid":"389124ee-f8c8-46ed-b50a-59a370e84049","width":0.0,"x":460.0,"y":-70.0,"zOrder":6,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"layer":"","name":"basketball_court","persistentUuid":"3b064f58-b1f8-4106-80d3-f6a9f9e2311e","width":0.0,"x":-280.0,"y":-70.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"basketball_court","persistentUuid":"53e4866c-5c86-4519-b8f1-8ce042a92e84","width":0.0,"x":-140.0,"y":-70.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":70.0,"layer":"","name":"basketball_hoop","persistentUuid":"016c5dc1-dfbb-4cb4-b9e6-8a94f432d5ce","width":70.0,"x":-775.0,"y":70.0,"zOrder":118,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"46b44055-ce2b-488f-a608-89c7f3055c6a","width":70.0,"x":-2030.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e5f48594-a9f4-4162-a23c-ba7826a79add","width":70.0,"x":-1960.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"3b6c9f7b-aa77-4828-991d-b56ea26f63ee","width":0.0,"x":1444.0,"y":-142.0,"zOrder":113,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"6d1aea08-0699-42eb-a952-082f07447057","width":0.0,"x":910.0,"y":-142.0,"zOrder":113,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"f213373c-ee27-4b40-9713-d6ee5e0af152","width":0.0,"x":1304.0,"y":-210.0,"zOrder":113,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"Debug","name":"weapon_reloading","persistentUuid":"e6e95d11-2c24-4feb-97b7-26db247638a4","width":0.0,"x":0.0,"y":0.0,"zOrder":1243,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":630.0,"layer":"","locked":true,"name":"building_rooftop","persistentUuid":"a78de224-c727-43d1-ab49-e1257514b75f","sealed":true,"width":700.0,"x":2030.0,"y":70.0,"zOrder":1251,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":490.0,"layer":"","name":"building_rooftop","persistentUuid":"cf3e5a1f-e14f-46a9-9c84-121bd8fb070e","width":630.0,"x":1960.0,"y":1050.0,"zOrder":1251,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"props_decorations","persistentUuid":"fd1e72a2-0bac-44a5-87e1-85ba38c080c9","width":210.0,"x":1750.0,"y":-140.0,"zOrder":1252,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"props_decorations","persistentUuid":"288f8d6b-d873-441f-96ad-59d5c5716e5f","width":210.0,"x":2100.0,"y":-140.0,"zOrder":1252,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d04a6cfe-914f-4fbe-afc8-b7c0ab85aee8","width":70.0,"x":2100.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6bbfdd8e-a65f-44a6-9a16-363b083724bf","width":70.0,"x":2030.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8c5a4145-e535-4970-95d0-d0a29b3168fd","width":70.0,"x":1960.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"21c199a5-700d-4b79-87b0-17aca78bef39","width":70.0,"x":1890.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d139bafe-ba7d-4fd7-a7ac-9a546975311d","width":70.0,"x":1820.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"66cd3e78-d23a-455a-adab-3622eed903f3","width":70.0,"x":1750.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5bbacad5-1dec-4ac7-a8ae-8ea763da7a06","width":70.0,"x":3010.0,"y":0.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a4607326-8d55-4e4d-97d0-12286e64834b","width":70.0,"x":3010.0,"y":-70.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6cc650f3-ac14-4048-9d9f-da7de72707ef","width":70.0,"x":3010.0,"y":-70.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"bc147eb7-7a61-4403-b799-a2610abce9fb","width":70.0,"x":3010.0,"y":-140.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"165f303b-419a-4b97-a714-bba4e11c4bab","width":70.0,"x":3010.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"435293a7-8109-43b8-ae1e-bf0d3bc5ca29","width":70.0,"x":2940.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"27a8eda1-15a1-4dc5-9f0c-4aa12251da03","width":70.0,"x":2870.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"45d2fc95-ddfc-4129-9343-a0794c70f4fa","width":70.0,"x":2800.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"84d84a08-2e6c-4b53-a711-55d72cf256a4","width":70.0,"x":2730.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d1b846ad-a128-40d2-a78e-b9983e8269ce","width":70.0,"x":2660.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b3bdc7ac-bce2-40a5-a264-39206d2a08b8","width":70.0,"x":2590.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7dcbb05f-39d6-4743-a20e-c5d93ee42dcb","width":70.0,"x":2520.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"80b0a814-71b5-415d-ae67-9245f9f6d22e","width":70.0,"x":2450.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0429e34a-4d9a-40a0-9b4a-5deb06cc5aef","width":70.0,"x":2380.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"436ce253-69d7-4976-8e87-723022daf579","width":70.0,"x":2310.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"22ed74e9-04c6-4996-bb53-81f8a6fa77fc","width":70.0,"x":2240.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8d7764c2-22ac-4d6c-963b-0e57ff4421ef","width":70.0,"x":2170.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"27633410-0095-4e31-bd60-666121b42b1b","width":70.0,"x":3010.0,"y":280.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"05e9a4b1-f2de-4155-82bf-90077dcd7d3c","width":70.0,"x":3010.0,"y":210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"29f51cdb-dd97-49fb-a213-0eb66beebb3a","width":70.0,"x":3010.0,"y":140.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"56b5b44d-a0ea-4575-8148-0077dd9da47a","width":70.0,"x":3010.0,"y":70.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"92213214-6af3-4927-b402-24df9b4fc8c0","width":70.0,"x":3010.0,"y":560.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c4d6dbda-fd61-4a3a-8f6b-bb5709e77674","width":70.0,"x":3010.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7365fe5f-4a98-4e16-ab4e-9fe4a56219f6","width":70.0,"x":3010.0,"y":420.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0dd4df00-1fb0-4ac8-8e38-2200ce8699eb","width":70.0,"x":3010.0,"y":350.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"372c4922-a7ec-43fb-8316-d18cb53a077b","width":70.0,"x":2940.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-180.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4d688634-fe5a-4967-8557-2e4b8d783d29","width":70.0,"x":3010.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"63d31ec3-fad0-4b29-9bbd-baeb71caa6fa","width":70.0,"x":3010.0,"y":700.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dd80fcf4-b257-4bfc-be7d-9643f286ec3d","width":70.0,"x":3010.0,"y":630.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d623dae6-6be0-44ae-a43b-672edc43c2c0","width":70.0,"x":2450.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2f3c7f50-50e5-48ee-acbd-459db2ea34e4","width":70.0,"x":2590.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0f0ff553-48be-4cb4-b363-7155edf7db09","width":70.0,"x":2520.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"381f49cc-415a-444e-979d-b5fdfb2fec77","width":70.0,"x":2660.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d41596b1-0b32-4e8a-97aa-cfcdd57a3d65","width":70.0,"x":2730.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ff63c40b-f01a-4102-9c76-46c9d192cdd9","width":70.0,"x":2800.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"76df4ada-bb4e-44f6-ba27-08ba16f822f1","width":70.0,"x":2870.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4e1964d9-e438-466e-b365-17c1570ab968","width":70.0,"x":2100.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ee5ada45-d54e-4036-b4a7-76a036501f47","width":70.0,"x":2170.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"47f0261b-d89c-4e46-8efa-57b50eb2a176","width":70.0,"x":2240.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"926d984a-bc5f-469d-a3fa-46919ebaa031","width":70.0,"x":2310.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b6154f3f-bf42-4945-bfad-0a8cc5e5d919","width":70.0,"x":2380.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"673f067a-20c6-4f9d-9d52-c66785eec748","width":70.0,"x":2030.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5d9b1c6a-4742-4d7f-b82f-c386def0a11c","width":70.0,"x":1680.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"631f96cf-2c74-45ff-8ccd-dcafedc09a63","width":70.0,"x":1890.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"935b899b-3d42-4180-902e-3b95174e2163","width":70.0,"x":1960.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b02e3e2b-6d12-47e2-8071-1484d49b47e6","width":70.0,"x":1750.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0dee61d1-a6ce-4ec2-9bfb-595a3f527ee5","width":70.0,"x":1820.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"90444805-8fd4-4699-baf4-96a5212c3bf2","width":70.0,"x":1680.0,"y":140.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"553ebb69-2f0e-4814-9c2e-c80b2b251901","width":70.0,"x":1680.0,"y":210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"fe9a7558-4010-4c7c-b755-c2909490fb0f","width":70.0,"x":1680.0,"y":700.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3e3392c6-c642-4265-953d-553c0e573e3b","width":70.0,"x":1680.0,"y":630.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7000acb7-62ce-4654-9010-f419c79a8e69","width":70.0,"x":1680.0,"y":490.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6028e3a9-0e6b-4fd9-b096-7b94d82495ec","width":70.0,"x":1680.0,"y":-140.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ed0308c4-da01-44ee-bc47-147cf31c267f","width":70.0,"x":1680.0,"y":-210.0,"zOrder":115,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2c55369b-0956-4910-aea7-fbe7c417a49b","width":70.0,"x":1680.0,"y":0.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b2e7db8e-5d39-41ff-9445-c0d85dd02105","width":70.0,"x":1680.0,"y":-70.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"97629bf2-5e79-4fce-8019-0e8a1a30d4d5","width":70.0,"x":1680.0,"y":70.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"13c40e78-b469-4a92-92cd-e08fcc143eb1","width":70.0,"x":2450.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d34b2d93-0504-49e7-945b-9eb42e045644","width":70.0,"x":2590.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"413b9b9f-5338-484f-b131-009b1a8c8c8c","width":70.0,"x":2520.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"aadc23d7-eef0-4add-8472-5f221b021123","width":70.0,"x":2660.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d832a207-d0ec-45c4-98b1-fc6b384b643b","width":70.0,"x":2730.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"637b95e9-b806-4ca7-85f2-5c2ee09e5e52","width":70.0,"x":2800.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"aa964edf-7711-4e9d-800d-b2c100c50be5","width":70.0,"x":2100.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ffa8c8e5-6e09-426b-b801-6d30dd4a688d","width":70.0,"x":2170.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1a8f857e-c7dc-4a5e-afc3-fd670107467f","width":70.0,"x":2240.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"069b7822-7558-4481-b07c-edfdc69e2a2f","width":70.0,"x":2310.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0641e3ef-7add-47b9-8ef3-7fadfcb621b9","width":70.0,"x":2380.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5a3dee3a-9cc3-433d-87d1-ad4d893de231","width":70.0,"x":2030.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6f5c5540-0870-479f-9ca5-1cac75dcca8f","width":70.0,"x":1890.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"530b217c-9402-4420-807d-a32fb1bcddce","width":70.0,"x":1960.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2033f790-beb1-4010-8643-dba66d7eb57b","width":70.0,"x":1750.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dac763ea-61a9-44b7-9dde-e066522140a1","width":70.0,"x":1820.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2dbca21b-5e6b-4d4d-8976-aaea8703eeb3","width":70.0,"x":1680.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"703fdde6-2050-4fa4-856e-b85284f6996e","width":70.0,"x":1680.0,"y":1610.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1478f30b-7503-461e-9ea5-9decf73fcf4c","width":70.0,"x":1680.0,"y":1540.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"da452c08-2e23-44dd-8b98-e5aa754e47c7","width":70.0,"x":1680.0,"y":1470.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ddd9a7ed-4293-43b7-8543-1de0cbbce567","width":70.0,"x":1680.0,"y":910.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"cf9eb196-e355-47a8-b46f-746d74a1b86e","width":70.0,"x":1680.0,"y":840.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"18c5aa67-40c3-41ab-b783-21df9b0c7050","width":70.0,"x":1680.0,"y":770.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"438d72bd-c8a0-46f4-bb07-856674079261","width":70.0,"x":1680.0,"y":980.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"27ef65da-eded-43f3-94b5-10d769e8a421","width":70.0,"x":1680.0,"y":1330.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4ec95727-e908-4bd3-b387-7a088f2d76a4","width":70.0,"x":1680.0,"y":1050.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"aac11c90-9d76-4193-9c07-10ab73620297","width":70.0,"x":1680.0,"y":1400.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"29692a65-4d8c-43cc-b44a-240bcb386887","width":70.0,"x":1680.0,"y":560.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-23.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"35369171-dcf7-4add-919a-c77646405910","width":140.0,"x":2916.0,"y":51.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":11.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"08268a92-32f8-43da-a699-95806c75b214","width":140.0,"x":2926.0,"y":295.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-26.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"89edcecc-0111-4d07-b7dc-cd4e5c4c1943","width":140.0,"x":2914.0,"y":515.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-81.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"3721e960-fc06-4ba7-89ca-d4c77402b696","width":140.0,"x":2929.0,"y":712.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":11.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"081fc014-41e5-4cdf-908d-f642704a7c65","width":140.0,"x":2926.0,"y":-81.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-27.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"72b4108f-25e7-4de8-bed5-d77c85a9dd58","width":140.0,"x":2774.0,"y":-91.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":38.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"80b69df7-87de-4c9e-9378-6705e93a9dd0","width":140.0,"x":2560.0,"y":-97.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":270.0,"customSize":false,"height":350.0,"layer":"","locked":true,"name":"building_rooftop","persistentUuid":"d6253d36-bdf8-4efb-b317-ba4cb19ffdfa","sealed":true,"width":420.0,"x":815.0,"y":2080.0,"zOrder":120,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":770.0,"layer":"","locked":true,"name":"building_rooftop","persistentUuid":"bf27579c-0a57-408d-bfa1-41ddb79cc37e","sealed":true,"width":770.0,"x":-20.0,"y":1960.0,"zOrder":1251,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"18db87d0-b42f-47b0-b55f-2490e58aa57b","width":70.0,"x":700.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f03cd06d-d1e8-40a7-be2e-f711eada215b","width":70.0,"x":840.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4c4520ac-dcc7-46fc-9a06-d2f0f53d7b4c","width":70.0,"x":770.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"db19dc14-1100-4578-a295-c698ec22f654","width":70.0,"x":910.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a744f5d3-ad1b-4834-bcf0-a373a2aa47d3","width":70.0,"x":980.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"df28d3f4-1b4a-4456-bdff-106006d1949d","width":70.0,"x":1050.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ffa6d047-cf0c-4235-a922-5e840460bf66","width":70.0,"x":1120.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d7c9abdd-33b9-4c21-9db1-5a241036e7d4","width":70.0,"x":350.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8a3acc38-b2fb-4af6-bcb8-4cff087b89a2","width":70.0,"x":420.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"535b6aea-b142-4dfc-ab34-7b70067f8ebc","width":70.0,"x":490.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"b2c87575-c14b-4f69-8043-c74e4988a5d6","width":70.0,"x":560.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"51ce2a94-fccf-434a-a35e-db676fa2cf9b","width":70.0,"x":630.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1f6240f8-353e-45a2-b4c1-0327c4a1c0a0","width":70.0,"x":280.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"75e8953f-a21a-4e82-9a7e-3bf0703efbe0","width":70.0,"x":140.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"664c2efb-60b0-4c55-9f50-c2a0aa2e6f06","width":70.0,"x":210.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c7173c46-3789-49f8-8fe8-f66b78aedb3c","width":70.0,"x":70.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"758827aa-6243-4d66-bd23-0f33d8e83444","width":70.0,"x":0.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"4ee0c84f-f0c2-4532-a197-808f7e994298","width":70.0,"x":1680.0,"y":2380.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"fee1dd8d-c255-4958-81eb-34ed9cc976d4","width":70.0,"x":1680.0,"y":2310.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dbcfe7c0-5ba0-4435-9139-df2b5ffeac6b","width":70.0,"x":1680.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ea82cddb-ac13-4c1d-8285-58e07a9dd129","width":70.0,"x":1680.0,"y":2170.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"138a6def-b202-4c3f-8457-26f694ffe0b8","width":70.0,"x":1680.0,"y":2660.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c9249796-de6c-444c-9633-c0c036e74644","width":70.0,"x":1680.0,"y":2590.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5689059c-8816-4f90-ad45-e4b87ecae9fe","width":70.0,"x":1680.0,"y":2520.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ec8edcc8-0b1b-460c-b89e-e05ba1463374","width":70.0,"x":1680.0,"y":2450.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"26c03c8d-60af-4858-8c38-1cdd099ce62b","width":70.0,"x":1610.0,"y":2940.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a66054ae-0246-4618-ac82-4ee578692086","width":70.0,"x":1610.0,"y":2870.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"074bf4ff-bf6c-429d-9c31-387ee9f83395","width":70.0,"x":1680.0,"y":2730.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-180.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"003cd580-aade-47c1-a2df-db399e302c27","width":70.0,"x":1610.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3bfa7108-442c-41a0-af7e-86dcaf05b69c","width":70.0,"x":1610.0,"y":3080.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"db39049c-ff66-48e2-a98b-e5246c9bab2b","width":70.0,"x":1610.0,"y":3010.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2b457b59-a8c3-462a-9b3d-1ab0acffd720","width":70.0,"x":1190.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"60287c70-e7c0-4b3b-9874-dbe61be12c06","width":70.0,"x":1260.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2e56e3f5-b9e0-4f4e-b179-cb51a85003b6","width":70.0,"x":1330.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a14bbb22-3457-42e4-8151-6d478cfc36ba","width":70.0,"x":1400.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6a28a485-b5d6-419d-81c2-e2ed69cfb0df","width":70.0,"x":1470.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c17a0093-b97c-47aa-a638-9fbb0f4cab15","width":70.0,"x":1540.0,"y":3150.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"747cb77b-f5c4-4ff8-ad53-c842d40f3abf","width":70.0,"x":0.0,"y":2380.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e4ccf47e-8584-4ffc-9df3-3b9218f3a566","width":70.0,"x":0.0,"y":2310.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"45bcee2b-7b28-4117-887a-038572e454e9","width":70.0,"x":0.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6dc8fa62-6545-4293-8fb5-5c360836d5b2","width":70.0,"x":0.0,"y":2170.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dd979be9-1dd6-461d-b490-60e608ff3aee","width":70.0,"x":0.0,"y":2660.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ba972223-5331-48f4-87a7-4076ede13dc9","width":70.0,"x":0.0,"y":2590.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"35a53d64-17b0-4726-a956-5b565492b321","width":70.0,"x":0.0,"y":2520.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5ae70e97-c405-46ea-aae5-7f504698f6cc","width":70.0,"x":0.0,"y":2450.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"98e19e2b-7048-4adc-9633-91e95182b93d","width":70.0,"x":0.0,"y":2940.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"de084cd6-25bc-45f0-9fbc-b4bf80f72dda","width":70.0,"x":0.0,"y":2870.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"1bccf72a-3a8a-4f48-b4b8-5415cb79826c","width":70.0,"x":0.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9898dcb0-d207-4f3a-bbbc-c2dd89f66586","width":70.0,"x":0.0,"y":2730.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"829c963f-15e1-4ac1-add3-da88cc2cad2e","width":70.0,"x":0.0,"y":3080.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3f29cf5d-8a39-4a50-8ff9-3ce5069a0513","width":70.0,"x":0.0,"y":2100.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"269cb788-212d-4b6d-a564-9c1b13d3e877","width":70.0,"x":1610.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"26d4094a-25a1-4c0d-aa06-dade9878b5a1","width":70.0,"x":630.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a988f5ea-f8e0-45f5-9544-4e14f5ccfd7b","width":70.0,"x":770.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e08c5d0c-1826-488f-9b64-dd31703fdf3d","width":70.0,"x":700.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"88e6dfd1-a4b1-44b5-a0d3-642da1455ec9","width":70.0,"x":840.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2e6f2410-f832-4631-85a0-07d6eeb4e464","width":70.0,"x":910.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"460977dc-3446-44db-ab0f-0d223866b051","width":70.0,"x":980.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7608ee28-9760-490c-8d94-f94fad504325","width":70.0,"x":1050.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"da5cdf80-61b2-4ffd-94e3-61c86760f39c","width":70.0,"x":210.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"011b9989-045d-4a30-9cfe-b01abd000d82","width":70.0,"x":280.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"379a55a7-ea5c-4836-a9e9-0874d09f08ff","width":70.0,"x":350.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0dbf86dc-38c8-45a7-8330-ace138b4edb8","width":70.0,"x":140.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3c714d1a-036c-4606-ae34-b828eb71fd63","width":70.0,"x":70.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"56adb359-6c0d-4cac-a58f-e27cd140e27f","width":70.0,"x":1120.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5c2206fd-4293-4567-94f7-fe5cd158125e","width":70.0,"x":1680.0,"y":2100.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"659684c4-2f45-46b0-a21a-a06fc3a9760e","width":70.0,"x":1680.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"3c363a86-8994-4bd7-9b60-0e0bb1a310d6","width":70.0,"x":1470.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f6c107b1-1f6a-4db1-896f-15f0b574fefa","width":70.0,"x":1540.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f9835191-ac46-4d0e-aff6-2b3eb6688515","width":70.0,"x":1610.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"f4fc9e52-7596-4aaa-8ad0-4987f7d1b592","width":70.0,"x":1330.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a97989da-7671-4fa1-9216-a619c494f7ec","width":70.0,"x":1400.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"a8333718-b610-4507-a25a-af6f50753590","width":70.0,"x":1260.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"41d98456-46f2-47e1-822a-de6fc87fa557","width":70.0,"x":1190.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-81.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"22b61d57-1050-4978-b611-5fccc197aeca","width":140.0,"x":630.0,"y":3150.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":14.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"77cb1f9e-6bef-46b0-8bdb-70aa4ca296a3","width":140.0,"x":350.0,"y":3150.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":11.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"5f863ce2-76d6-4612-8531-0e72e902ace3","width":140.0,"x":126.0,"y":3141.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-81.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"5533b630-7b6b-488a-b46c-8468b856197e","width":140.0,"x":1190.0,"y":3150.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-26.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"441ed61f-1265-4c65-aa86-8c5c89d6227b","width":140.0,"x":910.0,"y":3150.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-26.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"e3a27c7a-f704-47e5-ac7c-2cf75d4b55a8","width":140.0,"x":1470.0,"y":3150.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-26.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"46116a74-c82b-489a-8722-14e8fc84c6cc","width":140.0,"x":1584.0,"y":2125.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-26.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"659e0f50-c913-4b0e-b434-17a61be34adb","width":140.0,"x":1304.0,"y":2125.0,"zOrder":116,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":11.0,"customSize":true,"height":140.0,"layer":"","name":"props_foliage","persistentUuid":"45d62f23-766f-4d53-83e0-679075519a57","width":140.0,"x":126.0,"y":2185.0,"zOrder":116,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e7271123-185b-4768-8c90-5c0941efa8a6","width":70.0,"x":2380.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c1a4d02e-52a4-432e-b3f9-73bdd865f5e9","width":70.0,"x":2520.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e7c9af17-d2d9-401c-82e1-25a4fe11322f","width":70.0,"x":2450.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2716921d-3646-460b-a3a3-94aac43e3bf9","width":70.0,"x":2590.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9370535f-d80e-431a-9581-de61f2017ed6","width":70.0,"x":2030.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"19dcd4a6-3f64-4558-a745-6af2aba38268","width":70.0,"x":2100.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"20689c2c-5670-485e-a31e-c7009ed56f56","width":70.0,"x":2170.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"dbff8b92-147e-412f-9187-347ed57b66e5","width":70.0,"x":2240.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"2dfd74b5-524b-4452-9b4a-f952f492bf96","width":70.0,"x":2310.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"bb1e818d-553b-455f-aa66-6f128f7012bb","width":70.0,"x":1960.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"9b83ddba-24b5-4848-9e28-6d379bccb56f","width":70.0,"x":1820.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"84e2b3f6-cd43-40a7-a4fe-cd492d3e214b","width":70.0,"x":1890.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"0ddb1721-e496-4021-ad68-fa1c978e9d6a","width":70.0,"x":1750.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-180.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ba9b2e79-f806-4a17-9dc5-bc151b2d68f1","width":70.0,"x":2870.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"49b551a4-aca8-49dc-b092-d9ca7987b587","width":70.0,"x":2660.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"d5cb869c-bc86-4f9c-9378-9ac312629f91","width":70.0,"x":2730.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"806686c5-3bec-4691-a9b1-4fbbd64f7ee0","width":70.0,"x":2800.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"e8bd910e-23b4-43c5-bd6f-e17a517d8d05","width":70.0,"x":2870.0,"y":2170.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"cd0f45fc-6abc-40fd-a70c-020e28e6d63b","width":70.0,"x":2870.0,"y":2100.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"08ef7399-dece-40ff-837e-252019150802","width":70.0,"x":2870.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"7d6c1c9f-0b96-4eca-818d-952f81cb9465","width":70.0,"x":2870.0,"y":1960.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"45108584-2f3b-4bab-995b-062ad59ff9ea","width":70.0,"x":2870.0,"y":2450.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"33511547-f08c-4d9c-b362-d5823875e180","width":70.0,"x":2870.0,"y":2380.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5af4c433-0333-47fd-a7d7-0e89bbbd3a84","width":70.0,"x":2870.0,"y":2310.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5b625785-9d13-4097-9214-cda61ec683ce","width":70.0,"x":2870.0,"y":2240.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"8250ee98-d602-4797-8cef-19ee3c240e5b","width":70.0,"x":2870.0,"y":1820.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"725eb193-5c27-4486-b8a3-2e2cfb574324","width":70.0,"x":2870.0,"y":1750.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"6e5b1020-08a2-431e-b384-ffe5e2a00704","width":70.0,"x":2870.0,"y":1890.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"04e3986e-c400-4087-8328-ce90c7d6110b","width":70.0,"x":2870.0,"y":2660.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"ea44194f-7c82-4055-b779-69b3641adfc8","width":70.0,"x":2870.0,"y":2590.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"168bbb2f-a430-4eb8-a6cc-18ab0f61476c","width":70.0,"x":2870.0,"y":2520.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"47e24764-d82b-4fdb-8b77-e1553ac0bdee","width":70.0,"x":2870.0,"y":2730.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5e61d5be-f3d6-4120-8870-ce819be954a0","width":70.0,"x":2870.0,"y":1680.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5e41b374-47d1-4ee6-af34-4fab36430a10","width":70.0,"x":1680.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"d7d6258f-c239-4446-8764-f6081976ac1e","width":0.0,"x":1610.0,"y":1944.0,"zOrder":124,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"c35bcf53-b789-4163-8995-d72b80c4c806","width":0.0,"x":-122.0,"y":3188.0,"zOrder":124,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_moveable","persistentUuid":"531cda43-5daa-48a2-9b26-6dea1106bd1f","width":70.0,"x":1890.0,"y":2730.0,"zOrder":1254,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"4244cce5-d7c9-4b94-9c12-a8bf726dc0a8","width":0.0,"x":-3234.0,"y":3810.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"01638110-3d70-42e3-8611-9ce8ea7c4f2d","width":0.0,"x":-3232.0,"y":3672.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"367b9fb5-f764-47a9-abf0-b4bca3be3e64","width":0.0,"x":-3232.0,"y":3990.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"5f5776b6-0228-4b20-b536-48c3a449edf8","width":0.0,"x":-3232.0,"y":4200.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"699a89e0-f262-4922-94f4-06b677b1690e","width":0.0,"x":-3232.0,"y":4410.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"9343d17c-7821-403e-bec3-1ea7e8c34047","width":0.0,"x":-3235.0,"y":4620.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"aa4ebfe0-4339-402d-a4a2-3f3f9aa09888","width":0.0,"x":-3231.0,"y":4830.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"e50ff460-d090-4876-b460-3e13f875d7ea","width":0.0,"x":-3233.0,"y":5040.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"e12d6482-65fc-4eec-bb1c-af70e2f5b587","width":0.0,"x":-3232.0,"y":5250.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"eeeff3f5-f20b-4b65-a8ca-ef0a18a694dc","width":0.0,"x":-3234.0,"y":5460.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"d9cf91a6-0d2d-481e-9d5f-3c76bc9fb8d3","width":0.0,"x":-3233.0,"y":5670.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"6889692b-bb8a-42f5-b92e-7d05884c3956","width":0.0,"x":-3233.0,"y":5880.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"9b1b9e09-c7d4-44b3-9099-cc28987bc93d","width":0.0,"x":-3233.0,"y":6090.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"99b93efe-61bd-4898-a661-f4f073ff5daf","width":0.0,"x":-3232.0,"y":6300.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"d161e608-d6a7-4475-b6b1-c724d1ec524d","width":0.0,"x":-3232.0,"y":6510.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"d061e83a-2103-444d-a61e-36eee1a38700","width":0.0,"x":-3233.0,"y":6720.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"1e5c958a-d494-4bf4-b1dd-efcb1c13d9aa","width":0.0,"x":-3235.0,"y":6930.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"121f7e40-428d-47c7-9fdf-13924d15c77c","width":0.0,"x":-3234.0,"y":7140.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3920.0,"layer":"","name":"concrete_1","persistentUuid":"e50b3ae6-01f4-498f-a424-fbe09e890138","width":70.0,"x":-3570.0,"y":3640.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3920.0,"layer":"","name":"concrete_1","persistentUuid":"9c82384e-7f20-4090-9104-2af969cc37d2","width":70.0,"x":-2870.0,"y":3640.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"concrete_1","persistentUuid":"e7a6ff30-5b2a-44b8-8da9-b91a57a61740","width":140.0,"x":-2870.0,"y":3570.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"concrete_1","persistentUuid":"56857c88-d539-4ba6-a8a7-6353fa6b857c","width":140.0,"x":-3640.0,"y":3570.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3845.0,"layer":"","name":"hidden_separate","persistentUuid":"0ef98db6-7d9e-4b22-b706-6a5abfdfdf6b","width":15.0,"x":-2814.0,"y":3640.0,"zOrder":12615,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3845.0,"layer":"","name":"hidden_separate","persistentUuid":"1b7bf7dc-0ec4-4303-ae2e-d04e742028db","width":15.0,"x":-3567.0,"y":3640.0,"zOrder":12615,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1289.0,"layer":"Fade","name":"game_transition","persistentUuid":"d9fdfe8f-cca3-408f-ada5-d6011fc9140a","width":1994.0,"x":0.0,"y":0.0,"zOrder":12643568,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":560.0,"layer":"","name":"ground_1","persistentUuid":"24e4b2be-1698-4a33-a094-f4f5df270ffd","width":1680.0,"x":-910.0,"y":-210.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"5c3e7176-be09-41ac-8269-d3ace2f2371d","width":70.0,"x":0.0,"y":3010.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"237d1536-4fd1-4a5c-8a73-1cd4ed60add0","width":70.0,"x":0.0,"y":2030.0,"zOrder":115,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"c605b6ec-1edf-495c-8d29-d5c714c3a0ea","width":70.0,"x":1680.0,"y":2800.0,"zOrder":115,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":626.0,"layer":"","name":"building_rooftop","persistentUuid":"e7b514b2-97b8-4e9c-9ea1-ed8a127f3679","width":626.0,"x":-795.0,"y":457.0,"zOrder":200,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","locked":true,"name":"sea_tiled_water","persistentUuid":"dc574f3c-0e4b-49aa-b47b-ad1ba2564ffe","sealed":true,"width":0.0,"x":-10620.0,"y":-7330.0,"zOrder":-12643569,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"Debug","name":"debug_toggle","persistentUuid":"405d6ded-99e2-4121-a8b1-1443f2202568","width":0.0,"x":18.0,"y":96.0,"zOrder":12643569,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"info","type":"string","value":"hide Sea"},{"folded":true,"name":"id","type":"string","value":"sea"}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"Debug","name":"debug_toggle","persistentUuid":"f0e1911b-a40a-4d17-b752-4c88c231f1ac","width":0.0,"x":18.0,"y":54.0,"zOrder":12643569,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"id","type":"string","value":"shadow"}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"UI","name":"debug_ammo_text","persistentUuid":"1d0de529-1976-49aa-995b-d6a7e22f8a7c","width":0.0,"x":1671.0,"y":19.0,"zOrder":12643570,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_N","persistentUuid":"9dc9d21b-2551-47a7-9ba8-de2477d628b3","width":560.0,"x":-3220.0,"y":-280.0,"zOrder":12643576,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_N","persistentUuid":"944ff9df-5eb5-4138-ab44-389d729de5c0","width":1820.0,"x":1540.0,"y":-560.0,"zOrder":12643578,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":3850.0,"keepRatio":true,"layer":"","name":"bridge_tiled_1","persistentUuid":"837f7806-c647-44c3-9868-98ff6e4a4a4f","width":300.0,"x":-3100.0,"y":3710.0,"zOrder":12643595,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":3850.0,"keepRatio":true,"layer":"","name":"bridge_tiled_1","persistentUuid":"1dbb9dd6-901b-42f3-983f-a71c727b0001","width":300.0,"x":-3570.0,"y":3710.0,"zOrder":12643595,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_crosshair","persistentUuid":"808484fa-24aa-4068-9347-4591d049c015","width":0.0,"x":808.0,"y":630.0,"zOrder":1260,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":34.0,"keepRatio":true,"layer":"Debug","name":"debug_fps","persistentUuid":"7a76b0af-6c17-4bb9-b114-4c8700fe0ab5","width":419.0,"x":630.0,"y":0.0,"zOrder":12643597,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_body","persistentUuid":"c90152c3-f5fd-4840-8342-c22364a67001","width":0.0,"x":-280.0,"y":1680.0,"zOrder":70,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[{"name":"Customisation","type":"structure","children":[{"folded":true,"name":"body","type":"number","value":0.0},{"folded":true,"name":"hand","type":"number","value":0.0},{"folded":true,"name":"leg","type":"number","value":0.0}]}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_hand","persistentUuid":"f56fa6f9-776f-432c-a128-396ffc5439fd","width":0.0,"x":-210.0,"y":1766.0,"zOrder":60,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"angle","type":"number","value":180.0},{"folded":true,"name":"type","type":"string","value":"L"}]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_NE","persistentUuid":"63a52dd6-6deb-4f7c-a2aa-9971ca90a3e0","width":70.0,"x":910.0,"y":-350.0,"zOrder":12643601,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_NW","persistentUuid":"201fc58f-54bd-4655-b0d3-2c8e7ef6fd57","width":0.0,"x":910.0,"y":-350.0,"zOrder":12643602,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_NE","persistentUuid":"8d1d6c87-d360-41b1-96dc-a0592d41e37d","width":70.0,"x":-1050.0,"y":140.0,"zOrder":12643601,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":5110.0,"keepRatio":true,"layer":"","name":"road_tiled_white_W","persistentUuid":"1a05da90-9fa7-459e-86e5-0e94b0f5e85f","width":70.0,"x":-3500.0,"y":2520.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":4550.0,"keepRatio":true,"layer":"","name":"road_tiled_white_E","persistentUuid":"159ea2d7-8a30-4d9e-8b96-b75581e57f6f","width":70.0,"x":-2940.0,"y":3080.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1890.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"8abab0e2-4e45-4c53-b11c-0c2738b7b075","width":210.0,"x":1260.0,"y":-280.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1610.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"664365c4-ed21-48c5-96ff-30c5b91675e4","width":210.0,"x":980.0,"y":-280.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"dc3a9593-86ee-4e62-afe6-169594e868cd","width":2730.0,"x":-3430.0,"y":2520.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1400.0,"keepRatio":true,"layer":"","locked":true,"name":"road_tiled_white_center","persistentUuid":"d811e2a1-bde1-452d-a503-3841e3c51d3a","sealed":true,"width":210.0,"x":-420.0,"y":1610.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"135860a8-628a-4bbb-9fdc-e024af60b664","width":1890.0,"x":-700.0,"y":1330.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":4900.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"c2032357-ff3d-4576-a252-f16cdfbf28ab","width":210.0,"x":-3430.0,"y":2730.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","locked":true,"name":"road_tiled_white_center","persistentUuid":"e5223d12-e55d-419a-9522-9ff29737bea0","sealed":true,"width":1680.0,"x":-210.0,"y":1610.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"a9d89074-bc37-4a08-9831-adcf8ea832f5","width":2730.0,"x":-3150.0,"y":2800.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":2310.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"58b0eefc-1506-4df8-acd7-bb313f3ccaa2","width":210.0,"x":-3010.0,"y":210.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":4620.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"07f62aa9-1cd2-458c-a781-e0a00d1528da","width":210.0,"x":-3150.0,"y":3010.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_N","persistentUuid":"d6c499c8-8097-4986-bafe-d6e2fbd5a0ef","width":490.0,"x":980.0,"y":-350.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1540.0,"keepRatio":true,"layer":"","name":"road_tiled_white_W","persistentUuid":"204e4ba1-7225-461b-a951-99fc1f54abd8","width":70.0,"x":910.0,"y":-280.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_S","persistentUuid":"ebf3f2c2-cd25-42fa-a2f6-ed79493363fb","width":770.0,"x":-1820.0,"y":840.0,"zOrder":12643603,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":2100.0,"keepRatio":true,"layer":"","name":"road_tiled_white_E","persistentUuid":"3b4a2e94-ec5c-4e16-b870-6d029118ccbe","width":70.0,"x":1470.0,"y":-280.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_S","persistentUuid":"2e0bb4ae-a254-492b-9cc7-b32904d439ae","width":840.0,"x":-2730.0,"y":350.0,"zOrder":12643604,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_N","persistentUuid":"24716a88-c015-41e5-84e9-e31201b39ca7","width":350.0,"x":-3430.0,"y":2450.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_N","persistentUuid":"10818b17-ff00-47dd-928e-a34cf1cb9b18","width":1610.0,"x":-700.0,"y":1260.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":2240.0,"keepRatio":true,"layer":"","name":"road_tiled_white_W","persistentUuid":"6d5fbd31-2f18-4a05-95cf-c5a45a1c74ae","width":70.0,"x":-3080.0,"y":210.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":2030.0,"keepRatio":true,"layer":"","name":"road_tiled_white_E","persistentUuid":"e73b5e84-ec07-4cd2-b436-43a6ea7fcc77","width":70.0,"x":-2800.0,"y":420.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_NW","persistentUuid":"d2ccc137-8250-4f9a-a9d3-950726041243","width":0.0,"x":-3080.0,"y":140.0,"zOrder":12643605,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_NW","persistentUuid":"222088f2-3dcd-4627-8a0b-0f72150a5489","width":0.0,"x":-770.0,"y":1260.0,"zOrder":12643606,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_SE","persistentUuid":"297a69df-a4e6-4326-a8a3-3d2c3eee6041","width":0.0,"x":1470.0,"y":1820.0,"zOrder":12643607,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_SE","persistentUuid":"5a7c66d1-e309-42c1-9a33-5b4556dba759","width":0.0,"x":-1890.0,"y":840.0,"zOrder":12643608,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1540.0,"keepRatio":true,"layer":"","name":"road_tiled_white_inner","persistentUuid":"f3b0efc5-56d0-441f-8cdc-2b8ce8cc6544","width":70.0,"x":1190.0,"y":-140.0,"zOrder":12643609,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":1330.0,"keepRatio":true,"layer":"","name":"road_tiled_white_inner","persistentUuid":"9e3a4099-572d-449f-bd2c-b744df20e997","width":70.0,"x":350.0,"y":910.0,"zOrder":12643609,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":840.0,"keepRatio":true,"layer":"","name":"road_tiled_white_inner","persistentUuid":"f9803b41-97d8-4aed-b5ab-cccbb49cb998","width":70.0,"x":-490.0,"y":1750.0,"zOrder":12643609,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":4690.0,"keepRatio":true,"layer":"","name":"road_tiled_white_inner","persistentUuid":"2cbc5947-de6c-431e-980a-1cc9446c5194","width":70.0,"x":-3220.0,"y":2940.0,"zOrder":126,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":2380.0,"keepRatio":true,"layer":"","name":"road_tiled_white_inner","persistentUuid":"ece11342-7104-494a-a21a-fcc38b8fe922","width":70.0,"x":-1855.0,"y":1575.0,"zOrder":12643609,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_end","persistentUuid":"dae58683-f9e9-4bd1-b47e-9beb03fc89da","width":0.0,"x":-630.0,"y":2730.0,"zOrder":12643610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_end","persistentUuid":"af09b859-949c-40fb-866f-73601b2faad1","width":0.0,"x":-490.0,"y":1680.0,"zOrder":12643610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"a58123ea-1648-4f02-8896-4a1dd8a22661","width":70.0,"x":-490.0,"y":2660.0,"zOrder":12643611,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"79499d42-4175-40a3-a096-ebb1d5ba0c3b","width":0.0,"x":-560.0,"y":2730.0,"zOrder":12643612,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_end","persistentUuid":"8615bbdc-5c16-4cbb-9d2f-e14957c47c52","width":0.0,"x":-490.0,"y":2590.0,"zOrder":12643610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_end","persistentUuid":"b6a835a7-261c-46d2-971e-59fff8abd689","width":70.0,"x":-350.0,"y":1540.0,"zOrder":12643610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"4f05718c-ee45-40b7-8e69-5fb2b6b2c05d","width":140.0,"x":-490.0,"y":1540.0,"zOrder":12643613,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"795d20bb-b23b-4c25-bcf0-1ee74d307bff","width":0.0,"x":-490.0,"y":1610.0,"zOrder":12643614,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":270.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_end","persistentUuid":"6412b917-e0a1-4f61-8b37-fd2a34f0027f","width":0.0,"x":1050.0,"y":1540.0,"zOrder":12643615,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_end","persistentUuid":"dc478b2c-dd26-410f-a181-03a08d2a081c","width":0.0,"x":1190.0,"y":1400.0,"zOrder":12643615,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"2b721e53-25dd-40a9-addf-71d5ce7023fd","width":70.0,"x":1120.0,"y":1540.0,"zOrder":12643616,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_end","persistentUuid":"b50cef1e-f2f1-4838-9c8e-8b4f75eb20e8","width":0.0,"x":1190.0,"y":-210.0,"zOrder":12643618,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"3c633156-3d7c-44ab-aaca-11c327851c60","width":0.0,"x":1190.0,"y":-280.0,"zOrder":12643619,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"8fdfe779-3f64-4b74-af4c-0246656fcae0","width":0.0,"x":1050.0,"y":-211.0,"zOrder":113,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_end","persistentUuid":"384816e7-4f12-474e-9951-8223eead88ce","width":0.0,"x":-3220.0,"y":2870.0,"zOrder":12643620,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_end","persistentUuid":"ae77df97-1b82-46e7-95d4-ce86bf5a3e5e","width":0.0,"x":-3080.0,"y":2730.0,"zOrder":12643620,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"438469ee-addd-4efa-a7af-8d0024b3cc2a","width":140.0,"x":-3220.0,"y":2730.0,"zOrder":12643621,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"e1379bcb-11fe-48b8-a099-4cc0b00afefb","width":0.0,"x":-3220.0,"y":2800.0,"zOrder":12643622,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_curve_right","persistentUuid":"53ec6ffe-d8b8-4035-b8ea-2fff45750229","width":0.0,"x":-2800.0,"y":350.0,"zOrder":12643623,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_curve_right","persistentUuid":"7c32ca84-b45c-4eb1-bde6-178db26a2708","width":0.0,"x":-770.0,"y":2450.0,"zOrder":12643624,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_curve_right","persistentUuid":"01e0c84e-a1c8-402e-97a7-91134d0b7d31","width":0.0,"x":-210.0,"y":1820.0,"zOrder":12643625,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_curve_right","persistentUuid":"6c51ad33-a657-49ac-bfad-6abb7f0289ce","width":0.0,"x":910.0,"y":1260.0,"zOrder":12643626,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"edge_sand_NW","persistentUuid":"4f3c1dd4-a405-4219-bbf5-1ede4b98a45b","width":0.0,"x":-3290.0,"y":-280.0,"zOrder":12643627,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":350.0,"keepRatio":true,"layer":"","name":"beach_sand_W","persistentUuid":"edb642a5-d75f-42c3-a804-d9c95ab4fc02","width":70.0,"x":-1330.0,"y":-490.0,"zOrder":12643628,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"edge_sand_NW","persistentUuid":"7bb51c47-83cc-4bf1-a891-74ff1c1f4b35","width":0.0,"x":-1330.0,"y":-560.0,"zOrder":12643629,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_NE","persistentUuid":"b7c7eba4-6b0c-4799-a21d-4f9ce52c1a27","width":0.0,"x":910.0,"y":-560.0,"zOrder":12643630,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_N","persistentUuid":"e0cb5ee2-bfa7-4352-8c0c-b44204ac13df","width":490.0,"x":980.0,"y":-490.0,"zOrder":12643631,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"edge_sand_NW","persistentUuid":"153f9d79-1658-4b8d-ad20-e1b832af8618","width":0.0,"x":1470.0,"y":-560.0,"zOrder":12643632,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_N","persistentUuid":"04d0bde4-0058-4a5c-8fb7-f9b92afbd6e5","width":2170.0,"x":-1260.0,"y":-560.0,"zOrder":12643578,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_NE","persistentUuid":"de88bac6-34a5-4d77-bc74-b2e2cc1407ca","width":0.0,"x":3360.0,"y":-560.0,"zOrder":12643633,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0285714285714288,"height":1512.0,"keepRatio":true,"layer":"","name":"beach_sand_E","persistentUuid":"317d9cde-3d96-4b38-9f56-6d879bf4843f","width":72.0,"x":3360.0,"y":-490.0,"zOrder":12643634,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_SE","persistentUuid":"fb4c60e1-64ac-456c-ae58-32ea23228b3d","width":0.0,"x":3360.0,"y":980.0,"zOrder":12643635,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_S","persistentUuid":"29a22fa3-559d-40f4-83de-770d8bd445b8","width":490.0,"x":2870.0,"y":980.0,"zOrder":12643636,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0285714285714285,"height":1656.0,"keepRatio":true,"layer":"","name":"beach_sand_E","persistentUuid":"89c61eed-80cc-440c-94c9-e350811a7949","width":72.0,"x":3220.0,"y":1540.0,"zOrder":12643637,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_SE","persistentUuid":"047f949d-b890-4fb9-8347-f2819a64a7b4","width":0.0,"x":3220.0,"y":3150.0,"zOrder":12643638,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_S","persistentUuid":"88327087-3722-490b-a632-c0140a71dcf9","width":1190.0,"x":2030.0,"y":3150.0,"zOrder":12643639,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":280.0,"keepRatio":true,"layer":"","name":"beach_sand_E","persistentUuid":"af5ef1dc-df41-4956-8e98-f424978aa790","width":70.0,"x":1960.0,"y":3220.0,"zOrder":12643640,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_SE","persistentUuid":"0aa5a1b4-d29c-4164-9acb-fd07158b26ee","width":0.0,"x":1960.0,"y":3500.0,"zOrder":12643641,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_S","persistentUuid":"0686ccca-8161-42ca-937c-47c39826bb97","width":2240.0,"x":-280.0,"y":3500.0,"zOrder":12643642,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_S","persistentUuid":"ca9ae191-44cb-4216-b871-a96dbe3c2a61","width":2170.0,"x":-2520.0,"y":3360.0,"zOrder":12643643,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"beach_sand_E","persistentUuid":"170b6f05-b412-42e8-b8f7-6cee51516553","width":70.0,"x":-2590.0,"y":3430.0,"zOrder":12643644,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1470.0,"keepRatio":true,"layer":"","name":"beach_sand_W","persistentUuid":"89941866-aed4-4219-a9ce-3b82cdf1037a","width":70.0,"x":-3850.0,"y":2170.0,"zOrder":12643645,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_SW","persistentUuid":"c740f39e-f0de-47da-a0d6-46ca98e1ab3f","width":0.0,"x":-3850.0,"y":3640.0,"zOrder":12643646,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_S","persistentUuid":"c6c0cf1d-0da1-43a8-8686-89e1716902ce","width":140.0,"x":-3780.0,"y":3640.0,"zOrder":12643647,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_SE","persistentUuid":"72a41aa9-68af-4092-8b72-9016da8ff9ec","width":0.0,"x":-3640.0,"y":3640.0,"zOrder":12643648,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_SE","persistentUuid":"6aec6472-6a54-433a-9e87-e0822a8d3be6","width":0.0,"x":-2590.0,"y":3640.0,"zOrder":12643649,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_S","persistentUuid":"d1bfb581-1d11-4842-8c3b-c0cc0dc1acdf","width":140.0,"x":-2730.0,"y":3640.0,"zOrder":12643650,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_SW","persistentUuid":"6a889b8a-a8fc-4709-a3c6-9e6dbb0c4809","width":0.0,"x":-2800.0,"y":3640.0,"zOrder":12643651,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":2310.0,"keepRatio":true,"layer":"","name":"beach_sand_W","persistentUuid":"d19bba29-a93d-45b3-8408-6c6482c59458","width":70.0,"x":-3290.0,"y":-210.0,"zOrder":12643652,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"edge_sand_NW","persistentUuid":"c0d90d08-48cf-444e-850e-69f02ea68d2c","width":0.0,"x":-3850.0,"y":2100.0,"zOrder":12643653,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_N","persistentUuid":"284e309f-56da-47ef-8c55-9ada8f0aa4e7","width":490.0,"x":-3780.0,"y":2100.0,"zOrder":12643654,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_W","persistentUuid":"84917365-bbb5-425b-9f75-c995c04a971c","width":0.0,"x":-350.0,"y":3430.0,"zOrder":12643655,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_SW","persistentUuid":"187bc06d-297a-4de6-b28e-ca34c4ea086a","width":0.0,"x":-350.0,"y":3500.0,"zOrder":12643656,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_hand","persistentUuid":"7892f520-8b5e-4869-8843-1786d6a4e453","width":0.0,"x":-210.0,"y":1696.0,"zOrder":60,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"type","type":"string","value":"R"}]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1190.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"aa9c3426-a013-4316-b9d9-3fc82d1b17d4","width":210.0,"x":-700.0,"y":1540.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_curve_right","persistentUuid":"5bf8af20-423a-4de4-a153-e66651a250ff","width":0.0,"x":-2940.0,"y":3010.0,"zOrder":12643623,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_N","persistentUuid":"5e0b5d6d-7464-4d5c-b82f-81b18ef928c1","width":1960.0,"x":-3010.0,"y":140.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_curve_left","persistentUuid":"a25653cb-a0ca-474c-bbc6-14edf3ed5909","width":0.0,"x":-1890.0,"y":350.0,"zOrder":12643657,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":420.0,"keepRatio":true,"layer":"","name":"road_tiled_white_W","persistentUuid":"d7354a6b-ed74-43ea-bd1f-6e6c651b2a93","width":70.0,"x":-1890.0,"y":420.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":630.0,"keepRatio":true,"layer":"","name":"road_tiled_white_E","persistentUuid":"ecfb32c4-8251-4bbd-96b2-1f5698c2b1be","width":70.0,"x":-1050.0,"y":210.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_NW","persistentUuid":"bf70520e-8d9d-4e0f-93df-c96e80288d21","width":0.0,"x":-3500.0,"y":2450.0,"zOrder":12643605,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_N","persistentUuid":"6d09695c-76bf-422d-866c-f3af6a30373a","width":1960.0,"x":-2730.0,"y":2450.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_NE","persistentUuid":"60c983d8-4d57-498e-8309-07e2ca79feef","width":70.0,"x":1470.0,"y":-350.0,"zOrder":12643601,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1120.0,"keepRatio":true,"layer":"","name":"road_tiled_white_E","persistentUuid":"f0559d49-f52c-469b-a26c-8bdf50f16099","width":70.0,"x":-210.0,"y":1890.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_SE","persistentUuid":"1f62c3f2-05e2-41be-8271-1ac11ab0877c","width":0.0,"x":-210.0,"y":3010.0,"zOrder":12643608,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_S","persistentUuid":"53a49399-ff06-4b57-900a-4e191dac5630","width":1610.0,"x":-140.0,"y":1820.0,"zOrder":12643603,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_SE","persistentUuid":"0d9292a0-be42-4f11-8c1f-953a730fb5ba","width":0.0,"x":-1050.0,"y":840.0,"zOrder":12643608,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1120.0,"keepRatio":true,"layer":"","name":"road_tiled_white_W","persistentUuid":"422e6a4c-2cce-45d2-aaba-f5e7f5bbd750","width":70.0,"x":-770.0,"y":1330.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_curve_right","persistentUuid":"d6566d3a-f722-40a0-a793-2702678a9b2b","width":0.0,"x":-3080.0,"y":2450.0,"zOrder":12643623,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"road_tiled_white_curve_left","persistentUuid":"23651ada-074b-4718-9e9b-1b06444a2f9e","width":0.0,"x":-2800.0,"y":2450.0,"zOrder":12643657,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"road_tiled_white_S","persistentUuid":"e3a2ab95-5873-4c53-9da7-716780273b27","width":2660.0,"x":-2870.0,"y":3010.0,"zOrder":12643604,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"7e883f74-3f51-4b68-b7ec-1abc4df1a4b0","width":980.0,"x":-2800.0,"y":210.0,"zOrder":12643658,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":630.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"cedc6b91-a862-48cd-b86e-e3b75a3111ef","width":770.0,"x":-1820.0,"y":210.0,"zOrder":12643659,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_N","persistentUuid":"c437de44-4db6-4f9c-954f-3fd38c70ded2","width":1260.0,"x":-2590.0,"y":-140.0,"zOrder":12643576,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_NE","persistentUuid":"c499961c-2e9e-44a4-9c2e-b4ecc2e00bf7","width":0.0,"x":-2660.0,"y":-280.0,"zOrder":12643660,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_E","persistentUuid":"26f89535-6bb5-4047-b858-8e303c16bc25","width":0.0,"x":-2660.0,"y":-210.0,"zOrder":12643661,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"props_fences","persistentUuid":"741e2015-7a64-48ff-8111-a149b16c9c0a","width":70.0,"x":-980.0,"y":1750.0,"zOrder":115,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_NE","persistentUuid":"194b0c60-55e2-4f70-882c-5628cea6cca8","width":0.0,"x":3220.0,"y":1470.0,"zOrder":12643662,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"beach_sand_N","persistentUuid":"71209100-05fe-4cc3-9db7-866fa9bbb7b7","width":350.0,"x":2870.0,"y":1470.0,"zOrder":12643663,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0285714285714288,"height":432.00000000000008,"keepRatio":true,"layer":"","name":"beach_sand_E","persistentUuid":"e4b9f3ef-dc1d-4ff6-b8c5-aedafeee4f00","width":72.0,"x":2800.0,"y":1050.0,"zOrder":12643664,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"27bfb780-eafc-4252-a03f-c4b1e22d097e","width":0.0,"x":1470.0,"y":-490.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":270.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"ed213e8e-7a52-4000-a2fd-7c5286c3f5f2","width":0.0,"x":2800.0,"y":1470.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":270.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"f2966715-57d1-4706-b26d-81e3b517ee35","width":0.0,"x":910.0,"y":-490.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"df85fb4f-062b-4413-bbc2-593fd21038bd","width":0.0,"x":-1330.0,"y":-140.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"a4134427-686d-44b6-bbf3-4c99eac6770f","width":0.0,"x":2800.0,"y":980.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"62379605-6274-4f0c-8e89-6a8f7bb148b7","width":0.0,"x":1960.0,"y":3150.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"27f3e8c0-893c-49db-9136-885a833d1227","width":0.0,"x":-3290.0,"y":2100.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":270.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"abe300a4-60fe-409b-ab94-19a1deb33b5d","width":0.0,"x":-2660.0,"y":-140.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"d0d04ce7-8dee-4c86-9e72-3c6b8e480395","width":0.0,"x":-350.0,"y":3360.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"beach_sand_inner_SW","persistentUuid":"7aa6eed7-2196-40de-9256-3f092fd54fdf","width":0.0,"x":-2590.0,"y":3360.0,"zOrder":12643665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"b8dbf577-5a92-415e-8c55-272ac8e2ed0b","width":2590.0,"x":-2730.0,"y":3220.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1050.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"ecab230c-2ec6-4eeb-8045-559e70b503e0","width":1400.0,"x":1680.0,"y":-210.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1190.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"e96fbdac-f1ef-4382-bf53-0d9d827c1133","width":1680.0,"x":0.0,"y":2030.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1190.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"84a71607-10d8-4a71-817f-14fb43a3ce99","width":1260.0,"x":1680.0,"y":1680.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"4f68f495-2a95-4366-b8ac-30777eb65240","width":630.0,"x":910.0,"y":-420.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":840.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"5b32af7b-895f-4acc-b05f-6aeb00d1545a","width":980.0,"x":1680.0,"y":840.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":700.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"05325b4c-0500-4004-b22a-6bef55f629f3","width":1680.0,"x":-910.0,"y":420.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1330.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"d3e154dd-f42f-4e1a-88e4-2e2c7575031f","width":140.0,"x":-3780.0,"y":2310.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"ab4acf58-158e-4d81-af42-0806c7af0ff1","width":2100.0,"x":-280.0,"y":3360.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"a32e524c-f14f-4c48-abfe-84994abeccbe","width":1820.0,"x":1540.0,"y":-490.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1330.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"866cdf10-9e08-423c-9218-11fc6eff5fa8","width":140.0,"x":3220.0,"y":-350.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":350.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"ec9751b0-51ca-4ae8-9d49-737293207f05","width":140.0,"x":1820.0,"y":3150.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1610.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"f45a8b67-0147-472c-9075-6a58bca841a0","width":140.0,"x":3080.0,"y":1540.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"6a62e10b-17e0-4b7c-b38a-3dd5e1b6e79c","width":1260.0,"x":1820.0,"y":3010.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"e442f425-2881-4c93-b4e1-82d4fb3c35dc","width":2170.0,"x":-1260.0,"y":-490.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"4bb43774-b01d-46a9-a2fc-82f146a78684","width":1610.0,"x":-2660.0,"y":-70.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":280.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"86c213d5-90bf-49d3-9fd5-684a7cf4ecc6","width":210.0,"x":-1260.0,"y":-350.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"473f9747-d2e3-40bf-8195-3f02aab0ea25","width":630.0,"x":-3780.0,"y":2170.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"cb420157-4378-4cc1-9e57-29d94dc6113f","width":560.0,"x":-3220.0,"y":-210.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":2170.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"7678bbca-2896-4c91-bb6a-d910438e3a32","width":70.0,"x":-3220.0,"y":0.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":280.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"8743da5a-b375-4180-ac0e-d93511457b9b","width":140.0,"x":-2730.0,"y":3360.0,"zOrder":12643666,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1330.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"e22ef3f3-103f-4ac0-8699-253c5a5458ad","width":770.0,"x":-1680.0,"y":980.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1820.0,"keepRatio":true,"layer":"","name":"grass_tiled","persistentUuid":"8d26b06e-df59-476b-a244-52c3f1d5a443","width":770.0,"x":-2660.0,"y":490.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_leg","persistentUuid":"0785b352-857d-4c8c-8af7-a3c952462be9","width":0.0,"x":-140.0,"y":1766.0,"zOrder":50,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"type","type":"string","value":"L"}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_leg","persistentUuid":"6450cd42-b025-47ca-9dd0-f49cdae0eb97","width":0.0,"x":-140.0,"y":1680.0,"zOrder":50,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"angle","type":"number","value":180.0},{"folded":true,"name":"type","type":"string","value":"R"}]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"d3c5f97b-6735-4e4f-8f54-f07d24d79c09","width":1820.0,"x":-1050.0,"y":-350.0,"zOrder":12643667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1330.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"14e558bf-783b-4d84-a968-20799f1b9a3a","width":140.0,"x":2940.0,"y":1540.0,"zOrder":12643668,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"a53dcfc8-4709-4fcc-8d3a-627f624d8896","width":140.0,"x":2800.0,"y":1540.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":350.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"abb4418b-02a3-48ad-b923-062f8f2b2948","width":140.0,"x":-1050.0,"y":-210.0,"zOrder":12643669,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"d229e9f7-b20a-46b0-be10-342c1bb857e0","width":1680.0,"x":-910.0,"y":350.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":840.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"de811fed-d71f-4c48-ac9d-e57dbeee15be","width":70.0,"x":-980.0,"y":140.0,"zOrder":12643671,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"c5aae110-3685-47db-9692-e8513f48a122","width":700.0,"x":-1680.0,"y":910.0,"zOrder":12643672,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"14e9a161-7426-4504-afd3-840e48e2d95d","width":2100.0,"x":-3150.0,"y":0.0,"zOrder":12643673,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":2030.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"8bc49b17-f0d2-49c8-a923-13119fcfb44f","width":70.0,"x":-2730.0,"y":420.0,"zOrder":12643674,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":2310.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"6c5704dc-93a0-42c1-bb48-7ae770b557ac","width":70.0,"x":-3150.0,"y":140.0,"zOrder":12643674,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":70.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"5532afef-b128-4ba3-9dab-f6cbfde7320d","width":770.0,"x":-2660.0,"y":420.0,"zOrder":12643675,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"144cd8a3-81fe-453c-ad44-43bcbd84e522","width":1890.0,"x":-2660.0,"y":2310.0,"zOrder":12643676,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1120.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"2a3c1709-7b04-404a-805c-f26ca75b9619","width":140.0,"x":-3640.0,"y":2450.0,"zOrder":12643677,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"6bbe9c08-a607-463a-bdf8-92003459199d","width":490.0,"x":-3640.0,"y":2310.0,"zOrder":12643676,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"2e6da1a0-425c-446e-8891-b1ab96e08003","width":140.0,"x":1680.0,"y":3010.0,"zOrder":12643678,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"b048617e-5ba0-47c6-a406-e4bc6eed5dc0","width":2870.0,"x":-2870.0,"y":3080.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":350.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"22ba06ca-5059-450e-9042-ff83ebb269a6","width":140.0,"x":-2870.0,"y":3220.0,"zOrder":12643679,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1050.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"a8d8a7cd-f077-4357-9068-fb73511c2055","width":140.0,"x":-910.0,"y":1260.0,"zOrder":12643678,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"3b39aaee-fa9c-47d2-a58c-24d92172efc5","width":1820.0,"x":-910.0,"y":1120.0,"zOrder":12643667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1470.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"b6b4e057-051b-439e-9bdf-5ffcab009098","width":140.0,"x":770.0,"y":-350.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"0e344f80-8b2f-468b-9ff8-3d47ad326551","width":1680.0,"x":0.0,"y":1890.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"5b16034d-c7a9-4777-8936-0235d3adf9aa","width":1960.0,"x":-140.0,"y":3220.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":2240.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"70d05402-6f7b-4dac-80ed-5d9eda9cd194","width":140.0,"x":1540.0,"y":-350.0,"zOrder":12643668,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1190.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"d5f1bb40-1f3c-4c01-91e5-a8a8e09e2a52","width":140.0,"x":3080.0,"y":-210.0,"zOrder":12643668,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"c1172909-7196-4a21-9fec-fb51da62ca5f","width":1540.0,"x":1680.0,"y":-350.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":840.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"3bb3ff70-09de-4889-b65d-386bf0762088","width":140.0,"x":2660.0,"y":840.0,"zOrder":12643668,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"d9b34795-39e0-48b8-b0f5-e7299921c6d6","width":280.0,"x":2800.0,"y":840.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"be5b11eb-e662-4bce-a01f-ff11e49782a2","width":1400.0,"x":1680.0,"y":2870.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1190.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"799f6dc4-040d-48f2-a9e0-a25706bb2fd7","width":140.0,"x":-140.0,"y":1890.0,"zOrder":12643678,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1400.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"196daab6-2cc0-4b53-bef7-29e723904330","width":210.0,"x":-1890.0,"y":910.0,"zOrder":12643680,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"5ed98d63-b650-47ea-8c73-67105d0aa136","width":490.0,"x":1680.0,"y":280.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"27e3f1ce-1e1c-414f-adb8-71d3ed65b45d","width":140.0,"x":-2380.0,"y":2100.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"87587bed-2a52-4f12-9577-8c0086472a91","width":210.0,"x":-2450.0,"y":770.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"b7e13995-ff48-4cdd-bf08-4e49c768ac16","width":560.0,"x":-2450.0,"y":630.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":490.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"a7b2b557-d4e4-4f5b-9fa8-6b43642ed1db","width":140.0,"x":-280.0,"y":630.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"a63215e1-c3e8-48ad-9877-2a9dfa641089","width":140.0,"x":420.0,"y":910.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"54b4bb76-1acf-45e4-9201-5a98719b8e7e","width":210.0,"x":-1120.0,"y":1330.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"03a4bf2c-a99f-43fa-b7e5-bbbdad763ddc","width":420.0,"x":1680.0,"y":1120.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":280.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"71484182-530a-40e5-ab79-c7a492ab150d","width":210.0,"x":420.0,"y":2030.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_2","persistentUuid":"22819bc0-8140-4679-bf91-4139c2e44406","width":210.0,"x":-1120.0,"y":1960.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":210.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"53a9990f-2d1e-44f4-afd5-766b33831dab","width":70.0,"x":-1960.0,"y":770.0,"zOrder":12643681,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"sand_tiled_1","persistentUuid":"d03a10be-5fe6-46df-886e-3c49d3f92268","width":70.0,"x":-1960.0,"y":490.0,"zOrder":12643681,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"uziLong_pick","persistentUuid":"3133f8c5-fdf8-4e87-ba01-b00fcbef57a2","width":0.0,"x":70.0,"y":1190.0,"zOrder":12643682,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":140.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"ef489ea3-e0b9-4c3c-ae35-99a135f7cc5d","width":70.0,"x":1190.0,"y":1470.0,"zOrder":12643616,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"assetStoreId":"","height":32.0,"name":"grass_tiled","texture":"assets/environment/foliage/grass/grass_1.png","type":"TiledSpriteObject::TiledSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"building_rooftop","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/building/rooftop/roof_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":174.5,"y":73.5},{"x":827.5,"y":74.0},{"x":826.5,"y":927.0},{"x":175.5,"y":926.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/building/rooftop/roof_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":53.0,"y":197.5},{"x":906.5,"y":198.0},{"x":906.0,"y":846.0},{"x":56.0,"y":849.5}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/building/rooftop/roof_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":111.0,"y":295.0},{"x":893.0,"y":297.5},{"x":893.0,"y":703.0},{"x":107.0,"y":705.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"sand_sprite","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/tile/path/sand.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"door","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"Room","type":"string","value":"-1"},{"name":"Direction","type":"string","value":"0"}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/misc/door.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"player_crosshair","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"BlendingMode","name":"Effect","doubleParameters":{"blendmode":2.0,"opacity":1.0},"stringParameters":{},"booleanParameters":{}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"StayOnScreen","type":"StayOnScreen::StayOnScreen","MarginTop":0.0,"MarginBottom":0.0,"MarginLeft":0.0,"MarginRight":0.0}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/crosshair/crosshair_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_fences","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"Id","type":"string","value":"0"},{"folded":true,"name":"strength","type":"number","value":10.0}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":26.0,"y":27.5},{"x":37.0,"y":27.5},{"x":37.0,"y":64.0},{"x":26.0,"y":64.0}],[{"x":0.0,"y":27.5},{"x":25.0,"y":27.5},{"x":25.0,"y":36.5},{"x":0.0,"y":36.5}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.23897099494934083,"y":26.0},{"x":63.76839828491211,"y":26.0},{"x":63.474300384521487,"y":37.0},{"x":0.23897099494934083,"y":37.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":64.0,"y":27.5},{"x":37.0,"y":27.5},{"x":37.5,"y":36.5},{"x":64.0,"y":36.5}],[{"x":27.5,"y":27.5},{"x":37.0,"y":27.5},{"x":37.0,"y":64.0},{"x":28.0,"y":64.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":27.5,"y":0.0},{"x":36.0,"y":0.0},{"x":36.0,"y":64.0},{"x":28.0,"y":64.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":64.0,"y":26.0},{"x":26.0,"y":26.0},{"x":26.0,"y":37.0},{"x":64.0,"y":37.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":26.0},{"x":38.0,"y":26.0},{"x":38.5,"y":37.0},{"x":0.0,"y":37.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":26.0,"y":0.0},{"x":37.0,"y":0.0},{"x":37.0,"y":37.0},{"x":26.0,"y":37.0}],[{"x":37.0,"y":26.0},{"x":64.0,"y":26.0},{"x":64.0,"y":37.0},{"x":37.0,"y":37.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":26.0},{"x":37.0,"y":26.0},{"x":37.0,"y":37.0},{"x":0.0,"y":37.0}],[{"x":26.5,"y":0.0},{"x":37.0,"y":0.0},{"x":37.0,"y":25.5},{"x":26.5,"y":25.5}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_roadblock","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"Shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/tile/road_block/block_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/tile/road_block/block_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bold":false,"italic":false,"name":"debug_ammo_text","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Ammo: [number]","font":"","textAlignment":"","characterSize":30.0,"color":{"b":156,"g":156,"r":156},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Ammo: [number]","font":"","textAlignment":"","characterSize":30.0,"color":"156;156;156"}},{"assetStoreId":"","bold":false,"italic":false,"name":"weapon_holding","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"weapon: [weapon]","font":"","textAlignment":"","characterSize":20.0,"color":{"b":156,"g":156,"r":156},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"weapon: [weapon]","font":"","textAlignment":"","characterSize":20.0,"color":"156;156;156"}},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_foliage","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":10.0,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/foliage/tree/tree_4.png","points":[],"originPoint":{"name":"origine","x":48.0,"y":52.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":33.0,"y":37.5},{"x":65.0,"y":37.5},{"x":65.0,"y":69.5},{"x":33.0,"y":69.5}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":10.0,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/foliage/tree/tree_3.png","points":[],"originPoint":{"name":"origine","x":43.5,"y":43.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":33.0,"y":37.5},{"x":65.0,"y":37.5},{"x":65.0,"y":69.5},{"x":33.0,"y":69.5}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/foliage/tree/tree_2.png","points":[],"originPoint":{"name":"origine","x":31.0,"y":33.5},"centerPoint":{"automatic":false,"name":"centre","x":32.0,"y":32.5},"customCollisionMask":[[{"x":20.0,"y":20.0},{"x":44.0,"y":20.0},{"x":44.0,"y":44.0},{"x":20.0,"y":44.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/foliage/tree/tree_1.png","points":[],"originPoint":{"name":"origine","x":31.0,"y":32.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":20.0,"y":20.0},{"x":44.0,"y":20.0},{"x":44.0,"y":44.0},{"x":20.0,"y":44.0}]]}]}]}]},{"assetStoreId":"","height":32.0,"name":"sea_tiled_water_cover","texture":"assets/environment/water/water_1.png","type":"TiledSpriteObject::TiledSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"InOnScreen","type":"IsOnScreen::InOnScreen"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":20000.0,"name":"sea_tiled_water","texture":"assets/environment/water/water_1.png","type":"TiledSpriteObject::TiledSprite","width":20000.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"basketball","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"Shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Bounce","type":"Bounce::Bounce","OldX":0.0,"OldY":0.0,"OldForceAngle":0.0,"OldForceLength":0.0,"NormalAngle":0.0},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.2,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/sport/basketball/ball/basketball_1.png","points":[],"originPoint":{"name":"origine","x":8.78396987915039,"y":9.021739959716797},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets/environment/sport/basketball/ball/basketball_2.png","points":[],"originPoint":{"name":"origine","x":8.78396987915039,"y":9.021739959716797},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"basketball_hoop","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"Shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/sport/basketball/hoop/hoop.png","points":[],"originPoint":{"name":"origine","x":76.5,"y":56.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":8.5},{"x":66.0,"y":17.5},{"x":67.0,"y":93.5},{"x":0.0,"y":103.5}]]}]}]}]},{"assetStoreId":"","height":32.0,"name":"ground_1","texture":"assets/environment/sport/basketball/ground/ground_1.png","type":"TiledSpriteObject::TiledSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"basketball_court","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/sport/basketball/ground_elements/element_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"additive":true,"assetStoreId":"","destroyWhenNoParticles":false,"emitterAngleA":0.0,"emitterAngleB":20.0,"emitterForceMax":30.0,"emitterForceMin":23.0,"flow":12.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":300000,"name":"flame_thrower_fire_secondary","particleAlpha1":200.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":168.0,"particleBlue2":8.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":245.0,"particleGreen2":43.0,"particleLifeTimeMax":0.5,"particleLifeTimeMin":0.20000000298023225,"particleRed1":255.0,"particleRed2":214.0,"particleSize1":40.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":-1.0,"textureParticleName":"assets\\particles\\FireParticle.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":5.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":true,"assetStoreId":"","destroyWhenNoParticles":false,"emitterAngleA":0.0,"emitterAngleB":20.0,"emitterForceMax":300.0,"emitterForceMin":230.0,"flow":120.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":3000000,"name":"flame_thrower_fire","particleAlpha1":200.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":168.0,"particleBlue2":8.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":245.0,"particleGreen2":43.0,"particleLifeTimeMax":0.5,"particleLifeTimeMin":0.20000000298023225,"particleRed1":255.0,"particleRed2":214.0,"particleSize1":40.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":-1.0,"textureParticleName":"assets\\particles\\FireParticle.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":5.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"assetStoreId":"","bold":false,"italic":false,"name":"weapon_reloading","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"debug menu - \"h\" to toggle menu visibility","font":"","textAlignment":"","characterSize":30.0,"color":{"b":112,"g":112,"r":112},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"debug menu - \"h\" to toggle menu visibility","font":"","textAlignment":"","characterSize":30.0,"color":"112;112;112"}},{"assetStoreId":"","bold":false,"italic":false,"name":"wheel_info","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Wheel using: [number]","font":"","textAlignment":"","characterSize":30.0,"color":{"b":156,"g":156,"r":156},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Wheel using: [number]","font":"","textAlignment":"","characterSize":30.0,"color":"156;156;156"}},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_decorations","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/decoration/decoration_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":272.0,"y":248.0},{"x":357.0,"y":258.0},{"x":353.0,"y":322.0},{"x":269.5,"y":307.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_moveable","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"Shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Bounce","type":"Bounce::Bounce","OldX":0.0,"OldY":0.0,"OldForceAngle":0.0,"OldForceLength":0.0,"NormalAngle":0.0},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_9.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_10.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_11.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":360.0,"emitterForceMax":85.0,"emitterForceMin":45.0,"flow":41.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":5,"name":"brown_leaves_particle","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":45.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":51.0,"particleBlue2":0.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":51.0,"particleGreen2":255.0,"particleLifeTimeMax":2.0,"particleLifeTimeMin":1.5,"particleRed1":255.0,"particleRed2":255.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":5.0,"textureParticleName":"assets\\foliage\\leaves\\treeBrown_leaf.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":3.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":360.0,"emitterForceMax":85.0,"emitterForceMin":45.0,"flow":41.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":5,"name":"green_leaves_particle","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":45.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":51.0,"particleBlue2":0.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":51.0,"particleGreen2":255.0,"particleLifeTimeMax":2.0,"particleLifeTimeMin":1.5,"particleRed1":255.0,"particleRed2":255.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":5.0,"textureParticleName":"assets\\foliage\\leaves\\treeGreen_leaf.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":3.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"assetStoreId":"","height":32.0,"name":"concrete_1","texture":"assets/environment/tile/path/concrete.png","type":"TiledSpriteObject::TiledSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"hidden_separate","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"hidden_separate","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/misc/black.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","height":64.0,"name":"road_tiled_white_N","texture":"assets/environment/tile/road/road_11.png","type":"TiledSpriteObject::TiledSprite","width":64.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"phone_wifi","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":true,"IsDestroyedWithParent":true},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/wifi/wifi_0.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":2.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/wifi/wifi_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":5.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/wifi/wifi_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":8.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/wifi/wifi_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":11.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"phone_battery","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":true,"IsDestroyedWithParent":true},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/battery/battery_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/battery/battery_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/battery/battery_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bold":false,"italic":false,"name":"phone_time","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":true,"IsDestroyedWithParent":true},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"string":"00:00","font":"","textAlignment":"","characterSize":15.0,"color":{"b":255,"g":255,"r":255},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"00:00","font":"","textAlignment":"","characterSize":15.0,"color":"255;255;255"}},{"assetStoreId":"","height":70.0,"name":"beach_sand_W","texture":"assets/environment/tile/map_edge/map_edge_12.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"edge_sand_NW","texture":"assets/environment/tile/map_edge/map_edge_1.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_SW","texture":"assets/environment/tile/map_edge/map_edge_10.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"weapon_icons","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":1.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":1.0,"useLegacyBottomAndRightAnchors":false},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\UI\\weapon_icons\\tazer_icon.png","points":[],"originPoint":{"name":"origine","x":73.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":73.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\UI\\weapon_icons\\sniper_icon.png","points":[],"originPoint":{"name":"origine","x":73.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":73.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\UI\\weapon_icons\\rocket_launcher_icon.png","points":[],"originPoint":{"name":"origine","x":73.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":73.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"NewObject","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"mouse_point","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"mouse_point","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\mouse_point-1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"additive":true,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":360.0,"emitterForceMax":300.0,"emitterForceMin":35.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":8000,"name":"bullet_destroy_rocket","particleAlpha1":255.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":5.0,"particleAngle2":100.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":1.0,"particleBlue2":0.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":58.0,"particleGreen2":235.0,"particleLifeTimeMax":2.0,"particleLifeTimeMin":0.5,"particleRed1":83.0,"particleRed2":255.0,"particleSize1":100.0,"particleSize2":125.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":200.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":1.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":75.0,"emitterForceMax":120.0,"emitterForceMin":35.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":150,"name":"bullet_destroy_machine","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":35.0,"particleBlue2":3.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":166.0,"particleGreen2":159.0,"particleLifeTimeMax":1.0,"particleLifeTimeMin":0.5,"particleRed1":245.0,"particleRed2":173.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":45.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":0.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":45.0,"emitterForceMax":120.0,"emitterForceMin":35.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":110,"name":"bullet_destroy_sniper","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":35.0,"particleBlue2":3.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":166.0,"particleGreen2":159.0,"particleLifeTimeMax":0.800000011920929,"particleLifeTimeMin":0.5,"particleRed1":245.0,"particleRed2":173.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":25.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":0.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":45.0,"emitterForceMax":120.0,"emitterForceMin":35.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":135,"name":"bullet_destroy_pistol","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":35.0,"particleBlue2":3.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":166.0,"particleGreen2":159.0,"particleLifeTimeMax":1.0,"particleLifeTimeMin":0.5,"particleRed1":245.0,"particleRed2":173.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":40.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":0.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":35.0,"emitterForceMax":300.0,"emitterForceMin":45.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":80,"name":"shooting_effect_rocket","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":97.0,"particleBlue2":167.0,"particleGravityX":50.0,"particleGravityY":50.0,"particleGreen1":97.0,"particleGreen2":167.0,"particleLifeTimeMax":2.0,"particleLifeTimeMin":0.5,"particleRed1":99.0,"particleRed2":167.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":45.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":0.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":18.0,"emitterForceMax":200.0,"emitterForceMin":45.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":80,"name":"shooting_effect_sniper","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":97.0,"particleBlue2":167.0,"particleGravityX":100.0,"particleGravityY":100.0,"particleGreen1":97.0,"particleGreen2":167.0,"particleLifeTimeMax":1.0,"particleLifeTimeMin":0.5,"particleRed1":99.0,"particleRed2":167.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":45.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":1.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":22.0,"emitterForceMax":200.0,"emitterForceMin":45.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":80,"name":"shooting_effect","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":97.0,"particleBlue2":167.0,"particleGravityX":100.0,"particleGravityY":100.0,"particleGreen1":97.0,"particleGreen2":167.0,"particleLifeTimeMax":1.0,"particleLifeTimeMin":0.5,"particleRed1":99.0,"particleRed2":167.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":45.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":1.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"assetStoreId":"","name":"debug_toggle","type":"PrimitiveDrawing::Drawer","variables":[{"folded":true,"name":"id","type":"string","value":"0"},{"folded":true,"name":"info","type":"string","value":"enable Shadow"}],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ToggleSwitch","type":"ToggleSwitch::ToggleSwitch","ThumbRadius":10.0,"ActiveThumbColor":"24;119;211","ThumbOpacity":255.0,"TrackWidth":20.0,"TrackHeight":14.0,"InactiveTrackColor":"150;150;150","InactiveTrackOpacity":255.0,"ActiveTrackColor":"","ActiveTrackOpacity":128.0,"HaloRadius":24.0,"HaloOpacityHover":32.0,"HaloOpacityPressed":64.0,"ThumbOffset":0.0,"Checked":false,"Disabled":false,"ToggleChanged":false,"InactiveThumbColor":"255;255;255","IsPressed":false,"ThumbShadowOffsetY":4.0,"ThumbShadowOffsetX":0.0,"ThumbShadowOpacity":32.0,"NeedRedaw":true,"IsHovered":false,"WasHovered":false}],"fillOpacity":255.0,"outlineSize":1,"outlineOpacity":255.0,"fillColor":{"b":255,"g":255,"r":255},"outlineColor":{"b":0,"g":0,"r":0},"absoluteCoordinates":false,"clearBetweenFrames":true,"antialiasing":"none"},{"assetStoreId":"","bold":false,"italic":false,"name":"debug_text","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Text","font":"","textAlignment":"left","characterSize":20.0,"color":{"b":0,"g":0,"r":0},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Text","font":"","textAlignment":"left","characterSize":20.0,"color":"0;0;0"}},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"phone_frame","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"Outline","name":"Effect","doubleParameters":{"padding":0.0,"thickness":1.0},"stringParameters":{"color":"29;29;27"},"booleanParameters":{}}],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/frame/frame_1.png","points":[{"name":"1","x":50.0,"y":370.5},{"name":"2","x":115.0,"y":370.5},{"name":"3","x":180.0,"y":370.5}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":224.0,"y":0.0},{"x":224.0,"y":418.0},{"x":0.0,"y":418.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"phone_mask","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"0;0;0","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/frame/frame_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":215.0,"y":0.0},{"x":215.0,"y":417.0},{"x":0.0,"y":417.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"phone_icon","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"id","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"phone","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/apps/app_1.png","points":[],"originPoint":{"name":"origine","x":28.0,"y":28.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":56.0,"y":0.0},{"x":56.0,"y":56.0},{"x":0.0,"y":56.0}]]}]}]},{"name":"images","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/apps/app_2.png","points":[],"originPoint":{"name":"origine","x":28.0,"y":28.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":56.0,"y":0.0},{"x":56.0,"y":56.0},{"x":0.0,"y":56.0}]]}]}]},{"name":"camera","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/apps/app_3.png","points":[],"originPoint":{"name":"origine","x":28.0,"y":28.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":56.0,"y":0.0},{"x":56.0,"y":56.0},{"x":0.0,"y":56.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"phone_wallpaper","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"EllipseMovement","type":"EllipseMovement::EllipseMovement","RadiusX":100.0,"RadiusY":0.0,"LoopDuration":20.0,"InitialTurningLeft":false,"InitialDirectionAngle":0.0,"ShouldRotate":false,"RotationOffset":0.0,"CenterX":0.0,"CenterY":0.0,"MovementAngle":0.0,"OldX":2.0247e-320,"OldY":2.0247e-320},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/wallpaper/wallpaper_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":1.0},{"x":1024.0,"y":1.0},{"x":1024.0,"y":1025.0},{"x":0.0,"y":1025.0}]]},{"hasCustomCollisionMask":true,"image":"assets/character/phone/wallpaper/wallpaper_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":1.0},{"x":1024.0,"y":1.0},{"x":1024.0,"y":1025.0},{"x":0.0,"y":1025.0}]]},{"hasCustomCollisionMask":true,"image":"assets/character/phone/wallpaper/wallpaper_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":1.0},{"x":1024.0,"y":1.0},{"x":1024.0,"y":1025.0},{"x":0.0,"y":1025.0}]]},{"hasCustomCollisionMask":true,"image":"assets/character/phone/wallpaper/wallpaper_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":1.0},{"x":1024.0,"y":1.0},{"x":1024.0,"y":1025.0},{"x":0.0,"y":1025.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"weapon_icon","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":false,"IsDestroyedWithParent":false},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"uziSilencer","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/uziSilencer.png","points":[],"originPoint":{"name":"origine","x":85.0,"y":65.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"uziLongSilencer","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/uziLongSilencer.png","points":[],"originPoint":{"name":"origine","x":121.5,"y":64.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"uziLong","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/uziLong.png","points":[],"originPoint":{"name":"origine","x":85.0,"y":65.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"uzi","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/uzi.png","points":[],"originPoint":{"name":"origine","x":52.5,"y":65.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"sniper","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/sniper.png","points":[],"originPoint":{"name":"origine","x":200.5,"y":54.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"shotgunShort","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/shotgunShort.png","points":[],"originPoint":{"name":"origine","x":98.0,"y":26.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"shotgun","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/shotgun.png","points":[],"originPoint":{"name":"origine","x":97.5,"y":26.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"rocketLauncherModern","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/rocketlauncher.png","points":[],"originPoint":{"name":"origine","x":152.5,"y":65.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"rocketLauncher","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/rocketlauncher.png","points":[],"originPoint":{"name":"origine","x":199.5,"y":71.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"pistolSilencer","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/pistolSilencer.png","points":[],"originPoint":{"name":"origine","x":79.5,"y":45.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"pistol","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/pistol.png","points":[],"originPoint":{"name":"origine","x":57.5,"y":45.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/machinegunLauncher.png","points":[],"originPoint":{"name":"origine","x":116.0,"y":51.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/machinegun.png","points":[],"originPoint":{"name":"origine","x":116.5,"y":52.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/knifeRound_sharp.png","points":[],"originPoint":{"name":"origine","x":17.5,"y":68.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/knifeRound_smooth.png","points":[],"originPoint":{"name":"origine","x":17.5,"y":69.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/knife_sharp.png","points":[],"originPoint":{"name":"origine","x":15.0,"y":68.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/grenadeVintage.png","points":[],"originPoint":{"name":"origine","x":19.5,"y":74.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/grenadeSmoke.png","points":[],"originPoint":{"name":"origine","x":18.5,"y":38.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/grenadeFlash.png","points":[],"originPoint":{"name":"origine","x":17.5,"y":38.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/grenade.png","points":[],"originPoint":{"name":"origine","x":22.5,"y":34.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/flamethrower_short.png","points":[],"originPoint":{"name":"origine","x":106.5,"y":41.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/flamethrower_long.png","points":[],"originPoint":{"name":"origine","x":114.0,"y":40.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"weapon_bar","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/icon/bar.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":112.0,"y":0.0},{"x":1807.0,"y":0.0},{"x":1807.0,"y":296.0},{"x":112.0,"y":296.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"weaponWheelSticker","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"hidden_separate","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/misc/black.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_N","texture":"assets/environment/tile/map_edge/map_edge_2.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_E","texture":"assets/environment/tile/map_edge/map_edge_5.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_SE","texture":"assets/environment/tile/map_edge/map_edge_7.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_NE","texture":"assets/environment/tile/map_edge/map_edge_4.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":302.0,"name":"bridge_tiled_1","texture":"assets/environment/bridge/bridge.png","type":"TiledSpriteObject::TiledSprite","width":300.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","bold":false,"italic":false,"name":"debug_fps","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"fps","font":"","textAlignment":"","characterSize":30.0,"color":{"b":112,"g":112,"r":112},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"fps","font":"","textAlignment":"","characterSize":30.0,"color":"112;112;112"}},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"player_body","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"Animation","type":"string","value":""},{"folded":true,"name":"Customisation","type":"structure","children":[{"folded":true,"name":"body","type":"number","value":0.0},{"folded":true,"name":"hand","type":"number","value":0.0},{"folded":true,"name":"leg","type":"number","value":0.0}]},{"folded":true,"name":"Movement","type":"structure","children":[{"name":"TopDownMovement","type":"structure","children":[{"name":"run","persistentUuid":"dbe1965b-d1af-415d-9e83-2e4312af1344","type":"structure","children":[{"folded":true,"name":"Acceleration","type":"number","value":5000.0},{"folded":true,"name":"Deceleration","type":"number","value":5000.0},{"folded":true,"name":"maxSpeed","persistentUuid":"951b3641-c7f3-4740-be3a-9ce2e9e0f693","type":"number","value":400.0},{"folded":true,"name":"shuffleSwitchTime","type":"number","value":200.0},{"folded":true,"name":"shuffleTweenDelay","type":"number","value":0.1},{"folded":true,"name":"shuffleTweenDuration","type":"number","value":0.2}]},{"name":"walk","type":"structure","children":[{"folded":true,"name":"Acceleration","type":"number","value":5000.0},{"folded":true,"name":"Deceleration","type":"number","value":5000.0},{"folded":true,"name":"maxSpeed","persistentUuid":"951b3641-c7f3-4740-be3a-9ce2e9e0f693","type":"number","value":300.0},{"folded":true,"name":"shuffleSwitchTime","persistentUuid":"c6a43fd0-3cef-4009-bdcb-974b49edf1d1","type":"number","value":1000.0},{"folded":true,"name":"shuffleTweenDelay","persistentUuid":"e725550c-0f72-4304-99c6-c8bb804277bb","type":"number","value":0.2},{"folded":true,"name":"shuffleTweenDuration","persistentUuid":"5b2ef896-624b-46b8-9e33-3419d81e02eb","type":"number","value":0.3}]}]},{"name":"canMove","type":"boolean","value":true}]},{"folded":true,"name":"Camera","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":true}]},{"folded":true,"name":"Phone","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false}]},{"name":"Weapon","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"equipped","type":"string","value":""}]}],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.1,"blur":0.0,"distance":6.0,"padding":0.0,"quality":4.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}},{"effectType":"Reflection","name":"breathing","doubleParameters":{"alphaEnding":1.0,"alphaStart":1.0,"amplitudeEnding":3.0,"amplitudeStart":0.0,"animationSpeed":1.0,"boundary":0.0,"waveLengthEnding":100.0,"waveLengthStart":60.0},"stringParameters":{},"booleanParameters":{"mirror":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"FireBullet","type":"FireBullet::FireBullet","FireCooldown":0.1,"HasJustFired":false,"RotateBullet":true,"FiringArc":45.0,"BulletQuantity":1.0,"AngleVariance":3.0,"BulletSpeedVariance":0.0,"AmmoQuantity":0.0,"ShotsPerReload":0.0,"ReloadDuration":1.0,"MaxAmmo":0.0,"ShotsBeforeNextReload":0.0,"TotalShotsFired":0.0,"TotalBulletsCreated":0.0,"StartingAmmo":0.0,"TotalReloadsCompleted":0.0,"UnlimitedAmmo":true,"ReloadInProgress":false,"HeatIncreasePerShot":0.0,"HeatLevel":0.0,"AutomaticReloading":true,"OverheatDuration":0.0,"LinearCoolingRate":0.1,"ExponentialCoolingRate":0.3,"BulletLayer":"","RandomizedAngle":0.0},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior","angularMaxSpeed":500.0,"acceleration":200.0,"deceleration":200.0,"ignoreDefaultControls":true,"maxSpeed":200.0,"allowDiagonals":true,"angleOffset":0.0,"customIsometryAngle":30.0,"movementAngleOffset":0.0,"rotateObject":true,"viewpoint":"TopDown"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_1.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_2.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_3.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_4.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_5.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_6.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_7.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_8.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_9.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"player_leg","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"type","type":"string","value":""},{"folded":true,"name":"angle","type":"number","value":0.0}],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":6.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"player_hand","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"type","type":"string","value":""},{"folded":true,"name":"angle","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_2.png","points":[{"name":"finger","x":29.5,"y":12.5}],"originPoint":{"name":"origine","x":0.0,"y":12.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":12.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":13.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":13.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_9.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_10.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_NE","texture":"assets/environment/tile/road/road_16.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_NW","texture":"assets/environment/tile/road/road_15.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_W","texture":"assets/environment/tile/road/road_8.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_E","texture":"assets/environment/tile/road/road_10.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_center","texture":"assets/environment/tile/road/road_43.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_S","texture":"assets/environment/tile/road/road_27.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_SE","texture":"assets/environment/tile/road/road_31.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_SW","texture":"assets/environment/tile/road/road_30.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_inner","texture":"assets/environment/tile/road/road_24.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_end","texture":"assets/environment/tile/road/road_39.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_curve_right","texture":"assets/environment/tile/road/road_13.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_S","texture":"assets/environment/tile/map_edge/map_edge_9.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_curve_left","texture":"assets/environment/tile/road/road_14.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_inner_SW","texture":"assets/environment/tile/map_edge/map_edge_14.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"sand_tiled_1","texture":"assets/environment/tile/path/sand.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"sand_tiled_2","texture":"assets/environment/tile/path/dirt.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"uziGold_hold","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"properties","type":"structure","children":[{"folded":true,"name":"angle","type":"number","value":270.0},{"folded":true,"name":"height","type":"number","value":100.0},{"folded":true,"name":"pushBackStrength","persistentUuid":"4f3e2c10-41c8-4036-ad79-5ccc09bfb98a","type":"number","value":10.0},{"folded":true,"name":"variance","type":"number","value":4.0},{"folded":true,"name":"width","type":"number","value":100.0}]}],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/gun/uziGold.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":45.0,"y":16.0},{"x":55.0,"y":16.0},{"x":55.0,"y":59.0},{"x":45.0,"y":59.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"uziLong_hold","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"properties","type":"structure","children":[{"folded":true,"name":"angle","type":"number","value":270.0},{"folded":true,"name":"height","type":"number","value":100.0},{"folded":true,"name":"pushBackStrength","type":"number","value":10.0},{"folded":true,"name":"variance","type":"number","value":3.0},{"folded":true,"name":"width","type":"number","value":100.0}]}],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":false,"IsDestroyedWithParent":true}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/gun/uziLong.png","points":[{"name":"spawn","x":50.0,"y":70.0}],"originPoint":{"name":"origine","x":50.0,"y":32.0},"centerPoint":{"automatic":false,"name":"centre","x":50.0,"y":32.0},"customCollisionMask":[[{"x":44.0,"y":14.0},{"x":56.0,"y":14.0},{"x":56.0,"y":86.0},{"x":44.0,"y":86.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"uziLong_pick","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"EllipseMovement","type":"EllipseMovement::EllipseMovement","RadiusX":10.0,"RadiusY":10.0,"LoopDuration":6.0,"InitialTurningLeft":true,"InitialDirectionAngle":0.0,"ShouldRotate":true,"RotationOffset":0.0,"CenterX":0.0,"CenterY":0.0,"MovementAngle":0.0,"OldX":2.0247e-320,"OldY":2.0247e-320},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/gun/uziLong.png","points":[],"originPoint":{"name":"origine","x":50.0,"y":30.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":44.0,"y":14.0},{"x":56.0,"y":14.0},{"x":56.0,"y":86.0},{"x":44.0,"y":86.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"uzi_ammo","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"DestroyOutside","type":"DestroyOutsideBehavior::DestroyOutside","extraBorder":0.0},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/ammo/ammo_uzi.png","points":[],"originPoint":{"name":"origine","x":10.0,"y":13.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":19.0,"y":5.0},{"x":31.0,"y":5.0},{"x":31.0,"y":33.0},{"x":19.0,"y":33.0}]]}]}]}]}],"objectsFolderStructure":{"folderName":"__ROOT"},"events":[],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0},{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[{"effectType":"Sepia","name":"introSepia","doubleParameters":{"opacity":1.0},"stringParameters":{},"booleanParameters":{}},{"effectType":"KawaseBlur","name":"weaponBar","doubleParameters":{"blur":0.5,"padding":0.0,"pixelizeX":0.0,"pixelizeY":0.0,"quality":3.0},"stringParameters":{},"booleanParameters":{}},{"effectType":"LightNight","name":"nightDayCycle","doubleParameters":{"opacity":0.0},"stringParameters":{},"booleanParameters":{}},{"effectType":"Brightness","name":"brightness","doubleParameters":{"brightness":0.0},"stringParameters":{},"booleanParameters":{}}]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"UI","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Fade","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":3.0,"cameraType":"","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Debug","renderingType":"","visibility":true,"cameras":[],"effects":[]}],"behaviorsSharedData":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior"},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Bounce","type":"Bounce::Bounce"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"EllipseMovement","type":"EllipseMovement::EllipseMovement"},{"name":"FireBullet","type":"FireBullet::FireBullet"},{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"InOnScreen","type":"IsOnScreen::InOnScreen"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"StayOnScreen","type":"StayOnScreen::StayOnScreen"},{"name":"Sticker","type":"Sticker::Sticker"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"},{"name":"ToggleSwitch","type":"ToggleSwitch::ToggleSwitch"},{"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"usedResources":[{"name":"assets/character/body/body_1.png"},{"name":"assets/character/body/body_2.png"},{"name":"assets/character/body/body_3.png"},{"name":"assets/character/body/body_4.png"},{"name":"assets/character/body/body_5.png"},{"name":"assets/character/body/body_6.png"},{"name":"assets/character/body/body_7.png"},{"name":"assets/character/body/body_8.png"},{"name":"assets/character/body/body_9.png"},{"name":"assets/character/hand/hand_1.png"},{"name":"assets/character/hand/hand_10.png"},{"name":"assets/character/hand/hand_2.png"},{"name":"assets/character/hand/hand_3.png"},{"name":"assets/character/hand/hand_4.png"},{"name":"assets/character/hand/hand_5.png"},{"name":"assets/character/hand/hand_6.png"},{"name":"assets/character/hand/hand_7.png"},{"name":"assets/character/hand/hand_8.png"},{"name":"assets/character/hand/hand_9.png"},{"name":"assets/character/leg/leg_1.png"},{"name":"assets/character/leg/leg_2.png"},{"name":"assets/character/leg/leg_3.png"},{"name":"assets/character/leg/leg_4.png"},{"name":"assets/character/leg/leg_5.png"},{"name":"assets/character/leg/leg_6.png"},{"name":"assets/character/leg/leg_7.png"},{"name":"assets/character/leg/leg_8.png"},{"name":"assets/character/phone/apps/app_1.png"},{"name":"assets/character/phone/apps/app_2.png"},{"name":"assets/character/phone/apps/app_3.png"},{"name":"assets/character/phone/battery/battery_1.png"},{"name":"assets/character/phone/battery/battery_2.png"},{"name":"assets/character/phone/battery/battery_3.png"},{"name":"assets/character/phone/frame/frame_1.png"},{"name":"assets/character/phone/frame/frame_2.png"},{"name":"assets/character/phone/wallpaper/wallpaper_1.png"},{"name":"assets/character/phone/wallpaper/wallpaper_2.png"},{"name":"assets/character/phone/wallpaper/wallpaper_3.png"},{"name":"assets/character/phone/wallpaper/wallpaper_4.png"},{"name":"assets/character/phone/wifi/wifi_0.png"},{"name":"assets/character/phone/wifi/wifi_1.png"},{"name":"assets/character/phone/wifi/wifi_2.png"},{"name":"assets/character/phone/wifi/wifi_3.png"},{"name":"assets/environment/bridge/bridge.png"},{"name":"assets/environment/building/rooftop/roof_1.png"},{"name":"assets/environment/building/rooftop/roof_2.png"},{"name":"assets/environment/building/rooftop/roof_3.png"},{"name":"assets/environment/decoration/decoration_1.png"},{"name":"assets/environment/fence/fence_1.png"},{"name":"assets/environment/fence/fence_2.png"},{"name":"assets/environment/fence/fence_3.png"},{"name":"assets/environment/fence/fence_4.png"},{"name":"assets/environment/fence/fence_5.png"},{"name":"assets/environment/fence/fence_6.png"},{"name":"assets/environment/fence/fence_7.png"},{"name":"assets/environment/fence/fence_8.png"},{"name":"assets/environment/foliage/grass/grass_1.png"},{"name":"assets/environment/foliage/tree/tree_1.png"},{"name":"assets/environment/foliage/tree/tree_2.png"},{"name":"assets/environment/foliage/tree/tree_3.png"},{"name":"assets/environment/foliage/tree/tree_4.png"},{"name":"assets/environment/prop/props_1.png"},{"name":"assets/environment/prop/props_10.png"},{"name":"assets/environment/prop/props_11.png"},{"name":"assets/environment/prop/props_2.png"},{"name":"assets/environment/prop/props_3.png"},{"name":"assets/environment/prop/props_4.png"},{"name":"assets/environment/prop/props_6.png"},{"name":"assets/environment/prop/props_7.png"},{"name":"assets/environment/prop/props_8.png"},{"name":"assets/environment/prop/props_9.png"},{"name":"assets/environment/sport/basketball/ball/basketball_1.png"},{"name":"assets/environment/sport/basketball/ball/basketball_2.png"},{"name":"assets/environment/sport/basketball/ground/ground_1.png"},{"name":"assets/environment/sport/basketball/ground_elements/element_1.png"},{"name":"assets/environment/sport/basketball/hoop/hoop.png"},{"name":"assets/environment/tile/map_edge/map_edge_1.png"},{"name":"assets/environment/tile/map_edge/map_edge_10.png"},{"name":"assets/environment/tile/map_edge/map_edge_12.png"},{"name":"assets/environment/tile/map_edge/map_edge_14.png"},{"name":"assets/environment/tile/map_edge/map_edge_2.png"},{"name":"assets/environment/tile/map_edge/map_edge_4.png"},{"name":"assets/environment/tile/map_edge/map_edge_5.png"},{"name":"assets/environment/tile/map_edge/map_edge_7.png"},{"name":"assets/environment/tile/map_edge/map_edge_9.png"},{"name":"assets/environment/tile/path/concrete.png"},{"name":"assets/environment/tile/path/dirt.png"},{"name":"assets/environment/tile/path/sand.png"},{"name":"assets/environment/tile/road/road_10.png"},{"name":"assets/environment/tile/road/road_11.png"},{"name":"assets/environment/tile/road/road_13.png"},{"name":"assets/environment/tile/road/road_14.png"},{"name":"assets/environment/tile/road/road_15.png"},{"name":"assets/environment/tile/road/road_16.png"},{"name":"assets/environment/tile/road/road_24.png"},{"name":"assets/environment/tile/road/road_27.png"},{"name":"assets/environment/tile/road/road_30.png"},{"name":"assets/environment/tile/road/road_31.png"},{"name":"assets/environment/tile/road/road_39.png"},{"name":"assets/environment/tile/road/road_43.png"},{"name":"assets/environment/tile/road/road_8.png"},{"name":"assets/environment/tile/road_block/block_1.png"},{"name":"assets/environment/tile/road_block/block_2.png"},{"name":"assets/environment/water/water_1.png"},{"name":"assets/misc/black.png"},{"name":"assets/misc/door.png"},{"name":"assets/weapon/ammo/ammo_uzi.png"},{"name":"assets/weapon/crosshair/crosshair_1.png"},{"name":"assets/weapon/gun/uziGold.png"},{"name":"assets/weapon/gun/uziLong.png"},{"name":"assets/weapon/icon/bar.png"},{"name":"assets/weapon/icon/flamethrower_long.png"},{"name":"assets/weapon/icon/flamethrower_short.png"},{"name":"assets/weapon/icon/grenade.png"},{"name":"assets/weapon/icon/grenadeFlash.png"},{"name":"assets/weapon/icon/grenadeSmoke.png"},{"name":"assets/weapon/icon/grenadeVintage.png"},{"name":"assets/weapon/icon/knifeRound_sharp.png"},{"name":"assets/weapon/icon/knifeRound_smooth.png"},{"name":"assets/weapon/icon/knife_sharp.png"},{"name":"assets/weapon/icon/machinegun.png"},{"name":"assets/weapon/icon/machinegunLauncher.png"},{"name":"assets/weapon/icon/pistol.png"},{"name":"assets/weapon/icon/pistolSilencer.png"},{"name":"assets/weapon/icon/rocketlauncher.png"},{"name":"assets/weapon/icon/shotgun.png"},{"name":"assets/weapon/icon/shotgunShort.png"},{"name":"assets/weapon/icon/sniper.png"},{"name":"assets/weapon/icon/uzi.png"},{"name":"assets/weapon/icon/uziLong.png"},{"name":"assets/weapon/icon/uziLongSilencer.png"},{"name":"assets/weapon/icon/uziSilencer.png"},{"name":"assets\\UI\\weapon_icons\\rocket_launcher_icon.png"},{"name":"assets\\UI\\weapon_icons\\sniper_icon.png"},{"name":"assets\\UI\\weapon_icons\\tazer_icon.png"},{"name":"assets\\foliage\\leaves\\treeBrown_leaf.png"},{"name":"assets\\foliage\\leaves\\treeGreen_leaf.png"},{"name":"assets\\particles\\FireParticle.png"},{"name":"assets\\sound\\door_sound\\DoorClosing_0.wav"},{"name":"assets\\sound\\door_sound\\DoorOpening_0.wav"},{"name":"assets\\sprite_objects\\mouse_point-1.png"}]},{"b":232,"disableInputWhenNotFocused":true,"mangledName":"Game_95World","name":"Game_World","r":102,"standardSortMethod":true,"stopSoundsOnStartup":true,"title":"","v":165,"uiSettings":{"grid":true,"gridType":"rectangular","gridWidth":70.0,"gridHeight":70.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.19117730236712072,"windowMask":false},"objectsGroups":[],"variables":[{"folded":true,"name":"DebugVariables","type":"structure","children":[{"name":"shadowAdder","type":"number","value":0.0}]},{"folded":true,"name":"Game","type":"structure","children":[{"name":"Camera","type":"structure","children":[{"folded":true,"name":"Zoom","type":"number","value":0.0}]}]},{"folded":true,"name":"GodMode","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false}]},{"name":"Player","type":"structure","children":[{"folded":true,"name":"WeaponWheel","type":"structure","children":[{"folded":true,"name":"adder","type":"number","value":0.0}]},{"name":"Weapons","persistentUuid":"156e00a8-0565-4399-b01a-2d67f7dd2aea","type":"structure","children":[{"name":"Active","type":"structure","children":[{"name":"pistolSilencer","persistentUuid":"ca505ad0-64b4-44ee-b4b4-20ba640dd356","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"name":"slot","type":"number","value":1.0}]},{"name":"rocketLauncher","persistentUuid":"a8cbcdb0-769a-42ec-97ba-2d4452a2f44c","type":"structure","children":[{"name":"active","type":"boolean","value":false},{"name":"slot","type":"number","value":2.0}]},{"name":"rocketLauncherModern","persistentUuid":"c25e6f18-b9d3-4077-badd-9e7fe02d7289","type":"structure","children":[{"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":2.0}]},{"name":"shotgunLong","persistentUuid":"1ea7f09e-67e9-446c-b924-8b7841d8c706","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":1.0}]},{"name":"sniper","persistentUuid":"fd26e664-81a2-41e1-b99d-eb5b6f68fd1f","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":2.0}]},{"name":"uzi","persistentUuid":"8042baed-2539-4ca7-a163-86635a6c0c14","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":1.0}]},{"name":"uziLong","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"name":"slot","type":"number","value":1.0}]},{"name":"uziLongSilencer","persistentUuid":"f1e60af4-7996-42a0-b4ec-fa7e985445ea","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"slot","type":"number","value":1.0}]},{"name":"uziSilencer","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"name":"slot","type":"number","value":1.0}]}]},{"folded":true,"name":"Selected","type":"string","value":""},{"folded":true,"name":"Slot","type":"structure","children":[{"folded":true,"name":"current","type":"number","value":0.0},{"name":"max","type":"number","value":4.0}]}]}]}],"instances":[{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"debug_ammo_text","persistentUuid":"9f827c04-49af-448b-8657-4d6e8925c4ed","width":0.0,"x":-5110.0,"y":-5530.0,"zOrder":111,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"Debug","name":"weapon_reloading","persistentUuid":"e6e95d11-2c24-4feb-97b7-26db247638a4","width":0.0,"x":0.0,"y":0.0,"zOrder":1243,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"367b9fb5-f764-47a9-abf0-b4bca3be3e64","width":0.0,"x":-15412.0,"y":5740.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"5f5776b6-0228-4b20-b536-48c3a449edf8","width":0.0,"x":-15412.0,"y":5950.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"699a89e0-f262-4922-94f4-06b677b1690e","width":0.0,"x":-15412.0,"y":6160.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"9343d17c-7821-403e-bec3-1ea7e8c34047","width":0.0,"x":-15415.0,"y":6370.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"aa4ebfe0-4339-402d-a4a2-3f3f9aa09888","width":0.0,"x":-15411.0,"y":6580.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"e50ff460-d090-4876-b460-3e13f875d7ea","width":0.0,"x":-15413.0,"y":6790.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"e12d6482-65fc-4eec-bb1c-af70e2f5b587","width":0.0,"x":-15412.0,"y":7000.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"eeeff3f5-f20b-4b65-a8ca-ef0a18a694dc","width":0.0,"x":-15414.0,"y":7210.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"d9cf91a6-0d2d-481e-9d5f-3c76bc9fb8d3","width":0.0,"x":-15413.0,"y":7420.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"6889692b-bb8a-42f5-b92e-7d05884c3956","width":0.0,"x":-15413.0,"y":7630.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"9b1b9e09-c7d4-44b3-9099-cc28987bc93d","width":0.0,"x":-15413.0,"y":7840.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"99b93efe-61bd-4898-a661-f4f073ff5daf","width":0.0,"x":-15412.0,"y":8050.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"d161e608-d6a7-4475-b6b1-c724d1ec524d","width":0.0,"x":-15412.0,"y":8260.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"d061e83a-2103-444d-a61e-36eee1a38700","width":0.0,"x":-15413.0,"y":8470.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"1e5c958a-d494-4bf4-b1dd-efcb1c13d9aa","width":0.0,"x":-15415.0,"y":8680.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"121f7e40-428d-47c7-9fdf-13924d15c77c","width":0.0,"x":-15414.0,"y":8890.0,"zOrder":12610,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3920.0,"layer":"","name":"concrete_1","persistentUuid":"e50b3ae6-01f4-498f-a424-fbe09e890138","width":70.0,"x":-15750.0,"y":5390.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3920.0,"layer":"","name":"concrete_1","persistentUuid":"9c82384e-7f20-4090-9104-2af969cc37d2","width":70.0,"x":-15050.0,"y":5390.0,"zOrder":4,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3845.0,"layer":"","name":"hidden_separate","persistentUuid":"0ef98db6-7d9e-4b22-b706-6a5abfdfdf6b","width":15.0,"x":-14994.0,"y":5390.0,"zOrder":12615,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3845.0,"layer":"","name":"hidden_separate","persistentUuid":"1b7bf7dc-0ec4-4303-ae2e-d04e742028db","width":15.0,"x":-15747.0,"y":5390.0,"zOrder":12615,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1289.0,"layer":"Fade","name":"game_transition","persistentUuid":"d9fdfe8f-cca3-408f-ada5-d6011fc9140a","width":1994.0,"x":0.0,"y":0.0,"zOrder":12643568,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"Debug","name":"debug_toggle","persistentUuid":"405d6ded-99e2-4121-a8b1-1443f2202568","width":0.0,"x":18.0,"y":96.0,"zOrder":12643569,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"info","type":"string","value":"hide Sea"},{"folded":true,"name":"id","type":"string","value":"sea"}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"Debug","name":"debug_toggle","persistentUuid":"f0e1911b-a40a-4d17-b752-4c88c231f1ac","width":0.0,"x":18.0,"y":54.0,"zOrder":12643569,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"id","type":"string","value":"shadow"}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"UI","name":"debug_ammo_text","persistentUuid":"1d0de529-1976-49aa-995b-d6a7e22f8a7c","width":0.0,"x":1671.0,"y":19.0,"zOrder":12643570,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":3850.0,"keepRatio":true,"layer":"","name":"bridge_tiled_1","persistentUuid":"837f7806-c647-44c3-9868-98ff6e4a4a4f","width":300.0,"x":-15280.0,"y":5460.0,"zOrder":12643595,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":3850.0,"keepRatio":true,"layer":"","name":"bridge_tiled_1","persistentUuid":"1dbb9dd6-901b-42f3-983f-a71c727b0001","width":300.0,"x":-15750.0,"y":5460.0,"zOrder":12643595,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":34.0,"keepRatio":true,"layer":"Debug","name":"debug_fps","persistentUuid":"7a76b0af-6c17-4bb9-b114-4c8700fe0ab5","width":419.0,"x":630.0,"y":0.0,"zOrder":12643597,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_body","persistentUuid":"c90152c3-f5fd-4840-8342-c22364a67001","width":0.0,"x":-280.0,"y":1680.0,"zOrder":70,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[{"name":"Customisation","type":"structure","children":[{"folded":true,"name":"body","type":"number","value":0.0},{"folded":true,"name":"hand","type":"number","value":0.0},{"folded":true,"name":"leg","type":"number","value":0.0}]}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_hand","persistentUuid":"f56fa6f9-776f-432c-a128-396ffc5439fd","width":0.0,"x":-210.0,"y":1766.0,"zOrder":60,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"angle","type":"number","value":180.0},{"folded":true,"name":"type","type":"string","value":"L"}]},{"angle":0.0,"customSize":true,"depth":1.0,"height":5110.0,"keepRatio":true,"layer":"","name":"road_tiled_white_W","persistentUuid":"1a05da90-9fa7-459e-86e5-0e94b0f5e85f","width":70.0,"x":-15680.0,"y":4270.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":4550.0,"keepRatio":true,"layer":"","name":"road_tiled_white_E","persistentUuid":"159ea2d7-8a30-4d9e-8b96-b75581e57f6f","width":70.0,"x":-15120.0,"y":4830.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":4900.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"c2032357-ff3d-4576-a252-f16cdfbf28ab","width":210.0,"x":-15610.0,"y":4480.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":4620.0,"keepRatio":true,"layer":"","name":"road_tiled_white_center","persistentUuid":"07f62aa9-1cd2-458c-a781-e0a00d1528da","width":210.0,"x":-15330.0,"y":4760.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":4690.0,"keepRatio":true,"layer":"","name":"road_tiled_white_inner","persistentUuid":"2cbc5947-de6c-431e-980a-1cc9446c5194","width":70.0,"x":-15400.0,"y":4690.0,"zOrder":126,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_hand","persistentUuid":"7892f520-8b5e-4869-8843-1786d6a4e453","width":0.0,"x":-210.0,"y":1696.0,"zOrder":60,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"type","type":"string","value":"R"}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_leg","persistentUuid":"0785b352-857d-4c8c-8af7-a3c952462be9","width":0.0,"x":-140.0,"y":1766.0,"zOrder":50,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"type","type":"string","value":"L"}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_leg","persistentUuid":"6450cd42-b025-47ca-9dd0-f49cdae0eb97","width":0.0,"x":-140.0,"y":1680.0,"zOrder":50,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"angle","type":"number","value":180.0},{"folded":true,"name":"type","type":"string","value":"R"}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"uziLong_pick","persistentUuid":"3133f8c5-fdf8-4e87-ba01-b00fcbef57a2","width":0.0,"x":-20.0,"y":1680.0,"zOrder":12643682,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","locked":true,"name":"map","persistentUuid":"95f776bb-0279-4e37-80fc-cbeb09e6a0ef","sealed":true,"width":0.0,"x":-9450.0,"y":-10360.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"player_crosshair","persistentUuid":"b63e83ca-eee3-4b84-9329-96f6683772fc","width":0.0,"x":630.0,"y":210.0,"zOrder":1264,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"100485eb-3ac8-4477-8f97-c7428d69ab12","width":0.0,"x":3970.0,"y":-3030.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"c9d72272-972c-4035-99ec-6f27132b65e2","width":0.0,"x":1610.0,"y":1400.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"4281be1e-c61b-4c63-97e7-a89e2bb55876","width":0.0,"x":-1770.0,"y":260.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"dfe5c95c-4efd-4a61-b693-a2febc993247","width":0.0,"x":-560.0,"y":260.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"edfe91c3-5384-4908-834b-3a06d1c642da","width":0.0,"x":4340.0,"y":350.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"3319433a-41a5-43e7-a27d-e36a8e4639b0","width":0.0,"x":5020.0,"y":-3030.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"82a0fb97-c9df-482e-a84b-f746eb7fa64a","width":0.0,"x":5040.0,"y":-1260.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"cefe6b08-854e-4744-9d68-61bca0c3c942","width":0.0,"x":2430.0,"y":350.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"9f0fa569-69af-44ef-904a-2add0189a987","width":0.0,"x":-980.0,"y":2380.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"9b41f743-1d1e-44d1-bcdd-1d90799ff7d2","width":0.0,"x":-3870.0,"y":1400.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"building_rooftop","persistentUuid":"74604591-a0ff-471e-b430-26b66fa7d949","width":0.0,"x":470.0,"y":2380.0,"zOrder":12643683,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":1190.0,"keepRatio":true,"layer":"","locked":true,"name":"ground_1","persistentUuid":"e7c500df-5806-48a4-b3b5-75e2f07e5d86","sealed":true,"width":2030.0,"x":630.0,"y":-2030.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":630.0,"keepRatio":true,"layer":"","name":"basketball_court","persistentUuid":"c2b924f0-8f7e-4634-bac9-97264ae9d282","width":350.0,"x":770.0,"y":-1750.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"depth":1.0,"height":630.0,"keepRatio":true,"layer":"","name":"basketball_court","persistentUuid":"075c5455-9af4-4139-9c6c-84e981d5c6a4","width":350.0,"x":2170.0,"y":-1750.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"basketball_hoop","persistentUuid":"2e4251f4-ffff-4f28-9c8f-126b2fee1f65","width":0.0,"x":847.0,"y":-1434.0,"zOrder":12643686,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"basketball_hoop","persistentUuid":"4eac1caa-c49b-43dd-9706-7123b52d8020","width":0.0,"x":2444.0,"y":-1435.0,"zOrder":12643686,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"basketball","persistentUuid":"f4b123b8-8e05-4e1b-a502-488cb0e5b740","width":0.0,"x":1680.0,"y":-1470.0,"zOrder":12643687,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"ea843509-a182-4d99-b688-aff171a7f615","width":70.0,"x":3220.0,"y":-2062.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"70a8659a-7cb0-433e-ac7a-8933d40ef1da","width":70.0,"x":3360.0,"y":-1992.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"bdd7e953-1836-45d0-a144-44c666f32f47","width":70.0,"x":3080.0,"y":-1992.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"51f4026f-e647-413c-8b16-e5b22c13d483","width":70.0,"x":5759.0,"y":-1801.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"ed55e404-946b-4a7c-9224-c164cd0863cc","width":70.0,"x":5759.0,"y":-1661.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"b4ec5d0f-8303-4473-ae58-8025786e702c","width":70.0,"x":5759.0,"y":-1521.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"4fea4ad9-d5c1-4397-85ae-6db6b79c091b","width":70.0,"x":3710.0,"y":1540.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"3410333e-29ba-43ce-a711-625e0d8e3631","width":70.0,"x":3850.0,"y":1540.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"f9cf9ee3-ab71-4aa1-b2c6-0bfb9dceb9c7","width":70.0,"x":3990.0,"y":1540.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"00c70d8f-00a1-4df3-ae88-34eb3ae812cc","width":70.0,"x":3570.0,"y":1540.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"a7139bd9-6e99-4818-8278-aa532e52f491","width":70.0,"x":4130.0,"y":1540.0,"zOrder":12643688,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"7850caa1-514c-48a5-b223-8e5d370d812f","width":70.0,"x":649.0,"y":-191.0,"zOrder":12643689,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"7dcfbfec-5b87-48bb-9fae-951b69558e60","width":70.0,"x":649.0,"y":-541.0,"zOrder":12643689,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"8bef3c36-bf30-48eb-ac17-24b8e1d438de","width":70.0,"x":401.0,"y":-191.0,"zOrder":12643689,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"depth":1.0,"height":32.0,"keepRatio":true,"layer":"","name":"props_roadblock","persistentUuid":"b0970d01-76e4-4543-9dd5-a0b75a219d99","width":70.0,"x":401.0,"y":-541.0,"zOrder":12643689,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"assetStoreId":"","height":32.0,"name":"grass_tiled","texture":"assets/environment/foliage/grass/grass_1.png","type":"TiledSpriteObject::TiledSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"building_rooftop","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/building/rooftop/roof_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":174.5,"y":73.5},{"x":827.5,"y":74.0},{"x":826.5,"y":927.0},{"x":175.5,"y":926.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/building/rooftop/roof_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":53.0,"y":197.5},{"x":906.5,"y":198.0},{"x":906.0,"y":846.0},{"x":56.0,"y":849.5}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/building/rooftop/roof_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":111.0,"y":295.0},{"x":893.0,"y":297.5},{"x":893.0,"y":703.0},{"x":107.0,"y":705.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"sand_sprite","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/tile/path/sand.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"door","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"Room","type":"string","value":"-1"},{"name":"Direction","type":"string","value":"0"}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/misc/door.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"player_crosshair","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"BlendingMode","name":"Effect","doubleParameters":{"blendmode":2.0,"opacity":1.0},"stringParameters":{},"booleanParameters":{}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"StayOnScreen","type":"StayOnScreen::StayOnScreen","MarginTop":0.0,"MarginBottom":0.0,"MarginLeft":0.0,"MarginRight":0.0}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/crosshair/crosshair_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_fences","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"Id","type":"string","value":"0"},{"folded":true,"name":"strength","type":"number","value":10.0}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":26.0,"y":27.5},{"x":37.0,"y":27.5},{"x":37.0,"y":64.0},{"x":26.0,"y":64.0}],[{"x":0.0,"y":27.5},{"x":25.0,"y":27.5},{"x":25.0,"y":36.5},{"x":0.0,"y":36.5}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.23897099494934083,"y":26.0},{"x":63.76839828491211,"y":26.0},{"x":63.474300384521487,"y":37.0},{"x":0.23897099494934083,"y":37.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":64.0,"y":27.5},{"x":37.0,"y":27.5},{"x":37.5,"y":36.5},{"x":64.0,"y":36.5}],[{"x":27.5,"y":27.5},{"x":37.0,"y":27.5},{"x":37.0,"y":64.0},{"x":28.0,"y":64.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":27.5,"y":0.0},{"x":36.0,"y":0.0},{"x":36.0,"y":64.0},{"x":28.0,"y":64.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":64.0,"y":26.0},{"x":26.0,"y":26.0},{"x":26.0,"y":37.0},{"x":64.0,"y":37.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":26.0},{"x":38.0,"y":26.0},{"x":38.5,"y":37.0},{"x":0.0,"y":37.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":26.0,"y":0.0},{"x":37.0,"y":0.0},{"x":37.0,"y":37.0},{"x":26.0,"y":37.0}],[{"x":37.0,"y":26.0},{"x":64.0,"y":26.0},{"x":64.0,"y":37.0},{"x":37.0,"y":37.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/fence/fence_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":26.0},{"x":37.0,"y":26.0},{"x":37.0,"y":37.0},{"x":0.0,"y":37.0}],[{"x":26.5,"y":0.0},{"x":37.0,"y":0.0},{"x":37.0,"y":25.5},{"x":26.5,"y":25.5}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_roadblock","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"Shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/tile/road_block/block_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/tile/road_block/block_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bold":false,"italic":false,"name":"debug_ammo_text","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Ammo: [number]","font":"","textAlignment":"","characterSize":30.0,"color":{"b":156,"g":156,"r":156},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Ammo: [number]","font":"","textAlignment":"","characterSize":30.0,"color":"156;156;156"}},{"assetStoreId":"","bold":false,"italic":false,"name":"weapon_holding","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"weapon: [weapon]","font":"","textAlignment":"","characterSize":20.0,"color":{"b":156,"g":156,"r":156},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"weapon: [weapon]","font":"","textAlignment":"","characterSize":20.0,"color":"156;156;156"}},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_foliage","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":10.0,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/foliage/tree/tree_4.png","points":[],"originPoint":{"name":"origine","x":48.0,"y":52.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":33.0,"y":37.5},{"x":65.0,"y":37.5},{"x":65.0,"y":69.5},{"x":33.0,"y":69.5}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":10.0,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/foliage/tree/tree_3.png","points":[],"originPoint":{"name":"origine","x":43.5,"y":43.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":33.0,"y":37.5},{"x":65.0,"y":37.5},{"x":65.0,"y":69.5},{"x":33.0,"y":69.5}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/foliage/tree/tree_2.png","points":[],"originPoint":{"name":"origine","x":31.0,"y":33.5},"centerPoint":{"automatic":false,"name":"centre","x":32.0,"y":32.5},"customCollisionMask":[[{"x":20.0,"y":20.0},{"x":44.0,"y":20.0},{"x":44.0,"y":44.0},{"x":20.0,"y":44.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/foliage/tree/tree_1.png","points":[],"originPoint":{"name":"origine","x":31.0,"y":32.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":20.0,"y":20.0},{"x":44.0,"y":20.0},{"x":44.0,"y":44.0},{"x":20.0,"y":44.0}]]}]}]}]},{"assetStoreId":"","height":32.0,"name":"sea_tiled_water_cover","texture":"assets/environment/water/water_1.png","type":"TiledSpriteObject::TiledSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"InOnScreen","type":"IsOnScreen::InOnScreen"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":20000.0,"name":"sea_tiled_water","texture":"assets/environment/water/water_1.png","type":"TiledSpriteObject::TiledSprite","width":20000.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"basketball","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"Shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Bounce","type":"Bounce::Bounce","OldX":0.0,"OldY":0.0,"OldForceAngle":0.0,"OldForceLength":0.0,"NormalAngle":0.0},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.2,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/sport/basketball/ball/basketball_1.png","points":[],"originPoint":{"name":"origine","x":8.78396987915039,"y":9.021739959716797},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets/environment/sport/basketball/ball/basketball_2.png","points":[],"originPoint":{"name":"origine","x":8.78396987915039,"y":9.021739959716797},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"basketball_hoop","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"Shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/sport/basketball/hoop/hoop.png","points":[],"originPoint":{"name":"origine","x":76.5,"y":56.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":8.5},{"x":66.0,"y":17.5},{"x":67.0,"y":93.5},{"x":0.0,"y":103.5}]]}]}]}]},{"assetStoreId":"","height":32.0,"name":"ground_1","texture":"assets/environment/sport/basketball/ground/ground_1.png","type":"TiledSpriteObject::TiledSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"basketball_court","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/environment/sport/basketball/ground_elements/element_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"additive":true,"assetStoreId":"","destroyWhenNoParticles":false,"emitterAngleA":0.0,"emitterAngleB":20.0,"emitterForceMax":30.0,"emitterForceMin":23.0,"flow":12.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":300000,"name":"flame_thrower_fire_secondary","particleAlpha1":200.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":168.0,"particleBlue2":8.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":245.0,"particleGreen2":43.0,"particleLifeTimeMax":0.5,"particleLifeTimeMin":0.20000000298023225,"particleRed1":255.0,"particleRed2":214.0,"particleSize1":40.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":-1.0,"textureParticleName":"assets\\particles\\FireParticle.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":5.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":true,"assetStoreId":"","destroyWhenNoParticles":false,"emitterAngleA":0.0,"emitterAngleB":20.0,"emitterForceMax":300.0,"emitterForceMin":230.0,"flow":120.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":3000000,"name":"flame_thrower_fire","particleAlpha1":200.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":168.0,"particleBlue2":8.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":245.0,"particleGreen2":43.0,"particleLifeTimeMax":0.5,"particleLifeTimeMin":0.20000000298023225,"particleRed1":255.0,"particleRed2":214.0,"particleSize1":40.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":-1.0,"textureParticleName":"assets\\particles\\FireParticle.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":5.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"assetStoreId":"","bold":false,"italic":false,"name":"weapon_reloading","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"debug menu - \"h\" to toggle menu visibility","font":"","textAlignment":"","characterSize":30.0,"color":{"b":112,"g":112,"r":112},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"debug menu - \"h\" to toggle menu visibility","font":"","textAlignment":"","characterSize":30.0,"color":"112;112;112"}},{"assetStoreId":"","bold":false,"italic":false,"name":"wheel_info","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Wheel using: [number]","font":"","textAlignment":"","characterSize":30.0,"color":{"b":156,"g":156,"r":156},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Wheel using: [number]","font":"","textAlignment":"","characterSize":30.0,"color":"156;156;156"}},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_decorations","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/decoration/decoration_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":272.0,"y":248.0},{"x":357.0,"y":258.0},{"x":353.0,"y":322.0},{"x":269.5,"y":307.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"props_moveable","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"Shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Bounce","type":"Bounce::Bounce","OldX":0.0,"OldY":0.0,"OldForceAngle":0.0,"OldForceLength":0.0,"NormalAngle":0.0},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_9.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_10.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/environment/prop/props_11.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":360.0,"emitterForceMax":85.0,"emitterForceMin":45.0,"flow":41.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":5,"name":"brown_leaves_particle","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":45.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":51.0,"particleBlue2":0.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":51.0,"particleGreen2":255.0,"particleLifeTimeMax":2.0,"particleLifeTimeMin":1.5,"particleRed1":255.0,"particleRed2":255.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":5.0,"textureParticleName":"assets\\foliage\\leaves\\treeBrown_leaf.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":3.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":360.0,"emitterForceMax":85.0,"emitterForceMin":45.0,"flow":41.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":5,"name":"green_leaves_particle","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":45.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":51.0,"particleBlue2":0.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":51.0,"particleGreen2":255.0,"particleLifeTimeMax":2.0,"particleLifeTimeMin":1.5,"particleRed1":255.0,"particleRed2":255.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":5.0,"textureParticleName":"assets\\foliage\\leaves\\treeGreen_leaf.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":3.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"assetStoreId":"","height":32.0,"name":"concrete_1","texture":"assets/environment/tile/path/concrete.png","type":"TiledSpriteObject::TiledSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"hidden_separate","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"hidden_separate","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/misc/black.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","height":64.0,"name":"road_tiled_white_N","texture":"assets/environment/tile/road/road_11.png","type":"TiledSpriteObject::TiledSprite","width":64.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"phone_wifi","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":true,"IsDestroyedWithParent":true},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/wifi/wifi_0.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":2.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/wifi/wifi_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":5.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/wifi/wifi_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":8.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/wifi/wifi_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":11.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"phone_battery","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":true,"IsDestroyedWithParent":true},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/battery/battery_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/battery/battery_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/character/phone/battery/battery_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bold":false,"italic":false,"name":"phone_time","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":true,"IsDestroyedWithParent":true},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"string":"00:00","font":"","textAlignment":"","characterSize":15.0,"color":{"b":255,"g":255,"r":255},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"00:00","font":"","textAlignment":"","characterSize":15.0,"color":"255;255;255"}},{"assetStoreId":"","height":70.0,"name":"beach_sand_W","texture":"assets/environment/tile/map_edge/map_edge_12.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"edge_sand_NW","texture":"assets/environment/tile/map_edge/map_edge_1.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_SW","texture":"assets/environment/tile/map_edge/map_edge_10.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"weapon_icons","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":1.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":1.0,"useLegacyBottomAndRightAnchors":false},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\UI\\weapon_icons\\tazer_icon.png","points":[],"originPoint":{"name":"origine","x":73.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":73.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\UI\\weapon_icons\\sniper_icon.png","points":[],"originPoint":{"name":"origine","x":73.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":73.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\UI\\weapon_icons\\rocket_launcher_icon.png","points":[],"originPoint":{"name":"origine","x":73.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":73.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"NewObject","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"mouse_point","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"mouse_point","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\mouse_point-1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"additive":true,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":360.0,"emitterForceMax":300.0,"emitterForceMin":35.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":8000,"name":"bullet_destroy_rocket","particleAlpha1":255.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":5.0,"particleAngle2":100.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":1.0,"particleBlue2":0.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":58.0,"particleGreen2":235.0,"particleLifeTimeMax":2.0,"particleLifeTimeMin":0.5,"particleRed1":83.0,"particleRed2":255.0,"particleSize1":100.0,"particleSize2":125.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":200.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":1.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":75.0,"emitterForceMax":120.0,"emitterForceMin":35.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":150,"name":"bullet_destroy_machine","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":35.0,"particleBlue2":3.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":166.0,"particleGreen2":159.0,"particleLifeTimeMax":1.0,"particleLifeTimeMin":0.5,"particleRed1":245.0,"particleRed2":173.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":45.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":0.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":45.0,"emitterForceMax":120.0,"emitterForceMin":35.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":110,"name":"bullet_destroy_sniper","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":35.0,"particleBlue2":3.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":166.0,"particleGreen2":159.0,"particleLifeTimeMax":0.800000011920929,"particleLifeTimeMin":0.5,"particleRed1":245.0,"particleRed2":173.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":25.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":0.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":45.0,"emitterForceMax":120.0,"emitterForceMin":35.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":135,"name":"bullet_destroy_pistol","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":35.0,"particleBlue2":3.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":166.0,"particleGreen2":159.0,"particleLifeTimeMax":1.0,"particleLifeTimeMin":0.5,"particleRed1":245.0,"particleRed2":173.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":40.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":0.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":35.0,"emitterForceMax":300.0,"emitterForceMin":45.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":80,"name":"shooting_effect_rocket","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":97.0,"particleBlue2":167.0,"particleGravityX":50.0,"particleGravityY":50.0,"particleGreen1":97.0,"particleGreen2":167.0,"particleLifeTimeMax":2.0,"particleLifeTimeMin":0.5,"particleRed1":99.0,"particleRed2":167.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":45.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":0.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":18.0,"emitterForceMax":200.0,"emitterForceMin":45.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":80,"name":"shooting_effect_sniper","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":97.0,"particleBlue2":167.0,"particleGravityX":100.0,"particleGravityY":100.0,"particleGreen1":97.0,"particleGreen2":167.0,"particleLifeTimeMax":1.0,"particleLifeTimeMin":0.5,"particleRed1":99.0,"particleRed2":167.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":45.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":1.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"additive":false,"assetStoreId":"","destroyWhenNoParticles":true,"emitterAngleA":0.0,"emitterAngleB":22.0,"emitterForceMax":200.0,"emitterForceMin":45.0,"flow":-1.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":80,"name":"shooting_effect","particleAlpha1":204.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":97.0,"particleBlue2":167.0,"particleGravityX":100.0,"particleGravityY":100.0,"particleGreen1":97.0,"particleGreen2":167.0,"particleLifeTimeMax":1.0,"particleLifeTimeMin":0.5,"particleRed1":99.0,"particleRed2":167.0,"particleSize1":100.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":1.0,"rendererParam2":1.0,"rendererType":"Point","tank":45.0,"textureParticleName":"","type":"ParticleSystem::ParticleEmitter","zoneRadius":1.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"assetStoreId":"","name":"debug_toggle","type":"PrimitiveDrawing::Drawer","variables":[{"folded":true,"name":"id","type":"string","value":"0"},{"folded":true,"name":"info","type":"string","value":"enable Shadow"}],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ToggleSwitch","type":"ToggleSwitch::ToggleSwitch","ThumbRadius":10.0,"ActiveThumbColor":"24;119;211","ThumbOpacity":255.0,"TrackWidth":20.0,"TrackHeight":14.0,"InactiveTrackColor":"150;150;150","InactiveTrackOpacity":255.0,"ActiveTrackColor":"","ActiveTrackOpacity":128.0,"HaloRadius":24.0,"HaloOpacityHover":32.0,"HaloOpacityPressed":64.0,"ThumbOffset":0.0,"Checked":false,"Disabled":false,"ToggleChanged":false,"InactiveThumbColor":"255;255;255","IsPressed":false,"ThumbShadowOffsetY":4.0,"ThumbShadowOffsetX":0.0,"ThumbShadowOpacity":32.0,"NeedRedaw":true,"IsHovered":false,"WasHovered":false}],"fillOpacity":255.0,"outlineSize":1,"outlineOpacity":255.0,"fillColor":{"b":255,"g":255,"r":255},"outlineColor":{"b":0,"g":0,"r":0},"absoluteCoordinates":false,"clearBetweenFrames":true,"antialiasing":"none"},{"assetStoreId":"","bold":false,"italic":false,"name":"debug_text","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Text","font":"","textAlignment":"left","characterSize":20.0,"color":{"b":0,"g":0,"r":0},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Text","font":"","textAlignment":"left","characterSize":20.0,"color":"0;0;0"}},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"phone_frame","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"Outline","name":"Effect","doubleParameters":{"padding":0.0,"thickness":1.0},"stringParameters":{"color":"29;29;27"},"booleanParameters":{}}],"behaviors":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior","bottomEdgeAnchor":0.0,"leftEdgeAnchor":0.0,"relativeToOriginalWindowSize":true,"rightEdgeAnchor":2.0,"topEdgeAnchor":0.0,"useLegacyBottomAndRightAnchors":false},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/frame/frame_1.png","points":[{"name":"1","x":50.0,"y":370.5},{"name":"2","x":115.0,"y":370.5},{"name":"3","x":180.0,"y":370.5}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":224.0,"y":0.0},{"x":224.0,"y":418.0},{"x":0.0,"y":418.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"phone_mask","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"ColorReplace","name":"Effect","doubleParameters":{"epsilon":0.4},"stringParameters":{"newColor":"0;0;0","originalColor":"255;255;255"},"booleanParameters":{}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/frame/frame_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":215.0,"y":0.0},{"x":215.0,"y":417.0},{"x":0.0,"y":417.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"phone_icon","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"id","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"phone","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/apps/app_1.png","points":[],"originPoint":{"name":"origine","x":28.0,"y":28.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":56.0,"y":0.0},{"x":56.0,"y":56.0},{"x":0.0,"y":56.0}]]}]}]},{"name":"images","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/apps/app_2.png","points":[],"originPoint":{"name":"origine","x":28.0,"y":28.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":56.0,"y":0.0},{"x":56.0,"y":56.0},{"x":0.0,"y":56.0}]]}]}]},{"name":"camera","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/apps/app_3.png","points":[],"originPoint":{"name":"origine","x":28.0,"y":28.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":56.0,"y":0.0},{"x":56.0,"y":56.0},{"x":0.0,"y":56.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"phone_wallpaper","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"EllipseMovement","type":"EllipseMovement::EllipseMovement","RadiusX":100.0,"RadiusY":0.0,"LoopDuration":20.0,"InitialTurningLeft":false,"InitialDirectionAngle":0.0,"ShouldRotate":false,"RotationOffset":0.0,"CenterX":0.0,"CenterY":0.0,"MovementAngle":0.0,"OldX":2.0247e-320,"OldY":2.0247e-320},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/phone/wallpaper/wallpaper_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":1.0},{"x":1024.0,"y":1.0},{"x":1024.0,"y":1025.0},{"x":0.0,"y":1025.0}]]},{"hasCustomCollisionMask":true,"image":"assets/character/phone/wallpaper/wallpaper_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":1.0},{"x":1024.0,"y":1.0},{"x":1024.0,"y":1025.0},{"x":0.0,"y":1025.0}]]},{"hasCustomCollisionMask":true,"image":"assets/character/phone/wallpaper/wallpaper_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":1.0},{"x":1024.0,"y":1.0},{"x":1024.0,"y":1025.0},{"x":0.0,"y":1025.0}]]},{"hasCustomCollisionMask":true,"image":"assets/character/phone/wallpaper/wallpaper_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":1.0},{"x":1024.0,"y":1.0},{"x":1024.0,"y":1025.0},{"x":0.0,"y":1025.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"weapon_icon","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":false,"IsDestroyedWithParent":false},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"uziSilencer","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/uziSilencer.png","points":[],"originPoint":{"name":"origine","x":85.0,"y":65.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"uziLongSilencer","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/uziLongSilencer.png","points":[],"originPoint":{"name":"origine","x":121.5,"y":64.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"uziLong","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/uziLong.png","points":[],"originPoint":{"name":"origine","x":85.0,"y":65.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"uzi","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/uzi.png","points":[],"originPoint":{"name":"origine","x":52.5,"y":65.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"sniper","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/sniper.png","points":[],"originPoint":{"name":"origine","x":200.5,"y":54.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"shotgunShort","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/shotgunShort.png","points":[],"originPoint":{"name":"origine","x":98.0,"y":26.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"shotgun","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/shotgun.png","points":[],"originPoint":{"name":"origine","x":97.5,"y":26.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"rocketLauncherModern","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/rocketlauncher.png","points":[],"originPoint":{"name":"origine","x":152.5,"y":65.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"rocketLauncher","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/rocketlauncher.png","points":[],"originPoint":{"name":"origine","x":199.5,"y":71.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"pistolSilencer","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/pistolSilencer.png","points":[],"originPoint":{"name":"origine","x":79.5,"y":45.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"pistol","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/pistol.png","points":[],"originPoint":{"name":"origine","x":57.5,"y":45.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/machinegunLauncher.png","points":[],"originPoint":{"name":"origine","x":116.0,"y":51.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/machinegun.png","points":[],"originPoint":{"name":"origine","x":116.5,"y":52.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/knifeRound_sharp.png","points":[],"originPoint":{"name":"origine","x":17.5,"y":68.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/knifeRound_smooth.png","points":[],"originPoint":{"name":"origine","x":17.5,"y":69.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/knife_sharp.png","points":[],"originPoint":{"name":"origine","x":15.0,"y":68.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/grenadeVintage.png","points":[],"originPoint":{"name":"origine","x":19.5,"y":74.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/grenadeSmoke.png","points":[],"originPoint":{"name":"origine","x":18.5,"y":38.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/grenadeFlash.png","points":[],"originPoint":{"name":"origine","x":17.5,"y":38.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/grenade.png","points":[],"originPoint":{"name":"origine","x":22.5,"y":34.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/flamethrower_short.png","points":[],"originPoint":{"name":"origine","x":106.5,"y":41.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/weapon/icon/flamethrower_long.png","points":[],"originPoint":{"name":"origine","x":114.0,"y":40.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"weapon_bar","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/icon/bar.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":112.0,"y":0.0},{"x":1807.0,"y":0.0},{"x":1807.0,"y":296.0},{"x":112.0,"y":296.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"weaponWheelSticker","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"hidden_separate","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets/misc/black.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_N","texture":"assets/environment/tile/map_edge/map_edge_2.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_E","texture":"assets/environment/tile/map_edge/map_edge_5.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_SE","texture":"assets/environment/tile/map_edge/map_edge_7.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_NE","texture":"assets/environment/tile/map_edge/map_edge_4.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":302.0,"name":"bridge_tiled_1","texture":"assets/environment/bridge/bridge.png","type":"TiledSpriteObject::TiledSprite","width":300.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","bold":false,"italic":false,"name":"debug_fps","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"fps","font":"","textAlignment":"","characterSize":30.0,"color":{"b":112,"g":112,"r":112},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"fps","font":"","textAlignment":"","characterSize":30.0,"color":"112;112;112"}},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"player_body","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"Animation","type":"string","value":""},{"folded":true,"name":"Customisation","type":"structure","children":[{"folded":true,"name":"body","type":"number","value":0.0},{"folded":true,"name":"hand","type":"number","value":0.0},{"folded":true,"name":"leg","type":"number","value":0.0}]},{"folded":true,"name":"Movement","type":"structure","children":[{"name":"TopDownMovement","type":"structure","children":[{"name":"run","persistentUuid":"dbe1965b-d1af-415d-9e83-2e4312af1344","type":"structure","children":[{"folded":true,"name":"Acceleration","type":"number","value":5000.0},{"folded":true,"name":"Deceleration","type":"number","value":5000.0},{"folded":true,"name":"maxSpeed","persistentUuid":"951b3641-c7f3-4740-be3a-9ce2e9e0f693","type":"number","value":400.0},{"folded":true,"name":"shuffleSwitchTime","type":"number","value":200.0},{"folded":true,"name":"shuffleTweenDelay","type":"number","value":0.1},{"folded":true,"name":"shuffleTweenDuration","type":"number","value":0.2}]},{"name":"walk","type":"structure","children":[{"folded":true,"name":"Acceleration","type":"number","value":5000.0},{"folded":true,"name":"Deceleration","type":"number","value":5000.0},{"folded":true,"name":"maxSpeed","persistentUuid":"951b3641-c7f3-4740-be3a-9ce2e9e0f693","type":"number","value":300.0},{"folded":true,"name":"shuffleSwitchTime","persistentUuid":"c6a43fd0-3cef-4009-bdcb-974b49edf1d1","type":"number","value":1000.0},{"folded":true,"name":"shuffleTweenDelay","persistentUuid":"e725550c-0f72-4304-99c6-c8bb804277bb","type":"number","value":0.2},{"folded":true,"name":"shuffleTweenDuration","persistentUuid":"5b2ef896-624b-46b8-9e33-3419d81e02eb","type":"number","value":0.3}]}]},{"name":"canMove","type":"boolean","value":true}]},{"folded":true,"name":"Camera","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":true}]},{"folded":true,"name":"Phone","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false}]},{"name":"Weapon","type":"structure","children":[{"folded":true,"name":"active","type":"boolean","value":false},{"folded":true,"name":"equipped","type":"string","value":""}]}],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.1,"blur":0.0,"distance":6.0,"padding":0.0,"quality":4.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}},{"effectType":"Reflection","name":"breathing","doubleParameters":{"alphaEnding":1.0,"alphaStart":1.0,"amplitudeEnding":3.0,"amplitudeStart":0.0,"animationSpeed":1.0,"boundary":0.0,"waveLengthEnding":100.0,"waveLengthStart":60.0},"stringParameters":{},"booleanParameters":{"mirror":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"FireBullet","type":"FireBullet::FireBullet","FireCooldown":0.1,"HasJustFired":false,"RotateBullet":true,"FiringArc":45.0,"BulletQuantity":1.0,"AngleVariance":3.0,"BulletSpeedVariance":0.0,"AmmoQuantity":0.0,"ShotsPerReload":0.0,"ReloadDuration":1.0,"MaxAmmo":0.0,"ShotsBeforeNextReload":0.0,"TotalShotsFired":0.0,"TotalBulletsCreated":0.0,"StartingAmmo":0.0,"TotalReloadsCompleted":0.0,"UnlimitedAmmo":true,"ReloadInProgress":false,"HeatIncreasePerShot":0.0,"HeatLevel":0.0,"AutomaticReloading":true,"OverheatDuration":0.0,"LinearCoolingRate":0.1,"ExponentialCoolingRate":0.3,"BulletLayer":"","RandomizedAngle":0.0},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior","angularMaxSpeed":500.0,"acceleration":200.0,"deceleration":200.0,"ignoreDefaultControls":true,"maxSpeed":200.0,"allowDiagonals":true,"angleOffset":0.0,"customIsometryAngle":30.0,"movementAngleOffset":0.0,"rotateObject":true,"viewpoint":"TopDown"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_1.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_2.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_3.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_4.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_5.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_6.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_7.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_8.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/body/body_9.png","points":[{"name":"pointR","x":23.0,"y":48.0},{"name":"pointL","x":23.0,"y":18.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":44.0,"y":0.0},{"x":44.0,"y":66.0},{"x":0.0,"y":66.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"player_leg","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"type","type":"string","value":""},{"folded":true,"name":"angle","type":"number","value":0.0}],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":6.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/leg/leg_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":28.0},{"x":0.0,"y":28.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"player_hand","type":"Sprite","updateIfNotVisible":false,"variables":[{"folded":true,"name":"type","type":"string","value":""},{"folded":true,"name":"angle","type":"number","value":0.0}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_2.png","points":[{"name":"finger","x":29.5,"y":12.5}],"originPoint":{"name":"origine","x":0.0,"y":12.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":12.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":13.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":13.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_8.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_9.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/character/hand/hand_10.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":15.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":15.5},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":39.0,"y":0.0},{"x":39.0,"y":24.0},{"x":0.0,"y":24.0}]]}]}]}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_NE","texture":"assets/environment/tile/road/road_16.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_NW","texture":"assets/environment/tile/road/road_15.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_W","texture":"assets/environment/tile/road/road_8.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_E","texture":"assets/environment/tile/road/road_10.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_center","texture":"assets/environment/tile/road/road_43.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_S","texture":"assets/environment/tile/road/road_27.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_SE","texture":"assets/environment/tile/road/road_31.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_SW","texture":"assets/environment/tile/road/road_30.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_inner","texture":"assets/environment/tile/road/road_24.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_end","texture":"assets/environment/tile/road/road_39.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_curve_right","texture":"assets/environment/tile/road/road_13.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_S","texture":"assets/environment/tile/map_edge/map_edge_9.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"road_tiled_white_curve_left","texture":"assets/environment/tile/road/road_14.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"beach_sand_inner_SW","texture":"assets/environment/tile/map_edge/map_edge_14.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"sand_tiled_1","texture":"assets/environment/tile/path/sand.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"sand_tiled_2","texture":"assets/environment/tile/path/dirt.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"uziGold_hold","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"properties","type":"structure","children":[{"folded":true,"name":"angle","type":"number","value":270.0},{"folded":true,"name":"height","type":"number","value":100.0},{"folded":true,"name":"pushBackStrength","persistentUuid":"4f3e2c10-41c8-4036-ad79-5ccc09bfb98a","type":"number","value":10.0},{"folded":true,"name":"variance","type":"number","value":4.0},{"folded":true,"name":"width","type":"number","value":100.0}]}],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/gun/uziGold.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":45.0,"y":16.0},{"x":55.0,"y":16.0},{"x":55.0,"y":59.0},{"x":45.0,"y":59.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"uziLong_hold","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"properties","type":"structure","children":[{"folded":true,"name":"angle","type":"number","value":270.0},{"folded":true,"name":"height","type":"number","value":100.0},{"folded":true,"name":"pushBackStrength","type":"number","value":10.0},{"folded":true,"name":"variance","type":"number","value":3.0},{"folded":true,"name":"width","type":"number","value":100.0}]}],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"Sticker","type":"Sticker::Sticker","OnlyFollowPosition":false,"IsDestroyedWithParent":true}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/gun/uziLong.png","points":[{"name":"spawn","x":50.0,"y":70.0}],"originPoint":{"name":"origine","x":50.0,"y":32.0},"centerPoint":{"automatic":false,"name":"centre","x":50.0,"y":32.0},"customCollisionMask":[[{"x":44.0,"y":14.0},{"x":56.0,"y":14.0},{"x":56.0,"y":86.0},{"x":44.0,"y":86.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"uziLong_pick","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"EllipseMovement","type":"EllipseMovement::EllipseMovement","RadiusX":10.0,"RadiusY":10.0,"LoopDuration":6.0,"InitialTurningLeft":true,"InitialDirectionAngle":0.0,"ShouldRotate":true,"RotationOffset":0.0,"CenterX":0.0,"CenterY":0.0,"MovementAngle":0.0,"OldX":2.0247e-320,"OldY":2.0247e-320},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/gun/uziLong.png","points":[],"originPoint":{"name":"origine","x":50.0,"y":30.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":44.0,"y":14.0},{"x":56.0,"y":14.0},{"x":56.0,"y":86.0},{"x":44.0,"y":86.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":true,"assetStoreId":"","name":"uzi_ammo","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[{"effectType":"DropShadow","name":"shadow","doubleParameters":{"alpha":0.2,"blur":0.0,"distance":10.0,"padding":0.0,"quality":3.0,"rotation":0.0},"stringParameters":{"color":"0;0;0"},"booleanParameters":{"shadowOnly":false}}],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"DestroyOutside","type":"DestroyOutsideBehavior::DestroyOutside","extraBorder":0.0},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets/weapon/ammo/ammo_uzi.png","points":[],"originPoint":{"name":"origine","x":10.0,"y":13.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":19.0,"y":5.0},{"x":31.0,"y":5.0},{"x":31.0,"y":33.0},{"x":19.0,"y":33.0}]]}]}]}]},{"assetStoreId":"","name":"map","type":"TileMap::TileMap","variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"content":{"tilemapJsonFile":"assets/environment/map/city1.json","tilesetJsonFile":"","tilemapAtlasImage":"assets/environment/map/city1/spritesheet.png","displayMode":"visible","layerIndex":0.0,"levelIndex":0.0,"animationSpeedScale":1.0,"animationFps":4.0}}],"objectsFolderStructure":{"folderName":"__ROOT"},"events":[],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0},{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[{"effectType":"Sepia","name":"introSepia","doubleParameters":{"opacity":1.0},"stringParameters":{},"booleanParameters":{}},{"effectType":"KawaseBlur","name":"weaponBar","doubleParameters":{"blur":0.5,"padding":0.0,"pixelizeX":0.0,"pixelizeY":0.0,"quality":3.0},"stringParameters":{},"booleanParameters":{}},{"effectType":"LightNight","name":"nightDayCycle","doubleParameters":{"opacity":0.0},"stringParameters":{},"booleanParameters":{}},{"effectType":"Brightness","name":"brightness","doubleParameters":{"brightness":0.0},"stringParameters":{},"booleanParameters":{}}]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"UI","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Fade","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":3.0,"cameraType":"","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Debug","renderingType":"","visibility":true,"cameras":[],"effects":[]}],"behaviorsSharedData":[{"name":"Anchor","type":"AnchorBehavior::AnchorBehavior"},{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Bounce","type":"Bounce::Bounce"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"EllipseMovement","type":"EllipseMovement::EllipseMovement"},{"name":"FireBullet","type":"FireBullet::FireBullet"},{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"InOnScreen","type":"IsOnScreen::InOnScreen"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"ShakeObject_PositionAngle","type":"ShakeObject::ShakeObject_PositionAngle"},{"name":"StayOnScreen","type":"StayOnScreen::StayOnScreen"},{"name":"Sticker","type":"Sticker::Sticker"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"},{"name":"ToggleSwitch","type":"ToggleSwitch::ToggleSwitch"},{"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"usedResources":[{"name":"assets/character/body/body_1.png"},{"name":"assets/character/body/body_2.png"},{"name":"assets/character/body/body_3.png"},{"name":"assets/character/body/body_4.png"},{"name":"assets/character/body/body_5.png"},{"name":"assets/character/body/body_6.png"},{"name":"assets/character/body/body_7.png"},{"name":"assets/character/body/body_8.png"},{"name":"assets/character/body/body_9.png"},{"name":"assets/character/hand/hand_1.png"},{"name":"assets/character/hand/hand_10.png"},{"name":"assets/character/hand/hand_2.png"},{"name":"assets/character/hand/hand_3.png"},{"name":"assets/character/hand/hand_4.png"},{"name":"assets/character/hand/hand_5.png"},{"name":"assets/character/hand/hand_6.png"},{"name":"assets/character/hand/hand_7.png"},{"name":"assets/character/hand/hand_8.png"},{"name":"assets/character/hand/hand_9.png"},{"name":"assets/character/leg/leg_1.png"},{"name":"assets/character/leg/leg_2.png"},{"name":"assets/character/leg/leg_3.png"},{"name":"assets/character/leg/leg_4.png"},{"name":"assets/character/leg/leg_5.png"},{"name":"assets/character/leg/leg_6.png"},{"name":"assets/character/leg/leg_7.png"},{"name":"assets/character/leg/leg_8.png"},{"name":"assets/character/phone/apps/app_1.png"},{"name":"assets/character/phone/apps/app_2.png"},{"name":"assets/character/phone/apps/app_3.png"},{"name":"assets/character/phone/battery/battery_1.png"},{"name":"assets/character/phone/battery/battery_2.png"},{"name":"assets/character/phone/battery/battery_3.png"},{"name":"assets/character/phone/frame/frame_1.png"},{"name":"assets/character/phone/frame/frame_2.png"},{"name":"assets/character/phone/wallpaper/wallpaper_1.png"},{"name":"assets/character/phone/wallpaper/wallpaper_2.png"},{"name":"assets/character/phone/wallpaper/wallpaper_3.png"},{"name":"assets/character/phone/wallpaper/wallpaper_4.png"},{"name":"assets/character/phone/wifi/wifi_0.png"},{"name":"assets/character/phone/wifi/wifi_1.png"},{"name":"assets/character/phone/wifi/wifi_2.png"},{"name":"assets/character/phone/wifi/wifi_3.png"},{"name":"assets/environment/bridge/bridge.png"},{"name":"assets/environment/building/rooftop/roof_1.png"},{"name":"assets/environment/building/rooftop/roof_2.png"},{"name":"assets/environment/building/rooftop/roof_3.png"},{"name":"assets/environment/decoration/decoration_1.png"},{"name":"assets/environment/fence/fence_1.png"},{"name":"assets/environment/fence/fence_2.png"},{"name":"assets/environment/fence/fence_3.png"},{"name":"assets/environment/fence/fence_4.png"},{"name":"assets/environment/fence/fence_5.png"},{"name":"assets/environment/fence/fence_6.png"},{"name":"assets/environment/fence/fence_7.png"},{"name":"assets/environment/fence/fence_8.png"},{"name":"assets/environment/foliage/grass/grass_1.png"},{"name":"assets/environment/foliage/tree/tree_1.png"},{"name":"assets/environment/foliage/tree/tree_2.png"},{"name":"assets/environment/foliage/tree/tree_3.png"},{"name":"assets/environment/foliage/tree/tree_4.png"},{"name":"assets/environment/map/city1.json"},{"name":"assets/environment/map/city1/spritesheet.png"},{"name":"assets/environment/prop/props_1.png"},{"name":"assets/environment/prop/props_10.png"},{"name":"assets/environment/prop/props_11.png"},{"name":"assets/environment/prop/props_2.png"},{"name":"assets/environment/prop/props_3.png"},{"name":"assets/environment/prop/props_4.png"},{"name":"assets/environment/prop/props_6.png"},{"name":"assets/environment/prop/props_7.png"},{"name":"assets/environment/prop/props_8.png"},{"name":"assets/environment/prop/props_9.png"},{"name":"assets/environment/sport/basketball/ball/basketball_1.png"},{"name":"assets/environment/sport/basketball/ball/basketball_2.png"},{"name":"assets/environment/sport/basketball/ground/ground_1.png"},{"name":"assets/environment/sport/basketball/ground_elements/element_1.png"},{"name":"assets/environment/sport/basketball/hoop/hoop.png"},{"name":"assets/environment/tile/map_edge/map_edge_1.png"},{"name":"assets/environment/tile/map_edge/map_edge_10.png"},{"name":"assets/environment/tile/map_edge/map_edge_12.png"},{"name":"assets/environment/tile/map_edge/map_edge_14.png"},{"name":"assets/environment/tile/map_edge/map_edge_2.png"},{"name":"assets/environment/tile/map_edge/map_edge_4.png"},{"name":"assets/environment/tile/map_edge/map_edge_5.png"},{"name":"assets/environment/tile/map_edge/map_edge_7.png"},{"name":"assets/environment/tile/map_edge/map_edge_9.png"},{"name":"assets/environment/tile/path/concrete.png"},{"name":"assets/environment/tile/path/dirt.png"},{"name":"assets/environment/tile/path/sand.png"},{"name":"assets/environment/tile/road/road_10.png"},{"name":"assets/environment/tile/road/road_11.png"},{"name":"assets/environment/tile/road/road_13.png"},{"name":"assets/environment/tile/road/road_14.png"},{"name":"assets/environment/tile/road/road_15.png"},{"name":"assets/environment/tile/road/road_16.png"},{"name":"assets/environment/tile/road/road_24.png"},{"name":"assets/environment/tile/road/road_27.png"},{"name":"assets/environment/tile/road/road_30.png"},{"name":"assets/environment/tile/road/road_31.png"},{"name":"assets/environment/tile/road/road_39.png"},{"name":"assets/environment/tile/road/road_43.png"},{"name":"assets/environment/tile/road/road_8.png"},{"name":"assets/environment/tile/road_block/block_1.png"},{"name":"assets/environment/tile/road_block/block_2.png"},{"name":"assets/environment/water/water_1.png"},{"name":"assets/misc/black.png"},{"name":"assets/misc/door.png"},{"name":"assets/weapon/ammo/ammo_uzi.png"},{"name":"assets/weapon/crosshair/crosshair_1.png"},{"name":"assets/weapon/gun/uziGold.png"},{"name":"assets/weapon/gun/uziLong.png"},{"name":"assets/weapon/icon/bar.png"},{"name":"assets/weapon/icon/flamethrower_long.png"},{"name":"assets/weapon/icon/flamethrower_short.png"},{"name":"assets/weapon/icon/grenade.png"},{"name":"assets/weapon/icon/grenadeFlash.png"},{"name":"assets/weapon/icon/grenadeSmoke.png"},{"name":"assets/weapon/icon/grenadeVintage.png"},{"name":"assets/weapon/icon/knifeRound_sharp.png"},{"name":"assets/weapon/icon/knifeRound_smooth.png"},{"name":"assets/weapon/icon/knife_sharp.png"},{"name":"assets/weapon/icon/machinegun.png"},{"name":"assets/weapon/icon/machinegunLauncher.png"},{"name":"assets/weapon/icon/pistol.png"},{"name":"assets/weapon/icon/pistolSilencer.png"},{"name":"assets/weapon/icon/rocketlauncher.png"},{"name":"assets/weapon/icon/shotgun.png"},{"name":"assets/weapon/icon/shotgunShort.png"},{"name":"assets/weapon/icon/sniper.png"},{"name":"assets/weapon/icon/uzi.png"},{"name":"assets/weapon/icon/uziLong.png"},{"name":"assets/weapon/icon/uziLongSilencer.png"},{"name":"assets/weapon/icon/uziSilencer.png"},{"name":"assets\\UI\\weapon_icons\\rocket_launcher_icon.png"},{"name":"assets\\UI\\weapon_icons\\sniper_icon.png"},{"name":"assets\\UI\\weapon_icons\\tazer_icon.png"},{"name":"assets\\foliage\\leaves\\treeBrown_leaf.png"},{"name":"assets\\foliage\\leaves\\treeGreen_leaf.png"},{"name":"assets\\particles\\FireParticle.png"},{"name":"assets\\sound\\door_sound\\DoorClosing_0.wav"},{"name":"assets\\sound\\door_sound\\DoorOpening_0.wav"},{"name":"assets\\sprite_objects\\mouse_point-1.png"}]},{"b":0,"disableInputWhenNotFocused":true,"mangledName":"Game_95Room","name":"Game_Room","r":0,"standardSortMethod":true,"stopSoundsOnStartup":true,"title":"","v":0,"uiSettings":{"grid":false,"gridType":"rectangular","gridWidth":70.0,"gridHeight":70.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":false,"zoomFactor":0.13151440270276144,"windowMask":false},"objectsGroups":[],"variables":[{"name":"swimming","type":"string","value":""}],"instances":[{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1aa81970-467e-4186-a084-19c91dc504d9","width":70.0,"x":490.0,"y":280.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"72551a8e-5590-4d81-9de2-af5ede2940d5","width":70.0,"x":490.0,"y":420.0,"zOrder":15,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"fd0cc635-912a-4346-87fd-611950da4fc3","width":70.0,"x":490.0,"y":210.0,"zOrder":1,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e4e45405-1114-4b6a-a23d-a73c5a1e99b7","width":70.0,"x":560.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"af8b8e77-1451-498e-a4b7-03fa328497a6","width":70.0,"x":490.0,"y":490.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4419fe97-b879-4912-b28a-595b6422866a","width":70.0,"x":490.0,"y":560.0,"zOrder":1,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b03b42ba-09b9-45fd-be4c-a17daf892b3c","width":70.0,"x":630.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"990a8bcb-e830-4c10-b469-1b4e536c448d","width":70.0,"x":700.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"16481b2d-72ae-46c9-8e11-89330fc5a804","width":70.0,"x":770.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"403f55c9-d4e8-42c1-a334-9a60241e6bee","width":70.0,"x":840.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5de69103-7c35-42f5-a054-db93fb9067fb","width":70.0,"x":910.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"12fb782f-bc6a-47d2-9c1c-a31f5e1004ce","width":70.0,"x":980.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5d3f76ec-1eeb-49ab-a382-351353acd2a2","width":70.0,"x":980.0,"y":490.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5544cc1f-a444-45e0-bd55-8a2a6df5e9ad","width":70.0,"x":980.0,"y":420.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5433cf5a-63f1-4a59-81d5-eac7b807af73","width":70.0,"x":980.0,"y":350.0,"zOrder":100,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"15b458a4-c460-4662-be6b-675740a5a597","width":70.0,"x":560.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e536ab3e-675b-4caf-80f1-4ff300ef920a","width":70.0,"x":630.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2164a770-a233-45da-b9bc-5abeb404c66c","width":70.0,"x":700.0,"y":210.0,"zOrder":14,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3a4e521c-d039-4241-bbfb-4adb786dc241","width":70.0,"x":840.0,"y":210.0,"zOrder":200,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ba9ad428-0bac-4724-8058-65fd8a8e3327","width":70.0,"x":980.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1fd82dbb-3d02-42ab-a553-256cc2f2e15a","width":70.0,"x":1050.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9e7e0251-4d1a-428f-af7c-dc325a8e2c0c","width":70.0,"x":1120.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2ca9af60-fe5e-4fe7-ad97-11bde84dc1be","width":70.0,"x":1260.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"907d13ad-3019-4ef3-b164-19c1b16514cd","width":70.0,"x":1190.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"096ae94d-f733-4a50-aa2e-44b0ef9c7b3c","width":70.0,"x":1050.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4b7d82a7-934e-4702-89e1-e3a27a09ddf5","width":70.0,"x":1120.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1adeef55-fc53-4cd3-a17f-dc5c3dfab3a8","width":70.0,"x":1190.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"6367d019-3d7c-4539-bf0c-e33cfc186d6d","width":70.0,"x":1260.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b6d361bc-d9a0-481e-802a-821da02ac797","width":70.0,"x":1260.0,"y":280.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d827416c-8d3b-4306-aa75-79fb140af6a4","width":70.0,"x":1260.0,"y":350.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"31a4e7d4-9663-46dd-9b1a-97670c3aba13","width":70.0,"x":1260.0,"y":420.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"877830f7-50e3-4add-9b9b-13ceec806c0b","width":70.0,"x":1260.0,"y":490.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"4641f775-6bff-44a9-96fd-fad224b53a17","width":70.0,"x":1190.0,"y":280.0,"zOrder":45,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"a18a8756-3994-4b33-a7de-b8af8cbfd78f","width":70.0,"x":1050.0,"y":493.0,"zOrder":45,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"89f192e7-7561-454e-8a2c-8eec1dbec4d8","width":70.0,"x":1120.0,"y":493.0,"zOrder":45,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"6bfb46bf-f754-46bd-8fc4-690fe7b1da65","width":70.0,"x":1190.0,"y":493.0,"zOrder":45,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c08eba5d-08f7-4fc6-b964-9c29a029042f","width":70.0,"x":1120.0,"y":280.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c42978e8-369d-49f5-850a-3affda0a1d04","width":70.0,"x":1190.0,"y":280.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f4ca1499-4098-4a82-9b1f-593d958049ab","width":70.0,"x":1050.0,"y":350.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"05878a27-b61b-4a58-904f-f7977821ca5b","width":70.0,"x":1120.0,"y":350.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"fd7b0549-c757-416e-a2a9-db0b0c262c28","width":70.0,"x":1190.0,"y":350.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"85bfad2e-f59b-4c04-a35c-6d2b93cb34fa","width":70.0,"x":1050.0,"y":420.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"151f47f8-b5fd-4e24-a64b-4a3b99e6a8ea","width":70.0,"x":1190.0,"y":420.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7d0e9154-63bd-45a7-872b-da6371e1649a","width":70.0,"x":1120.0,"y":420.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"028bf9c6-b612-4636-8e97-fa06787eaa84","width":70.0,"x":980.0,"y":280.0,"zOrder":3,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"771fa9df-62fc-4944-b0ed-00f30868901a","width":70.0,"x":980.0,"y":350.0,"zOrder":5,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cfde3f63-687c-4f56-a9d7-2c2e03bad4b0","width":70.0,"x":490.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"77b86222-d743-4c0c-9e2e-d4a7242d94af","width":70.0,"x":700.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a855f461-0280-4304-919c-47b121e90620","width":70.0,"x":770.0,"y":210.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"72189d71-c0bd-4aca-91c0-77bb88e9c61a","width":70.0,"x":630.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"88c7a333-3cbe-4c1e-a597-c9bf11aa0c93","width":70.0,"x":770.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3cd89c3e-4bd6-472b-a786-81af9d9eca50","width":70.0,"x":910.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"abd704ff-0189-45fb-a00e-1aa4ebf030e9","width":70.0,"x":840.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"82cb2f58-94e7-4b71-9537-ba1520f157b4","width":70.0,"x":770.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"07012040-e163-444b-b6c0-a77b867825db","width":70.0,"x":560.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"131451e4-ee9e-4d93-91b5-941ede22ec31","width":70.0,"x":700.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5d7d991f-e4d0-4478-91a9-3b015a6ba5d4","width":70.0,"x":910.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"de34d16f-b285-4794-ac11-03363e5258b4","width":70.0,"x":630.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c19f693b-06de-4871-9c66-53a474bdc8c8","width":70.0,"x":700.0,"y":210.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"42fa7497-c8e6-480a-aa7f-96acc95d448b","width":70.0,"x":840.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a1b9340b-6a4e-446c-83a3-19f4c3c94ce2","width":70.0,"x":560.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0bbc441a-b36f-4ede-a03f-346a90f39df3","width":70.0,"x":700.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b157704d-b475-476b-891f-f0db71345613","width":70.0,"x":770.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"06bba5de-3ad9-41d8-8f72-ef891c5e3472","width":70.0,"x":840.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"47524365-8296-4c80-be8a-2818f81113dc","width":70.0,"x":490.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d43b7078-8736-4dac-ac30-948c7d35a70f","width":70.0,"x":560.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b447fdb4-04f2-42df-9f42-b54397ef8674","width":70.0,"x":980.0,"y":280.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3d0576c5-c042-4f9a-af95-1f7252561f94","width":70.0,"x":770.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"018f9a42-a329-400b-ad6a-30434f0dbb23","width":70.0,"x":700.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"962c990e-d991-4a07-8fd1-e024f2ec23f0","width":70.0,"x":630.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"57092647-bd70-4332-a7cb-b877ea014d20","width":70.0,"x":770.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0a273654-fc19-4e3d-b731-a022cb728f38","width":70.0,"x":840.0,"y":210.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"53efce83-d58d-4133-92dc-d2d44378ea9c","width":70.0,"x":630.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"769f7002-7f92-4607-88b0-64ddd7493a60","width":70.0,"x":700.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"49dabf96-fa33-4776-af63-9f2b61c5a1ea","width":70.0,"x":910.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"bb3e6865-3702-40aa-b6da-4e0565f26952","width":70.0,"x":490.0,"y":280.0,"zOrder":-7,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4848381c-6f42-4cf4-8442-69b514a31773","width":70.0,"x":770.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1a24179a-53eb-4483-95e2-1866b4d0a92c","width":70.0,"x":910.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4964a790-e412-4da3-b20f-e7549f3df137","width":70.0,"x":840.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b3f96351-8f7d-4dd7-a312-bb9047026b97","width":70.0,"x":840.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"39334a0e-6148-4142-a563-be671d95650a","width":70.0,"x":700.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"33138f60-10d3-49de-9bbf-c4843726d957","width":70.0,"x":700.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"13e869cd-8ff2-4cdf-a09c-d51cd9561446","width":70.0,"x":840.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b83b013b-db9e-40a3-b6d7-d14bff09cf05","width":70.0,"x":630.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7ccad07f-2325-42e7-a7e5-20a4ee73231d","width":70.0,"x":700.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0bd33980-3fcf-47e9-a52e-2f8300f850d8","width":70.0,"x":560.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"31a34b1b-b436-4461-8ae5-edb14eefb9ba","width":70.0,"x":840.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"48d0f939-d4e3-41e6-9940-95680c007430","width":70.0,"x":980.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9b467c8c-c48a-4316-95b4-b949a1d22d50","width":70.0,"x":630.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c3fd9e82-b272-4326-8ba2-a3c5c0fb9ba2","width":70.0,"x":560.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"334e1317-3ce7-49b4-9b84-a6b3d6f0c5b1","width":70.0,"x":840.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"267780e0-6bac-44e1-b02f-8bab99bee6d4","width":70.0,"x":770.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7fcf1028-21ac-4da2-b717-d7d9fb5eea62","width":70.0,"x":770.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4bcefb52-b57b-434c-acea-9379fc57e0bb","width":70.0,"x":630.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"64a39a75-2305-42df-8123-3396109e39c4","width":70.0,"x":1190.0,"y":490.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"395c8acc-08eb-4b6e-912f-69ec3339d327","width":70.0,"x":1120.0,"y":490.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9001e983-26d2-4d64-b261-388e2a1af5f0","width":70.0,"x":1050.0,"y":490.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a75fd84f-5ee1-4f98-b001-374cbd37a7e6","width":70.0,"x":560.0,"y":70.0,"zOrder":6,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"3f954991-9952-4aae-a089-1ab57db62042","width":70.0,"x":560.0,"y":0.0,"zOrder":6,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"fed3a855-ce14-49bd-bd17-9a83e3eea85f","width":70.0,"x":630.0,"y":0.0,"zOrder":6,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a4136305-d42b-4174-b1cc-9ce7e16003d4","width":70.0,"x":700.0,"y":0.0,"zOrder":6,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"b86e62cb-bc4d-42b3-a7e8-e57ea8dd8c22","width":70.0,"x":630.0,"y":70.0,"zOrder":6,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"61e60d0c-87d2-40ec-b326-ae6c96857c58","width":70.0,"x":700.0,"y":70.0,"zOrder":6,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"67f439f5-f3ae-49fa-b4ab-0da28ee962c6","width":70.0,"x":490.0,"y":140.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4c2add2f-9a8a-4ae7-b372-7019370e1544","width":70.0,"x":490.0,"y":70.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2880ed68-7e53-4c2a-84d9-2aa4d4f464d5","width":70.0,"x":490.0,"y":0.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"70dfa280-53c3-4950-bff4-4de3ed6d9136","width":70.0,"x":490.0,"y":-70.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"22b61dd4-8316-463a-a936-c882a8acc992","width":70.0,"x":490.0,"y":-140.0,"zOrder":1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e0a7a832-208a-453b-b40d-a16c7b3bf80f","width":70.0,"x":560.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"268d2069-c329-4617-a49c-becb2cdf60bb","width":70.0,"x":560.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1b24b0a7-0342-44ec-953c-31d20eb3f587","width":70.0,"x":630.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"66055667-a69b-433c-87c2-cc4c3975488e","width":70.0,"x":560.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8606993f-17c6-4e73-af76-81d468135bdd","width":70.0,"x":910.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1d2dc400-b8e9-4882-baa7-6821d90d2c45","width":70.0,"x":910.0,"y":140.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"22efa1a5-f567-4674-a6cb-d1467da31312","width":70.0,"x":910.0,"y":0.0,"zOrder":100,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"46832260-c3df-4acc-8c8e-764d2a2c3e02","width":70.0,"x":560.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"71d9c0fb-85d2-4493-984b-917f2d0d760e","width":70.0,"x":630.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c9b2a5ea-2d9c-4158-a04d-d6169f20983a","width":70.0,"x":700.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"79329879-df4f-425c-a22a-2992050fabb2","width":70.0,"x":770.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"135f636e-4934-4eec-8f8c-e13cd5c602b2","width":70.0,"x":840.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a8cba765-fa5e-4be8-bc78-513d9efd3007","width":70.0,"x":910.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"fb14f20d-d196-4e06-a262-1ece149e3b7a","width":70.0,"x":910.0,"y":-70.0,"zOrder":100,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"00bc0f37-053d-4034-9fb4-cf3e6302eb6e","width":70.0,"x":910.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1618af07-8ca7-468a-b689-a86dbe13e2aa","width":70.0,"x":910.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"380e1527-e8fd-4d54-8bf4-9625ee9cf239","width":70.0,"x":910.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1cec2e32-20e4-4c47-b066-3af1af7dcda7","width":70.0,"x":1050.0,"y":280.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d05a1bb4-6aed-423d-88c5-51292f8c50b7","width":70.0,"x":1050.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"95edafc0-4bf6-40b6-99c8-2c5fd91dbaac","width":70.0,"x":1050.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7d652598-0020-43e7-86ec-81d86633570c","width":70.0,"x":980.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2a8105dc-5125-40e8-94d6-dbbb11768f1e","width":70.0,"x":980.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c6a9f351-5931-4fd8-9fca-9072832180eb","width":70.0,"x":980.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"29f2f692-3581-4434-a96d-383375c230f9","width":70.0,"x":980.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3f7bc0a9-1296-4b11-b067-65de3cefe041","width":70.0,"x":1120.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5a9e3e26-93e3-48c4-959c-33d81f824b27","width":70.0,"x":1120.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"475033b8-14e5-475a-928f-135975267bc6","width":70.0,"x":1120.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"df1d8f17-5513-4400-a66f-17ce4388a899","width":70.0,"x":1120.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c56c5b30-ba66-4032-b959-6173678f93ca","width":70.0,"x":1190.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c39dcd27-71a5-418b-ab46-c3237c8050ed","width":70.0,"x":1190.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"fd4f93f7-17d6-4a26-87d2-07b5208d0048","width":70.0,"x":1190.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"80a2b639-00ce-4511-a244-40bb626399c9","width":70.0,"x":1190.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8e3b3458-dc0f-45be-a146-4918397236b7","width":70.0,"x":1050.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7afc2825-ee38-4646-bb42-2733c03a0a60","width":70.0,"x":1050.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8abe7278-4449-45f8-b531-b209d3c11139","width":70.0,"x":980.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9e782d7f-c7b9-42d9-b62c-e8ca388f24bd","width":70.0,"x":1050.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a0b093af-52c7-4d8d-8438-45b36becfb7b","width":70.0,"x":1120.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4f5e040c-53c5-4d8d-a0cd-7c8f985fbb4f","width":70.0,"x":1190.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"fe0afbe2-5de3-43b9-8af1-4fd94f729e3a","width":70.0,"x":1260.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"29919c52-352c-4371-9cff-4ec8bf915f14","width":70.0,"x":1260.0,"y":-70.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b0abd154-401a-4cf1-9c6f-407fb0d90e28","width":70.0,"x":1260.0,"y":0.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"37b09484-46ac-4d4b-948b-572386ea8e77","width":70.0,"x":1260.0,"y":70.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9406c823-a2b9-4b00-9fd1-3360ae872431","width":70.0,"x":1260.0,"y":140.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"81ef6350-e682-489a-8f3e-f98a1db8ce9c","width":70.0,"x":910.0,"y":-70.0,"zOrder":11,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"212e5882-3ac8-485a-8754-9a3a25950a24","width":70.0,"x":910.0,"y":0.0,"zOrder":11,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a63add9b-4431-4478-a5e8-ea0d103f3655","width":70.0,"x":910.0,"y":70.0,"zOrder":100,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"50674f7d-0cc4-49bf-bfcb-a716442059a9","width":70.0,"x":700.0,"y":210.0,"zOrder":7,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2777e6bf-6c7a-4467-a8de-13f7f566b8f1","width":70.0,"x":770.0,"y":210.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1583f5ba-536e-4a48-afa2-9103425f1343","width":70.0,"x":840.0,"y":210.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":230.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"60f41bbc-4bff-49d0-b4f5-9e4cf3832d0d","width":70.0,"x":804.0,"y":453.0,"zOrder":16,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":230.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"cd2456c0-2f0f-4fe4-bff8-fcd200449cad","width":70.0,"x":760.0,"y":400.0,"zOrder":16,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":230.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"488ce3bc-207b-48d0-b755-b154b8a1744d","width":70.0,"x":716.0,"y":348.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":403.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"b7f4b8f7-03e7-48e4-9890-0fc57963913d","width":70.0,"x":560.0,"y":490.0,"zOrder":16,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"05b54f10-8c48-4744-a84b-60ff847e7ce8","width":70.0,"x":840.0,"y":501.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":230.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"3e54bb85-7611-415b-a8af-d737183c6a07","width":70.0,"x":674.0,"y":474.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Placeholder","persistentUuid":"a30a58a5-ccd8-49ab-b536-cdf1fe3ff02a","width":0.0,"x":420.0,"y":140.0,"zOrder":18,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":138.0,"layer":"","name":"room1out","persistentUuid":"3d2ca0ae-a7e9-4e1e-ba72-26306ec66b41","width":20.0,"x":490.0,"y":315.0,"zOrder":19,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3c8f4816-404a-4739-98ce-7c475d3c8a96","width":70.0,"x":490.0,"y":280.0,"zOrder":-4,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f838dffc-1715-42db-b682-00e5b5f9cbe9","width":70.0,"x":490.0,"y":350.0,"zOrder":20,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1633f186-0135-4f6f-901a-bb88baf2a05b","width":70.0,"x":490.0,"y":420.0,"zOrder":6,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"gun1","persistentUuid":"990c5bf1-fd49-4966-8274-03b83d5f638f","width":0.0,"x":770.0,"y":140.0,"zOrder":22,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a67beefd-60aa-492c-b989-130a03e03d10","width":70.0,"x":2101.0,"y":350.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"574c88c4-2b92-4b16-929d-18d808cf1bb7","width":70.0,"x":2101.0,"y":490.0,"zOrder":1,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"216dad58-0947-48b9-9490-4463c7c958ca","width":70.0,"x":2171.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"328ff414-2eb7-496f-b2ec-3b137b9d4871","width":70.0,"x":2101.0,"y":560.0,"zOrder":1,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7a6b1ada-7119-4e50-8d94-b2a5029d2c64","width":70.0,"x":2241.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"794693dc-8991-492e-ad88-d15686938287","width":70.0,"x":2311.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c96f8835-c8d2-4cb4-af6b-5b9eb7edb023","width":70.0,"x":2381.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"baca2f9e-5ecd-4212-8006-54bd93862159","width":70.0,"x":2451.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8929e882-e8ef-429d-9ac8-548be2e8cb65","width":70.0,"x":2521.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d29a0f87-64e9-49cb-8fa4-1073b8cc14db","width":70.0,"x":2661.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"45c7c391-ac51-4520-bbb6-a0d405e908d9","width":70.0,"x":2661.0,"y":350.0,"zOrder":1,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"0077dc7f-e417-42dd-abbd-3e40d2890d8d","width":70.0,"x":2731.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f219d402-cdc9-4e2e-b862-f4b71e254157","width":70.0,"x":2801.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8674afdc-0d56-42c0-8953-440274be1ec4","width":70.0,"x":2591.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cca034c1-191b-45d7-b47d-88eea36e3447","width":70.0,"x":2731.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e9df8680-f498-4d7f-a637-f9422c65f8d1","width":70.0,"x":2801.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f855b643-97e6-4c05-85fb-e4949309e3e9","width":70.0,"x":2871.0,"y":560.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"fff3cfb3-5a9c-4ae8-a55a-fc053997281a","width":70.0,"x":2871.0,"y":280.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3dfb2ac2-48f1-44ae-87ff-44e5efdd8ab3","width":70.0,"x":2871.0,"y":350.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"65cffdfc-495c-47ad-b5a7-c3b54a6d0787","width":70.0,"x":2871.0,"y":420.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b3533b98-2b88-4b49-8995-d7110f4d5f84","width":70.0,"x":2871.0,"y":490.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"92894b2d-4359-416e-83f8-60c500923107","width":70.0,"x":2801.0,"y":490.0,"zOrder":50,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"04766363-6062-4dd7-b453-a0bb788f63fa","width":70.0,"x":2801.0,"y":420.0,"zOrder":50,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"41c78d54-efc4-49be-8274-bc44d650baa0","width":70.0,"x":2731.0,"y":280.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6367e121-1c2a-4a81-bb6e-ce987c086f37","width":70.0,"x":2801.0,"y":280.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"dd165296-d401-47d8-b436-5948beaa1779","width":70.0,"x":2731.0,"y":350.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"79ae1cf0-7228-4494-8f27-cb87e9f8031e","width":70.0,"x":2801.0,"y":350.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3dd7629e-1db8-4efa-87c2-bd8dd3f11ff1","width":70.0,"x":2801.0,"y":420.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"32452557-3dde-4d52-9237-2cc2ab679f96","width":70.0,"x":2731.0,"y":420.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"17892b2c-635e-406e-8e92-bd3cb1587724","width":70.0,"x":2661.0,"y":280.0,"zOrder":3,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d349539d-523c-45d5-98b9-1403af7590a2","width":70.0,"x":2661.0,"y":350.0,"zOrder":-1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f1a19dab-e994-44f5-92ff-7acd1d44e6b8","width":70.0,"x":2311.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0759fd8f-6e07-46c1-b018-5e0b0fa45c2d","width":70.0,"x":2381.0,"y":210.0,"zOrder":-8,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"79dfd043-5d5c-4509-afe6-199fea9d9998","width":70.0,"x":2241.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"72bb6fe1-1e55-4396-9911-fe55c3e4f8ed","width":70.0,"x":2381.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8334ce60-2b3c-4833-acf3-f5228090114f","width":70.0,"x":2521.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2b9dcff1-84d6-4c09-b115-778a9c6bac64","width":70.0,"x":2451.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a5084ea3-18c6-4f1d-b5f3-bd5063e17722","width":70.0,"x":2381.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9339cf46-ccb2-4956-96c9-8c1691ab6bc6","width":70.0,"x":2171.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"240a6f01-5836-4e47-aae7-370d27f9b122","width":70.0,"x":2311.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"39441fee-45dc-4806-a80b-b893a2700732","width":70.0,"x":2521.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5b602816-4f61-4bea-a2ef-4478c998cc99","width":70.0,"x":2241.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b5849a9d-0d2e-4b23-99b5-4972bcb2d77b","width":70.0,"x":2311.0,"y":210.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"02505d09-e123-4467-92ee-5a552ccb4aba","width":70.0,"x":2451.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a7a9922c-b48d-4ea8-bb4b-07849b32d896","width":70.0,"x":2171.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"57947b94-db20-4e95-85eb-87a2ca4bedc3","width":70.0,"x":2311.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"155cae01-c1ec-4787-bb8e-9270d2114655","width":70.0,"x":2381.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8df9d717-2f23-46c8-9409-5032480247f8","width":70.0,"x":2451.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b2539759-2b68-4043-90f6-77cdba001e90","width":70.0,"x":2101.0,"y":350.0,"zOrder":-6,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9a5e9c17-05e0-4899-96c3-8f7194a5bdcd","width":70.0,"x":2591.0,"y":280.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8fba4415-2c66-4e78-bc5b-2acd247748c4","width":70.0,"x":2381.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b85c577e-a857-4f4b-838b-8fa74e123065","width":70.0,"x":2311.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3432694d-a874-4416-82fc-d71d6af86db7","width":70.0,"x":2241.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a57bb393-6736-4c89-afa4-a59e38dbef7d","width":70.0,"x":2381.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"241795b2-47da-4454-b0bd-dd2c0171fa21","width":70.0,"x":2451.0,"y":210.0,"zOrder":-7,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2a64601e-2ee2-4056-850f-3a8c6f32ce26","width":70.0,"x":2311.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"fba38825-e911-40a4-b0c4-ad5def114f8c","width":70.0,"x":2521.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"deae5d14-2277-4b10-afef-aeaa7c1278a9","width":70.0,"x":2381.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ea0c14bc-8fe7-4798-8276-37070aa3e913","width":70.0,"x":2521.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"74724541-0319-43ae-89f0-af40b4eaf622","width":70.0,"x":2451.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"012b1e06-5b1f-4d05-aa90-581e1c3374ae","width":70.0,"x":2451.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e84a3b2d-276d-41dc-8497-83b10e1f5562","width":70.0,"x":2311.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a6428d6c-71ad-428c-830b-b39bcac9d12b","width":70.0,"x":2311.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8a078151-5197-4cfa-8ae4-22b79988c607","width":70.0,"x":2451.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"01b30d15-4106-4b78-9597-2d4049475299","width":70.0,"x":2311.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e46541c6-5b01-4ced-b6e4-3e5594b41b1f","width":70.0,"x":2171.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"bd9b26bf-f7dc-46be-9ea4-3b2825a7f377","width":70.0,"x":2451.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"871b89c3-b5e0-4a5f-8933-6bba8b89fb6e","width":70.0,"x":2591.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cf1f1ae6-4327-431a-a204-ffb90ac0f132","width":70.0,"x":2241.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c7e38552-1934-4169-be50-cf23b1641eb3","width":70.0,"x":2171.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d4bf4173-3425-4af2-a777-c05033701e0a","width":70.0,"x":2451.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cb2f564f-50e5-4e86-bd4d-76822a92c5c3","width":70.0,"x":2381.0,"y":280.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"29dc9121-60f2-4f11-8f88-2048cc4959e7","width":70.0,"x":2381.0,"y":350.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"de24d838-ab01-4d38-b528-758413258d2c","width":70.0,"x":2801.0,"y":490.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d549e490-5380-4e89-9925-f8f4eb22c58a","width":70.0,"x":2731.0,"y":490.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"47831770-f5eb-4a24-80a5-fcfb8fab5ac3","width":70.0,"x":2591.0,"y":-70.0,"zOrder":6,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a64c3cd7-c6f6-4e0c-86fa-caa2ffbf5eb8","width":70.0,"x":2591.0,"y":0.0,"zOrder":6,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"253b41af-1826-4598-adb5-0c56fe78a140","width":70.0,"x":2521.0,"y":0.0,"zOrder":6,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"0c5f1239-93db-4963-9968-34aaa9156b7f","width":70.0,"x":2451.0,"y":0.0,"zOrder":6,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"660a7a9d-83c9-453f-ac3e-e16fb1daddc7","width":70.0,"x":2521.0,"y":-70.0,"zOrder":6,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"fec15928-bcf5-4ace-8d19-2316aef45cf0","width":70.0,"x":2451.0,"y":-70.0,"zOrder":6,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"43d66dbc-a892-4f67-a95c-4a6e8c7cb209","width":70.0,"x":2241.0,"y":140.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9750360a-ebec-4ed6-950e-fef7c722d44b","width":70.0,"x":2241.0,"y":70.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"74178c7a-4fc1-400e-9365-d56961083c8b","width":70.0,"x":2101.0,"y":210.0,"zOrder":1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"96a82289-2904-4677-80d9-de3e0adfabd2","width":70.0,"x":2311.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"76892998-40fd-4af2-abfd-764ccb54b5f1","width":70.0,"x":2381.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cba87dc2-15ac-42bc-a23d-b10c61a8ce86","width":70.0,"x":2451.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"324aa852-468e-4d45-bd72-e9d22ef52c70","width":70.0,"x":2521.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e87e1f05-b13c-4da8-8af9-c68644cb5073","width":70.0,"x":2521.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"db7e792f-1a88-4110-bef5-58362458eedb","width":70.0,"x":2521.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cb58e1da-4599-4eff-a15e-97d3c3485b7c","width":70.0,"x":2521.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3f1d1ba8-c160-49db-af99-34aa28ef7077","width":70.0,"x":2591.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e3b88aea-7acf-4b2b-a36c-0a6421f4cb63","width":70.0,"x":2661.0,"y":70.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"81d72c1a-daa8-43a6-b1b0-0f708b97c33c","width":70.0,"x":2661.0,"y":140.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0e42143c-3115-48dd-a584-cfadd88ddada","width":70.0,"x":2311.0,"y":210.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d4f643b1-c90e-4d55-8717-724017f0a2a1","width":70.0,"x":2381.0,"y":210.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"f43da386-3cd8-4ae5-96e9-7ad893b94bcb","width":70.0,"x":2381.0,"y":490.0,"zOrder":16,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"20bc17b5-b430-4165-8502-6d8447f365a2","width":70.0,"x":2521.0,"y":490.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"e9d3d348-20dc-45f3-b89d-757316cf1018","width":70.0,"x":2591.0,"y":490.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":40.0,"layer":"","name":"furniture","persistentUuid":"5d31ac81-b326-40c2-aa1d-edf35a425ce4","width":40.0,"x":2316.0,"y":496.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"108b9f0f-5406-4644-ba4d-4e8159b40489","width":70.0,"x":2101.0,"y":350.0,"zOrder":-5,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"39ccef98-5e7a-4e12-9ecf-457a82002579","width":70.0,"x":2101.0,"y":420.0,"zOrder":20,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ed1d8ee9-8378-41a3-bebd-4c31c22c1afa","width":70.0,"x":2101.0,"y":280.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b067c54f-af62-4eb3-9d63-6944e02f30ac","width":70.0,"x":2171.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"aed958b5-6563-446c-86b6-c21f549c208a","width":70.0,"x":2871.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9ae2e19b-5d43-4b4e-9b3d-6b15eb85ae5b","width":70.0,"x":2241.0,"y":0.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8b59ba75-fc6b-4a00-867e-1b756afff0c6","width":70.0,"x":2241.0,"y":-140.0,"zOrder":1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"db8da8bb-41e7-4e76-a1c9-812eb369c578","width":70.0,"x":2241.0,"y":-70.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5857033e-1fb6-4976-ad0e-5c3f57dc8c2a","width":70.0,"x":2661.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f3438ace-a6bc-4297-8768-8c4915a37bcf","width":70.0,"x":2661.0,"y":-70.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3ab04b68-c383-4423-b4db-696202b3de65","width":70.0,"x":2661.0,"y":0.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9cf4a744-ddf1-4d11-99e3-8fbd25683791","width":70.0,"x":2381.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b957ba06-f013-4cab-a8f7-3a7d58762fce","width":70.0,"x":2241.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"22432071-f380-4534-aeca-38b9f71764b8","width":70.0,"x":2451.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"870c2e30-4663-4a70-80d8-5d8456c10820","width":70.0,"x":2521.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c15e4403-66cb-4fe7-8248-fcb672d460e7","width":70.0,"x":2591.0,"y":-70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"af484a1f-337e-41ad-9fdb-a0ad52464c3c","width":70.0,"x":2591.0,"y":0.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4d50948d-d722-4d0b-883a-5de35b9ea13e","width":70.0,"x":2591.0,"y":70.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1fd5d6ac-e83f-4897-bbe6-8812aee60b5f","width":70.0,"x":2521.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0b0d44f6-dcbb-4e1b-81ed-5a5e36f9fd49","width":70.0,"x":2661.0,"y":140.0,"zOrder":-11,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9ae3997e-4983-4a6e-b333-f7bb75769964","width":70.0,"x":2661.0,"y":70.0,"zOrder":-11,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f370a583-c8e7-423f-abea-e4be7a4e2aa2","width":70.0,"x":2591.0,"y":140.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"39f71beb-284c-4b10-b06b-58c75c777982","width":70.0,"x":2381.0,"y":-70.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1e592b29-2d37-4d66-be1c-8a4c26475116","width":70.0,"x":2591.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cd6b0da0-7fc4-4ee9-b74b-25108ab854ed","width":70.0,"x":2661.0,"y":490.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e7a04ae9-6920-4442-80a1-56c1e67065e8","width":70.0,"x":2661.0,"y":420.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"86778686-99cc-4d43-8cba-b90e7a33745f","width":70.0,"x":2661.0,"y":280.0,"zOrder":-3,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"74df6a91-5a25-472d-92da-14b13603c481","width":70.0,"x":2661.0,"y":350.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4037b41f-3fa3-4a85-882b-a50d655794cf","width":70.0,"x":2591.0,"y":490.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ca764c02-4ef4-475e-9d90-e5f502e73d52","width":70.0,"x":2591.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1a792474-e6cd-4730-8348-51dbc33914e9","width":70.0,"x":2661.0,"y":-140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"c0512fb2-b8d2-4b6f-b782-ea5f4df5ec30","width":70.0,"x":2801.0,"y":350.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"10dbe519-0cc0-4224-a81e-3856dc835835","width":70.0,"x":2451.0,"y":280.0,"zOrder":16,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"e22e0d94-8df5-49e1-8e1f-7809051809c0","width":70.0,"x":2451.0,"y":490.0,"zOrder":16,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4a559747-f009-402f-9121-0676a92b81ae","width":70.0,"x":2101.0,"y":490.0,"zOrder":-1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1e917927-5bd1-4085-84b0-ed4456951d54","width":70.0,"x":2101.0,"y":420.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f549d2dd-409d-4ffa-8fb7-dd6d9323f96f","width":70.0,"x":2101.0,"y":490.0,"zOrder":-14,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":40.0,"layer":"","name":"furniture","persistentUuid":"36eb65da-1d7a-4693-bffc-bd423506e61e","width":40.0,"x":2606.0,"y":507.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"41eaec91-3341-4985-ad43-29732349e591","width":70.0,"x":2302.0,"y":481.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":50.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"32c4d00f-5f1b-4d19-b3f2-8d926499c17a","width":70.0,"x":2241.0,"y":420.0,"zOrder":16,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"ammo","persistentUuid":"a8bdca94-ce68-4cab-963a-bc23ea006f58","width":0.0,"x":770.0,"y":280.0,"zOrder":32,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"ammo","persistentUuid":"2f15504b-7810-4c07-a484-78d55024f574","width":0.0,"x":840.0,"y":350.0,"zOrder":33,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"GUI","name":"AmmoText","persistentUuid":"36822822-c4f5-41c8-8413-b1cc33283c20","width":0.0,"x":0.0,"y":630.0,"zOrder":34,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"crossair","persistentUuid":"17eb0375-5132-4694-b344-c489559dd83f","width":0.0,"x":560.0,"y":350.0,"zOrder":202,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flame_thrower_fire","persistentUuid":"a81690d2-101a-4442-9ccd-a902aad83fe9","width":0.0,"x":560.0,"y":420.0,"zOrder":203,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flame_thrower_fire_collision","persistentUuid":"3a466f49-34ea-4274-8981-2e8f77eae5a7","width":0.0,"x":140.0,"y":280.0,"zOrder":204,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"73e55424-fce7-4b26-a92b-b01c7c7194fc","width":70.0,"x":210.0,"y":1540.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"33ec63dd-a01d-4dfc-9716-6c8e1b446b28","width":70.0,"x":210.0,"y":1680.0,"zOrder":1,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"df0bbc06-83bc-43c8-8146-98c6957f0664","width":70.0,"x":560.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"242b6d2e-3d14-492a-9315-b5f89bda94b9","width":70.0,"x":490.0,"y":2030.0,"zOrder":1,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ffbd7b40-a086-470e-bd1d-fd49ef5cc09b","width":70.0,"x":630.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"38092550-4456-485c-9fa6-191e72940e40","width":70.0,"x":700.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"fc56d41e-365a-4c51-b778-77c0ba7335f0","width":70.0,"x":770.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ed674b11-ee23-4c79-8bbb-9d82b8f9cdac","width":70.0,"x":840.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"fbe0a9f8-1c04-4aa7-b008-7c34f495e331","width":70.0,"x":910.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ddb98d08-f70c-4d9c-bd57-3d28a1994a22","width":70.0,"x":1120.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e9030163-9da2-4b1b-a0a2-621e8d02815c","width":70.0,"x":1190.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d98b9036-8823-4cc7-8d2a-695fd5487885","width":70.0,"x":980.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b0b48201-c4a1-4d80-a31f-c36f839f11e9","width":70.0,"x":1120.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5678fefd-f892-420b-8803-43d8975fb912","width":70.0,"x":1190.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f5a719c9-9839-4eac-95ff-6d93566c063d","width":70.0,"x":1260.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d2591b69-5eee-41e7-8d9f-76d7af88afcd","width":70.0,"x":1260.0,"y":1750.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4be1b432-0ec9-40f2-a83a-45af10df25ef","width":70.0,"x":1260.0,"y":1890.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"0fd57db5-52cc-459d-9361-af0d856660b9","width":70.0,"x":1260.0,"y":1960.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"aac2cdeb-3047-447e-9ac3-87940812258c","width":70.0,"x":1120.0,"y":1750.0,"zOrder":50,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"620650ed-d290-4a23-b7e2-5665a5b63df9","width":70.0,"x":1120.0,"y":1680.0,"zOrder":50,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"786062d2-435a-4351-9205-aaddd64aa267","width":70.0,"x":1190.0,"y":1750.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e54d56a8-7c93-4335-a40b-d2152e0aaafb","width":70.0,"x":1120.0,"y":1750.0,"zOrder":-12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"91600b5f-1c24-4a73-acbe-f009b2c18e70","width":70.0,"x":1120.0,"y":1890.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a65c8de8-d5dd-4bb9-98ce-4c3452203f23","width":70.0,"x":1190.0,"y":1890.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"122ddbef-9a34-4651-985a-32d8b3ee5c87","width":70.0,"x":700.0,"y":1890.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b937a527-da67-47e7-8670-b5deb49d082b","width":70.0,"x":630.0,"y":1890.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7de5361a-2664-4626-924e-260417b5732e","width":70.0,"x":910.0,"y":1890.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"dd599e3b-f90d-4d4c-81ec-9719752aa6c2","width":70.0,"x":560.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"84593a35-33bc-41e0-ae46-497922045901","width":70.0,"x":280.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2442cbe0-3258-4aa2-8a88-25d916c63ab7","width":70.0,"x":910.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e7a9aeec-24d4-41c8-86e7-d00c4cabee14","width":70.0,"x":350.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d4eb895e-5d8c-4334-90a0-aa8b76ab6719","width":70.0,"x":420.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"863f55a4-d7ef-4f42-a3f6-26bf8c973a51","width":70.0,"x":840.0,"y":1960.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"49c644af-cea1-4bb6-8ae9-293639d903d4","width":70.0,"x":560.0,"y":1890.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"35cdc659-4e0a-42b7-8c68-dbf7b536bd88","width":70.0,"x":210.0,"y":1610.0,"zOrder":-11,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1c8afc9c-4d2f-4e6f-9336-d45ec862d45a","width":70.0,"x":770.0,"y":1960.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8ff5fd7d-8abc-45be-bb95-cc4e7eeda8e8","width":70.0,"x":840.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b5aae3c3-d561-44dd-8c8c-071781eee38f","width":70.0,"x":210.0,"y":1540.0,"zOrder":-7,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5d887085-7cf7-43f7-9d19-57d860f61af9","width":70.0,"x":700.0,"y":1960.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d599bd53-ddf4-43b3-875b-3a7a32b30ff1","width":70.0,"x":630.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8e331be4-5d43-46c8-8b3d-03322137a896","width":70.0,"x":770.0,"y":1890.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5fd9f5da-1ef8-405b-bed8-30877acff7f9","width":70.0,"x":280.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6f0ad9b8-1ebd-44fb-951d-b4a9e3a8be58","width":70.0,"x":910.0,"y":1960.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"67c05911-86e2-47d2-8aed-ffddb8944e6a","width":70.0,"x":210.0,"y":1680.0,"zOrder":-8,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4db74bcd-161e-495a-b5e9-a76e0b1925cc","width":70.0,"x":700.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"31c6116a-8738-4e3c-8e62-9e7977d09c6e","width":70.0,"x":350.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2705b1eb-4856-4ad5-ab82-83f93bf34fb8","width":70.0,"x":840.0,"y":1890.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d68111f0-ce9f-4a75-88b1-aedfb88569f6","width":70.0,"x":280.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"bdf57f18-0856-4b78-b82b-330304cc276d","width":70.0,"x":560.0,"y":1960.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"395aa9b1-3558-493a-9286-bf381528f995","width":70.0,"x":980.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b827b285-352a-4ea6-8833-c7541da251a6","width":70.0,"x":630.0,"y":1960.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"29c59928-e9f2-41d2-a305-69d94192a8b4","width":70.0,"x":420.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ebbdeb02-65f7-48f4-a265-9c42095bc320","width":70.0,"x":1050.0,"y":3290.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0dbd9763-1ad3-4b07-92c5-bf3034f347ee","width":70.0,"x":770.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0eff2e85-9c6a-4bf4-aaf6-36ac82074833","width":70.0,"x":420.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"353886f5-06e0-44a9-a6b2-6dacb5d00bbe","width":70.0,"x":1190.0,"y":1960.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"60c52358-b835-46e0-b1cb-867e3d9f8dfe","width":70.0,"x":1120.0,"y":1960.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"255d9f87-6f88-448d-b242-02b445cd79e2","width":70.0,"x":630.0,"y":1820.0,"zOrder":6,"numberProperties":[{"name":"animation","value":25.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"69ec8f4b-108f-4aa6-9f21-12276bb42cac","width":70.0,"x":560.0,"y":1820.0,"zOrder":6,"numberProperties":[{"name":"animation","value":24.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"2634e704-0f14-4dc3-8b05-6ee15186ef90","width":70.0,"x":560.0,"y":1890.0,"zOrder":6,"numberProperties":[{"name":"animation","value":26.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"25a42206-0af5-4035-aa08-a3d0335ef480","width":70.0,"x":630.0,"y":1890.0,"zOrder":6,"numberProperties":[{"name":"animation","value":27.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"7c03050b-bff7-4555-b509-979d59c48b7b","width":70.0,"x":560.0,"y":1960.0,"zOrder":6,"numberProperties":[{"name":"animation","value":28.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"e74dbf66-dcb1-444d-8584-2743b53343c0","width":70.0,"x":630.0,"y":1960.0,"zOrder":6,"numberProperties":[{"name":"animation","value":29.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f8e527ef-88d2-4ea7-a7ca-53ce880b3429","width":70.0,"x":210.0,"y":1470.0,"zOrder":1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d0af732e-2080-4e8f-8ee4-6297de56a23a","width":70.0,"x":560.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"641468c0-11e5-4894-aded-83f963e311c3","width":70.0,"x":630.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7b708160-5f68-4f7c-87d5-d5bcf76ee1a1","width":70.0,"x":700.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d3ebbb9a-9ea8-49b8-bf47-2511ca84084b","width":70.0,"x":770.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"624a789e-904a-463c-a3ab-e4ede8365415","width":70.0,"x":840.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9a69134e-7a7b-4e0d-8129-5a214566faba","width":70.0,"x":1190.0,"y":1540.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"b749ca20-a9e1-49a3-9d53-d4b87ce02db5","width":70.0,"x":630.0,"y":1470.0,"zOrder":16,"numberProperties":[{"name":"animation","value":16.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"ba6b91d7-3ea3-405f-9873-a787ec313421","width":70.0,"x":770.0,"y":1470.0,"zOrder":16,"numberProperties":[{"name":"animation","value":18.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"338b0cae-f523-4c02-b892-782ad5151794","width":70.0,"x":630.0,"y":1330.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4247e287-18bb-4c58-9938-87327ff036fb","width":70.0,"x":210.0,"y":1540.0,"zOrder":-5,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c528aa7c-9824-4c0a-a025-33ade78754c5","width":70.0,"x":210.0,"y":1680.0,"zOrder":-4,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"06c0aac9-8bb3-4b18-9406-6596f9357c0e","width":70.0,"x":490.0,"y":1960.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"113a5477-4106-4635-bdfa-8ca6bc3cae98","width":70.0,"x":560.0,"y":1610.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5451d084-e8fe-444c-ac66-c6b6311d0bae","width":70.0,"x":490.0,"y":1190.0,"zOrder":1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ca31a19d-8017-4444-92f2-5f220f849e64","width":70.0,"x":980.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"947a626f-4e40-42d9-a31f-cbed72e1c540","width":70.0,"x":630.0,"y":1330.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"98b09890-4628-4019-862b-00f017d3d58e","width":70.0,"x":1050.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"770fc433-f6d0-43fe-baf5-20ce9ba1fff6","width":70.0,"x":1050.0,"y":1750.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"02571552-f0f5-4a39-803d-bf884f320fac","width":70.0,"x":1050.0,"y":1750.0,"zOrder":-3,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"155ee6b1-b51a-4d20-a364-2d25c2d4e0d5","width":70.0,"x":1050.0,"y":1820.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"87b894e1-7920-4483-aa35-b5fb98db031d","width":70.0,"x":980.0,"y":1960.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2e0bcd9c-6831-4dc6-be6a-8b947f67e0e8","width":70.0,"x":980.0,"y":1890.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"43166889-e2b8-4397-baf2-f93058b10e52","width":70.0,"x":1260.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"909ece64-796d-4ad2-89d6-5ff28027c23d","width":70.0,"x":1120.0,"y":1610.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":140.0,"layer":"","name":"furniture","persistentUuid":"90bf3067-ab2a-42a5-a7e3-ee60f03cdf15","width":140.0,"x":1050.0,"y":1330.0,"zOrder":35,"numberProperties":[{"name":"animation","value":21.0}],"stringProperties":[],"initialVariables":[]},{"angle":140.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"cdca65f6-1f06-4280-8640-c2220619a697","width":70.0,"x":560.0,"y":1260.0,"zOrder":30,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"89c7cb0b-3d2a-4cb2-84f8-45f4f80cf207","width":70.0,"x":700.0,"y":1470.0,"zOrder":16,"numberProperties":[{"name":"animation","value":17.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8eb0661b-883a-43cc-9bfd-4b8a37336a32","width":70.0,"x":210.0,"y":1610.0,"zOrder":-1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"98f09269-d1c1-48f1-9e8e-6ec32922ec55","width":70.0,"x":910.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3406ec6b-1e31-4b13-9541-dfbbc66499e0","width":70.0,"x":1260.0,"y":1400.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"59bcbabc-b3a7-416d-9af8-f1feb8f8cef1","width":70.0,"x":1260.0,"y":1260.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3f0ec870-8343-4704-88c8-e3aa15e847db","width":70.0,"x":1260.0,"y":1540.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"78f44afa-31e1-4532-a89a-3af6cb76f3c6","width":70.0,"x":1260.0,"y":1470.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ba6c90d0-e6b6-476e-982c-f5dffe569410","width":70.0,"x":1260.0,"y":1610.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1458aaf4-a78a-410f-90b9-0fd8b4c1178d","width":70.0,"x":1260.0,"y":1680.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"306a1c68-53cc-4e33-81af-2b76f72763cf","width":70.0,"x":490.0,"y":1890.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"83791744-baef-4582-9d08-392e613f65a6","width":70.0,"x":490.0,"y":1400.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"acbdf8fa-cd75-4ba2-94f9-d1bc1b39aa2f","width":70.0,"x":490.0,"y":1330.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4c42ad67-bf90-442e-aef6-df7aace504b9","width":70.0,"x":490.0,"y":1260.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"95fe8a30-e7c2-4a11-a83c-689390ad4d85","width":70.0,"x":490.0,"y":1820.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"da9b9b38-cdad-4e43-9803-bfcd1184ffbe","width":70.0,"x":490.0,"y":1470.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2ef84af2-6642-4d98-9a42-5de9fca52b05","width":70.0,"x":420.0,"y":1750.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"07216006-6920-4e59-aeeb-ff596e40d81b","width":70.0,"x":420.0,"y":1470.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c7fe1c34-9271-4bb8-85bc-fbfe87816c3f","width":70.0,"x":350.0,"y":1470.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"df1328ae-0e1a-4f43-b465-0e8c818f5a11","width":70.0,"x":350.0,"y":1750.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d17db00d-2878-407a-83ec-20d00e0505d4","width":70.0,"x":280.0,"y":1470.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"50c96e8e-2cbe-4cae-8ee9-321d8a11a5dc","width":70.0,"x":280.0,"y":1750.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"dc25644c-b28d-47df-8c51-564abbf9172d","width":70.0,"x":210.0,"y":1750.0,"zOrder":1,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"476bc91e-f03f-4966-80fd-ad1785b89dd0","width":70.0,"x":350.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"75a5e47d-06f7-4908-821e-f674f790f233","width":70.0,"x":490.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6f5fbf16-678c-4f0b-82b5-5e16e7e9d6a2","width":70.0,"x":630.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f5b3cae2-c98d-45b1-8308-7762902ccebf","width":70.0,"x":770.0,"y":1260.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f3e22f2f-bc76-41bc-b9f3-1900f502a074","width":70.0,"x":700.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a4662d28-a752-4715-867d-6717f1d0f813","width":70.0,"x":560.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"fba7f1f8-6b44-4514-b07f-8003d3296684","width":70.0,"x":630.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1468d0b2-9b60-4d47-99d7-76c3c1171da7","width":70.0,"x":770.0,"y":1330.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"610b361f-4e98-4598-be87-413d00c08d94","width":70.0,"x":700.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cbfe908f-7006-4ace-8c39-f677c3e528b9","width":70.0,"x":560.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a8b2498b-7ae9-4828-85a0-647490d1214d","width":70.0,"x":630.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"990caf59-37e7-4fd0-b430-c3ae7c687f51","width":70.0,"x":770.0,"y":1400.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6843ef52-5cfe-4b3f-9182-827075a57925","width":70.0,"x":700.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"06314ff4-a436-4a7d-b544-63f5ec58d0f7","width":70.0,"x":560.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"033e81e0-101b-42dd-aca6-9c2d37dbfd81","width":70.0,"x":630.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9b154577-11c4-4ccb-a6b6-c3617198ba25","width":70.0,"x":770.0,"y":1470.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f5019a65-3ea0-4471-b85c-76ba99bcbabc","width":70.0,"x":700.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7bce78c3-889f-4db6-95f4-03985d22672d","width":70.0,"x":560.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d038b049-3a9b-40c3-beb5-6cf335e5b6b5","width":70.0,"x":630.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"dfacd2d0-a10d-48eb-aa56-72c085aac0b7","width":70.0,"x":770.0,"y":1540.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a535b35d-1638-4656-9f9e-ec6d7fbb8267","width":70.0,"x":700.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"03c2e0ce-b991-4b76-871c-9cdef19b0ce3","width":70.0,"x":560.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"576befd7-7811-491c-8e68-8ee39c059c4a","width":70.0,"x":770.0,"y":1610.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ef1c900b-25b8-4604-bc07-bdecbfd78d40","width":70.0,"x":630.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"998f0e87-f36f-4f64-8bb9-b1725fba65b2","width":70.0,"x":770.0,"y":1680.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"41be0d2e-a9c4-4e64-abe7-2b14c085342a","width":70.0,"x":700.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"892832d6-8272-49df-928a-96a3fda64ec3","width":70.0,"x":560.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"742b1327-f7e2-4993-8462-945298ad164b","width":70.0,"x":910.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0f965818-16a3-4978-a050-baf41c017003","width":70.0,"x":1050.0,"y":1260.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"83284553-2576-434e-8faf-6e064954df12","width":70.0,"x":980.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a08cb8c8-83c8-48ac-ab15-5e7f7f0f0be7","width":70.0,"x":840.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5bea898e-952b-435f-ac3c-3618ddd405d7","width":70.0,"x":910.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"12593b88-8561-4d00-8ba5-fe2fb67b0239","width":70.0,"x":1050.0,"y":1330.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"bb47b35c-d122-4663-96bf-3acb8614ae00","width":70.0,"x":980.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"96aeae5f-ed04-4386-94ae-e687a40b81a4","width":70.0,"x":840.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ff310d7f-d168-4783-837e-4d876b335279","width":70.0,"x":910.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3d14edca-a890-4618-9243-83360f731081","width":70.0,"x":1050.0,"y":1400.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2b8f3272-244e-4b25-b605-557745fd2676","width":70.0,"x":980.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"45917c3b-b594-46f9-8900-7002ec93e312","width":70.0,"x":840.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"92fe6c31-a94d-4cda-87c2-6b5b8e1e6db8","width":70.0,"x":910.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"01c09720-116c-4e34-a708-ad8620d5d79b","width":70.0,"x":1050.0,"y":1470.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a67dad7e-ccc4-4910-a8c0-ed489c8d7b1d","width":70.0,"x":980.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cecbc784-5e57-4526-a293-8958e6d4764b","width":70.0,"x":840.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ddb84789-bfac-42b3-909f-085849c55268","width":70.0,"x":910.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"676374d6-422b-4641-80d6-b30774971292","width":70.0,"x":1050.0,"y":1540.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"26a565a9-4d09-4fcf-8423-463c89d3ef8f","width":70.0,"x":980.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"265ed226-0a27-4dfd-b969-7f89248b8d1a","width":70.0,"x":840.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"280d94bb-0450-44ed-8173-482b9e379870","width":70.0,"x":910.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6fa78b3e-c040-4c17-98b2-1142795a3fba","width":70.0,"x":1050.0,"y":1610.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e01a7943-7bd7-4559-8236-1cdf8cb06306","width":70.0,"x":980.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6212e8ed-358b-483e-ae51-7ba3adc5d1a7","width":70.0,"x":840.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8b0d684a-1754-4753-8e5c-dff2c073339e","width":70.0,"x":910.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"be0b3cd4-c58e-432a-8da9-32505fbb421b","width":70.0,"x":1050.0,"y":1680.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ebd01afa-88d1-4985-a5b9-0da252a535af","width":70.0,"x":980.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"890b9656-cc42-4dab-b882-a6fe0b906dc6","width":70.0,"x":840.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8f7fd593-dcea-4645-ad15-958197fa8aa1","width":70.0,"x":1190.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"43902114-eabc-4105-8add-b52d2a22e277","width":70.0,"x":1190.0,"y":1680.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2431630a-1d72-4ea2-a665-9ab8b8fea9bd","width":70.0,"x":1120.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"175eb8ae-6035-418b-9518-b844276a14e1","width":70.0,"x":1120.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"86e12a7b-90a9-4924-bc0c-40df2b6141ba","width":70.0,"x":1190.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"79bc6ffe-ec99-4c43-a167-94e8e94237f8","width":70.0,"x":1190.0,"y":1540.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4cdcd40b-b179-42e0-8c09-befdceb22438","width":70.0,"x":1120.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"09ac54f1-9fdb-48e3-ac70-b26867a51d1a","width":70.0,"x":1120.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c4eba6bb-ebda-420d-a54e-6bcb67338db2","width":70.0,"x":1190.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cc16e818-168b-4a54-9860-199d47a32fe9","width":70.0,"x":1190.0,"y":1400.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"882b00ff-21b6-4ab5-9375-df1630fecd76","width":70.0,"x":1120.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7d809503-c5ff-417a-ab66-0c4553841323","width":70.0,"x":1120.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2553596a-b990-4cdd-a6f9-72f6a97cb531","width":70.0,"x":1190.0,"y":1260.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b934a298-97c4-44de-b1a5-30a8b56801de","width":70.0,"x":1120.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"256c8fa7-a86b-42a9-bfc5-73f7a6a40d82","width":70.0,"x":840.0,"y":1260.0,"zOrder":16,"numberProperties":[{"name":"animation","value":18.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"8ca202a4-9aff-4f35-816b-342b6ffe27e7","width":70.0,"x":840.0,"y":1330.0,"zOrder":16,"numberProperties":[{"name":"animation","value":16.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3e3d810f-e509-4d1b-a023-1fd45c40fab4","width":70.0,"x":910.0,"y":1470.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"35a0a7c2-7e43-4f0c-bcee-888f8c47bfcf","width":70.0,"x":910.0,"y":1260.0,"zOrder":18,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"60f0ca35-c6cc-48e4-b222-1baaf371fe87","width":70.0,"x":1260.0,"y":1330.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2ee8479a-d89a-473f-8deb-174f1e77bc76","width":70.0,"x":1050.0,"y":1610.0,"zOrder":18,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a2a3cf02-cd27-408f-a0da-085dbc0298a5","width":70.0,"x":910.0,"y":1400.0,"zOrder":18,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"bc3b26fc-6eb2-499b-8507-380a17fd5c7c","width":70.0,"x":910.0,"y":1330.0,"zOrder":18,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"bd3a63be-5692-4e62-a268-3df297ab180a","width":70.0,"x":910.0,"y":1540.0,"zOrder":14,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"511159a4-01c6-48a2-8054-cce05d6b268a","width":70.0,"x":1013.0,"y":1400.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"092949bb-515f-4514-9c58-cb37f6c04a0f","width":70.0,"x":1013.0,"y":1330.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"ee05231f-ed8c-4aeb-8202-35142ced365a","width":70.0,"x":1158.0,"y":1400.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"2228e167-4147-41b4-9d85-9816d3065808","width":70.0,"x":1158.0,"y":1330.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"20d9b6d7-0fd8-4a34-8533-fb6baecd5eb8","width":70.0,"x":1087.0,"y":1272.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ac527305-ff36-451e-aedd-77facff950ff","width":70.0,"x":1050.0,"y":1540.0,"zOrder":1,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4afbc036-cffa-4f4f-b13e-2c2432842e44","width":70.0,"x":1050.0,"y":1680.0,"zOrder":18,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5aba5e42-e626-4597-bf65-4b97e41d4bab","width":70.0,"x":1120.0,"y":1820.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c3c8f25a-e964-424f-a1ff-f673d8475b48","width":70.0,"x":1190.0,"y":1820.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"689dd0b0-3511-4a28-b1c1-f238c612cb02","width":70.0,"x":1120.0,"y":1540.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"29fce29b-ccb6-4f39-bc09-8ac11289568a","width":70.0,"x":490.0,"y":1750.0,"zOrder":2,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f3eaba6f-9ea6-4e8a-8299-434e8fff2b26","width":70.0,"x":490.0,"y":1610.0,"zOrder":1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"923cb203-2769-4853-9fd1-f0e063f97a5d","width":70.0,"x":490.0,"y":1680.0,"zOrder":18,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b966fe8a-7dbc-46d6-9647-e66b5b1422e0","width":70.0,"x":630.0,"y":1610.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a4eb2622-6ab2-468f-8a9b-bd4e9fe24fa6","width":70.0,"x":700.0,"y":1610.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"63a1d7bc-3e9e-41fc-abe2-34bec14dfdf3","width":70.0,"x":840.0,"y":1680.0,"zOrder":14,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7a2a4acf-7664-471e-8c12-c52fd62da29f","width":70.0,"x":770.0,"y":1610.0,"zOrder":13,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ff71cf28-118e-49ef-9e90-d3264fb8bd77","width":70.0,"x":770.0,"y":1680.0,"zOrder":10,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"3c42dcb2-2408-424f-8de3-f9336f794b00","width":70.0,"x":770.0,"y":1960.0,"zOrder":6,"numberProperties":[{"name":"animation","value":28.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"03c17528-e0fa-4fd4-a6b2-5d0ab8b55ce0","width":70.0,"x":840.0,"y":1960.0,"zOrder":6,"numberProperties":[{"name":"animation","value":29.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"573c4b31-2899-436b-9a6a-6c04de5d7a15","width":70.0,"x":840.0,"y":1890.0,"zOrder":6,"numberProperties":[{"name":"animation","value":27.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"c35274cf-116e-400c-8f6f-87db5c81a2a8","width":70.0,"x":770.0,"y":1890.0,"zOrder":6,"numberProperties":[{"name":"animation","value":26.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"9536e6fe-de19-4cd4-9b72-cac63289b27c","width":70.0,"x":840.0,"y":1820.0,"zOrder":6,"numberProperties":[{"name":"animation","value":25.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"0d0ebd7a-e709-4685-b5f9-d2024217c279","width":70.0,"x":770.0,"y":1820.0,"zOrder":6,"numberProperties":[{"name":"animation","value":24.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9e382e61-d9f9-4be5-a15f-6e9fe16e1062","width":70.0,"x":980.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"bb0d9ac8-a863-4f26-add2-856f7af6af46","width":70.0,"x":910.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"87043795-91e2-45ce-9652-3d79c5890b4a","width":70.0,"x":840.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"65e08d16-d6cc-48c6-b10f-f0e9364dc3e7","width":70.0,"x":770.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9077267f-2466-4d4e-af35-6bad40ac09ac","width":70.0,"x":700.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"753b4342-f440-4558-8871-f6eb02787924","width":70.0,"x":560.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c4193899-19e1-436b-9ec0-b4b3bd5b26f5","width":70.0,"x":630.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ed862978-22ce-445b-a4e4-fda12e18ae38","width":70.0,"x":980.0,"y":1820.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"544c36e0-bedc-4bec-813b-f52d0b496832","width":70.0,"x":980.0,"y":1890.0,"zOrder":13,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c65d4bf8-56fb-40e5-94ee-0eecf3b82361","width":70.0,"x":1050.0,"y":1820.0,"zOrder":14,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"6d155956-bda6-440f-90ed-258bf3df8538","width":70.0,"x":1050.0,"y":2030.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e2273005-ecd5-4676-8573-8c0c134246d7","width":70.0,"x":1050.0,"y":1960.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"23ddd54a-81e1-4dbe-8b4f-6d1cb9835e24","width":70.0,"x":980.0,"y":1820.0,"zOrder":13,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e5a1022b-d445-4b89-bb55-2d84ac76fd60","width":70.0,"x":910.0,"y":1680.0,"zOrder":14,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"83f42b84-9fd7-4fd7-956c-19239f4aadef","width":70.0,"x":980.0,"y":1890.0,"zOrder":8,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7af4c84d-14e4-48e8-821b-5d1a64013be1","width":70.0,"x":980.0,"y":1960.0,"zOrder":14,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e773b1b2-14ae-428d-a48b-57289c410658","width":70.0,"x":1260.0,"y":1820.0,"zOrder":14,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"07ac21e6-d2c2-4e61-b95d-941cb0ec5f37","width":70.0,"x":980.0,"y":1260.0,"zOrder":45,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":900.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"3b6e39d6-e3d7-4386-ac5e-c3494bd1bd14","width":70.0,"x":560.0,"y":1680.0,"zOrder":16,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"fac2a4dc-d889-408f-a0f1-a5ee3a54bc37","width":70.0,"x":700.0,"y":1680.0,"zOrder":16,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":40.0,"layer":"","name":"furniture","persistentUuid":"0bb6c84e-cfa5-4976-8c3a-22be328cd7e4","width":40.0,"x":643.0,"y":1684.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":201.0,"layer":"","name":"room3out","persistentUuid":"3cecd3fc-e99f-40e9-b21d-2285af6894b6","width":28.0,"x":210.0,"y":1540.0,"zOrder":206,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"GUI","name":"reloading","persistentUuid":"cab0a4f6-4270-4ab6-b3b5-8cff14d7e79e","width":0.0,"x":0.0,"y":0.0,"zOrder":207,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"aab366f3-2021-421d-9146-161d88ca5f31","width":70.0,"x":2170.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e31add8e-b174-4055-a6c0-39bc4c8775f6","width":70.0,"x":2100.0,"y":1890.0,"zOrder":1,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f9f11a8e-865b-44e6-a7b3-2b2548818508","width":70.0,"x":2240.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b8e0fb92-475c-426a-84df-27f5f627b1d1","width":70.0,"x":2380.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1e4565e7-e5d7-4fa7-a785-bd96b154da72","width":70.0,"x":2450.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"123a30f7-d59c-49b9-9ff9-c2de7043ef4e","width":70.0,"x":2520.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"25177625-51a1-4577-8066-44ea6db93323","width":70.0,"x":2660.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"64df1ff5-7d8f-4da0-8770-24673752c79f","width":70.0,"x":2730.0,"y":1540.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8a7ee021-aa91-4c59-ba0d-edf0f386e9ee","width":70.0,"x":2590.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3071309b-6c3c-412e-a012-05ac1e481051","width":70.0,"x":2730.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8cf3079e-369b-49c1-b7c1-83d15c0451a6","width":70.0,"x":2800.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"de978352-a930-4b85-958c-5e77f36543a7","width":70.0,"x":2870.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"15de1f03-da1e-4bc3-97a2-efa668863f59","width":70.0,"x":2870.0,"y":1610.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3a400615-d141-4c99-8ae2-a31e58b757fc","width":70.0,"x":2870.0,"y":1680.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5b424efd-950e-4270-b3b4-98c3aafa1197","width":70.0,"x":2870.0,"y":1750.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"22aac0ea-0bf5-4586-a145-1008815b4d3f","width":70.0,"x":2870.0,"y":1820.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"b733ec6a-f1f1-401e-ba8d-c427e4cb71b9","width":70.0,"x":2170.0,"y":1820.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"500f9ee1-a75f-4815-8dd4-5fa3e4e215bf","width":70.0,"x":2170.0,"y":1610.0,"zOrder":50,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"75979eeb-21f1-4b1e-b036-bc6d0464104f","width":70.0,"x":2730.0,"y":1610.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9b34ecca-019d-4b3f-8f5c-a8e818ef0561","width":70.0,"x":2800.0,"y":1610.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e10a6c82-af12-4b69-aad4-d7ea9d582445","width":70.0,"x":2730.0,"y":1680.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"37b51f72-769e-4e41-b5c9-4db839ce3851","width":70.0,"x":2800.0,"y":1680.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"fbe37399-e9e4-4fc5-910e-ecbdfd688aed","width":70.0,"x":2800.0,"y":1750.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6116c9ec-02a0-4e29-a62e-c151036778fa","width":70.0,"x":2730.0,"y":1750.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"488ff908-a030-40c4-8b04-db024851d5a6","width":70.0,"x":2310.0,"y":1610.0,"zOrder":14,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a1a2c4e0-1f4a-4809-93bd-dee0498c26c3","width":70.0,"x":2310.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0ddc6483-d821-4ee3-aaec-4a4f4f5d35a4","width":70.0,"x":2380.0,"y":1540.0,"zOrder":-8,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8c55fd3b-240d-4188-8893-c3b4a33aeca0","width":70.0,"x":2240.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b1780727-c2df-4e6b-8d6a-ca08926e4eea","width":70.0,"x":2380.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6f134d63-e573-4992-b115-79583a7b4f5e","width":70.0,"x":2520.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6178c478-8b8e-4e4a-981e-6e4e4e910594","width":70.0,"x":2450.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"da1b0626-04c0-4142-abff-dc0884b7aa8a","width":70.0,"x":2380.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5faad21f-35c7-40f8-8d87-b9e8a51c97ed","width":70.0,"x":2170.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7194f672-1c16-4fa3-9fd2-f3a3b645430b","width":70.0,"x":2310.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"45f53a4b-7dd6-4439-9cf4-64f462568fdf","width":70.0,"x":2520.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b12b0cc2-c422-43a0-bdf7-cecb2799ec78","width":70.0,"x":2240.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"880f5ca4-dfd0-4643-9a89-ba298cb0a292","width":70.0,"x":2310.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5ec9ddab-5823-4c00-90e7-b2d184cbf390","width":70.0,"x":2450.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"67349ed8-d331-4353-9bca-197234a349d2","width":70.0,"x":2170.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f8276024-5bb8-4d65-a35d-50c72057f2d6","width":70.0,"x":2380.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c6adbe10-4db2-4fe4-9a40-232ccff618ab","width":70.0,"x":2450.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"79cc0acb-57d9-40a8-b99b-908128bdef31","width":70.0,"x":2100.0,"y":1680.0,"zOrder":-6,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8068b47d-5450-49b8-8fa7-7933736e8c51","width":70.0,"x":2590.0,"y":1610.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"febbeffa-f6ac-4c77-9be6-3c48e3a43d8b","width":70.0,"x":2380.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"65357814-16a8-4e6c-8062-eb7a5b18cffc","width":70.0,"x":2310.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"05ebe4f6-d2cc-469b-b791-6069e974edc9","width":70.0,"x":2240.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c6c7cf0b-a213-473e-b845-b596a53b4fa9","width":70.0,"x":2380.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9178b850-1d4e-443b-9c57-dafeb025351b","width":70.0,"x":2450.0,"y":1540.0,"zOrder":-7,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4ce86282-58a5-42c6-9f25-9c798829456e","width":70.0,"x":2520.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f5da01a2-595a-419e-ae35-4d7b664466c3","width":70.0,"x":2380.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2bf7434c-998a-4d94-8cf7-e9ffcc2b0b7d","width":70.0,"x":2520.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"bf9a5820-a000-4510-b501-5da7bfeece53","width":70.0,"x":2660.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9998d4d5-e754-4885-92de-a012f0dec73e","width":70.0,"x":2660.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5220ea91-c56f-4975-a5f1-de219e83e120","width":70.0,"x":2310.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4a8740c9-9298-4ccf-9b19-68ccfe6b141c","width":70.0,"x":2310.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"34f387ea-150b-437c-b6ab-425666e9d54d","width":70.0,"x":2450.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"514e4081-8659-4c6b-a6cd-e914cff80075","width":70.0,"x":2170.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6096de79-70f0-43f8-b68e-2d9a8fa1b080","width":70.0,"x":2450.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4f735036-5868-40bd-8e28-6e48929081ee","width":70.0,"x":2590.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"135100df-146b-4973-8b4d-a57eabcbe6e1","width":70.0,"x":2240.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"eeef671d-f749-48bf-b5f8-cb8a3b9e8d77","width":70.0,"x":2170.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3310d4e7-f41a-4da4-8994-cee4396a9e22","width":70.0,"x":2450.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e0d647cc-8acd-42cd-a416-941adbc4c643","width":70.0,"x":2380.0,"y":1610.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3ef49be1-a68a-47a9-8acf-d7f8c8200d18","width":70.0,"x":2380.0,"y":1680.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"661128d6-a35e-4f03-a684-8a625f4a6085","width":70.0,"x":2800.0,"y":1820.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7c826a54-a874-461f-b9c5-0d3b5a0ad795","width":70.0,"x":2730.0,"y":1820.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"1c476c9b-0441-47b2-98b3-1b520737a8d3","width":70.0,"x":2380.0,"y":1820.0,"zOrder":6,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"c1a04ee8-ccf2-48a3-b7f2-882d4abfa4d8","width":70.0,"x":2380.0,"y":1750.0,"zOrder":6,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"e2b8e4cb-0d33-4b24-9fad-34e5ea368107","width":70.0,"x":2450.0,"y":1820.0,"zOrder":6,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"32521cfb-57d0-4f1b-9a85-315e0dbb8e70","width":70.0,"x":2520.0,"y":1750.0,"zOrder":6,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"ce0fd288-ea0f-4c41-9215-8eee7a9959c9","width":70.0,"x":2450.0,"y":1750.0,"zOrder":6,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"02f026bd-e4af-446c-85f9-d914c2643a10","width":70.0,"x":2520.0,"y":1820.0,"zOrder":6,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9fb6e042-35d3-4981-8877-fe89fffb6a4b","width":70.0,"x":2100.0,"y":1400.0,"zOrder":1,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ddc727ba-8eda-4c5c-b9b0-f81a2d6eb40a","width":70.0,"x":2450.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1a56b1d6-58a7-4567-b47c-1ef9aec9cf55","width":70.0,"x":2730.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3a0543d5-62a0-4446-90e8-c561349d9a64","width":70.0,"x":2730.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a75cb75d-d836-459b-a768-2b79d7c7ea5a","width":70.0,"x":2520.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"52aa08be-8d8f-4a7d-b1cc-09b945ed6656","width":70.0,"x":2520.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7de8f219-e0fd-47e3-9aa8-3d02c82401ac","width":70.0,"x":2590.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"252c857b-ff66-4f6b-b80b-ec948b4de5e1","width":70.0,"x":2870.0,"y":1400.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8b254513-a1a6-48a3-8996-de3985ee37e8","width":70.0,"x":2870.0,"y":1470.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"76bcfb67-523f-4a72-b789-b64f1d93dded","width":70.0,"x":2520.0,"y":1400.0,"zOrder":16,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"98d39457-cbea-4749-980c-529b3fa09c41","width":70.0,"x":2520.0,"y":1470.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"68d23dc5-5799-4de5-aacc-833aa812d523","width":70.0,"x":2590.0,"y":1260.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4adc8d73-606a-4ca6-89c2-659076497ef5","width":70.0,"x":2380.0,"y":1190.0,"zOrder":-2,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"04222032-a59e-481f-ab63-3bd19ae6cfb4","width":70.0,"x":2100.0,"y":1610.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"087e75b2-37c9-43dd-af43-09d7ba317fbc","width":70.0,"x":2170.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-180.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d69daa8c-bdf6-4c9b-b851-5702d40c692a","width":70.0,"x":2870.0,"y":1540.0,"zOrder":2,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f0f1502e-606f-4d1c-b094-00b3177c9518","width":70.0,"x":2100.0,"y":1330.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"31c22e80-4c9a-4ed7-ab83-43947bd95ab0","width":70.0,"x":2100.0,"y":1190.0,"zOrder":1,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"54891d5f-0aa1-4cdf-b198-6d9d549f8353","width":70.0,"x":2100.0,"y":1260.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3d6a2116-1c99-491f-8692-966a1d473fba","width":70.0,"x":2870.0,"y":1260.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"65be7c0d-7868-4426-8fe0-cf4e28b51953","width":70.0,"x":2870.0,"y":1330.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e786e343-dcd0-4ef9-8c81-04b1e1d41a0d","width":70.0,"x":2450.0,"y":1680.0,"zOrder":13,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ab6dbba1-86a6-4df8-99c0-778d624ea45f","width":70.0,"x":2800.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"631089ed-796f-4102-8651-b819b6d78ffc","width":70.0,"x":2800.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"71218ac2-88c1-4548-96c2-b2cc3eb56d7f","width":70.0,"x":2590.0,"y":1400.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f45d31da-920f-4be6-8fe2-8aaf00ede10a","width":70.0,"x":2520.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ec483380-2a19-4eac-af9e-3ff7cd68faa5","width":70.0,"x":2870.0,"y":1470.0,"zOrder":-11,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"908066ed-26d3-4a04-8467-0f5b57bc69bd","width":70.0,"x":2870.0,"y":1400.0,"zOrder":-11,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4adbec2c-3197-4a2d-9909-785a7194e7c9","width":70.0,"x":2590.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5701d6e1-30f3-4309-bd53-9403b2f384e1","width":70.0,"x":2800.0,"y":1540.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ab680878-f658-4069-b3aa-28cbcc1c13e9","width":70.0,"x":2660.0,"y":1610.0,"zOrder":-3,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4293c365-0d52-45d2-8989-6de41b467801","width":70.0,"x":2660.0,"y":1680.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"453409c7-2717-4bb2-8664-b418cfc7ce2d","width":70.0,"x":2590.0,"y":1820.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c06b1221-6908-4ef4-ae65-bf47ab97b948","width":70.0,"x":2590.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"17a8d879-0a2b-4734-8ed5-3eed70425706","width":70.0,"x":2870.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"e6c494da-dd77-446d-8807-3e43120da3fd","width":70.0,"x":2660.0,"y":1260.0,"zOrder":22,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"b3d177ea-6c69-48e7-85f0-0109af8c3cea","width":70.0,"x":2730.0,"y":1470.0,"zOrder":16,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"bd7c2e0c-3e90-4b42-ad0c-82a3bfea4cc4","width":70.0,"x":2100.0,"y":1750.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b37261bd-a3a7-4352-937b-49298a4d5071","width":70.0,"x":2100.0,"y":1820.0,"zOrder":-14,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"83ce78e8-a688-4805-a482-15ee7fbb4f71","width":70.0,"x":2730.0,"y":1260.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d6323781-da0c-44cf-a98c-52419f755339","width":70.0,"x":2240.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cc8b8ae5-f5b2-4e05-8c44-075fe9422e32","width":70.0,"x":2380.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ec958ce7-3b44-476b-b750-05566f7c7cef","width":70.0,"x":2310.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"77112d00-198a-47c8-b1de-3a4f69bb5a35","width":70.0,"x":2240.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5ea5b1f6-2e99-4200-ac30-36a0bc0e43ff","width":70.0,"x":2240.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4483482a-9722-4d3a-a57a-8da1fd0425db","width":70.0,"x":2660.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f5473e11-ac59-4307-8b92-78f69976aab6","width":70.0,"x":2800.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"db44f645-0be7-4b06-9381-5476d393b873","width":70.0,"x":2730.0,"y":1190.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"36edade0-8a2b-4a47-8e60-c7f684b67f34","width":70.0,"x":2660.0,"y":1540.0,"zOrder":2,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5ba353c5-e03f-4d22-aefd-b9cec1923e2a","width":70.0,"x":2450.0,"y":1330.0,"zOrder":22,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5d1f3a5d-514a-4768-bbb3-53ff065650cd","width":70.0,"x":2450.0,"y":1470.0,"zOrder":18,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"725802b6-b070-4763-9385-c758c0e41393","width":70.0,"x":2450.0,"y":1400.0,"zOrder":13,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"27ef0045-098c-4c77-8d93-d46a9026f0e3","width":70.0,"x":2450.0,"y":1540.0,"zOrder":1,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3bc81036-fe65-4a54-a572-d651995b7266","width":70.0,"x":2520.0,"y":1540.0,"zOrder":2,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ac5d0dda-3a47-4678-9c72-3d47320f7798","width":70.0,"x":2170.0,"y":1400.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c2cb5a45-89e7-447b-a434-91ca2be261ea","width":70.0,"x":2240.0,"y":1400.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5ef65448-0b78-40e0-926c-48b91d0adf6b","width":70.0,"x":2310.0,"y":1540.0,"zOrder":14,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3a761a56-8db2-4224-81b7-2b484debe43a","width":70.0,"x":2100.0,"y":1750.0,"zOrder":10,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"33d20b76-7876-4fbd-bace-85d01b9cbe03","width":70.0,"x":2100.0,"y":1680.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"147dfa88-b023-40b7-9312-61e28eba2c0b","width":70.0,"x":2100.0,"y":1820.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"80f96dea-3836-430d-a762-56bfd9f21cf3","width":70.0,"x":2310.0,"y":1680.0,"zOrder":8,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a83cbc78-1eaa-4c13-944c-9671909068fc","width":70.0,"x":2380.0,"y":1680.0,"zOrder":10,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b09a9314-af62-4000-86dc-5c4144050320","width":70.0,"x":2660.0,"y":1680.0,"zOrder":10,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4cd5d518-8dda-4ee0-8c27-675ba0e311a0","width":70.0,"x":2520.0,"y":1680.0,"zOrder":10,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1e55a316-d05d-47b0-8c86-953efe657bfc","width":70.0,"x":2310.0,"y":1890.0,"zOrder":2,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a1535719-a796-49ee-85ac-14948886b0b5","width":70.0,"x":2310.0,"y":1820.0,"zOrder":10,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"90e20eed-633b-47e2-901a-8185ae4c258f","width":70.0,"x":2310.0,"y":1750.0,"zOrder":10,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"49e13bb4-f5c5-4a4c-aa38-6815bb1d6d9f","width":70.0,"x":2660.0,"y":1820.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"027f83fe-c079-4423-bc98-1865f955c290","width":70.0,"x":2660.0,"y":1750.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9fd20680-b295-4b2c-87b4-155488281baa","width":70.0,"x":2730.0,"y":1680.0,"zOrder":2,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"42d0ed40-d757-4c4b-bb82-78ba1cf375bd","width":70.0,"x":2660.0,"y":1750.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c7dd68d2-729e-494d-b192-64aebd5ca434","width":70.0,"x":2660.0,"y":1820.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a03bbf33-ba36-48c3-91c2-f0eaf8ac8328","width":70.0,"x":2800.0,"y":1680.0,"zOrder":14,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b10c8021-e65e-400d-ab98-af984e87a331","width":70.0,"x":2730.0,"y":1680.0,"zOrder":-4,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1b210d0c-1d1f-48a5-8e29-cf88c4108797","width":70.0,"x":2520.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"62f34d36-e042-4ce5-9ae2-d45fd98983ea","width":70.0,"x":2590.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"021a468e-a5ef-4598-9204-7561edb7e54d","width":70.0,"x":2660.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ef5e3ecf-e3bb-48ca-9af5-0ea5c3d50b7f","width":70.0,"x":2730.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7b255536-54a5-4f9e-9db5-2d8c6b6a2fa7","width":70.0,"x":2800.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f6a6c889-d65e-4497-ad9d-727e2d26ff6d","width":70.0,"x":2520.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f1c26c01-62bc-41f2-a34a-84a91618186f","width":70.0,"x":2590.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"10465d9c-8ad5-495a-aaa8-ee818cb19ccf","width":70.0,"x":2660.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cebeb4cb-a254-41cb-a594-e83d0dc0a87d","width":70.0,"x":2730.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a51381ad-4769-4add-9398-bb9173c5ecf8","width":70.0,"x":2800.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"39ad487d-4c99-4f50-bd72-20f172e34f2a","width":70.0,"x":2520.0,"y":1540.0,"zOrder":-5,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b0a8e415-7091-4259-8720-293c3d4712aa","width":70.0,"x":2590.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7b4d75b7-b240-46bc-906b-6cd13b7ba892","width":70.0,"x":2660.0,"y":1540.0,"zOrder":-5,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5e4d3cd1-c5ee-405e-8f01-2cb561bc3efa","width":70.0,"x":2450.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"49a631fc-8374-461d-a0cc-4f049b86eabf","width":70.0,"x":2450.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f71d8741-b9bd-44dc-887d-b6061426759f","width":70.0,"x":2380.0,"y":1190.0,"zOrder":-5,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"027e15dc-158e-413c-8a31-936960e903f2","width":70.0,"x":2240.0,"y":1190.0,"zOrder":-21,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6acbe5ea-105e-48f9-9f7e-72e3d05e92ff","width":70.0,"x":2170.0,"y":1260.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"56d8ff22-d61e-4612-a410-bf6ad45b3e4e","width":70.0,"x":2310.0,"y":1190.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"215d2465-c2f8-4284-af20-387a00203e84","width":70.0,"x":2170.0,"y":1330.0,"zOrder":4,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"85d3c160-385a-4295-b5a6-ba74687431b0","width":70.0,"x":2800.0,"y":1470.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"88a88b2e-ddbb-4b12-924c-2fe5ad44208a","width":70.0,"x":2660.0,"y":1260.0,"zOrder":30,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"7bcd5e9a-4935-4702-9c80-840becceb134","width":70.0,"x":2170.0,"y":1680.0,"zOrder":50,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"73ab4163-952a-41c8-823a-4e9926d5a66b","width":70.0,"x":2170.0,"y":1750.0,"zOrder":50,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"b4921e4a-0980-4a65-be4d-20737a3c5c77","width":70.0,"x":2170.0,"y":1820.0,"zOrder":50,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3f5e4b6b-2582-4ce5-a3f6-9524bc7b0a8f","width":70.0,"x":2310.0,"y":1400.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"df2e16b2-e385-4c4d-9d4a-7fdbc0a8ab76","width":70.0,"x":2310.0,"y":1470.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"beccf55b-fea9-4600-8e77-64056ad6ad6f","width":70.0,"x":2170.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7dd510bb-f21e-48a6-8b43-cf9d0292134e","width":70.0,"x":2170.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1d8ae853-1e83-4fdb-99a7-c3ddc6827fb6","width":70.0,"x":2240.0,"y":1540.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f148a06a-84a5-4fe5-95da-4858a760ffe5","width":70.0,"x":2240.0,"y":1470.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"26d13332-8450-466c-9cfa-840467117d58","width":70.0,"x":2100.0,"y":1540.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"13f38da4-7900-4b31-ae9d-893ec8444d22","width":70.0,"x":2100.0,"y":1470.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"81acfe14-2d41-4ed9-8227-f1aae1ba0425","width":70.0,"x":2170.0,"y":1470.0,"zOrder":50,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"3a22ba79-4e79-4d36-8b66-b898bf8bbe8a","width":70.0,"x":2170.0,"y":1540.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9041f7a1-6a3e-4012-b80a-9d65af440dce","width":70.0,"x":2310.0,"y":1540.0,"zOrder":8,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c146b280-9710-4cdf-84e4-1d4bd749ae90","width":70.0,"x":2520.0,"y":1680.0,"zOrder":10,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"fcc77936-0d5e-4036-aced-1f85b2a70cc3","width":70.0,"x":2590.0,"y":1680.0,"zOrder":14,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"59b647e6-ce0f-42eb-bab0-f5eebffdafbf","width":70.0,"x":2240.0,"y":1190.0,"zOrder":-4,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3f1af93b-314e-4569-af35-e1f824e59fde","width":70.0,"x":2310.0,"y":1190.0,"zOrder":8,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":34.0,"layer":"","name":"room4out","persistentUuid":"dee53286-0307-4852-bc7a-48251fd72532","width":210.0,"x":2240.0,"y":1190.0,"zOrder":208,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"GUI","name":"Wheel_info","persistentUuid":"cdfbe50d-4821-4557-a25c-492c521302f0","width":0.0,"x":0.0,"y":560.0,"zOrder":209,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"08a9ab5e-d7a2-4a79-85a4-185e3a835614","width":70.0,"x":3570.0,"y":210.0,"zOrder":210,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"59e50fde-8ede-4788-a65e-e7abfaf3c778","width":70.0,"x":3570.0,"y":70.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"0f9ec355-aa68-42ac-9bb4-3fd1329712c6","width":70.0,"x":3570.0,"y":0.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2f15dfb1-5a15-4dd4-ad88-57605bec436c","width":70.0,"x":3570.0,"y":350.0,"zOrder":210,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"daec605e-81ba-4121-95f3-72f9d225fc82","width":70.0,"x":3570.0,"y":490.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"57c4a8df-970e-486f-88d6-e120bc276121","width":70.0,"x":3570.0,"y":420.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"267bffbd-5cbc-4f66-9e2c-c6c3d102b8ae","width":70.0,"x":3570.0,"y":-70.0,"zOrder":212,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9549ba2b-e590-465f-a6b5-15eff4e97ffe","width":70.0,"x":3570.0,"y":560.0,"zOrder":212,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b5d65e2f-360f-4123-9245-858324af25a4","width":70.0,"x":3640.0,"y":560.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"30c875e4-3a8f-4eab-893e-62b14a844d89","width":70.0,"x":3710.0,"y":560.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9f956c1d-8752-46e6-b02d-1ce085d21ed0","width":70.0,"x":3780.0,"y":560.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"dd5c2640-e25a-491b-bfc9-012e971b0d64","width":70.0,"x":3850.0,"y":560.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"dda7f9d6-30a2-4329-b1cf-d10b7f084184","width":70.0,"x":3920.0,"y":560.0,"zOrder":213,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e80150db-bb6c-4c16-b487-ccd62b288ece","width":70.0,"x":3920.0,"y":280.0,"zOrder":210,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ac0f1478-49bc-4c49-8c36-881a5e09d78c","width":70.0,"x":3920.0,"y":420.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7d40d032-2833-452e-bed5-0f0b72df6466","width":70.0,"x":3920.0,"y":490.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f58d551f-7b28-49a7-8e5a-f7bc881a200a","width":70.0,"x":3990.0,"y":560.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"43681b49-8075-4495-8f0b-fd1c4b78942e","width":70.0,"x":4060.0,"y":560.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2ae02ead-ee6b-47b6-9081-a0956340a1b6","width":70.0,"x":4130.0,"y":490.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"48a38bfa-26f1-4a09-980c-09c9649e1f4c","width":70.0,"x":4130.0,"y":420.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d467a934-28f9-43b1-a7dc-3ee065be3d3a","width":70.0,"x":4130.0,"y":560.0,"zOrder":212,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"771081a4-f10a-40d5-935e-a4b805c8e008","width":70.0,"x":3990.0,"y":490.0,"zOrder":214,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"8d5b4aed-ad0f-4f3b-b8c1-e52469c1b333","width":70.0,"x":4060.0,"y":490.0,"zOrder":215,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"c6ee6ed7-b2cf-486e-8370-dafab32f97b9","width":70.0,"x":3990.0,"y":350.0,"zOrder":216,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"ba1dcd43-3959-4fab-a910-ec0eb6da9911","width":70.0,"x":4060.0,"y":350.0,"zOrder":217,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b57f9bc4-cacf-434a-be7a-00506b653bed","width":70.0,"x":3710.0,"y":-70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"264db9e8-c6a0-4dfb-8705-994dd9e1286e","width":70.0,"x":3780.0,"y":-70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"61326586-57e6-48f2-8f50-9501a7d0dcb6","width":70.0,"x":3850.0,"y":-70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f6b36b5b-9143-4635-b7aa-eacefc56fccf","width":70.0,"x":3920.0,"y":-70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cfe1ae31-19fe-4a2b-b0ea-cb1045b57a71","width":70.0,"x":4060.0,"y":-70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b90a5c3e-912f-4620-9362-f4a3aff7c5d6","width":70.0,"x":4130.0,"y":-70.0,"zOrder":212,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"49f7b522-4779-47cf-8c45-9cc9b99d3891","width":70.0,"x":3640.0,"y":-70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"44eb149d-a600-48b9-a296-6dcc1e8952e0","width":70.0,"x":3990.0,"y":-70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c539143c-801c-43fe-a26a-d044ab476659","width":70.0,"x":4130.0,"y":0.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"374dc7e9-932c-4fc3-ae42-2044ac08dc75","width":70.0,"x":4130.0,"y":70.0,"zOrder":211,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d46a0582-93bf-4209-aa02-35a9d19a4889","width":70.0,"x":4340.0,"y":140.0,"zOrder":211,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ce360532-8916-4e8a-9699-5e43e9b3b250","width":70.0,"x":4340.0,"y":210.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2fd06499-4933-4110-a32c-2854e67be1c3","width":70.0,"x":4130.0,"y":350.0,"zOrder":211,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3f30191f-8d51-499f-bcb5-e16456a42f4b","width":70.0,"x":4060.0,"y":70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a2db4db0-be17-4f0e-83e2-dcd7ba9929bd","width":70.0,"x":3990.0,"y":70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1c19449c-ac0a-4538-8ea6-0e99dc27672e","width":70.0,"x":3920.0,"y":70.0,"zOrder":213,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"149196bb-1a77-48bc-8f71-224caa39b39f","width":70.0,"x":3920.0,"y":140.0,"zOrder":218,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"30a809a6-c29b-4262-adb7-1b0696369965","width":70.0,"x":3640.0,"y":490.0,"zOrder":219,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7d0ba3c6-0ea5-4c75-aeda-59dedc638acc","width":70.0,"x":3710.0,"y":490.0,"zOrder":220,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c9c11872-2926-489e-aa19-a8d935754a73","width":70.0,"x":3780.0,"y":490.0,"zOrder":220,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"606bc2f5-50a2-40d0-8913-4a2e76546965","width":70.0,"x":3850.0,"y":490.0,"zOrder":220,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"0adf3a5e-c981-4d7d-84f3-a8f1c75f321f","width":70.0,"x":3640.0,"y":490.0,"zOrder":221,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"95b6f546-068a-44fe-a818-a8e1c08c3fb1","width":70.0,"x":3710.0,"y":490.0,"zOrder":221,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"4e65ea07-148a-4b4d-bfec-1ca1af090020","width":70.0,"x":3780.0,"y":490.0,"zOrder":221,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"8fa4e1e6-248e-488f-9639-b22bcfb64a9d","width":70.0,"x":3850.0,"y":490.0,"zOrder":221,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"253cd4f1-68e5-4dc4-9e8a-98f93798000c","width":70.0,"x":3640.0,"y":490.0,"zOrder":222,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"075d7ff8-b689-4779-8d51-813f4c906d16","width":70.0,"x":3640.0,"y":420.0,"zOrder":219,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"51dc3274-89af-42a3-8476-3e8aeff52788","width":70.0,"x":3710.0,"y":420.0,"zOrder":219,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cfb71a60-e1f3-4a8d-9b1f-33cc85e5d473","width":70.0,"x":3780.0,"y":420.0,"zOrder":219,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"2e72441e-6c73-4f12-a558-4a7bd90303d1","width":70.0,"x":3850.0,"y":420.0,"zOrder":219,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"742331e9-6481-44b5-8491-c151dc9de13e","width":70.0,"x":3780.0,"y":181.0,"zOrder":223,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a91d88cc-a5fc-496a-b32d-97e2c7ecb997","width":70.0,"x":3710.0,"y":181.0,"zOrder":224,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"ebc65289-da53-4caa-beba-28bb5d665b07","width":70.0,"x":3640.0,"y":181.0,"zOrder":225,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2d1436e0-be3f-40b0-86b2-790e61f377b4","width":70.0,"x":4340.0,"y":280.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ce9443a0-8739-46ed-8dc8-978b50b5077d","width":70.0,"x":3570.0,"y":140.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-47.6075,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"82bedb4a-be42-4e0b-b704-d8ef029a87ba","width":70.0,"x":3850.0,"y":70.0,"zOrder":226,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"9d046aeb-f88e-49fd-8edc-2a688cd45f0a","width":70.0,"x":3710.0,"y":0.0,"zOrder":30,"numberProperties":[{"name":"animation","value":15.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flower","persistentUuid":"249f8062-e95f-4016-a03a-5e8fa50c05e5","width":0.0,"x":3640.0,"y":0.0,"zOrder":227,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"e311c3e8-94d3-4eba-bddc-1025b9b5edb8","width":70.0,"x":3780.0,"y":0.0,"zOrder":227,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4b6135bb-a0dd-4ac1-8a5b-3497d95936e0","width":70.0,"x":3640.0,"y":0.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8c4b7e44-44de-4120-b96c-f697a78d9904","width":70.0,"x":3710.0,"y":0.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b7951c06-f1df-4ce1-8e2c-9ee1c9dbd59d","width":70.0,"x":3780.0,"y":0.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6d9bc24c-b953-49bf-a9f4-eeace79af628","width":70.0,"x":3850.0,"y":0.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e737cd4a-ca36-46a3-854a-4607fb7fdd98","width":70.0,"x":3920.0,"y":0.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"91f24613-a975-4b03-be89-09aa8634a368","width":70.0,"x":3990.0,"y":0.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"74d65b98-0cd6-4d94-8495-47ccc118785a","width":70.0,"x":4060.0,"y":0.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d0cc4613-7aff-4df5-aef6-c3caccf52227","width":70.0,"x":3640.0,"y":70.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"876c728d-bd29-44b6-af73-87e3c22c924b","width":70.0,"x":3710.0,"y":70.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c03bca80-6aa8-4df8-b917-59b72630cf90","width":70.0,"x":3780.0,"y":70.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a919c092-cf16-4bef-babd-ae1dd88b82d0","width":70.0,"x":3850.0,"y":70.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1e4defcf-4cc2-43f4-bb41-6cbc996b0cf9","width":70.0,"x":3850.0,"y":140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0879e3bc-663d-4ef8-a50f-0303b2ba4a25","width":70.0,"x":3710.0,"y":140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4fd2911e-af41-4ead-9a8e-e05e988ea94e","width":70.0,"x":3780.0,"y":140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"78004e2c-0ec5-4385-afaf-dd1e2c032fb5","width":70.0,"x":3640.0,"y":140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a3ddf31c-feb2-4803-982e-f26cfb804806","width":70.0,"x":3640.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"16574ece-26e6-4403-a2eb-c2b3a837be2b","width":70.0,"x":3710.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"90c9f426-5572-44bf-b17d-ab6ca38f2d92","width":70.0,"x":3780.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4e4c72f0-cbb2-464a-9c75-51720764a13e","width":70.0,"x":3850.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"569c062b-989c-45f8-a4be-698f7bf8c26c","width":70.0,"x":3990.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ebc38954-941e-40c8-8587-bde0c0fd4f7a","width":70.0,"x":4060.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"76921989-f230-44ea-bd88-619437f06d46","width":70.0,"x":4060.0,"y":280.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8e87a348-8168-49ef-a2c1-37f0b5729975","width":70.0,"x":3990.0,"y":280.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9fac244b-551b-4890-b8ac-611ba510c44f","width":70.0,"x":3920.0,"y":350.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"12c0a28c-12a1-46b3-bcce-b1e9f54750b0","width":70.0,"x":4060.0,"y":350.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"ea288fa6-3695-4051-935e-8c50d598865a","width":70.0,"x":3990.0,"y":350.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"fa205ea2-0fdb-4154-95cf-1a5f389f8dbf","width":70.0,"x":3990.0,"y":420.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b2b9aadc-732b-4185-aa66-f54f560b92bc","width":70.0,"x":4060.0,"y":420.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"977a98eb-2126-4f26-977e-e8661fd4bfe7","width":70.0,"x":3990.0,"y":490.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b14ce596-f481-4cee-9094-96bd13181bd3","width":70.0,"x":3990.0,"y":420.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3416ac81-34b2-40f7-a5f8-dc3c745d5ce4","width":70.0,"x":4060.0,"y":490.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a6c07d90-bc05-484f-b1e9-d04bd09ad0ca","width":70.0,"x":3920.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"869dfeb1-f5ac-4fac-8a1c-a0dc00a702a6","width":70.0,"x":3920.0,"y":280.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1a70666e-2f7a-4a0c-bdb1-f8cc38313b5f","width":70.0,"x":3920.0,"y":350.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e4908e17-517d-447d-97ce-228e9538e214","width":70.0,"x":3780.0,"y":280.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"97cd68c5-6e87-4ae7-a825-c3491223572d","width":70.0,"x":3850.0,"y":280.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"808da821-0c76-498f-8024-996c2ed48326","width":70.0,"x":3710.0,"y":280.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a3d1c577-fbaf-4b84-babc-0ad75cedd087","width":70.0,"x":3640.0,"y":280.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"71968fbb-61b1-4fd5-98db-209642e0b2ae","width":70.0,"x":3570.0,"y":210.0,"zOrder":20,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5e1606a0-f0ec-4b21-ba46-4676e09a0955","width":70.0,"x":3570.0,"y":280.0,"zOrder":20,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e1bceeb8-eff7-44de-976f-f14e5f603715","width":70.0,"x":3570.0,"y":350.0,"zOrder":20,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"759b8dde-b063-4df6-96dc-fe12645572c2","width":70.0,"x":3570.0,"y":210.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0b91f21a-6f32-461c-86b8-4f7b5ce318f2","width":70.0,"x":3570.0,"y":280.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"989ce71b-5d8d-4811-b92d-0a80c7f020f0","width":70.0,"x":3570.0,"y":350.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c6555f19-1d7f-4714-9765-ab87696ec0bb","width":70.0,"x":3920.0,"y":210.0,"zOrder":20,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"29ad3d94-61e4-4390-8cdf-90228240ebf5","width":70.0,"x":3920.0,"y":280.0,"zOrder":20,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"aa67446a-eb09-4cb1-be0f-097f9f551f67","width":70.0,"x":3920.0,"y":140.0,"zOrder":20,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"936afc93-75bd-4a62-b24a-1d76b3eb6162","width":70.0,"x":4200.0,"y":350.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9a9f8ab2-26e9-4658-9621-d8db494491f6","width":70.0,"x":4270.0,"y":350.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"6f6b914a-da6c-4da0-9475-bacf7b9056da","width":70.0,"x":4340.0,"y":350.0,"zOrder":212,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c52303dd-c31f-4c2c-8b9d-4d1dec04b099","width":70.0,"x":4270.0,"y":140.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c77dc993-0923-4c5a-a6ae-f90f8a174722","width":70.0,"x":4200.0,"y":140.0,"zOrder":213,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"13d06dee-de98-417e-89c0-ab6f098429a1","width":70.0,"x":4130.0,"y":140.0,"zOrder":211,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c0853927-977b-41f6-a2d2-2ec9afa8df94","width":70.0,"x":4200.0,"y":210.0,"zOrder":230,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"eccf069f-f851-42a9-98dd-39e616341c14","width":70.0,"x":4270.0,"y":210.0,"zOrder":230,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1670b282-9931-4d46-a298-3de66e619606","width":70.0,"x":4200.0,"y":280.0,"zOrder":230,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"74fc5450-0745-48ef-a033-bf52a74a8cc6","width":70.0,"x":4270.0,"y":280.0,"zOrder":230,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c5ce71aa-33f0-47d7-87d8-c4633f65d630","width":70.0,"x":4130.0,"y":210.0,"zOrder":240,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a753dec1-87b3-471c-85c2-b53e1977d2e8","width":70.0,"x":4130.0,"y":280.0,"zOrder":240,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f3cbb613-1e24-45d4-90d7-ff51e11552c3","width":70.0,"x":4130.0,"y":210.0,"zOrder":230,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6aacae91-d0af-45f5-a381-efd90df9e771","width":70.0,"x":4130.0,"y":280.0,"zOrder":230,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"747cd709-f0d5-45f4-8193-87be026759d3","width":70.0,"x":3710.0,"y":0.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":1.0,"layer":"","name":"furniture","persistentUuid":"00a953db-5815-4851-b067-29b194af43af","width":1.0,"x":4060.0,"y":0.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"room2out","persistentUuid":"a4e80e49-c3ab-4f87-8151-87776bdbc91d","width":20.0,"x":2100.0,"y":350.0,"zOrder":243,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"room5out","persistentUuid":"416648d8-e1ad-49df-bbb7-5aed2c5d107b","width":20.0,"x":3570.0,"y":210.0,"zOrder":244,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6a07f366-01da-44e1-a208-4e7cdc2d2c57","width":70.0,"x":3780.0,"y":350.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b04b63f1-7021-41a3-930e-de89bed353c1","width":70.0,"x":3640.0,"y":350.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4900e5b3-7931-4418-8e92-f58c808e1a5b","width":70.0,"x":3710.0,"y":350.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"100b5203-e2bc-49bc-ac0e-11fa0d3a9956","width":70.0,"x":3850.0,"y":350.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"bcc5087a-eea5-4f7a-ab0f-43cb90d466f7","width":70.0,"x":3990.0,"y":420.0,"zOrder":216,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"c59a056f-8a16-4c24-b744-5e04772f72db","width":70.0,"x":4060.0,"y":420.0,"zOrder":217,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c5208a09-c379-4e41-8f6e-cdb82a9841e9","width":70.0,"x":3920.0,"y":350.0,"zOrder":211,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"34347cdf-4099-4981-a2a2-a870dd799409","width":70.0,"x":3920.0,"y":140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0c6b1437-127a-492e-aa36-8a2e48db1529","width":70.0,"x":4060.0,"y":140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"946de098-e8e0-4587-a0e8-4f3ae46a2a62","width":70.0,"x":3990.0,"y":140.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":50.0,"layer":"","name":"furniture","persistentUuid":"764f0236-8d92-44b3-b264-41ded0bea5b6","width":50.0,"x":4079.0,"y":140.0,"zOrder":16,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":50.0,"layer":"","name":"furniture","persistentUuid":"28993132-ed0b-437d-aebc-c7d6e257e04a","width":50.0,"x":3990.0,"y":140.0,"zOrder":16,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2fa69ea5-e25e-420b-9515-6b29631f6389","width":70.0,"x":4200.0,"y":1680.0,"zOrder":212,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4068e717-3a93-4377-9b63-cfca624350c3","width":70.0,"x":3430.0,"y":1120.0,"zOrder":211,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9e8fe9ba-34b5-4ab8-a85a-1daa5830e54b","width":70.0,"x":3430.0,"y":1190.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"42d2395d-f444-444f-ab79-64522ed6f8e1","width":70.0,"x":3430.0,"y":1260.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7b567f44-7aa2-407f-a3aa-184e176b7fce","width":70.0,"x":3430.0,"y":1330.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3857d044-7e9b-4b45-94dd-62de4b576a57","width":70.0,"x":3430.0,"y":1400.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f0f5d477-e4d6-434e-b8d2-0cbc620727d1","width":70.0,"x":3430.0,"y":1470.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"64e97997-1f36-49de-b139-99360607ef93","width":70.0,"x":3430.0,"y":1610.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cae3b3d6-8263-499d-af77-d7c596f96910","width":70.0,"x":3430.0,"y":1540.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"500034fb-7be1-4476-b414-e6ec31c91f66","width":70.0,"x":4200.0,"y":1610.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d9d9fcd6-e899-4185-99ea-cd8576c42c9a","width":70.0,"x":3429.26,"y":1391.4,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7b9372b6-a639-4120-b836-840219245196","width":70.0,"x":3430.0,"y":1680.0,"zOrder":246,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"83d1ff1c-97bc-4dc4-b4df-a760d9576286","width":70.0,"x":3500.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"74ee1ed7-7b58-4431-9423-fb53bd99b893","width":70.0,"x":3570.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"70a94d10-9d76-4138-93f8-d8fa9ee9d113","width":70.0,"x":3640.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"196e35b9-0cc3-4c32-b3b8-58eafe74558d","width":70.0,"x":3710.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"530d8a1d-621a-44fd-b495-16405763205e","width":70.0,"x":3780.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a143cb39-604c-40cf-83fa-1dc489f63042","width":70.0,"x":3850.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5c90a820-5f58-42de-a3f6-537616d7065f","width":70.0,"x":3920.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"545bbc11-4ed3-42d0-8855-575e8ec62d0b","width":70.0,"x":3990.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"51345d50-8721-400c-a5a0-6e161db1a2ba","width":70.0,"x":4060.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"24db13ee-e56d-4d22-859a-37f9cafbdf10","width":70.0,"x":4200.0,"y":1190.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ba02d746-5f45-429a-9b5f-36a1f98aec29","width":70.0,"x":4200.0,"y":1260.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cbff55e7-1638-4491-b326-66507a20602f","width":70.0,"x":4200.0,"y":1330.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4db040a0-3000-48cb-bddc-9c4e63eb4709","width":70.0,"x":4200.0,"y":1470.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a5b2b9ec-5289-4e55-bbca-64387d8a7a55","width":70.0,"x":4200.0,"y":1540.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"82d70a9c-4af2-4952-8bed-1bb79845ceb8","width":70.0,"x":4200.0,"y":1400.0,"zOrder":245,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"84511b91-573f-4341-afca-e240a35d38f7","width":70.0,"x":4200.0,"y":1120.0,"zOrder":248,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f74c070f-261f-4b8c-95b0-73532b842530","width":70.0,"x":3500.0,"y":1120.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2ae4011d-6952-4416-a7fd-6cb926fc5ee6","width":70.0,"x":3570.0,"y":1120.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3fb42163-cdcd-4574-ba49-dac96405afc8","width":70.0,"x":4060.0,"y":1120.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c57fb4ab-ec24-4211-aae6-638cbf1a3b6b","width":70.0,"x":3990.0,"y":1120.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a720aa32-d669-41ca-a959-43837a9f26bf","width":70.0,"x":3640.0,"y":1120.0,"zOrder":249,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cf5c58f7-e571-4e3a-9c06-280c4ab3083a","width":70.0,"x":3850.0,"y":1120.0,"zOrder":250,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c3784abc-1a60-4970-a9a3-e6ac855faafa","width":70.0,"x":3780.0,"y":1610.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"321d9340-b875-423a-818d-ba1f949d7042","width":70.0,"x":3780.0,"y":1540.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3a4c75ad-374f-49ce-9b3f-234bbf05de82","width":70.0,"x":3780.0,"y":1470.0,"zOrder":245,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"24e68ea2-331a-4aed-8b08-1d840d6f5eb9","width":70.0,"x":3780.0,"y":1400.0,"zOrder":211,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7f851477-6dd1-4ecf-b246-028e7a5c0154","width":70.0,"x":4060.0,"y":1400.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8aac92ab-4d5e-4b78-9147-9f7311fc52ce","width":70.0,"x":3850.0,"y":1400.0,"zOrder":251,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ce5bcd48-51f7-4621-b353-fa44719975d4","width":70.0,"x":3990.0,"y":1400.0,"zOrder":252,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7699ac39-7ee9-4c4f-9da2-4906eec786b9","width":70.0,"x":3500.0,"y":1540.0,"zOrder":253,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5e8766e7-d17e-49c3-a5fe-c59598de4b4b","width":70.0,"x":3570.0,"y":1540.0,"zOrder":254,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6152ef6b-642f-4edd-bc7a-50b19e3f8754","width":70.0,"x":3640.0,"y":1540.0,"zOrder":255,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"515173eb-454d-4f73-b68c-32b5ccd0e6ee","width":70.0,"x":3710.0,"y":1540.0,"zOrder":256,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"9349c51c-7a78-48aa-8b34-a3f170eeca78","width":70.0,"x":3500.0,"y":1610.0,"zOrder":257,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"4de27a96-d4a1-437f-afd5-9a989de33c7a","width":70.0,"x":3570.0,"y":1610.0,"zOrder":258,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"5e5757a9-5082-4cc4-84c0-3a5805cc3cde","width":70.0,"x":3640.0,"y":1610.0,"zOrder":259,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"0a9e1aa7-079e-45c7-9df0-682b21512495","width":70.0,"x":3710.0,"y":1610.0,"zOrder":260,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-72.5252,"customSize":false,"height":0.0,"layer":"","name":"kitchen","persistentUuid":"274b0433-35e7-4403-900f-22fad49245c6","width":0.0,"x":3500.0,"y":1610.0,"zOrder":261,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c53e50e5-ba8f-47ea-afe6-8f961db966e8","width":70.0,"x":3920.0,"y":1120.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":false,"height":0.0,"layer":"","name":"furniture","persistentUuid":"be2d6b79-435c-4300-8643-2012cde7478b","width":0.0,"x":4130.0,"y":1260.0,"zOrder":262,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"62e63e59-4c75-42db-81fe-072aa1b10f9f","width":70.0,"x":4130.0,"y":1260.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"baf2f76a-59ea-416a-b7aa-8c099a7e38c4","width":70.0,"x":3850.0,"y":1610.0,"zOrder":263,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"0ae4420a-6ab2-4e1f-92f0-eea543074a25","width":70.0,"x":3920.0,"y":1610.0,"zOrder":264,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"1492d894-b851-4f16-a6a7-fd081802110a","width":70.0,"x":3920.0,"y":1540.0,"zOrder":265,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a8e1bbe7-4632-41b9-8c75-f0ddd2da08c7","width":70.0,"x":3850.0,"y":1540.0,"zOrder":266,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":234.713,"customSize":true,"height":50.0,"layer":"","name":"furniture","persistentUuid":"01253120-ee1a-466b-8cc6-026e40dc1038","width":50.0,"x":4060.0,"y":1540.0,"zOrder":16,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"6ef95f26-5cca-4ed0-8f57-a0277e7439b0","width":70.0,"x":3990.0,"y":1610.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":89.2461,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"1d98f145-10d2-4a55-8424-b2db12dd12bf","width":70.0,"x":3920.0,"y":1190.0,"zOrder":267,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":23.1986,"customSize":false,"height":0.0,"layer":"","name":"furniture","persistentUuid":"11c5ded7-f4bf-445d-a4be-4faf20ead94e","width":0.0,"x":4060.0,"y":1330.0,"zOrder":269,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3fb92c52-9504-4e48-9705-ee9532a0bb84","width":70.0,"x":4130.0,"y":1680.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3ed38041-de3e-4763-b88e-e17412a9b0dc","width":70.0,"x":4130.0,"y":1120.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"99e80935-5b7e-4c67-93be-c1e719829e27","width":70.0,"x":4130.0,"y":1400.0,"zOrder":247,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":89.2461,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"53b19ea2-0a23-4f21-8203-bd8552fee418","width":70.0,"x":3920.0,"y":1260.0,"zOrder":267,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flower","persistentUuid":"77bdca95-7d1a-48ac-b8ce-95ae92e6a2bf","width":0.0,"x":3990.0,"y":1610.0,"zOrder":270,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flower","persistentUuid":"ae132096-8e86-4872-95b5-5a0bc9538206","width":0.0,"x":4130.0,"y":1190.0,"zOrder":271,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flower","persistentUuid":"e6e31524-ed43-44f7-bf4b-6d109b4fbe32","width":0.0,"x":4130.0,"y":1330.0,"zOrder":272,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"50a94928-eaa9-4d74-acb3-8104621b8900","width":70.0,"x":3500.0,"y":1190.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"05e4e15e-4bda-47ad-b5d4-17032a13d99a","width":70.0,"x":3570.0,"y":1190.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"58b7dc7a-fecf-4663-adf3-62122949e185","width":70.0,"x":3640.0,"y":1190.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"be0451df-10c9-4d5c-ba2e-a685759b6bf0","width":70.0,"x":3710.0,"y":1190.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"deabdc77-6f22-45de-b2f4-76f9bb412fa7","width":70.0,"x":3780.0,"y":1190.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"f702189e-4027-4106-b333-3deb7f523e0b","width":70.0,"x":3850.0,"y":1190.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a184f5f6-bba2-4730-a007-78c21311e097","width":70.0,"x":3990.0,"y":1190.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c83e9dc0-b284-4d51-88de-23765da56189","width":70.0,"x":4060.0,"y":1190.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1c31bac9-15b3-4ad4-9277-5fa80acef55b","width":70.0,"x":4130.0,"y":1190.0,"zOrder":271,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0d29ed55-6db7-41f4-9615-a132a4dce6fb","width":70.0,"x":4130.0,"y":1330.0,"zOrder":271,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"afa0f627-0774-4424-bd0e-3226a61757dc","width":70.0,"x":3500.0,"y":1260.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b69a48f6-39c2-4437-89ee-043c322872fd","width":70.0,"x":3570.0,"y":1260.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"66f796fb-c6b7-47d2-8560-2c75b0d0a217","width":70.0,"x":3640.0,"y":1260.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"db052223-de52-47cf-8bcb-c1e82e821526","width":70.0,"x":3710.0,"y":1260.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c6fe9712-6b65-4ebf-a181-9f681610fe7d","width":70.0,"x":3850.0,"y":1260.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3f2143c9-4d20-4609-a14b-440c838258aa","width":70.0,"x":3780.0,"y":1260.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"faa74db0-a52e-43ff-9050-dfb0b5109672","width":70.0,"x":4060.0,"y":1260.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"49919ad0-0513-48c3-a532-961725558342","width":70.0,"x":3990.0,"y":1260.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"88afa5cd-50c7-4b53-a0f9-248afb294d18","width":70.0,"x":3990.0,"y":1330.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e7499b99-119c-41d1-b939-51fe583549b8","width":70.0,"x":3990.0,"y":1400.0,"zOrder":27,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7390c091-3856-423f-9ed0-4b1a7065c7eb","width":70.0,"x":3850.0,"y":1330.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"fe8b1bcc-3b69-4627-ac72-2eaba542517d","width":70.0,"x":4145.2,"y":1349.81,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"1163d703-f047-42a6-bb88-cf3945bf01f5","width":70.0,"x":3920.0,"y":1330.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9738ebda-bde0-4954-a4d7-e594529b7a22","width":70.0,"x":3920.0,"y":1400.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"45eb57b0-e23a-44de-aca4-338d4a85092e","width":70.0,"x":3850.0,"y":1400.0,"zOrder":27,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d3bccc62-cceb-4e68-93c8-dc7351fc6808","width":70.0,"x":3850.0,"y":1470.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0e90226b-8104-487d-958d-5a1e90684636","width":70.0,"x":3920.0,"y":1470.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a1b82904-1895-445a-9253-641ba2590737","width":70.0,"x":3990.0,"y":1470.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b11dc843-1490-405e-8993-45848778616d","width":70.0,"x":4060.0,"y":1470.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"09da1d97-f9e7-4559-8d25-6c08969a9f12","width":70.0,"x":4130.0,"y":1470.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"b8da9aa1-f89c-44a2-a378-eb4cb9b523ec","width":70.0,"x":4130.0,"y":1540.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"48a400b3-094b-4848-b191-00381257a11d","width":70.0,"x":4130.0,"y":1610.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cac76677-ce9a-46d9-b926-20b84405ebf8","width":70.0,"x":4060.0,"y":1610.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"269481d6-0e3c-45a6-bb4a-3c9d6cbb9ced","width":70.0,"x":3990.0,"y":1540.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6bb6ab42-0488-433d-83c6-acacdce34fb5","width":70.0,"x":4060.0,"y":1540.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d9052d4e-6ad1-4071-bb9a-cf0d98de6bbc","width":70.0,"x":3920.0,"y":1540.0,"zOrder":27,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"71caabac-87d2-4bbf-814b-22bada5ed98d","width":70.0,"x":3850.0,"y":1540.0,"zOrder":27,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4af70540-2162-4756-8932-510fbb22b4f3","width":70.0,"x":3500.0,"y":1330.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"df54681b-ad62-4720-8df9-79ef018ae918","width":70.0,"x":3500.0,"y":1400.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d35b0de8-524b-4a5a-b865-6fc391e939ea","width":70.0,"x":3570.0,"y":1330.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8c85a6e9-f864-4314-9ccd-0a875341049e","width":70.0,"x":3570.0,"y":1400.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"11b9b18b-a18a-4888-8d8a-541b3103fa0b","width":70.0,"x":3640.0,"y":1330.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6b9653bc-6717-4cd1-b900-89287f9f448a","width":70.0,"x":3570.0,"y":1470.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c6343286-96b5-4941-a22d-fa799eaf6dde","width":70.0,"x":3500.0,"y":1470.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"9137ab5f-c99c-4ab0-9104-e7aa04cf42f7","width":70.0,"x":3640.0,"y":1400.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c2d9d988-d325-4fdb-9903-6a4ea82f14e3","width":70.0,"x":3710.0,"y":1330.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6afbc83d-76f2-4435-9635-b8bc985b3802","width":70.0,"x":3780.0,"y":1330.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c105c183-da3f-4ac0-ac32-44b08485eebc","width":70.0,"x":3710.0,"y":1400.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c82705c9-3c48-4cc7-9601-7e386f8dac1c","width":70.0,"x":3710.0,"y":1470.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"58233abc-ef3b-4a4f-8a5f-f02ac244537b","width":70.0,"x":3640.0,"y":1470.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a5403042-270e-4806-a84a-be9cc3a60440","width":70.0,"x":3920.0,"y":1260.0,"zOrder":27,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"286d50c7-a9e9-4985-88f5-f131907a017f","width":70.0,"x":3920.0,"y":1190.0,"zOrder":27,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"648b8c28-d32c-45fb-8e9c-c110b664c72d","width":70.0,"x":4130.0,"y":1260.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d213e1d1-ef2f-4365-ae49-703285a89e96","width":70.0,"x":4060.0,"y":1330.0,"zOrder":27,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3d8d6426-bc78-4fab-8da4-3136939fcc34","width":70.0,"x":3990.0,"y":1610.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"971f14d6-4425-4a2f-a82b-3124cec3a741","width":70.0,"x":3640.0,"y":1120.0,"zOrder":27,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a0255d74-d4b0-48af-a147-3545ac42a94e","width":70.0,"x":3850.0,"y":1120.0,"zOrder":27,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"43bcc2d9-12fd-4c0d-965b-c3b2a2edcfef","width":70.0,"x":3710.0,"y":1120.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"737ec068-c2a9-4fa2-ab26-0c62937e6850","width":70.0,"x":3780.0,"y":1120.0,"zOrder":273,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e2d60b89-f2da-4075-98dd-366ef72d8a4a","width":70.0,"x":3710.0,"y":1120.0,"zOrder":280,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"613828ae-43fb-440a-8cb1-d879426c6bba","width":70.0,"x":3780.0,"y":1120.0,"zOrder":280,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"12903c60-c208-4b90-9511-8ca598bdc5cb","width":70.0,"x":3850.0,"y":1120.0,"zOrder":28,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"773ff991-1e80-40ee-8fab-0e5dad18bb83","width":70.0,"x":3640.0,"y":1120.0,"zOrder":28,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":34.0,"layer":"","name":"room6out","persistentUuid":"04bc9df1-542a-49ab-b11e-a2711c6e672a","width":280.0,"x":3640.0,"y":1120.0,"zOrder":281,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"Niko","persistentUuid":"5cb6196f-fa34-4eb9-a71b-35d19bd21122","width":0.0,"x":210.0,"y":140.0,"zOrder":282,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c9ba5ce8-ee97-4e69-8d84-85fcd3750780","width":1190.0,"x":3430.0,"y":2240.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f676f78d-3172-49c1-9cec-0e43fa0b61fd","width":70.0,"x":3360.0,"y":2240.0,"zOrder":211,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":490.0,"layer":"","name":"walls","persistentUuid":"1138a496-ff22-4797-924e-ae308efc3c32","width":70.0,"x":3360.0,"y":2590.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b2aeb7ff-2c1f-4758-ba61-3a136fa82ddc","width":70.0,"x":3360.0,"y":3080.0,"zOrder":286,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"600adaf2-363c-4ba1-b3c1-1a514f70a7ae","width":350.0,"x":3430.0,"y":3080.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"bd96f49f-d24e-4d22-bd72-465479c8c470","width":70.0,"x":3780.0,"y":3080.0,"zOrder":287,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d5edab9b-4ff7-4e31-a2c0-c2023c6be0fe","width":70.0,"x":4060.0,"y":3080.0,"zOrder":289,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"87d83384-e8e5-4e94-ba5e-fb26c8adba4b","width":70.0,"x":4130.0,"y":2660.0,"zOrder":290,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"988b6d89-96c7-4145-a845-ceaacd142d8b","width":70.0,"x":4620.0,"y":2240.0,"zOrder":291,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"walls","persistentUuid":"aeffcd83-0b74-4191-9cb2-a0c6cb9fbb79","width":70.0,"x":4620.0,"y":2310.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"95d1a411-bc5d-4c93-9e55-4f1fd1f12b02","width":70.0,"x":4620.0,"y":2660.0,"zOrder":292,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ae6e9b89-ebf6-495a-bfef-6fa4804cfc94","width":420.0,"x":4200.0,"y":2660.0,"zOrder":293,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":840.0,"layer":"","name":"Wooden_floor","persistentUuid":"b99477f5-0cc3-4412-a04a-971dc298310e","width":1190.0,"x":3430.0,"y":2310.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"40c14d26-8c9f-4432-a337-144f7c0d7276","width":70.0,"x":4200.0,"y":2380.0,"zOrder":16,"numberProperties":[{"name":"animation","value":16.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"ee6dab4d-ae15-4790-8512-89ba08e70468","width":70.0,"x":4200.0,"y":2520.0,"zOrder":16,"numberProperties":[{"name":"animation","value":18.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"8b04dfec-2a53-43ba-b7ad-30fc8549b337","width":70.0,"x":4200.0,"y":2450.0,"zOrder":16,"numberProperties":[{"name":"animation","value":17.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"2059d59e-ba18-4adf-b97d-28caaf2ea72b","width":70.0,"x":4340.0,"y":2590.0,"zOrder":16,"numberProperties":[{"name":"animation","value":16.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a633b2f6-1b6a-46ab-9dd3-7c18f37edff1","width":70.0,"x":4410.0,"y":2590.0,"zOrder":16,"numberProperties":[{"name":"animation","value":18.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"0e743676-ddb5-476f-a0ee-1746542813dd","width":70.0,"x":4340.0,"y":2310.0,"zOrder":16,"numberProperties":[{"name":"animation","value":18.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"7dd95e80-c168-4f10-a716-a5b3a3c066d4","width":70.0,"x":4410.0,"y":2310.0,"zOrder":16,"numberProperties":[{"name":"animation","value":16.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":false,"height":0.0,"layer":"","name":"furniture","persistentUuid":"979b11cb-aa20-4fa4-aaa3-388561170450","width":0.0,"x":4550.0,"y":2450.0,"zOrder":262,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a9259600-46be-4ce3-ac54-65175f655013","width":70.0,"x":3575.0,"y":2700.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":140.0,"layer":"","name":"furniture","persistentUuid":"a3eaec3a-b4a5-44b4-9acc-173174f6c71c","width":140.0,"x":3538.0,"y":2758.0,"zOrder":35,"numberProperties":[{"name":"animation","value":21.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"7f93b456-4f94-4ca4-bf8a-a252b7bf88c8","width":70.0,"x":3501.0,"y":2828.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"13eb0ffa-e5ed-4d2d-aa39-65b3b09941d4","width":70.0,"x":3501.0,"y":2758.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a3fe06a2-6222-4675-9867-7a629e685599","width":70.0,"x":3646.0,"y":2758.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"1200e3a1-b951-42cc-8944-e4c26f08711d","width":70.0,"x":3646.0,"y":2828.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"8bf63887-4060-4c6f-b94a-1dcbd0489878","width":70.0,"x":3572.0,"y":2884.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4b1f003a-b682-435a-a4f3-00dab245f00a","width":70.0,"x":3360.0,"y":2520.0,"zOrder":294,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"walls","persistentUuid":"30938a28-72af-46c7-ac9a-9ec56cf0bc1c","width":70.0,"x":3360.0,"y":2310.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a1845947-73a0-433e-8931-f65572a8a2d0","width":350.0,"x":3430.0,"y":2520.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"6d90c856-8eb2-4115-b7b4-4910f70bd7ff","width":70.0,"x":3780.0,"y":2520.0,"zOrder":287,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"7e576957-cf48-4424-acad-c1429520a7da","width":70.0,"x":3430.0,"y":2310.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"7ccbf64c-4083-422a-b115-9710b130a783","width":70.0,"x":3500.0,"y":2310.0,"zOrder":50,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"470c0e59-4b28-48a2-96aa-2f291d56a170","width":70.0,"x":3570.0,"y":2310.0,"zOrder":50,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"97ce7ee6-ed55-4a2f-9abc-793dab238a08","width":70.0,"x":3640.0,"y":2310.0,"zOrder":50,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"5885a083-c3dc-4273-b167-81678edd9ee8","width":70.0,"x":3710.0,"y":2310.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"d90edec6-5c6f-4cc8-ba4d-c15b41298987","width":70.0,"x":3710.0,"y":2450.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"31322c49-0959-4681-89e4-016fee643d60","width":70.0,"x":3640.0,"y":2450.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"28ff668e-a0a1-46ed-9405-a6abff97ba97","width":70.0,"x":3500.0,"y":2450.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"3d5d3632-fc27-42f8-b1b7-6592a95fe949","width":70.0,"x":3570.0,"y":2450.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"17243cda-5fdb-4d16-877b-b71c9d587e3d","width":70.0,"x":3430.0,"y":2450.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e371395c-7a81-446e-a096-919e6f710b85","width":70.0,"x":3430.0,"y":2380.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"383fcb2b-0b77-4911-9d04-653f8bc88496","width":70.0,"x":3500.0,"y":2380.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6ba77adf-1ea3-469b-91b0-0da65a33ede8","width":70.0,"x":3570.0,"y":2380.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"58f1acea-dbc2-4ddd-a02d-31b14b464430","width":70.0,"x":3640.0,"y":2380.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"c6464947-bb5e-4a78-9d65-dba42fa3973d","width":70.0,"x":3710.0,"y":2380.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7ff67ed0-229c-4eff-b7b3-ca21b892b64f","width":70.0,"x":3780.0,"y":2450.0,"zOrder":295,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"4d3c6af1-d6fb-4470-9270-8908bf124a93","width":70.0,"x":3780.0,"y":2310.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"a2aab55a-68ee-4d19-ad05-6342a6ae240e","width":70.0,"x":3780.0,"y":2380.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"e2b4a0ff-7d5c-4ebb-8dac-f19f78d58e5c","width":70.0,"x":3780.0,"y":2450.0,"zOrder":4,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"ce4db660-d5c3-43c4-8cc9-63421d2c80a2","width":70.0,"x":3430.0,"y":2310.0,"zOrder":100,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"b963cdb1-0090-4a9a-b2e7-358202d3914a","width":70.0,"x":3430.0,"y":2590.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":70.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"2c74aa9f-3009-482d-839f-9464e2a5516f","width":70.0,"x":3710.0,"y":3010.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"6e77e7b0-0d9d-4f16-bfd3-f6bca951a851","width":70.0,"x":4550.0,"y":2450.0,"zOrder":22,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"walls","persistentUuid":"9b7e38e5-fbc0-4021-ac2e-7b402fa04c6a","width":70.0,"x":3780.0,"y":2800.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"b42278ea-f468-4c0c-b9bd-429de15a2fbf","width":70.0,"x":3780.0,"y":2730.0,"zOrder":295,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flower","persistentUuid":"8482a9f5-3154-4ed7-8813-2cf04bf15551","width":0.0,"x":4549.46,"y":2387.99,"zOrder":271,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flower","persistentUuid":"f645bc79-3c30-488b-a04b-0a983b530c23","width":0.0,"x":4549.46,"y":2528.93,"zOrder":271,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"564f7162-e2e8-40cb-a6d1-3899ffb12e88","width":70.0,"x":4620.0,"y":3080.0,"zOrder":292,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"walls","persistentUuid":"c5816fcd-1f69-46e4-908c-dcec17fe9138","width":70.0,"x":4620.0,"y":2730.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"78b30559-8b49-4a88-ad4f-11e7b2cc6aeb","width":70.0,"x":4130.0,"y":3080.0,"zOrder":247,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"14e1116a-3a90-4d2d-be49-85a84e479ce3","width":420.0,"x":4200.0,"y":3080.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"walls","persistentUuid":"055c055d-245b-44fe-936a-66569de60983","width":70.0,"x":4130.0,"y":2940.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9fdf0bac-9c52-4b80-baa4-595e7957c01d","width":70.0,"x":4130.0,"y":2870.0,"zOrder":295,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cd54905d-0feb-425b-a3a6-f8efd0b27149","width":70.0,"x":4130.0,"y":2730.0,"zOrder":14,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"d02ccbca-2a01-4e89-b18b-880d122cd6e5","width":70.0,"x":4200.0,"y":2940.0,"zOrder":6,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"6cbb894a-80b5-41f3-bfe2-c73b752989c5","width":70.0,"x":4270.0,"y":2940.0,"zOrder":6,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"4e752bee-307e-4cae-8118-136895252957","width":70.0,"x":4340.0,"y":2940.0,"zOrder":6,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"12760856-4d83-46e4-ae56-fd5ce64e1e2c","width":70.0,"x":4340.0,"y":3010.0,"zOrder":6,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"fbf3874c-52d1-4093-b800-3adbb9de5c70","width":70.0,"x":4270.0,"y":3010.0,"zOrder":6,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"4afbd525-60d6-4142-b6ec-34e4884f6a8d","width":70.0,"x":4200.0,"y":3010.0,"zOrder":6,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":70.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"00c0b2fa-b892-4543-bf29-59c1aa55a1d4","width":70.0,"x":4550.0,"y":2730.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"624cc69c-e9c2-4f98-a0b0-ea346da71f1a","width":70.0,"x":4480.0,"y":2730.0,"zOrder":22,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":40.0,"customSize":true,"height":50.0,"layer":"","name":"furniture","persistentUuid":"466d42a4-e8fb-44c2-af12-3649dd6b7838","width":50.0,"x":4480.0,"y":2800.0,"zOrder":16,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":-70.0,"customSize":false,"height":0.0,"layer":"","name":"furniture","persistentUuid":"9eef5792-e16f-4cfb-b9dd-a0a69ba9e5d5","width":0.0,"x":4536.0,"y":2990.0,"zOrder":262,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":-70.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"4505e1a8-e8bd-4ca9-8417-856269084c38","width":70.0,"x":4536.0,"y":2990.0,"zOrder":22,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"da6fcf6f-24d3-4685-93d4-74ba445c156f","width":70.0,"x":1820.0,"y":2590.0,"zOrder":211,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"197fcb91-3da0-4679-b1e6-95c51f32e202","width":70.0,"x":1820.0,"y":3500.0,"zOrder":286,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c33b653f-9c70-4ef5-acd4-df1563515609","width":70.0,"x":2870.0,"y":2240.0,"zOrder":291,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5616a92a-4bca-43ea-958d-16d034eaa73c","width":70.0,"x":2870.0,"y":3500.0,"zOrder":292,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":770.0,"layer":"","name":"walls","persistentUuid":"27d10840-2810-4b7d-85f4-d38d9d7f9668","width":70.0,"x":2870.0,"y":2310.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"34a01116-5752-478e-9801-29e55e687549","width":350.0,"x":1890.0,"y":2590.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"02c2a90b-16a0-4184-b291-2fc4266d0de6","width":70.0,"x":2240.0,"y":2240.0,"zOrder":211,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"21be10c7-9447-418c-a7c8-aa42bb4bf62c","width":560.0,"x":2310.0,"y":2240.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"walls","persistentUuid":"569faf64-452c-4f14-82e0-d2f3fdb1907d","width":70.0,"x":2240.0,"y":2310.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"walls","persistentUuid":"8f755a99-4901-4ad3-bafa-09eccdf9a66e","width":70.0,"x":1820.0,"y":2660.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f55955f9-a683-43ef-a0b2-cd9f200869c1","width":70.0,"x":2240.0,"y":2590.0,"zOrder":247,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"6990a8aa-755d-4dc2-b1cd-4a6333a9fa93","width":280.0,"x":2310.0,"y":2590.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ea9d29e6-6a9a-469b-ab84-c9a8b5beffb6","width":350.0,"x":1890.0,"y":3500.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"0e22809b-ae08-4558-8889-2a1bb34bad67","width":210.0,"x":2660.0,"y":3500.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a0c79deb-e940-4527-be5e-f4f85dd641f2","width":70.0,"x":2240.0,"y":3500.0,"zOrder":2,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d46f27f1-835e-4a1b-bd57-5bc586b4291c","width":70.0,"x":2520.0,"y":3500.0,"zOrder":289,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":980.0,"layer":"","name":"Wooden_floor_dark","persistentUuid":"798e9697-eca2-4310-a9ae-9cf67f6b8355","width":1120.0,"x":1820.0,"y":2590.0,"zOrder":0,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"Wooden_floor_dark","persistentUuid":"0d95e5da-4d15-4d6d-a352-e04884437c2c","width":560.0,"x":2310.0,"y":2310.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"775c2dd3-6e69-49b8-8075-e47c936f236c","width":70.0,"x":2181.0,"y":2729.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"13211fb0-c968-4846-9498-0c4232cc5db0","width":70.0,"x":2181.0,"y":2799.0,"zOrder":16,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"1800ac0d-f457-4fa7-a974-147e701c884c","width":70.0,"x":2181.0,"y":2869.0,"zOrder":16,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"84061bca-0841-4066-bd81-1cfc8b585d39","width":70.0,"x":2058.0,"y":2928.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"38ad9705-d0ea-472a-9345-7ef40c464b6b","width":70.0,"x":1988.0,"y":2928.0,"zOrder":16,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"1c3e60fc-0607-403e-9403-4f622a334031","width":70.0,"x":1918.0,"y":2777.0,"zOrder":30,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"061c3004-958d-4fa6-8563-eb923fa52de0","width":70.0,"x":1918.0,"y":2777.0,"zOrder":22,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"0a83ee93-4ebd-45c8-b77a-e712cfd66b7a","width":70.0,"x":2030.0,"y":3179.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"c7bdc34a-bbb2-4f2c-90fa-42b9fa9f1b81","width":70.0,"x":2101.0,"y":3237.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"22113808-03a0-4c28-8812-fde845d27a08","width":70.0,"x":2101.0,"y":3307.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":140.0,"layer":"","name":"furniture","persistentUuid":"c40d93da-4346-4188-b345-2a7c5e8a174e","width":140.0,"x":1993.0,"y":3237.0,"zOrder":35,"numberProperties":[{"name":"animation","value":21.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"3c4db02d-36cc-4094-a740-5c389acffb76","width":70.0,"x":2027.0,"y":3363.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"19483094-0076-4047-ac91-d9e829bb32a1","width":70.0,"x":1956.0,"y":3307.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"74946752-f6b7-4740-a5ae-1362a2d04e07","width":70.0,"x":1956.0,"y":3237.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9497456b-0bc7-4342-b8d6-55897444b713","width":70.0,"x":1820.0,"y":3010.0,"zOrder":294,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":420.0,"layer":"","name":"walls","persistentUuid":"ac83ac67-3e6d-40b7-bd37-8e4aace9f6e1","width":70.0,"x":1820.0,"y":3080.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"905c465b-ecdb-4126-a7ef-ceee2d399a39","width":350.0,"x":1890.0,"y":3010.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"49316bec-ee03-4ded-8f46-5eab7a30f66d","width":70.0,"x":2240.0,"y":3010.0,"zOrder":2,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"74d3d3b6-fa0e-4cfe-82ba-23945afbf26a","width":70.0,"x":1889.0,"y":3438.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"dcc06820-a42d-4484-90e7-0141cf47930f","width":70.0,"x":2800.0,"y":3010.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"4637035d-3c50-4361-9e68-fb9d971ea397","width":70.0,"x":2520.0,"y":2660.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"0d88c3c6-26c6-4ae7-b509-0307b430a63d","width":70.0,"x":2590.0,"y":2590.0,"zOrder":291,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"walls","persistentUuid":"8ad28146-4d18-4c01-83e3-4cecd30dff9a","width":70.0,"x":2590.0,"y":2660.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"512291db-2d62-4332-acaf-e4dc6c374ade","width":70.0,"x":2590.0,"y":2870.0,"zOrder":14,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7977c8b0-6710-42d7-9380-bbcb61930064","width":70.0,"x":2870.0,"y":3080.0,"zOrder":292,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"walls","persistentUuid":"38155c46-c85d-41a5-a5c7-b471d405a806","width":70.0,"x":2870.0,"y":3150.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"581d4d04-2d57-4228-998f-4784a66e4fe9","width":70.0,"x":2590.0,"y":3500.0,"zOrder":247,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"walls","persistentUuid":"99351ebb-6c8e-4f4a-baa2-f8835f066ac6","width":70.0,"x":2590.0,"y":3360.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4ef9d654-bd35-4fc6-9480-8d184c5e7216","width":210.0,"x":2660.0,"y":3080.0,"zOrder":293,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8d308ed4-feab-4d9c-8479-23038a182d92","width":70.0,"x":2590.0,"y":3290.0,"zOrder":295,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d4906007-c420-4901-88d9-e2b112fe6d36","width":70.0,"x":2590.0,"y":3080.0,"zOrder":289,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"Grey_floor_tiled","persistentUuid":"1af62462-8740-44a6-a920-7a120c0750f9","width":210.0,"x":2660.0,"y":3150.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"457aa1af-c2bc-45b9-b789-cab3a3338c38","width":70.0,"x":2800.0,"y":3430.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"8ea711b8-b127-43f6-b84e-7f4386128a21","width":70.0,"x":2800.0,"y":3360.0,"zOrder":50,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"8e9d85f1-f675-429c-9eb6-f66e891f295a","width":70.0,"x":2800.0,"y":3290.0,"zOrder":50,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"b5887b3c-cd35-4d64-8ca9-71cd58157a09","width":70.0,"x":2800.0,"y":3220.0,"zOrder":50,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"6800dce0-399c-4701-a64b-9a6cffffc0c7","width":70.0,"x":2800.0,"y":3150.0,"zOrder":100,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"3f0f4743-bc24-4b12-801a-bfee333012fc","width":70.0,"x":2800.0,"y":3150.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"4f325a20-c5c0-4560-b777-80f11730e129","width":70.0,"x":2310.0,"y":2380.0,"zOrder":6,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"2923ab99-a665-495b-a586-b5016a56ceb5","width":70.0,"x":2310.0,"y":2450.0,"zOrder":6,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"22316b78-3129-47a9-8868-629690cfc781","width":70.0,"x":2380.0,"y":2450.0,"zOrder":6,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"210fc99f-e5a5-4414-bc49-7aba02654924","width":70.0,"x":2450.0,"y":2450.0,"zOrder":6,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"631c0d8e-7802-4833-8fe9-1645d79e7cd7","width":70.0,"x":2380.0,"y":2380.0,"zOrder":6,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"25fdeb0c-1c6e-4bef-be20-f559863a63c3","width":70.0,"x":2450.0,"y":2380.0,"zOrder":6,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"5c958615-fe68-4981-9431-f138ebb08a9c","width":70.0,"x":2310.0,"y":2520.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"1254f2c8-c9bb-4ede-b024-0f495fe8d30e","width":70.0,"x":2310.0,"y":2520.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"1241358e-e700-44ff-8f34-ef30e0addadf","width":70.0,"x":2310.0,"y":2310.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"39eb54b9-113c-4617-93a6-199313179433","width":70.0,"x":2310.0,"y":2310.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"aaa4fd0d-d20d-4dc0-b64b-5ea7eb53a18b","width":70.0,"x":2730.0,"y":2310.0,"zOrder":22,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"cf067b8c-7c47-4226-bfd3-e6c224f96a86","width":70.0,"x":2730.0,"y":2367.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8ea362e6-107a-40b4-b380-1aa22f24c7cc","width":70.0,"x":2660.0,"y":2590.0,"zOrder":2,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"77e47111-7ac7-4171-88e6-01ca4167bfe3","width":70.0,"x":280.0,"y":2590.0,"zOrder":211,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"23d5e77d-3376-40d5-8e51-defd889a9ccc","width":70.0,"x":1190.0,"y":3500.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"736d10e9-0d1b-4c96-8cad-4b4fa538bf2b","width":70.0,"x":280.0,"y":3500.0,"zOrder":286,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4d1eeae6-d251-4ca8-b8a2-b3377ca3b5c0","width":70.0,"x":1190.0,"y":2590.0,"zOrder":2,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2ea338da-63f8-454e-83d1-8c4a22a3fd8d","width":560.0,"x":350.0,"y":2590.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2ee9b3e0-fd05-40be-bb57-60ec98b8037a","width":210.0,"x":70.0,"y":2660.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1b340ea7-8414-43ad-9367-e60842e862be","width":70.0,"x":0.0,"y":2660.0,"zOrder":211,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"walls","persistentUuid":"78ad3f15-d8b2-4cd3-87f0-6e987343381e","width":70.0,"x":0.0,"y":2730.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8ae3df79-8b47-4323-8698-a30b0fe123fe","width":70.0,"x":0.0,"y":3010.0,"zOrder":286,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c8e6a956-0993-4271-951e-05cd57b53e77","width":210.0,"x":70.0,"y":3010.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"adcd5bb9-3871-4ac7-9ef5-99b6b66a8325","width":70.0,"x":280.0,"y":3010.0,"zOrder":2,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e01d275f-f33c-4dde-af1a-32df14ea4f1d","width":70.0,"x":280.0,"y":2660.0,"zOrder":2,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"6ace8185-fa95-43c0-a179-0b5ae2b7a3c6","width":70.0,"x":280.0,"y":2730.0,"zOrder":13,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"f71e6702-ed7c-4799-95a9-e5b540ee986a","width":70.0,"x":280.0,"y":2940.0,"zOrder":2,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"walls","persistentUuid":"0a447bf7-7c9f-4f73-80eb-a8d04e559712","width":70.0,"x":280.0,"y":3150.0,"zOrder":1,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":840.0,"layer":"","name":"walls","persistentUuid":"95b7b156-7d42-404b-9b9d-81d8323651bf","width":70.0,"x":1190.0,"y":2660.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"da15ff62-4135-4b35-8621-6698c5b0798e","width":350.0,"x":350.0,"y":3500.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"698b4c3b-9a12-4307-b8ed-c100c21dadea","width":70.0,"x":700.0,"y":3500.0,"zOrder":2,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e808b2d3-4688-41e6-8deb-5d0c11fdbae3","width":140.0,"x":1050.0,"y":3500.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"474ae3e0-57bc-4911-8c35-9c0fbd86e916","width":70.0,"x":910.0,"y":3500.0,"zOrder":289,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"Grey_floor_tiled","persistentUuid":"05819116-6582-4c75-bf6c-d7a5cc5f1fde","width":280.0,"x":70.0,"y":2730.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"08ae459b-27b6-48f7-b6a2-312eb86941ab","width":70.0,"x":70.0,"y":2730.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"8e1aa817-f1d2-4439-afe9-372aca6b3dc0","width":70.0,"x":70.0,"y":2800.0,"zOrder":50,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"32084239-5ea5-4ce1-ab69-0cac4dc34ae2","width":70.0,"x":70.0,"y":2870.0,"zOrder":50,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"e2d28972-643b-402e-b196-8aae13ef59c8","width":70.0,"x":70.0,"y":2940.0,"zOrder":100,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"291429a3-e574-41b6-852c-22947022ddf8","width":70.0,"x":70.0,"y":2940.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"237c65e1-167d-41a8-8196-04dbd0a341b5","width":70.0,"x":910.0,"y":2590.0,"zOrder":291,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"bf0d27af-35e2-4dd2-b76c-178cb37d05c8","width":210.0,"x":980.0,"y":2590.0,"zOrder":2,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"walls","persistentUuid":"76d684cc-72c1-4da8-a712-a218886f91c5","width":70.0,"x":910.0,"y":2660.0,"zOrder":18,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"60c253d6-9917-48d4-825e-ec29f028e403","width":70.0,"x":910.0,"y":2940.0,"zOrder":14,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"5d9cd5f4-fb4f-4522-ab92-15f119d32df4","width":70.0,"x":1120.0,"y":2660.0,"zOrder":6,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"9a2c2574-313f-4b4a-ada5-6fc9d32f08c1","width":70.0,"x":1050.0,"y":2730.0,"zOrder":6,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"895a356f-0358-4a97-812b-fa18224eec8e","width":70.0,"x":1120.0,"y":2800.0,"zOrder":6,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":-180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"7b5c8a3e-82d0-4f31-949d-9253307d1b25","width":70.0,"x":1050.0,"y":2800.0,"zOrder":6,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":-180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"b710b458-a58d-4de3-9841-a80052efeb30","width":70.0,"x":1120.0,"y":2730.0,"zOrder":6,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"eeece8fb-a9fc-4429-b1b2-909dd92df8f5","width":70.0,"x":1050.0,"y":2660.0,"zOrder":6,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"flower","persistentUuid":"adea10b7-8dea-41d3-a8a2-bdea3511e4b5","width":70.0,"x":980.0,"y":2660.0,"zOrder":17,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"4ebf06b4-537c-4a9c-8155-d484f21c2315","width":70.0,"x":980.0,"y":2660.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":240.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"202786e8-4a71-4c68-ab3e-b8943020832e","width":70.0,"x":826.0,"y":2674.0,"zOrder":30,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":240.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a85763cd-5212-4034-a717-0448b914d341","width":70.0,"x":826.0,"y":2674.0,"zOrder":22,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"e901505e-1685-4fa1-be51-f0260cdbf9d8","width":70.0,"x":770.0,"y":2870.0,"zOrder":16,"numberProperties":[{"name":"animation","value":18.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"898ebc01-0b50-41e8-951a-9f2447a397d2","width":70.0,"x":700.0,"y":2870.0,"zOrder":16,"numberProperties":[{"name":"animation","value":16.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"425e0e8d-e9ec-4733-b958-42b17cef4dff","width":70.0,"x":630.0,"y":2730.0,"zOrder":16,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"c469b0bb-5f8a-4963-8331-e4305efc298c","width":70.0,"x":481.0,"y":3188.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"98a23410-a17c-4fda-b866-957dc9e4fd9f","width":70.0,"x":552.0,"y":3246.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"f5901a3b-1b6c-4aca-aaf7-2f0bbace8c3a","width":70.0,"x":552.0,"y":3316.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":140.0,"layer":"","name":"furniture","persistentUuid":"cec3d4b4-b5d0-4c8f-9b5b-dc2a7219a56e","width":140.0,"x":444.0,"y":3246.0,"zOrder":35,"numberProperties":[{"name":"animation","value":21.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"d7526131-8c7a-4a56-b68c-ac28711589ca","width":70.0,"x":478.0,"y":3372.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a566c2c2-0892-4ca9-abed-62294e26750e","width":70.0,"x":407.0,"y":3316.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"2341b9a8-b8e9-4a21-baac-2684a4ba3ca4","width":70.0,"x":407.0,"y":3246.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"bfb41509-2936-403f-8bb6-0181a02de7c9","width":70.0,"x":980.0,"y":3500.0,"zOrder":247,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"walls","persistentUuid":"941364ec-da40-4c42-bbb3-13f7df38fc30","width":70.0,"x":980.0,"y":3290.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"8e102d70-99f4-44a9-9d68-de777c4bc51b","width":70.0,"x":980.0,"y":3220.0,"zOrder":295,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"8fe329c0-7b72-4e3f-8ffc-174fae1dc08c","width":70.0,"x":1120.0,"y":3290.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"56dd99a3-c69c-46fd-ac67-ef5ad513867e","width":70.0,"x":1050.0,"y":3360.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"67656edf-8861-424e-86b3-3ba193dbf6d3","width":70.0,"x":1120.0,"y":3360.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"92c3bb43-e430-417d-9a62-b4fb452c4874","width":70.0,"x":1050.0,"y":3430.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"873d5d74-1cd1-460e-abbf-92c4f8111014","width":70.0,"x":1120.0,"y":3430.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3986af42-c74c-4d66-9c7f-9133388ba686","width":70.0,"x":280.0,"y":3080.0,"zOrder":294,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"186015a5-5b64-46b1-842e-e6b287cd0dc1","width":280.0,"x":350.0,"y":3080.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"76e60764-8fbc-43e6-a7e1-9ff9820bab8c","width":70.0,"x":630.0,"y":3080.0,"zOrder":2,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":910.0,"layer":"","name":"Wooden_floor_dark","persistentUuid":"68f8e56b-34c1-4f72-8191-7ba7c01589e1","width":910.0,"x":350.0,"y":2660.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3e96d033-81a2-487c-b2c2-4aebac45ad37","width":70.0,"x":4550.0,"y":3920.0,"zOrder":291,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"12ef1cf8-54ed-4d7e-8e8c-45864663f9e4","width":700.0,"x":3850.0,"y":3920.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"c0f41a30-79c3-4b4e-912d-429c9061d5d5","width":70.0,"x":3500.0,"y":3920.0,"zOrder":211,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":980.0,"layer":"","name":"walls","persistentUuid":"ce22ed01-4b85-40d0-9b1b-e5b3d5f5ae7f","width":70.0,"x":3500.0,"y":3990.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"walls","persistentUuid":"b67541ff-830d-494b-ab4f-7683216c4c54","width":70.0,"x":4550.0,"y":4340.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"cd6dda9e-1254-4604-945f-29d56e8c91fa","width":70.0,"x":3500.0,"y":4970.0,"zOrder":286,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"3451dd4a-8b3b-46f7-9f8a-1d1716860df6","width":70.0,"x":4550.0,"y":4970.0,"zOrder":292,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"a2530963-0fae-4ad6-9c7b-b981f398494f","width":280.0,"x":3570.0,"y":4970.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"56cf4d5c-e499-4329-ac90-566e90d4df70","width":70.0,"x":3920.0,"y":4970.0,"zOrder":2,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"67f24a51-18fc-447e-be74-3cf04b31333f","width":210.0,"x":4340.0,"y":4970.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"094f95c3-c4f3-478e-ba31-18e58f0dadf9","width":70.0,"x":4130.0,"y":4970.0,"zOrder":289,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1050.0,"layer":"","name":"Wooden_floor_dark","persistentUuid":"1244bb01-8e57-456a-bdd0-09825107aa88","width":700.0,"x":3850.0,"y":3990.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1f8dfcb3-a796-46b6-89ed-69313eb1bc92","width":70.0,"x":3780.0,"y":3920.0,"zOrder":291,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"walls","persistentUuid":"9f3f116a-6553-4300-9969-94337083437d","width":70.0,"x":3780.0,"y":3990.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"4c5875a2-766f-47d4-8d12-fa5c69a5d9cc","width":70.0,"x":3780.0,"y":4270.0,"zOrder":14,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"42421c7d-8b5d-4bde-a5e8-3a8cfc3b7067","width":210.0,"x":3570.0,"y":3920.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":770.0,"layer":"","name":"Wooden_floor_dark","persistentUuid":"1bd444e0-eb31-4a23-b5c0-b00f99896d71","width":280.0,"x":3570.0,"y":4270.0,"zOrder":-1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"Grey_floor_tiled","persistentUuid":"36d7e9c5-bc86-4956-8f37-29260b65998e","width":210.0,"x":3570.0,"y":3990.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"5f442d12-3ab2-4f1f-99e5-8e9738147fd2","width":70.0,"x":3710.0,"y":3990.0,"zOrder":50,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"1b90183f-827f-4655-a4f2-f44abd56ed68","width":70.0,"x":3710.0,"y":4060.0,"zOrder":50,"numberProperties":[{"name":"animation","value":0.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"92ea64dd-bada-4203-8e5e-0a2989c9f036","width":70.0,"x":3710.0,"y":4130.0,"zOrder":50,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"kitchen","persistentUuid":"306758df-9e19-4abc-9734-76e1e916b5a1","width":70.0,"x":3710.0,"y":4200.0,"zOrder":50,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"004a16ec-3e30-41cb-9340-26e253d52ca9","width":70.0,"x":4480.0,"y":4130.0,"zOrder":6,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"eda6f1ea-a7a0-4b11-b33f-f28f9fcbcb6d","width":70.0,"x":4480.0,"y":4060.0,"zOrder":6,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"bb76653a-a594-4373-8215-712f6a6de9db","width":70.0,"x":4410.0,"y":4130.0,"zOrder":6,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a6a34250-ac6e-4049-8dd7-68ca5aea4ac4","width":70.0,"x":4410.0,"y":4060.0,"zOrder":6,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"bf7c007e-1635-4be3-b2e9-f083275c56fe","width":70.0,"x":4340.0,"y":4060.0,"zOrder":6,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"dbafdb67-90cd-4088-9208-f42f2dd98405","width":70.0,"x":4340.0,"y":4130.0,"zOrder":6,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"2db49129-7c4e-4d00-9b1b-c32129ed14bc","width":70.0,"x":4550.0,"y":4270.0,"zOrder":292,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"walls","persistentUuid":"d5027d02-86fe-4bc2-aa88-222e615583a6","width":70.0,"x":4550.0,"y":3990.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"09cdea9d-fb82-4645-950d-5734e4c516ba","width":420.0,"x":4130.0,"y":4270.0,"zOrder":293,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"5cdb15ec-5c3d-4eea-85bc-4833743fb2fb","width":70.0,"x":4060.0,"y":4270.0,"zOrder":289,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flower","persistentUuid":"37e1021f-7e86-4c1f-af3f-1a7137d2975e","width":0.0,"x":4480.0,"y":4200.0,"zOrder":270,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"31cdca98-c4f5-4580-8b54-31526fcf933a","width":70.0,"x":4480.0,"y":3990.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"df5cfc5b-a237-46b6-92d6-0432d77fd599","width":70.0,"x":4480.0,"y":4200.0,"zOrder":16,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"flower","persistentUuid":"76ce7776-c5c9-4231-b0d8-25d30819fc0a","width":0.0,"x":4480.0,"y":3990.0,"zOrder":270,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"74585e19-1c5e-41bf-b187-1b740d54e193","width":70.0,"x":4130.0,"y":3990.0,"zOrder":22,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":40.0,"customSize":true,"height":50.0,"layer":"","name":"furniture","persistentUuid":"0f987118-7555-40ba-b8a1-a64002251048","width":50.0,"x":4060.0,"y":3990.0,"zOrder":16,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"7ea298d0-e3d7-4853-8aed-e75fd5601aeb","width":70.0,"x":4338.0,"y":4396.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":140.0,"layer":"","name":"furniture","persistentUuid":"81e1ee22-020e-4a2f-a446-9f1dd532ad18","width":140.0,"x":4301.0,"y":4454.0,"zOrder":35,"numberProperties":[{"name":"animation","value":21.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a9134440-287d-4e46-808e-c0b15220da4f","width":70.0,"x":4264.0,"y":4524.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"c154072f-ffc8-489e-8a38-6e68c34ccb31","width":70.0,"x":4264.0,"y":4454.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"f5c066b6-8549-4c0c-b3f2-4e73c5dd88d3","width":70.0,"x":4409.0,"y":4454.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"1d09867b-3653-4f33-8103-ba382803138c","width":70.0,"x":4409.0,"y":4524.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"41ffec36-f8f8-4a18-9769-a4485a15be61","width":70.0,"x":4335.0,"y":4580.0,"zOrder":21,"numberProperties":[{"name":"animation","value":22.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"1df3351a-4ac7-43e4-8e07-01388d376150","width":70.0,"x":4550.0,"y":4690.0,"zOrder":292,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7f02221b-0b2c-4562-96a5-6f10d91e30ad","width":210.0,"x":4340.0,"y":4690.0,"zOrder":293,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"429c1978-6f9d-43e3-a043-f69e236c2891","width":70.0,"x":4130.0,"y":4690.0,"zOrder":289,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"walls","persistentUuid":"e5b9bfe2-10ed-4560-bd92-ce9089635fb9","width":70.0,"x":4550.0,"y":4760.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"2ad80e72-3fe2-4da2-9a8f-dbbb32a1f2ac","width":70.0,"x":3640.0,"y":4620.0,"zOrder":16,"numberProperties":[{"name":"animation","value":18.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"c9d74ef6-ec2f-469e-a601-422ff70a6235","width":70.0,"x":3710.0,"y":4620.0,"zOrder":16,"numberProperties":[{"name":"animation","value":16.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"81a7cb43-d246-47be-84a5-80df53db9165","width":70.0,"x":3780.0,"y":4830.0,"zOrder":16,"numberProperties":[{"name":"animation","value":16.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a93df84f-3d65-42e4-b0c4-a97f66938028","width":70.0,"x":3780.0,"y":4760.0,"zOrder":16,"numberProperties":[{"name":"animation","value":18.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"42ced599-4ff0-4627-b3e7-f66aaf447c07","width":70.0,"x":3570.0,"y":4796.0,"zOrder":30,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"furniture","persistentUuid":"a30bfb2f-6803-462d-b1a3-fea395b67fff","width":70.0,"x":3570.0,"y":4796.0,"zOrder":22,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"6901ae4b-af3f-4257-93e4-5ae73ee27f14","width":70.0,"x":4410.0,"y":4760.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"57ee38c8-975d-4f1a-a8ba-76c303faba6a","width":70.0,"x":4480.0,"y":4760.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"728854d1-25a5-433d-a0b6-982ab3ce0a38","width":70.0,"x":4410.0,"y":4830.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"47435270-f0d4-457a-b45a-081222cd1e56","width":70.0,"x":4480.0,"y":4830.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"cc208698-f85a-4ca9-be67-aae858ce9129","width":70.0,"x":4410.0,"y":4900.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"10757183-b9fb-4e22-809b-f3e9c4b54e72","width":70.0,"x":4480.0,"y":4900.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"0cef3551-65b4-4f70-818b-bb43fe57c800","width":70.0,"x":4340.0,"y":4760.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"86063643-7a05-4bfe-aa61-2fbf6de7af47","width":70.0,"x":4340.0,"y":4830.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"7b369c33-5148-4594-b2cc-1eba1f885e90","width":70.0,"x":4340.0,"y":4900.0,"zOrder":4,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"7ca90a6e-bca8-483a-99a2-68c3ce1e501d","width":70.0,"x":4270.0,"y":4690.0,"zOrder":291,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"d6cbadc2-fa24-49df-b278-d7b2241e9bab","width":70.0,"x":4200.0,"y":4690.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"fcf29a18-3267-46e8-b869-42b5f8a8a032","width":70.0,"x":4270.0,"y":4970.0,"zOrder":247,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"9f260004-df25-41a7-9cef-8b23abfb616e","width":70.0,"x":4270.0,"y":4760.0,"zOrder":14,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"20437a9b-fdf0-4102-bf22-7237a08f1adf","width":70.0,"x":4270.0,"y":4900.0,"zOrder":295,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"e36883c5-0e57-46dd-a23c-b123b8e954fc","width":70.0,"x":4200.0,"y":4970.0,"zOrder":284,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"70beba79-257b-47d4-972a-77edf2ac8037","width":70.0,"x":3850.0,"y":4970.0,"zOrder":247,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"walls","persistentUuid":"7931d5b2-315c-4cb3-8620-08e7ae1a85d0","width":70.0,"x":3850.0,"y":4620.0,"zOrder":285,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"walls","persistentUuid":"ecfadca2-013d-4a63-a6ef-7d476ee9c684","width":70.0,"x":3850.0,"y":4550.0,"zOrder":295,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"floor","persistentUuid":"5d5358c6-1327-4c91-976c-d9e68a30eac4","width":70.0,"x":1050.0,"y":1890.0,"zOrder":-12,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1890.0,"layer":"Fade","name":"game_transition","persistentUuid":"207d60f3-0f67-4356-baee-09aac503e6cb","width":3150.0,"x":0.0,"y":0.0,"zOrder":296,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"walls","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\walls\\tile_234.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":63.0,"y":1.0},{"x":63.0,"y":31.0},{"x":0.0,"y":31.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\walls\\tile_260.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":1.0,"y":32.0},{"x":63.0,"y":33.0},{"x":61.0,"y":62.0},{"x":1.0,"y":63.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_145.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_118.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_147.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_120.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_122.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\walls\\tile_233.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":1.0},{"x":32.0,"y":0.0},{"x":30.0,"y":61.0},{"x":2.0,"y":62.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\walls\\tile_261.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":31.0,"y":0.0},{"x":63.0,"y":3.0},{"x":62.0,"y":62.0},{"x":32.0,"y":61.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_119.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_146.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_148.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_121.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_149.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"kitchen","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\kitchen\\tile_321.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\kitchen\\tile_297.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\kitchen\\tile_323.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\kitchen\\tile_270.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":28.0},{"x":62.0,"y":28.0},{"x":62.0,"y":63.0},{"x":0.0,"y":63.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\kitchen\\tile_269.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\kitchen\\tile_322.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"furniture","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_102.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":16.0,"y":16.0},{"x":48.0,"y":16.0},{"x":62.0,"y":63.0},{"x":16.0,"y":48.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\furniture\\bed\\tile_21.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":46.0},{"x":63.0,"y":44.0},{"x":62.0,"y":63.0},{"x":2.0,"y":63.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_104.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":16.0,"y":16.0},{"x":48.0,"y":16.0},{"x":62.0,"y":63.0},{"x":16.0,"y":48.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\furniture\\bed\\tile_49.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":10.0},{"x":63.0,"y":9.0},{"x":62.0,"y":63.0},{"x":2.0,"y":62.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_103.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":16.0,"y":16.0},{"x":48.0,"y":16.0},{"x":62.0,"y":63.0},{"x":16.0,"y":48.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_76.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":16.0,"y":16.0},{"x":48.0,"y":16.0},{"x":62.0,"y":63.0},{"x":16.0,"y":48.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_77.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":16.0,"y":16.0},{"x":48.0,"y":16.0},{"x":62.0,"y":63.0},{"x":16.0,"y":48.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\furniture\\bed\\tile_50.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":9.0},{"x":63.0,"y":10.0},{"x":62.0,"y":63.0},{"x":0.0,"y":63.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\furniture\\chair\\tile_501.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":5.0,"y":10.0},{"x":62.0,"y":10.0},{"x":63.0,"y":52.0},{"x":6.0,"y":54.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\furniture\\chair\\tile_502.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":1.0,"y":13.0},{"x":62.0,"y":12.0},{"x":62.0,"y":53.0},{"x":0.0,"y":52.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\furniture\\chair\\tile_504.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":1.0,"y":12.0},{"x":58.0,"y":11.0},{"x":58.0,"y":56.0},{"x":1.0,"y":55.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\furniture\\chair\\tile_505.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":7.0,"y":13.0},{"x":56.0,"y":13.0},{"x":57.0,"y":53.0},{"x":5.0,"y":54.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\electronic\\tile_534.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":16.0,"y":16.0},{"x":48.0,"y":16.0},{"x":62.0,"y":63.0},{"x":16.0,"y":48.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\table\\tile_483.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":16.0,"y":16.0},{"x":48.0,"y":16.0},{"x":62.0,"y":63.0},{"x":16.0,"y":48.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\carpet\\tile_484.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\electronic\\tile_535.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":6.0,"y":12.0},{"x":59.0,"y":10.0},{"x":59.0,"y":56.0},{"x":6.0,"y":54.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\chair\\tile_474.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\chair\\tile_475.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\chair\\tile_476.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\chair\\tile_477.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\table\\tile_507.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\table\\tile_510.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\Interior\\furniture\\chair\\tile_529.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":16.0,"y":16.0},{"x":48.0,"y":16.0},{"x":53.0,"y":51.0},{"x":10.0,"y":49.0}]]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_48.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_52.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_53.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_79.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_80.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_106.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\furniture\\bed\\tile_107.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"Niko","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_stand.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.3,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_stand.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_hold.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"Gun1","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\Single_pistol.png","points":[{"name":"shoot","x":46.0,"y":36.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"Gun2","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\Machine_gun_hold.png","points":[{"name":"shoot","x":56.0,"y":27.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"Gun3","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_flametrhower.png","points":[{"name":"f_t_collision","x":47.5,"y":31.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"Gun4","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_sniper.png","points":[{"name":"shoot","x":61.0,"y":28.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"Gun5-loaded","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\Rocket_launcher_loaded.png","points":[{"name":"shoot","x":52.0,"y":28.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"mele1","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_tazer.png","points":[{"name":"hitbox","x":45.0,"y":33.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"phone","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_phone_0.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_phone_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"swim1","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.5,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_0.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"swim2","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.5,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_4.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_7.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_6.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\manBlue_swim_5.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"gun5 unloaded","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\Rocket_launcher_unloaded.png","points":[{"name":"shoot","x":52.0,"y":28.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]},{"name":"knife ","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\knife_a1.png","points":[{"name":"slash","x":51.0,"y":30.0}],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":false,"name":"centre","x":17.0,"y":21.0},"customCollisionMask":[]}]}]}]},{"additive":true,"assetStoreId":"","destroyWhenNoParticles":false,"emitterAngleA":0.0,"emitterAngleB":20.0,"emitterForceMax":30.0,"emitterForceMin":23.0,"flow":12.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":300000,"name":"flame_thrower_fire_secondary","particleAlpha1":200.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":168.0,"particleBlue2":8.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":245.0,"particleGreen2":43.0,"particleLifeTimeMax":0.5,"particleLifeTimeMin":0.20000000298023225,"particleRed1":255.0,"particleRed2":214.0,"particleSize1":40.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":-1.0,"textureParticleName":"assets\\particles\\FireParticle.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":5.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"floor","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\floor\\tile_11.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\floor\\tile_46.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_441.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_440.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\walls\\tile_466.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\floor\\tile_12.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\floor\\tile_45.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\Interior\\floor\\tile_42.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"energy","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"ammo1","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\energy.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":3.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":3.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"Placeholder","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior","acceleration":400.0,"allowDiagonals":true,"angleOffset":0.0,"angularMaxSpeed":500.0,"deceleration":800.0,"ignoreDefaultControls":true,"maxSpeed":200.0,"rotateObject":true}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.3,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\placeholder.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"room6out","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\door.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"room5out","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\door.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"room4out","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\door.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"room3out","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\door.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"room2out","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\door.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"gun3","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\gun\\flamethrower.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":5.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":5.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"room1out","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\door.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"flame_thrower_fire_collision","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\flame thrower fire collision.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":16.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":16.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"gun1","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\gun\\Single_pistol_item.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":11.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":11.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"gun2","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\gun\\Machine_gun_item.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":6.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":6.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"gun4","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\gun\\sniper.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":10.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":10.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"gun5","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\gun\\Rocket_launcher_item.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":7.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":7.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"mele1","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\mele\\tazer.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":4.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":4.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bold":false,"italic":false,"name":"Wheel_info","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Wheel using: [number]","font":"","textAlignment":"","characterSize":30.0,"color":{"b":156,"g":156,"r":156},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Wheel using: [number]","font":"","textAlignment":"","characterSize":30.0,"color":"156;156;156"}},{"additive":true,"assetStoreId":"","destroyWhenNoParticles":false,"emitterAngleA":0.0,"emitterAngleB":20.0,"emitterForceMax":300.0,"emitterForceMin":230.0,"flow":120.0,"jumpForwardInTimeOnCreation":0.0,"maxParticleNb":3000000,"name":"flame_thrower_fire","particleAlpha1":200.0,"particleAlpha2":0.0,"particleAlphaRandomness1":0.0,"particleAlphaRandomness2":0.0,"particleAngle1":0.0,"particleAngle2":0.0,"particleAngleRandomness1":0.0,"particleAngleRandomness2":0.0,"particleBlue1":168.0,"particleBlue2":8.0,"particleGravityX":0.0,"particleGravityY":0.0,"particleGreen1":245.0,"particleGreen2":43.0,"particleLifeTimeMax":0.5,"particleLifeTimeMin":0.20000000298023225,"particleRed1":255.0,"particleRed2":214.0,"particleSize1":40.0,"particleSize2":100.0,"particleSizeRandomness1":0.0,"particleSizeRandomness2":0.0,"rendererParam1":3.0,"rendererParam2":1.0,"rendererType":"Quad","tank":-1.0,"textureParticleName":"assets\\particles\\FireParticle.png","type":"ParticleSystem::ParticleEmitter","zoneRadius":5.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"bullet","type":"Sprite","updateIfNotVisible":false,"variables":[{"name":"bullet","type":"string","value":"0"}],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"bullet1","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\bullet\\bulletYellowSilver_outline.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":3.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":3.0},"customCollisionMask":[[{"x":3.0,"y":3.0},{"x":13.0,"y":3.0},{"x":13.0,"y":13.0},{"x":3.0,"y":13.0}]]}]}]},{"name":"bullet2","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\bullet\\bulletYellow_outline.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"bullet3","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\bullet\\Rocket.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":3.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":3.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"ammo","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"ammo1","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\bullet\\bulletYellowSilver_outline.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":5.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":5.0},"customCollisionMask":[]}]}]},{"name":"ammo2","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\bullet\\bulletYellow_outline.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":3.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":3.0},"customCollisionMask":[]}]}]},{"name":"ammo3","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\bullet\\bulletBlueSilver_outline.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":3.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":3.0},"customCollisionMask":[]}]}]},{"name":"ammo4","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\weapons\\bullet\\Rocket_ammo.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":5.0},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":5.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"flower","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\foliage\\flower\\tile_240.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":16.0,"y":16.0},{"x":48.0,"y":16.0},{"x":48.0,"y":48.0},{"x":16.0,"y":48.0}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"phone_wifi","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\wifi_0.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":2.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\wifi_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":5.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\wifi_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":8.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\wifi_3.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":11.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"phone_battery","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\phone_battery.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"crossair","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\crossair\\crossair_1.png","points":[],"originPoint":{"name":"origine","x":16.0,"y":15.5},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"Phone","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\phone_lock.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\phone_unlock.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\phone_apps.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]},{"name":"","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.5,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\pointer_1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\character\\Player\\phone\\pointer_2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[]}]}]}]},{"assetStoreId":"","bold":true,"italic":false,"name":"phone_time","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"string":"00:00","font":"","textAlignment":"","characterSize":14.0,"color":{"b":255,"g":255,"r":255},"content":{"bold":true,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"00:00","font":"","textAlignment":"","characterSize":14.0,"color":"255;255;255"}},{"assetStoreId":"","bold":false,"italic":false,"name":"reloading","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"reloading","font":"","textAlignment":"","characterSize":50.0,"color":{"b":112,"g":112,"r":112},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"reloading","font":"","textAlignment":"","characterSize":50.0,"color":"112;112;112"}},{"assetStoreId":"","bold":false,"italic":false,"name":"AmmoText","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Ammo: [number]","font":"","textAlignment":"","characterSize":30.0,"color":{"b":156,"g":156,"r":156},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Ammo: [number]","font":"","textAlignment":"","characterSize":30.0,"color":"156;156;156"}},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"tazer_hitbox","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":true,"timeBetweenFrames":0.1429,"sprites":[{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\tazer_Hitbox\\tazer_hitbox=0.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":2.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":2.5},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\tazer_Hitbox\\tazer_hitbox=1.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":2.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":2.5},"customCollisionMask":[]},{"hasCustomCollisionMask":false,"image":"assets\\sprite_objects\\tazer_Hitbox\\tazer_hitbox=2.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":2.5},"centerPoint":{"automatic":false,"name":"centre","x":0.0,"y":2.5},"customCollisionMask":[]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"Slash1","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\weapons\\slash.png","points":[],"originPoint":{"name":"origine","x":31.77560043334961,"y":12.954500198364258},"centerPoint":{"automatic":false,"name":"centre","x":31.320999145507814,"y":12.954500198364258},"customCollisionMask":[[{"x":15.028800010681153,"y":3.6842100620269777},{"x":34.76559829711914,"y":0.0},{"x":58.18669891357422,"y":15.0},{"x":33.976200103759769,"y":4.473680019378662},{"x":19.765600204467775,"y":6.8421101570129398},{"x":3.9761500358581545,"y":18.157899856567384}]]}]}]}]},{"adaptCollisionMaskAutomatically":false,"assetStoreId":"","name":"mele2","type":"Sprite","updateIfNotVisible":false,"variables":[],"effects":[],"behaviors":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"animations":[{"name":"","useMultipleDirections":false,"directions":[{"looping":false,"timeBetweenFrames":0.08,"sprites":[{"hasCustomCollisionMask":true,"image":"assets\\weapons\\mele\\knife.png","points":[],"originPoint":{"name":"origine","x":0.0,"y":0.0},"centerPoint":{"automatic":true,"name":"centre","x":0.0,"y":0.0},"customCollisionMask":[[{"x":0.0,"y":0.0},{"x":14.640199661254883,"y":10.606100082397461},{"x":22.0,"y":22.0},{"x":10.09469985961914,"y":15.15149974822998}]]}]}]}]},{"assetStoreId":"","bold":true,"italic":false,"name":"roomIndic","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"1","font":"","textAlignment":"","characterSize":50.0,"color":{"b":255,"g":255,"r":255},"content":{"bold":true,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"1","font":"","textAlignment":"","characterSize":50.0,"color":"255;255;255"}},{"assetStoreId":"","height":70.0,"name":"Wooden_floor","texture":"assets/Interior/floor/tile_100.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"Wooden_floor_dark","texture":"assets/Interior/floor/tile_46.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","height":70.0,"name":"Grey_floor_tiled","texture":"assets/Interior/floor/tile_11.png","type":"TiledSpriteObject::TiledSprite","width":70.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]}],"objectsFolderStructure":{"folderName":"__ROOT"},"events":[],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"GUI","renderingType":"","visibility":true,"cameras":[],"effects":[]},{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":0.1,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"Fade","renderingType":"","visibility":true,"cameras":[],"effects":[]}],"behaviorsSharedData":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"},{"name":"TopDownMovement","type":"TopDownMovementBehavior::TopDownMovementBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}],"usedResources":[{"name":"assets/Interior/floor/tile_100.png"},{"name":"assets/Interior/floor/tile_11.png"},{"name":"assets/Interior/floor/tile_46.png"},{"name":"assets\\Interior\\electronic\\tile_534.png"},{"name":"assets\\Interior\\electronic\\tile_535.png"},{"name":"assets\\Interior\\floor\\tile_11.png"},{"name":"assets\\Interior\\floor\\tile_12.png"},{"name":"assets\\Interior\\floor\\tile_42.png"},{"name":"assets\\Interior\\floor\\tile_45.png"},{"name":"assets\\Interior\\floor\\tile_46.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_102.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_103.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_104.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_106.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_107.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_21.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_48.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_49.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_50.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_52.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_53.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_76.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_77.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_79.png"},{"name":"assets\\Interior\\furniture\\bed\\tile_80.png"},{"name":"assets\\Interior\\furniture\\carpet\\tile_484.png"},{"name":"assets\\Interior\\furniture\\chair\\tile_474.png"},{"name":"assets\\Interior\\furniture\\chair\\tile_475.png"},{"name":"assets\\Interior\\furniture\\chair\\tile_476.png"},{"name":"assets\\Interior\\furniture\\chair\\tile_477.png"},{"name":"assets\\Interior\\furniture\\chair\\tile_501.png"},{"name":"assets\\Interior\\furniture\\chair\\tile_502.png"},{"name":"assets\\Interior\\furniture\\chair\\tile_504.png"},{"name":"assets\\Interior\\furniture\\chair\\tile_505.png"},{"name":"assets\\Interior\\furniture\\chair\\tile_529.png"},{"name":"assets\\Interior\\furniture\\table\\tile_483.png"},{"name":"assets\\Interior\\furniture\\table\\tile_507.png"},{"name":"assets\\Interior\\furniture\\table\\tile_510.png"},{"name":"assets\\Interior\\kitchen\\tile_269.png"},{"name":"assets\\Interior\\kitchen\\tile_270.png"},{"name":"assets\\Interior\\kitchen\\tile_297.png"},{"name":"assets\\Interior\\kitchen\\tile_321.png"},{"name":"assets\\Interior\\kitchen\\tile_322.png"},{"name":"assets\\Interior\\kitchen\\tile_323.png"},{"name":"assets\\Interior\\walls\\tile_118.png"},{"name":"assets\\Interior\\walls\\tile_119.png"},{"name":"assets\\Interior\\walls\\tile_120.png"},{"name":"assets\\Interior\\walls\\tile_121.png"},{"name":"assets\\Interior\\walls\\tile_122.png"},{"name":"assets\\Interior\\walls\\tile_145.png"},{"name":"assets\\Interior\\walls\\tile_146.png"},{"name":"assets\\Interior\\walls\\tile_147.png"},{"name":"assets\\Interior\\walls\\tile_148.png"},{"name":"assets\\Interior\\walls\\tile_149.png"},{"name":"assets\\Interior\\walls\\tile_233.png"},{"name":"assets\\Interior\\walls\\tile_234.png"},{"name":"assets\\Interior\\walls\\tile_260.png"},{"name":"assets\\Interior\\walls\\tile_261.png"},{"name":"assets\\Interior\\walls\\tile_440.png"},{"name":"assets\\Interior\\walls\\tile_441.png"},{"name":"assets\\Interior\\walls\\tile_466.png"},{"name":"assets\\character\\Player\\Machine_gun_hold.png"},{"name":"assets\\character\\Player\\Rocket_launcher_loaded.png"},{"name":"assets\\character\\Player\\Rocket_launcher_unloaded.png"},{"name":"assets\\character\\Player\\Single_pistol.png"},{"name":"assets\\character\\Player\\knife_a1.png"},{"name":"assets\\character\\Player\\manBlue_flametrhower.png"},{"name":"assets\\character\\Player\\manBlue_hold.png"},{"name":"assets\\character\\Player\\manBlue_phone_0.png"},{"name":"assets\\character\\Player\\manBlue_phone_1.png"},{"name":"assets\\character\\Player\\manBlue_sniper.png"},{"name":"assets\\character\\Player\\manBlue_stand.png"},{"name":"assets\\character\\Player\\manBlue_swim_0.png"},{"name":"assets\\character\\Player\\manBlue_swim_1.png"},{"name":"assets\\character\\Player\\manBlue_swim_2.png"},{"name":"assets\\character\\Player\\manBlue_swim_3.png"},{"name":"assets\\character\\Player\\manBlue_swim_4.png"},{"name":"assets\\character\\Player\\manBlue_swim_5.png"},{"name":"assets\\character\\Player\\manBlue_swim_6.png"},{"name":"assets\\character\\Player\\manBlue_swim_7.png"},{"name":"assets\\character\\Player\\manBlue_tazer.png"},{"name":"assets\\character\\Player\\phone\\phone_apps.png"},{"name":"assets\\character\\Player\\phone\\phone_battery.png"},{"name":"assets\\character\\Player\\phone\\phone_lock.png"},{"name":"assets\\character\\Player\\phone\\phone_unlock.png"},{"name":"assets\\character\\Player\\phone\\pointer_1.png"},{"name":"assets\\character\\Player\\phone\\pointer_2.png"},{"name":"assets\\character\\Player\\phone\\wifi_0.png"},{"name":"assets\\character\\Player\\phone\\wifi_1.png"},{"name":"assets\\character\\Player\\phone\\wifi_2.png"},{"name":"assets\\character\\Player\\phone\\wifi_3.png"},{"name":"assets\\character\\Player\\placeholder.png"},{"name":"assets\\crossair\\crossair_1.png"},{"name":"assets\\foliage\\flower\\tile_240.png"},{"name":"assets\\particles\\FireParticle.png"},{"name":"assets\\sound\\door_sound\\DoorClosing_0.wav"},{"name":"assets\\sound\\door_sound\\DoorOpening_0.wav"},{"name":"assets\\sprite_objects\\door.png"},{"name":"assets\\sprite_objects\\flame thrower fire collision.png"},{"name":"assets\\sprite_objects\\tazer_Hitbox\\tazer_hitbox=0.png"},{"name":"assets\\sprite_objects\\tazer_Hitbox\\tazer_hitbox=1.png"},{"name":"assets\\sprite_objects\\tazer_Hitbox\\tazer_hitbox=2.png"},{"name":"assets\\weapons\\bullet\\Rocket.png"},{"name":"assets\\weapons\\bullet\\Rocket_ammo.png"},{"name":"assets\\weapons\\bullet\\bulletBlueSilver_outline.png"},{"name":"assets\\weapons\\bullet\\bulletYellowSilver_outline.png"},{"name":"assets\\weapons\\bullet\\bulletYellow_outline.png"},{"name":"assets\\weapons\\energy.png"},{"name":"assets\\weapons\\gun\\Machine_gun_item.png"},{"name":"assets\\weapons\\gun\\Rocket_launcher_item.png"},{"name":"assets\\weapons\\gun\\Single_pistol_item.png"},{"name":"assets\\weapons\\gun\\flamethrower.png"},{"name":"assets\\weapons\\gun\\sniper.png"},{"name":"assets\\weapons\\mele\\knife.png"},{"name":"assets\\weapons\\mele\\tazer.png"},{"name":"assets\\weapons\\slash.png"}]},{"b":0,"disableInputWhenNotFocused":true,"mangledName":"Game_95Loading","name":"Game_Loading","r":0,"standardSortMethod":true,"stopSoundsOnStartup":true,"title":"","v":0,"uiSettings":{"grid":false,"gridType":"rectangular","gridWidth":32.0,"gridHeight":32.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":false,"zoomFactor":1.666876379799323,"windowMask":false},"objectsGroups":[],"variables":[],"instances":[{"angle":0.0,"customSize":true,"depth":1.0,"height":1080.0,"layer":"","name":"bg","persistentUuid":"6f3762d0-afeb-40cb-b5df-311e031d8b5e","width":1920.0,"x":0.0,"y":0.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"NewText","persistentUuid":"c6d63835-a9a8-4b43-9e90-7487b9c6d6c6","width":0.0,"x":79.0,"y":540.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":32.0,"height":34.0,"layer":"","name":"RedFlatBarw","persistentUuid":"c029355d-31e7-4bc0-850d-52f3752ec8cb","width":1369.0,"x":66.0,"y":608.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"assetStoreId":"","height":32.0,"name":"bg","texture":"assets/misc/green_checked.png","type":"TiledSpriteObject::TiledSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","bold":true,"italic":false,"name":"NewText","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Loading...","font":"assets\\fonts\\Kenney Rocket Square.ttf","textAlignment":"left","characterSize":50.0,"color":{"b":0,"g":0,"r":0},"content":{"bold":true,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Loading...","font":"assets\\fonts\\Kenney Rocket Square.ttf","textAlignment":"left","characterSize":50.0,"color":"0;0;0"}},{"assetStoreId":"3d6c54e76a9a06cbd7629c1e78388d4ab808bbf36d644c61d6a14c9ad34d4f89","name":"RedFlatBarw","type":"PanelSpriteContinuousBar::PanelSpriteContinuousBar","variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"}],"content":{"PreviousHighValueDuration":0.0,"ShowLabel":true,"BarTopPadding":4.0,"BarBottomPadding":6.0,"BarLeftPadding":4.0,"BarRightPadding":4.0,"MaxValue":100.0,"InitialValue":0.0},"childrenContent":{"Background":{"bottomMargin":6.0,"height":34.0,"leftMargin":4.0,"rightMargin":4.0,"texture":"assets/UI/bar/Flat Bar White Border.png","tiled":true,"topMargin":6.0,"width":224.0},"Buffer":{"bottomMargin":0.0,"height":24.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"assets/UI/bar/Flat Bar Red Fill Bar.png","tiled":true,"topMargin":0.0,"width":24.0},"FillBar":{"bottomMargin":0.0,"height":24.0,"leftMargin":0.0,"rightMargin":0.0,"texture":"assets/UI/bar/Flat Bar Red Fill Bar.png","tiled":true,"topMargin":0.0,"width":24.0},"Label":{"bold":false,"italic":false,"smoothed":true,"underlined":false,"string":"","font":"","textAlignment":"center","characterSize":16.0,"color":{"b":255,"g":255,"r":255},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"","font":"","textAlignment":"center","characterSize":16.0,"color":"255;255;255"}}}}],"objectsFolderStructure":{"folderName":"__ROOT"},"events":[],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":3.0,"cameraType":"perspective","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[{"effectType":"Scene3D::HemisphereLight","name":"3D Light","doubleParameters":{"elevation":45.0,"intensity":1.0,"rotation":0.0},"stringParameters":{"groundColor":"64;64;64","skyColor":"255;255;255","top":"Y-"},"booleanParameters":{}}]}],"behaviorsSharedData":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"usedResources":[{"name":"assets/UI/bar/Flat Bar Red Fill Bar.png"},{"name":"assets/UI/bar/Flat Bar White Border.png"},{"name":"assets/misc/green_checked.png"},{"name":"assets\\fonts\\Kenney Rocket Square.ttf"}]},{"b":209,"disableInputWhenNotFocused":true,"mangledName":"Game_95FirstLaunch","name":"Game_FirstLaunch","r":209,"standardSortMethod":true,"stopSoundsOnStartup":true,"title":"","v":209,"uiSettings":{"grid":false,"gridType":"rectangular","gridWidth":32.0,"gridHeight":32.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":false,"zoomFactor":0.3645833333333333,"windowMask":false},"objectsGroups":[],"variables":[{"name":"PCRank","type":"structure","children":[{"folded":true,"name":"adder","type":"number","value":0.0},{"folded":true,"name":"rank","type":"string","value":"0"}]}],"instances":[{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"","name":"rank","persistentUuid":"45362f31-08b3-45ca-9373-900542bf4feb","width":0.0,"x":870.0,"y":486.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"objects":[{"assetStoreId":"","bold":false,"italic":false,"name":"rank","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Text","font":"","textAlignment":"left","characterSize":50.0,"color":{"b":0,"g":0,"r":0},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Text","font":"","textAlignment":"left","characterSize":50.0,"color":"0;0;0"}}],"objectsFolderStructure":{"folderName":"__ROOT"},"events":[],"layers":[{"ambientLightColorB":200,"ambientLightColorG":200,"ambientLightColorR":200,"camera3DFarPlaneDistance":10000.0,"camera3DFieldOfView":45.0,"camera3DNearPlaneDistance":3.0,"cameraType":"","followBaseLayerCamera":false,"isLightingLayer":false,"isLocked":false,"name":"","renderingType":"","visibility":true,"cameras":[{"defaultSize":true,"defaultViewport":true,"height":0.0,"viewportBottom":1.0,"viewportLeft":0.0,"viewportRight":1.0,"viewportTop":0.0,"width":0.0}],"effects":[{"effectType":"Blur","name":"Effect","doubleParameters":{"blur":1.0,"kernelSize":15.0,"quality":1.0,"resolution":10.0},"stringParameters":{},"booleanParameters":{}}]}],"behaviorsSharedData":[{"name":"Animation","type":"AnimatableCapability::AnimatableBehavior"},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"FlashTransitionPainter","type":"FlashTransitionPainter::FlashTransitionPainter"},{"name":"Flippable","type":"FlippableCapability::FlippableBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"usedResources":[]}],"externalEvents":[],"eventsFunctionsExtensions":[{"author":"","category":"User interface","extensionNamespace":"","fullName":"Panel sprite button","helpPath":"/objects/button","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5LDIzSDNjLTEuMSwwLTItMC45LTItMlYxMWMwLTEuMSwwLjktMiwyLTJoMjZjMS4xLDAsMiwwLjksMiwydjEwQzMxLDIyLjEsMzAuMSwyMywyOSwyM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMywxOUwxMywxOWMtMS4xLDAtMi0wLjktMi0ydi0yYzAtMS4xLDAuOS0yLDItMmgwYzEuMSwwLDIsMC45LDIsMnYyQzE1LDE4LjEsMTQuMSwxOSwxMywxOXoiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxOCIgeTE9IjEzIiB4Mj0iMTgiIHkyPSIxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIxIiB5MT0iMTMiIHgyPSIxOCIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjEiIHkxPSIxOSIgeDI9IjE5IiB5Mj0iMTYiLz4NCjwvc3ZnPg0K","name":"PanelSpriteButton","previewIconUrl":"https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_button_ok_cta_clock_tap.svg","shortDescription":"A button that can be customized.","version":"1.4.4","description":["The button can be customized with a background for each state and a label. It handles user interactions and a simple condition can be used to check if it is clicked.","","There are ready-to-use buttons in the asset-store [menu buttons pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=menu-buttons-menu-buttons)."],"tags":["button","ui"],"authorIds":["IWykYNRvhCZBN3vEgKEbBPOR3Oc2"],"dependencies":[],"eventsFunctions":[],"eventsBasedBehaviors":[],"eventsBasedObjects":[{"defaultName":"","description":"","fullName":"","is3D":true,"isAnimatable":true,"isTextContainer":true,"name":"PanelSpriteButton","eventsFunctions":[],"propertyDescriptors":[],"objects":[{"assetStoreId":"","bold":false,"italic":false,"name":"Label","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"Text","font":"","textAlignment":"","characterSize":20.0,"color":{"b":0,"g":0,"r":0},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"Text","font":"","textAlignment":"","characterSize":20.0,"color":"0;0;0"}},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Idle","rightMargin":0.0,"texture":"","tiled":false,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[{"folded":true,"name":"State","type":"string","value":"Idle"}],"effects":[],"behaviors":[{"name":"ButtonFSM","type":"PanelSpriteButton::ButtonFSM","ShouldCheckHovering":true},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Hovered","rightMargin":0.0,"texture":"","tiled":false,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Pressed","rightMargin":0.0,"texture":"","tiled":false,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]}],"objectsFolderStructure":{"folderName":"__ROOT"}}]},{"author":"","category":"User interface","extensionNamespace":"","fullName":"Slider","helpPath":"/objects/slider","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSI3IiByPSIzIi8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMyIgeTE9IjciIHgyPSIyMCIgeTI9IjciLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjciIHgyPSIyNiIgeTI9IjciLz4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjEyIiBjeT0iMTYiIHI9IjMiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIzIiB5MT0iMTYiIHgyPSI5IiB5Mj0iMTYiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjE2IiB4Mj0iMTUiIHkyPSIxNiIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjMiIGN5PSIyNSIgcj0iMyIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjMiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIyOSIgeTE9IjI1IiB4Mj0iMjYiIHkyPSIyNSIvPg0KPC9zdmc+DQo=","name":"PanelSpriteSlider","previewIconUrl":"https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/UI Essentials/1678c39a3b2bd3df4f82a8a293770db4986a6bcfd3f78e738ddfc86e39176423_UI Essentials_sliders_options.svg","shortDescription":"A draggable slider that users can move to select a numerical value.","version":"1.4.2","description":["A draggable slider that users can move to select a numerical value. The slider can be customized with sprites.","","There are ready-to-use sliders in the asset-store [settings UI pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=settings-ui-settings-ui)."],"tags":["draggable","slider","ui","widget"],"authorIds":["IWykYNRvhCZBN3vEgKEbBPOR3Oc2","gqDaZjCfevOOxBYkK6zlhtZnXCg1"],"dependencies":[],"eventsFunctions":[],"eventsBasedBehaviors":[],"eventsBasedObjects":[{"defaultName":"","description":"","fullName":"","is3D":true,"isAnimatable":true,"isTextContainer":true,"name":"PanelSpriteSlider","eventsFunctions":[],"propertyDescriptors":[],"objects":[{"assetStoreId":"","bold":false,"italic":false,"name":"Label","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"It displays the value when it changes.","font":"","textAlignment":"","characterSize":20.0,"color":{"b":0,"g":0,"r":0},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"It displays the value when it changes.","font":"","textAlignment":"","characterSize":20.0,"color":"0;0;0"}},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Thumb","rightMargin":0.0,"texture":"","tiled":false,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Draggable","type":"DraggableBehavior::Draggable","checkCollisionMask":false},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"FillBar","rightMargin":0.0,"texture":"","tiled":true,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Slider","type":"PanelSpriteSlider::Slider","Value":0.0,"MinValue":0.0,"MaxValue":1.0,"StepSize":1.0}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Background","rightMargin":0.0,"texture":"","tiled":true,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"ButtonFSM","type":"PanelSpriteSlider::ButtonFSM","ShouldCheckHovering":true,"State":"Idle","TouchId":0.0,"TouchIsInside":false,"MouseIsInside":false,"Index":0.0},{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]}],"objectsFolderStructure":{"folderName":"__ROOT"}}]},{"author":"","category":"User interface","extensionNamespace":"","fullName":"Resource bar (continuous)","helpPath":"/objects/resource-bar","iconUrl":"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBkPSJNMjgsMTJIMTRINGMtMi4yLDAtNCwxLjgtNCw0czEuOCw0LDQsNGgxMGgxNGMyLjIsMCw0LTEuOCw0LTRTMzAuMiwxMiwyOCwxMnogTTQsMThjLTEuMSwwLTItMC45LTItMnMwLjktMiwyLTJoMTANCgljMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDJINHoiLz4NCjwvc3ZnPg0K","name":"PanelSpriteContinuousBar","previewIconUrl":"https://asset-resources.gdevelop.io/public-resources/Icons/Glyphster Pack/Master/SVG/Interface Elements/ea06363a57846caab544f536b78a952234b68d4941d41c1577852a1d61aefec3_Interface Elements_interface_ui_loading_progress_bar.svg","shortDescription":"A bar that represents a resource in the game (health, mana, ammo, etc).","version":"1.1.1","description":["A bar that represents a resource in the game (health, mana, ammo, etc).","","There are ready-to-use resource bars in the asset-store [resource bars pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=resource-bars-resource-bars)."],"tags":["resource","bar","health","mana","shield","hearts","lives","ammo"],"authorIds":["IWykYNRvhCZBN3vEgKEbBPOR3Oc2","gqDaZjCfevOOxBYkK6zlhtZnXCg1","q8ubdigLvIRXLxsJDDTaokO41mc2"],"dependencies":[],"eventsFunctions":[],"eventsBasedBehaviors":[],"eventsBasedObjects":[{"defaultName":"","description":"","fullName":"","is3D":true,"isAnimatable":true,"isTextContainer":true,"name":"PanelSpriteContinuousBar","eventsFunctions":[],"propertyDescriptors":[],"objects":[{"assetStoreId":"","bold":false,"italic":false,"name":"Label","smoothed":true,"type":"TextObject::Text","underlined":false,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Scale","type":"ScalableCapability::ScalableBehavior"},{"name":"Text","type":"TextContainerCapability::TextContainerBehavior"}],"string":"2 / 3","font":"","textAlignment":"center","characterSize":20.0,"color":{"b":0,"g":0,"r":0},"content":{"bold":false,"isOutlineEnabled":false,"isShadowEnabled":false,"italic":false,"outlineColor":"255;255;255","outlineThickness":2.0,"shadowAngle":90.0,"shadowBlurRadius":2.0,"shadowColor":"0;0;0","shadowDistance":4.0,"shadowOpacity":127.0,"smoothed":true,"underlined":false,"text":"2 / 3","font":"","textAlignment":"center","characterSize":20.0,"color":"0;0;0"}},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"FillBar","rightMargin":0.0,"texture":"","tiled":true,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"ResourceBar","type":"PanelSpriteContinuousBar::ResourceBar","Value":1.0,"MaxValue":3.0,"PreviousValue":0.0},{"name":"Tween","type":"Tween::TweenBehavior"}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Buffer","rightMargin":0.0,"texture":"","tiled":true,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"},{"name":"Tween","type":"Tween::TweenBehavior"}]},{"assetStoreId":"","bottomMargin":0.0,"height":32.0,"leftMargin":0.0,"name":"Background","rightMargin":0.0,"texture":"","tiled":true,"topMargin":0.0,"type":"PanelSpriteObject::PanelSprite","width":32.0,"variables":[],"effects":[],"behaviors":[{"name":"Effect","type":"EffectCapability::EffectBehavior"},{"name":"Opacity","type":"OpacityCapability::OpacityBehavior"},{"name":"Resizable","type":"ResizableCapability::ResizableBehavior"}]}],"objectsFolderStructure":{"folderName":"__ROOT"}}]}],"externalLayouts":[{"associatedLayout":"Game_World_old","name":"City2","instances":[{"angle":90.0,"customSize":false,"height":0.0,"layer":"","name":"props_roadblock","persistentUuid":"5a2aa2fa-e358-41d1-9553-46f80d4d7d45","width":0.0,"x":503.0,"y":-66.0,"zOrder":12622,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":9380.0,"layer":"","name":"grass_tiled","persistentUuid":"03635f00-4fba-4dff-a12a-15d906fcf941","width":10710.0,"x":-2213.0,"y":74.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"concrete_1","persistentUuid":"918ec587-068c-42f6-957b-a5d3278a2815","width":140.0,"x":867.0,"y":74.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"concrete_1","persistentUuid":"bdc749d6-8cdf-40aa-8d7b-d2d83b040e61","width":140.0,"x":97.0,"y":74.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"2566f1ba-c27d-4804-8dfc-b3be79060ab8","width":7420.0,"x":867.0,"y":1194.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"40e08d82-0aa6-4f5c-b140-ffb967fd54f8","width":1820.0,"x":-1583.0,"y":1194.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"a4d057d2-3a74-4ec3-aeb3-1e2dffee271b","width":3850.0,"x":-1513.0,"y":1754.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"b338a2b1-7e96-4439-9dd2-003501c7024b","width":840.0,"x":4927.0,"y":1754.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"d49162e0-edb0-454d-82dd-e47a12544e7e","width":1400.0,"x":-3893.0,"y":1194.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"c3703985-3976-401b-9f9a-1c2884fab368","width":3500.0,"x":937.0,"y":7074.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"8c3f4b67-3544-4522-8c0a-a718d5978929","width":2450.0,"x":-1513.0,"y":7074.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"a809eb80-c414-4436-a642-42c830f3b001","width":2240.0,"x":-1513.0,"y":7634.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"b80a6d04-4c5f-4882-ae1a-0da56dd56374","width":3430.0,"x":1077.0,"y":9874.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"c8628c8d-296f-4f07-bc6b-cbad0a4ae29a","width":2240.0,"x":-1513.0,"y":9874.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"0427e7a2-33ff-4fd4-8cd0-89b7ca24f28e","width":3990.0,"x":-1513.0,"y":10434.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":6860.0,"layer":"","name":"edge_sand_NW","persistentUuid":"700d9690-634c-4de2-9438-dc3ebfec2228","width":70.0,"x":-6203.0,"y":1124.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1bfaf5d1-8ba6-4a78-a98f-3dc1a65f41f9","width":70.0,"x":-6203.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"61215866-e310-4cb9-8023-8c2844ad4598","width":70.0,"x":-6203.0,"y":1054.0,"zOrder":12656,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"836a98b8-f383-4e3b-a2fe-7426e02c7896","width":70.0,"x":-5433.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e36755fc-f168-4758-9a13-c63ba75b14c2","width":70.0,"x":-5223.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"33447916-8c0d-4c21-a640-d8bbeb6b6cc8","width":70.0,"x":-4103.0,"y":984.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"372c5866-2470-4430-816d-1682d1d7739c","width":70.0,"x":-4173.0,"y":984.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"998b7ffb-7757-4156-bd2d-7e95e58722e8","width":70.0,"x":-4593.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7e817a5f-15c6-4126-9fc1-335214b7d852","width":70.0,"x":-5433.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"44638134-6443-4c81-9498-4637b7efe16c","width":70.0,"x":-4103.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2ad5f1b7-09b3-415e-977f-67e14e8cbf2a","width":70.0,"x":9757.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1dfe2449-44b3-4d0e-8823-3d13f5170d10","width":70.0,"x":5417.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0632d455-c0e4-4e40-97db-cef5d8256038","width":70.0,"x":5487.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d77a9235-c402-4d8d-86c2-f265ed96dfdd","width":70.0,"x":5347.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a2336a3e-83b1-4e7d-bac5-5dc99aa1cefd","width":70.0,"x":5207.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ef673fef-fea8-4476-99fd-54b88b489c32","width":70.0,"x":5277.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"aba3b7c2-25e6-4a76-a93e-470096cfa7db","width":70.0,"x":5067.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2bca0fec-6c47-4e73-ab3b-fa98292c567a","width":70.0,"x":5137.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"288c971c-fa74-4c65-9f9e-858b06b17f11","width":70.0,"x":4997.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d9a5833b-e3f6-4d3f-9280-43fe473cd6e7","width":70.0,"x":4857.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"48eb11cd-4318-43d3-9123-e1d629df8ae4","width":70.0,"x":4927.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0c6a1457-6991-4420-9c17-e9cf722b8ab8","width":70.0,"x":4717.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"20dbbbcc-e419-4691-83cc-47725cd4729a","width":70.0,"x":4787.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7aca7947-6eff-4bbc-ab62-c42494be290a","width":70.0,"x":4647.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"214b6242-125c-4e4f-8bf7-0fb1a5cd0048","width":70.0,"x":4507.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8f7a7cf4-b751-4330-909f-7316cf74cb06","width":70.0,"x":4577.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"22e300cf-9737-4e10-add1-09327200b57b","width":70.0,"x":4367.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f1f92ade-04d7-4321-b44b-69c3f210414f","width":70.0,"x":4437.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"39e8ec7e-7a5d-4641-9c5e-831bd052892c","width":70.0,"x":4297.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6ed47e57-50bb-4020-90cc-8597e5cf2a33","width":70.0,"x":4157.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"70786bdf-212b-4826-bf5a-2189c2fcadf7","width":70.0,"x":4227.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3142f637-8478-4888-8c50-d232d4441183","width":70.0,"x":4017.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ef5914d4-c7ed-4d26-8c90-93a9d3b0fd0a","width":70.0,"x":4087.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"271f3691-86d0-4bf1-a0d5-0c96f16e7a4d","width":70.0,"x":3947.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f4c43fa8-81fb-4d77-859b-52e9eb1051d9","width":70.0,"x":3807.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a899d654-b542-443e-8ab4-cdd00b9471e3","width":70.0,"x":3877.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0c56fca4-3f26-4987-95fb-b3ea0e7e0087","width":70.0,"x":3667.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4d57bc82-0bf1-4ab3-8efd-00432e9dce3b","width":70.0,"x":3737.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"275c6b79-6f1d-4389-9ad6-77dd0bbf9a3e","width":70.0,"x":3597.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f62c58c5-c179-4080-bd1e-dd89dc3dc3a6","width":70.0,"x":3457.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"466697f2-b668-4258-94d5-fc6fc846685c","width":70.0,"x":3527.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"eeb82494-fd47-4687-b87e-40c749d69cf7","width":70.0,"x":3317.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b2313cbc-24a5-4819-8378-897aa0c9a9d8","width":70.0,"x":3387.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3233d7b7-0df4-4bd6-9cd0-6471b48d8a2d","width":70.0,"x":3247.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"404cec76-5a73-48c9-a26f-e9a69db394ee","width":70.0,"x":3107.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d0f16604-713e-43d1-b033-7dde4fd9ffea","width":70.0,"x":3177.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f2ed8f6a-a718-4f2d-9b66-8ef08b41c1dd","width":70.0,"x":2967.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"70a8c036-f978-4111-9881-c26de56ab053","width":70.0,"x":3037.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b1baae41-e0cc-4a28-bc05-cde7c409b557","width":70.0,"x":2897.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e64de297-7867-47a3-bf73-e602bd686e40","width":70.0,"x":2757.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"17cc6827-fb44-4231-8cdf-f6013699d613","width":70.0,"x":2827.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f6a78430-aefc-4bea-8800-11717efc5d43","width":70.0,"x":2617.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1847bbbc-9058-438a-9664-3ec579702196","width":70.0,"x":2687.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a91f22c7-c768-4f76-863e-7ba3fb37f109","width":70.0,"x":2547.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"51d6805e-2375-48c7-9c48-92d1311d1c8e","width":70.0,"x":2407.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4a4ce198-2807-4d37-bba5-b793ba014f3a","width":70.0,"x":2477.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1050c4f1-0eb6-4f0c-9801-80609b9efa01","width":70.0,"x":2267.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"25226020-459c-4b04-81a1-77b56314db35","width":70.0,"x":2337.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cbd257ff-7b57-430e-8567-10b082c51bbe","width":70.0,"x":2197.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"03cea356-169d-4cb8-b916-3bfbd208542a","width":70.0,"x":2057.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0579bcc2-b5fb-4997-8bf7-557e31bc630e","width":70.0,"x":2127.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"50cd057a-64ea-439b-a7fa-a976c46188b1","width":70.0,"x":1917.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2310ede4-a08a-4190-9068-385bc56ab42f","width":70.0,"x":1987.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2a397964-e353-439e-81fd-f1b4238509cd","width":70.0,"x":1847.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fd18fe03-3313-4015-8f1b-aa66dc3683d3","width":70.0,"x":1707.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ece99597-e8c8-4b9d-b1c5-81aac204fef3","width":70.0,"x":1777.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f2428e08-fc3d-4c1c-9112-030e36815930","width":70.0,"x":1567.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ee927bdd-a2a3-42f6-b645-079ffc4ad86d","width":70.0,"x":1637.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"bb099eda-20ca-4e88-9cb2-77d5b28bb763","width":70.0,"x":1497.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"152e195b-9317-4ab2-b376-ef0743d0e26b","width":70.0,"x":1357.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f2233d09-1b29-45a3-a557-60198a2e1f61","width":70.0,"x":1427.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3f3b2062-7a13-410f-9198-426766598da1","width":70.0,"x":1217.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8c83312a-28e0-4ede-92c5-d2a0498d8d08","width":70.0,"x":1287.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b9c75901-1180-42b5-9327-07ddeccda521","width":70.0,"x":1147.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"074c4fe6-34c1-4277-a74d-66c4e2b8c7b0","width":70.0,"x":1007.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9a01ec81-20a2-4782-98e2-8ecc7b1a34c0","width":70.0,"x":1077.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a1eb3471-1a71-445e-baeb-412aa5014f10","width":70.0,"x":937.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"85995527-a4c9-4b4e-98e7-0ff6f9be71f9","width":70.0,"x":9617.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b2460128-1a32-4be0-8734-aa9af44201d2","width":70.0,"x":9687.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cb78f2bf-48dc-4328-bf00-013c311650ab","width":70.0,"x":8287.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a149ab2d-d9f2-4400-8623-cb22062d882f","width":70.0,"x":8217.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"68530887-c3cd-4f23-8d2b-c8a21ab6976a","width":70.0,"x":8077.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7bc7a991-0e5e-4eac-9641-fa94202d1fef","width":70.0,"x":8147.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cd8c7be1-040a-49e1-bf0c-e643ae4b46dc","width":70.0,"x":7937.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"51affde6-cb63-4312-8d5e-705ffdac8ff5","width":70.0,"x":8007.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c5fe7980-b22d-4a9b-a35e-14480dc6f861","width":70.0,"x":7867.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"82061f11-61de-4363-b38e-38b57b579f60","width":70.0,"x":7727.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c6a57081-7827-4c81-81ef-42c4e3780f06","width":70.0,"x":7797.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"19a2265c-2e52-478f-8857-b322ebdf3444","width":70.0,"x":7587.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9c2195fb-1b77-4583-aae2-4c4dab957df9","width":70.0,"x":7657.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"df50bcc5-15e8-4364-b139-885e662f2a1f","width":70.0,"x":7517.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2eccf182-529b-466d-81f0-dd59530b911c","width":70.0,"x":7377.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"310d525f-4467-43ea-b4e4-989a2c971db1","width":70.0,"x":7447.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"86a814d4-a104-499c-9458-b00ca9de04e5","width":70.0,"x":7237.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"297c919b-ba4d-4f1a-9679-2a5da5071fab","width":70.0,"x":7307.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3f1383bf-b28d-4e8c-9850-dc7853383ece","width":70.0,"x":7167.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cf4776e2-83d2-41c6-9810-baff2b7c672c","width":70.0,"x":7027.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fec05cf4-b2ec-48a0-8f76-4b56c12e72d3","width":70.0,"x":7097.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"28e9b878-1f5e-48ce-9cef-c0258798082f","width":70.0,"x":6887.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6193c3a3-e8a8-4d72-8bfb-6dd7a0633134","width":70.0,"x":6957.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"bcbb53af-4d98-4f14-9398-574c33b15a69","width":70.0,"x":6817.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7e9323d9-630f-4b0c-b97a-07ce5e0c0e01","width":70.0,"x":6677.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1eb82c27-c0c6-4d60-97f5-db818063d429","width":70.0,"x":6747.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1de3c10a-a505-4435-a2b3-705b99a7bded","width":70.0,"x":6537.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"96329a33-686b-45b8-b0a4-8a668838e567","width":70.0,"x":6607.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d35813e3-bd1d-4337-a7e4-a7a3006a1394","width":70.0,"x":6467.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d1a64a8f-ae16-4d8e-8ab6-70145f56b03b","width":70.0,"x":6327.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0d35a997-313d-49d2-b005-c749eadd5f28","width":70.0,"x":6397.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fc13a923-c62b-42d0-ac27-df26e528d6ee","width":70.0,"x":6187.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c479669b-5e32-4611-8ae9-5b6601585854","width":70.0,"x":6257.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"aaeba25f-d9d0-46e5-8124-5a79fc9de44b","width":70.0,"x":6117.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4e060e88-d8e4-4fb6-a8d5-800864be8c80","width":70.0,"x":5977.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"21832311-9541-4351-abb6-23389e14f72e","width":70.0,"x":6047.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"31ed4b8e-9f11-4884-be75-81d85867d7c3","width":70.0,"x":5837.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fea1e476-b223-4e7f-ab91-be2a0314815d","width":70.0,"x":5907.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0d30dc60-c588-44dd-8325-0338ffcb0915","width":70.0,"x":5767.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d65b641b-82f8-4b01-b996-ff8ebee61e20","width":70.0,"x":5627.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4e2aae54-4144-46ba-aac7-b9031d310874","width":70.0,"x":5697.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"dd146065-32b8-4e81-81e8-7bbd617c5acd","width":70.0,"x":5557.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1e360445-9a66-4088-abe9-fa3482a05064","width":70.0,"x":-253.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ba64dbab-309a-4b2e-8a83-878b477869e8","width":70.0,"x":-183.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f9a8dd77-fe2a-44b5-9c42-981099b19d17","width":70.0,"x":-323.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"31b49f21-94ce-4542-83d7-4a3de53f76f5","width":70.0,"x":-463.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e8984abb-7c4a-4bc0-926c-0cf8c8f54af8","width":70.0,"x":-393.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"055e649f-9b63-4938-887e-e669f39b105b","width":70.0,"x":-603.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e33e9b98-5ef9-4710-88f8-48aff4a0810d","width":70.0,"x":-533.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e515afa6-19a7-4753-9643-e0301f03513d","width":70.0,"x":-673.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5a47d4a0-0568-4d22-bf50-c32f75f63a95","width":70.0,"x":-813.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"764b6ed2-4d4c-4d4b-bd07-86b35d04a2cc","width":70.0,"x":-743.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f7ae6ad0-f23f-4ac7-a7c2-5ac3734a6c72","width":70.0,"x":-953.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"22917a84-5a26-457c-a45a-353af63bd57b","width":70.0,"x":-883.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fd4004cb-d69e-4dad-8d57-47c3b01e4800","width":70.0,"x":-1023.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ae85ce5b-9d48-4535-b39b-559ccb538379","width":70.0,"x":-1163.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ff308668-8d1f-4a6f-a824-df6709b84e9a","width":70.0,"x":-1093.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1ddcbb36-6b94-4031-ac6c-15403e678afd","width":70.0,"x":-1303.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b45471f4-2142-4281-9503-92ac5d867002","width":70.0,"x":-1233.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2cbfaa03-0050-440e-aecd-983dfce814f9","width":70.0,"x":-1373.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7572be97-fe60-479a-8123-09913c1e0386","width":70.0,"x":-3333.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6275fce4-1228-4134-85b6-9f8a90cb3400","width":70.0,"x":-3263.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fd147825-84d2-49e0-82c4-9ad4a59f4f57","width":70.0,"x":-3473.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"74dd1c83-0276-453d-948f-dd55139cd88a","width":70.0,"x":-3403.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c5971951-62fb-4d44-898d-f5c3ec600423","width":70.0,"x":-3543.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"84f4185f-481d-4f39-8d68-24c058622132","width":70.0,"x":-3683.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"31e3148d-36cd-47c7-83a7-198041c3e5f1","width":70.0,"x":-3613.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c5f036f0-1304-4e92-bea2-f9c220f89c59","width":70.0,"x":-3823.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b84b8936-58fc-4851-9a87-cdc3074ad1ad","width":70.0,"x":-3753.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ce2db4c1-6fbe-4881-9fc1-a595fcf87cf4","width":70.0,"x":-3893.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c284651a-6d42-445c-8d2f-9a488af733e6","width":70.0,"x":-4033.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"dfbf1a12-31d0-4b3e-8cf1-017277e5cc53","width":70.0,"x":-3963.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d6e1aa21-b8e6-42fe-bf47-30152e80f671","width":70.0,"x":-4103.0,"y":74.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"976b9f05-998b-464b-a2cb-9d0d2a8579e6","width":70.0,"x":97.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f46aa5e3-02ee-45e6-bb9b-42ff1650fd73","width":70.0,"x":-43.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"46145ce2-52b6-445f-8222-26af3462f80d","width":70.0,"x":27.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2d15ee7b-ae5c-463d-bedc-c412b1858dee","width":70.0,"x":-113.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f5580796-1bba-4ea6-8073-b7a76dd4fc13","width":70.0,"x":9757.0,"y":2034.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"bbacef17-c228-4109-862f-7b4457cf6d7a","width":70.0,"x":9757.0,"y":1964.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5ab71dfb-dc15-4f83-ba2d-5b4b4ec5e69d","width":70.0,"x":9757.0,"y":1894.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5cf58c5a-e112-4b69-b750-5eb5062476f2","width":70.0,"x":9757.0,"y":1824.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7c631b68-fdb0-4a2c-b4a7-7a9fca921963","width":70.0,"x":9757.0,"y":1754.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8bfee0c7-2c70-4a30-b585-f042a9ac214f","width":70.0,"x":9757.0,"y":1684.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c060e372-63eb-410c-a7c1-4e73d4761f2a","width":70.0,"x":9757.0,"y":1614.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"61aea4ab-1034-48ab-8547-45992802598b","width":70.0,"x":9757.0,"y":1544.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cc06ff94-c418-4bb3-a18c-09a2c5bff7f0","width":70.0,"x":9757.0,"y":1474.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7387033f-f5be-4d0c-997d-fd1722cfc796","width":70.0,"x":9757.0,"y":1404.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2094e568-e355-42f4-a27b-999a1cc46cb8","width":70.0,"x":9757.0,"y":1334.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ba43f484-6663-4eec-8e87-f871623ed8b1","width":70.0,"x":9757.0,"y":1264.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"da8e1a8f-4c9a-4308-b53f-33bc6f12e81a","width":70.0,"x":9757.0,"y":1194.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5e46bd61-3b69-49b0-9c9e-c45f3b28c403","width":70.0,"x":9757.0,"y":1124.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"49bdc911-c39b-4152-8761-582dca188cde","width":70.0,"x":9757.0,"y":1054.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"befb6664-aa2c-4ce1-a655-2b7ff0ce7716","width":70.0,"x":9757.0,"y":984.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6062429e-ccf2-48fa-8acf-b690bc151e8b","width":70.0,"x":9757.0,"y":914.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"dd417d61-1a08-4849-99c6-c52a3dcb169e","width":70.0,"x":9757.0,"y":844.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f2c0af05-8704-4363-9533-82b97c6f6d32","width":70.0,"x":9757.0,"y":774.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d0ab02f9-7dda-433b-b387-2956965ef338","width":70.0,"x":9757.0,"y":704.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2b4fbbe5-eb73-4e15-948e-c86551977200","width":70.0,"x":9757.0,"y":634.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2623bd98-1c9b-4fa0-a24e-0f0119d7daa6","width":70.0,"x":9757.0,"y":564.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"df3f440f-da51-48d6-993b-4efaf817df60","width":70.0,"x":9757.0,"y":494.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8e200df9-0271-4395-ae7c-229a1115c3c8","width":70.0,"x":9757.0,"y":424.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"db5aeb6e-cc3d-4242-bbf1-aeacea272113","width":70.0,"x":9757.0,"y":354.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"52094c10-a10b-436b-b8e6-f2972c315708","width":70.0,"x":9757.0,"y":74.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"61b53aac-3ad5-4b3b-aedf-9457b0affd79","width":70.0,"x":9757.0,"y":144.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5ceaae1e-a9ae-4a43-a364-546c4e13913d","width":70.0,"x":9757.0,"y":214.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b277fbda-9f1f-43fd-a167-659c12b20534","width":70.0,"x":9757.0,"y":284.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4164bde9-4d83-4e12-a1c6-aeccf1ccfd85","width":70.0,"x":9757.0,"y":3854.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d9b8b7c1-7099-4eff-82ae-4fefc54a65ff","width":70.0,"x":9757.0,"y":3784.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9cf8af59-dbab-4eab-b2fa-e0d0c9911c81","width":70.0,"x":9757.0,"y":3714.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"62d10be6-612e-49da-a30e-9a21af1aa595","width":70.0,"x":9757.0,"y":3644.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2c3cdc8e-02bf-4ddf-87e4-190776122151","width":70.0,"x":9757.0,"y":3574.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"27bde73c-5bc0-4d36-8d67-f4605374081a","width":70.0,"x":9757.0,"y":3504.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6945e66b-3ea5-4eb6-81b6-71bca6f7c231","width":70.0,"x":9757.0,"y":3434.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"318b5ad7-c00b-4b59-97f9-46509a1f7a8e","width":70.0,"x":9757.0,"y":3364.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"839afa36-a76c-47c5-b00b-b63d9ae9cb9f","width":70.0,"x":9757.0,"y":3294.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c8d884f5-080f-4a3f-8d1e-7904f1f43183","width":70.0,"x":9757.0,"y":3224.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d48e4f58-d8af-42fd-a815-92fb379a65c2","width":70.0,"x":9757.0,"y":3154.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a8b58ec1-04bb-41d3-9b86-88a377132ca9","width":70.0,"x":9757.0,"y":3084.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fe882646-9c57-4f54-8df2-7dee6b48dd1f","width":70.0,"x":9757.0,"y":3014.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2c68b7a2-c742-4431-ae5b-27ee36bcafcb","width":70.0,"x":9757.0,"y":2944.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ecfe94ea-a282-4e14-a24f-d2ab2c376b53","width":70.0,"x":9757.0,"y":2874.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f0497aad-6781-4406-bccf-4a1ba6bce32c","width":70.0,"x":9757.0,"y":2804.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8cbbfa14-7a02-4842-95a7-5b182d87a4a0","width":70.0,"x":9757.0,"y":2734.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"362108a6-2455-41fa-b12f-36d23ded405c","width":70.0,"x":9757.0,"y":2664.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cdd6f373-e1c2-4466-9cf3-d65878ca7077","width":70.0,"x":9757.0,"y":2594.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cbb62e01-d1f4-4ce4-9b0c-c161d137d2e8","width":70.0,"x":9757.0,"y":2524.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b8e2f4ac-9eb7-47d2-b9d5-48ffd20d36ed","width":70.0,"x":9757.0,"y":2454.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"051218ec-2934-458a-a1f0-a44c97e0c4b1","width":70.0,"x":9757.0,"y":2384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e626b740-633a-4868-897c-c2ae873e36e5","width":70.0,"x":9757.0,"y":2314.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c91ebe62-79ea-40e2-bea1-fb2aece0b8d8","width":70.0,"x":9757.0,"y":2104.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2766dc00-ea5b-4989-9ed1-e65a4f4c16e6","width":70.0,"x":9757.0,"y":2174.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cb9683d8-1660-4aca-a67e-9fc531231981","width":70.0,"x":9757.0,"y":2244.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"67594b81-6a2e-47f6-acee-6ddd354094b8","width":70.0,"x":9757.0,"y":4134.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9ab4e716-1932-4a78-9a53-9c1ac8365b9c","width":70.0,"x":9757.0,"y":4064.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"80b81a0b-74e3-4e01-94f5-095448e8bb10","width":70.0,"x":9757.0,"y":3994.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"dcdab961-c17b-4375-8535-313a6d7455c0","width":70.0,"x":9757.0,"y":3924.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ffd7dd86-5020-40d5-a936-db80642ad37f","width":70.0,"x":9757.0,"y":5954.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"68e44ecb-60f8-4653-ab7a-630d335c029d","width":70.0,"x":9757.0,"y":5884.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d8d80052-84fe-48d6-a804-2adce34e5a83","width":70.0,"x":9757.0,"y":5814.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0a354575-b964-4abe-a17f-e254007e0033","width":70.0,"x":9757.0,"y":5744.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9a22b7b7-76eb-4e14-87e2-f8695ffd83ec","width":70.0,"x":9757.0,"y":5674.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"dbb7a2b6-ecd7-4459-acb2-d13b96a36249","width":70.0,"x":9757.0,"y":5604.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6d39089b-6d0e-42ac-8723-551cbd46f8d1","width":70.0,"x":9757.0,"y":5534.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c1240aec-715f-4ff4-b0ad-3391214995eb","width":70.0,"x":9757.0,"y":5464.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0d254a17-55bd-4586-a9df-437ac396abbf","width":70.0,"x":9757.0,"y":5394.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b8cb9a25-3c1e-43ab-8300-8d3bcdfd35c0","width":70.0,"x":9757.0,"y":5324.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ed136e5a-211d-43b0-9181-31bdb8458c7c","width":70.0,"x":9757.0,"y":5254.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"74d73cc7-053f-4ef9-9508-35a18e356772","width":70.0,"x":9757.0,"y":5184.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"71f4feb4-1cf8-458e-9654-f3fc9e2fde26","width":70.0,"x":9757.0,"y":5114.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5439dc58-31ae-47bf-bfd4-ddd68236feea","width":70.0,"x":9757.0,"y":5044.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6cffeed2-427a-426a-9e3c-68b1a084ad80","width":70.0,"x":9757.0,"y":4974.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6d823644-5472-4a1c-8b0d-0a90483a16f5","width":70.0,"x":9757.0,"y":4904.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d1a0f1db-8138-4c56-8209-75bda05007df","width":70.0,"x":9757.0,"y":4834.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cc568d7d-3dec-4c89-af61-d262d437c838","width":70.0,"x":9757.0,"y":4764.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"359bc20f-fa38-4f57-951a-965e61b5b3f7","width":70.0,"x":9757.0,"y":4694.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"06a6284f-7783-4c82-91bd-7e77e68cf4e9","width":70.0,"x":9757.0,"y":4624.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b25cea51-81a4-4534-89f2-0315eef070d3","width":70.0,"x":9757.0,"y":4554.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5bf23e85-d65b-4a0a-9fd6-d5b8360b82e3","width":70.0,"x":9757.0,"y":4484.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"32718747-d347-4948-8f62-a5d6f96f76d1","width":70.0,"x":9757.0,"y":4414.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3aec859a-891e-42f5-9ddd-554b223ac1df","width":70.0,"x":9757.0,"y":4204.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1289ecc4-b932-49ef-a16b-352bfabd8073","width":70.0,"x":9757.0,"y":4274.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3a20fd8a-570c-4d31-800d-05cd6b3c059b","width":70.0,"x":9757.0,"y":4344.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"989aa839-0fae-4abd-bd56-294e2bcaf6b8","width":70.0,"x":9757.0,"y":6234.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5cbfb99a-250e-412c-a25f-45bafdff4b6a","width":70.0,"x":9757.0,"y":6164.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"aa7483f3-dc0e-4d24-aeec-f8c9b9e765d6","width":70.0,"x":9757.0,"y":6094.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1bf91bd1-ef55-438c-8512-182864e0e9bb","width":70.0,"x":9757.0,"y":6024.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"76f2be33-d002-49d8-94f9-b3b5247dc73e","width":70.0,"x":9757.0,"y":8054.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2e6e3d7f-395d-49ff-bd83-002804379a43","width":70.0,"x":9757.0,"y":7984.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"04333d73-0b19-41d2-8048-16ae4d7c0a4e","width":70.0,"x":9757.0,"y":7914.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b98eceb2-201d-4766-a6a2-71aa406b5174","width":70.0,"x":9757.0,"y":7844.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5db2f48f-a4fb-4a3a-b451-700f9d576208","width":70.0,"x":9757.0,"y":7774.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"61c75cbe-39d6-443d-bebb-0acc6a75b9fc","width":70.0,"x":9757.0,"y":7704.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"01da21d4-df75-4afa-a39d-191fb644b947","width":70.0,"x":9757.0,"y":7634.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"24e63eda-1677-445f-8bba-5c392689cf06","width":70.0,"x":9757.0,"y":7564.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"babec5f5-e0fb-4d91-87b8-0125b95971bb","width":70.0,"x":9757.0,"y":7494.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"94e972a9-e777-4813-ac8d-b5f5c6caa738","width":70.0,"x":9757.0,"y":7424.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"df6d85dd-65aa-4dc6-9d51-b9b56ae57645","width":70.0,"x":9757.0,"y":7354.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fbd51636-a3c1-47cb-aa8f-17231e1533c8","width":70.0,"x":9757.0,"y":7284.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8b651eb8-8dd5-410a-b805-302edf8365ce","width":70.0,"x":9757.0,"y":7214.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"89aa6a3a-3ff9-4a22-9325-b9e7b5a3c163","width":70.0,"x":9757.0,"y":7144.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ee750230-9cc3-4fd6-b375-fc4d0281034d","width":70.0,"x":9757.0,"y":7074.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"97afe3fd-1da0-474c-96dd-a5f36a87f314","width":70.0,"x":9757.0,"y":7004.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a580849f-a56d-400d-b148-ce005efa8ee5","width":70.0,"x":9757.0,"y":6934.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"15821075-aae7-4195-8cf3-733897039145","width":70.0,"x":9757.0,"y":6864.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9da2d6ed-1d2a-4c4e-9ee8-b8468b6f951a","width":70.0,"x":9757.0,"y":6794.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1a800fb1-850a-4a03-86bb-9ad3e7b8258c","width":70.0,"x":9757.0,"y":6724.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a25b91eb-b971-4ece-8eb0-0e43f092cbae","width":70.0,"x":9757.0,"y":6654.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f6ddf978-9560-47e6-9ae9-33fe63e0d3ad","width":70.0,"x":9757.0,"y":6584.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7e656c09-852c-4fe6-971c-8b02f15b7746","width":70.0,"x":9757.0,"y":6514.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9c55c47c-1eba-455e-920e-bb53cfecd9e5","width":70.0,"x":9757.0,"y":6304.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2c57b37d-74c8-44d8-aa31-b9dd2499e6a7","width":70.0,"x":9757.0,"y":6374.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c9815bdd-681d-4c19-bcf4-8cfbf66650bf","width":70.0,"x":9757.0,"y":6444.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0b2c896e-c043-4baf-a2bf-d51db2af733c","width":70.0,"x":9757.0,"y":8334.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"bf332707-7dcc-4213-9fc1-fe42ae072fd4","width":70.0,"x":9757.0,"y":8264.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d42b81f6-6c89-4169-9ea4-150ff2833ecc","width":70.0,"x":9757.0,"y":8194.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"87c756b8-cfe0-4865-82cf-9068fb79a0b5","width":70.0,"x":9757.0,"y":8124.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4b1c12a3-73ae-41c1-af7c-9301bf8bc3dc","width":70.0,"x":9757.0,"y":8404.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"785aa783-095b-4135-8345-655f863e6ce0","width":70.0,"x":9757.0,"y":8474.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c6e14bed-e65b-4c45-aea6-0317c2a2fe6d","width":70.0,"x":9757.0,"y":8544.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"aa3ac7a6-b996-4123-ae32-376c5878bbc2","width":70.0,"x":-4453.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8fb98446-c14a-4b89-87a4-141247a23909","width":70.0,"x":-4523.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"96167c7c-d2b1-4714-9541-672f9d3cfce4","width":70.0,"x":-4243.0,"y":984.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8d20258c-f859-4a31-9303-6e1de4b96f22","width":70.0,"x":-4313.0,"y":984.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8c415bef-6019-4303-bcd7-34fb4dfa30ac","width":70.0,"x":-5153.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"74ba1321-57be-46f6-b0b7-771153167da5","width":70.0,"x":-5083.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cbe6d447-3d2c-4e6c-b58a-39d4ae4b3806","width":70.0,"x":-5013.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"695b899d-f00c-4062-bb79-d275ee832f9e","width":70.0,"x":-4943.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"bce8ce67-4950-4210-824c-1197b3a03b1c","width":70.0,"x":-4873.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"40ee731f-8352-4160-804b-c572f0acea33","width":7350.0,"x":1007.0,"y":1054.0,"zOrder":12658,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":8820.0,"layer":"","name":"beach_sand_SW","persistentUuid":"794aa9b6-1d0f-48ed-ab2e-407c0d3f4274","width":140.0,"x":8357.0,"y":1054.0,"zOrder":12659,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1050.0,"layer":"","name":"beach_sand_SW","persistentUuid":"4b52fcd6-285f-4053-aebd-2dd8ceb2e817","width":140.0,"x":97.0,"y":144.0,"zOrder":12661,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"f0e951fe-ef6a-4d7a-a9a6-8328a6dc2e94","width":3850.0,"x":-1513.0,"y":1824.0,"zOrder":12663,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"7400ca8c-e217-4eb3-9402-1a66ea73c9b7","width":840.0,"x":4927.0,"y":1824.0,"zOrder":12664,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1960.0,"layer":"","name":"beach_sand_SW","persistentUuid":"975c9ccd-09f3-446d-a4d7-5f01457d218a","width":140.0,"x":7587.0,"y":1964.0,"zOrder":12665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"0b0495e8-ec48-46ff-9052-c0ca3bc9b33a","width":5950.0,"x":-1513.0,"y":6934.0,"zOrder":12666,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3080.0,"layer":"","name":"beach_sand_SW","persistentUuid":"7264d2cd-217d-405f-82e7-74741ef08aca","width":140.0,"x":-3473.0,"y":1684.0,"zOrder":12667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"eb6607a0-1f27-4196-86b5-19000e9f3688","width":2240.0,"x":-1513.0,"y":7704.0,"zOrder":12668,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":910.0,"layer":"","name":"beach_sand_SW","persistentUuid":"4f3e2abc-327e-4fe2-815f-772af46fdfd1","width":140.0,"x":7587.0,"y":7844.0,"zOrder":12669,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"3f0a8af1-d964-4932-8606-0e8e93850767","width":2100.0,"x":-1373.0,"y":9734.0,"zOrder":12671,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"8a593b21-b5a3-4603-91a4-55aaf2cf6088","width":490.0,"x":-2073.0,"y":1194.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e9664611-c1f5-47dc-a72f-f9f1db123d42","width":70.0,"x":-1513.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e546beaf-16c0-4251-9cf3-73b17b03b206","width":70.0,"x":-1443.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"bec63713-3959-4386-be44-e4b3cf5a5803","width":70.0,"x":-1653.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c03a5411-c9d0-480a-b6a0-f04953a4ea13","width":70.0,"x":-1583.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"dd2631c6-e5f2-49fa-a6ce-5805b9e69900","width":70.0,"x":-1723.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b8743649-49a2-4070-80d9-3b83a176b756","width":70.0,"x":-1863.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"586fb1d1-1c5d-4621-b8a5-7aa184c8ce4a","width":70.0,"x":-1793.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e2c5128a-95f7-4947-9779-362cd6e7d8f4","width":70.0,"x":-2003.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1682beac-487c-4bce-80e1-0540b1f68a35","width":70.0,"x":-1933.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"58faab51-dd40-44b0-87fd-6cb7dd4a56bc","width":70.0,"x":-2073.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5935cbb0-3d56-4ec3-870d-a8746b353bd1","width":70.0,"x":-2213.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1330.0,"layer":"","name":"beach_sand_SW","persistentUuid":"b4028859-34fd-4080-b521-e0a7f6d541ff","width":140.0,"x":-1513.0,"y":1964.0,"zOrder":12667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2030.0,"layer":"","name":"beach_sand_SW","persistentUuid":"25d934ed-eefa-459b-95af-4ef6cabb7323","width":140.0,"x":-1513.0,"y":7844.0,"zOrder":12670,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"c35cf7e4-4617-404d-a3c2-70d89a56acf7","width":980.0,"x":-3473.0,"y":1614.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":3570.0,"layer":"","name":"beach_sand_SW","persistentUuid":"cab12bd5-a40c-4feb-a01d-837db75e1722","width":140.0,"x":-2283.0,"y":1194.0,"zOrder":12667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"59c3c628-96a2-4674-8ece-a1e8e2d16621","width":1330.0,"x":-3473.0,"y":4764.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"6b580e9e-bbcd-4331-bbb5-1cb59b77816a","width":1330.0,"x":-3473.0,"y":5184.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"60a4d009-182c-47e9-8ec9-739515a13364","width":1330.0,"x":-3473.0,"y":8334.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"215ce60e-58eb-41a5-b192-c71aa26050c4","width":1330.0,"x":-3473.0,"y":8754.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"3e745ff5-c997-4d22-8767-a1f908414f5c","width":350.0,"x":-3893.0,"y":10854.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"a590f72a-a6b1-4055-b3c0-e5e3fc6c5412","width":4130.0,"x":-4033.0,"y":1054.0,"zOrder":12658,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1050.0,"layer":"","name":"beach_sand_SW","persistentUuid":"163ebd13-cfc1-49e3-bd0e-eff9a454dda6","width":140.0,"x":867.0,"y":144.0,"zOrder":12661,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f20945b9-96fb-4aea-afc6-5cac0c565f3d","width":70.0,"x":9547.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"232d9e83-71b0-4372-add0-adb554ba1ec3","width":70.0,"x":9477.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"72f962ca-cc77-4b3c-8a1a-09296f9385a7","width":70.0,"x":9337.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0a27f937-4392-4f61-9c21-fa5771c65d41","width":70.0,"x":9407.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6650db23-6509-401b-8a4e-2fc7f9e6a02f","width":70.0,"x":9197.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c22714e8-6a71-49a9-aa16-73fb73e1eec4","width":70.0,"x":9267.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b80404aa-7092-4841-82d0-d2a7ef083827","width":70.0,"x":9127.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d850f639-758d-4f0e-9187-21f5af177da2","width":70.0,"x":8987.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b5588d24-1a5b-4e4e-ad27-30b3d8e61525","width":70.0,"x":9057.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7dca533d-9733-45c7-bc62-97ba6a2c6f06","width":70.0,"x":8847.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1e61e022-4ccf-46b1-b4b1-a9df592eec65","width":70.0,"x":8917.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a77eb368-f4b5-47de-83d6-b0528942d407","width":70.0,"x":8777.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f9ce1d84-075a-42dd-abd9-564dfaa7f13d","width":70.0,"x":8637.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cdb2f8b1-f4c7-49fb-8231-ab728bafe3cf","width":70.0,"x":8707.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"20867746-727e-4231-a286-d3cb4d60ad0e","width":70.0,"x":8497.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e233dbc5-f576-44fa-bb24-9cd0dff3a7f1","width":70.0,"x":8567.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c56ed119-3725-41fd-9dbc-a63f2653c5c4","width":70.0,"x":8427.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"da873923-976e-4496-9fd5-114e62d0bcae","width":70.0,"x":8357.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":980.0,"layer":"","name":"grass_tiled","persistentUuid":"a4b85a63-6dd0-41f7-89cc-cf5d70a777f5","width":1820.0,"x":-4033.0,"y":74.0,"zOrder":12672,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"70115532-3ba9-4017-bbd8-71f9123d46f4","width":70.0,"x":-2633.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b02f84d6-aadd-4540-9ced-2020ff4e8169","width":70.0,"x":-2563.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"50371c27-4376-496b-af49-3048ceb73ae8","width":70.0,"x":-2773.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"65fc4c91-4dd7-444e-9df4-717f721617d9","width":70.0,"x":-2703.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cd809371-b28b-4ac9-91b2-22d4f5d6867f","width":70.0,"x":-2843.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ffebd31e-016a-4c94-acfc-43cfd591f6c8","width":70.0,"x":-2983.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"939e00d7-ec1c-4512-883c-bc3bddf9a51c","width":70.0,"x":-2913.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"897ca8b2-6553-4317-a31f-8d218b24fbea","width":70.0,"x":-3123.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0b0718e4-cfa6-4afd-8a81-0bbf0dff2401","width":70.0,"x":-3053.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"409be221-1c28-4bf0-8180-1108b9b3b9bd","width":70.0,"x":-3193.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b08ed0b2-d1b8-457e-a297-28498e73f1f9","width":70.0,"x":-2283.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8485f2f0-bf6e-4f27-8452-9d783838bdbd","width":70.0,"x":-2143.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9f58ef22-40bd-4c16-929d-43e74f292475","width":70.0,"x":-2353.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c06303c6-8400-43f8-9eca-57561016fac6","width":70.0,"x":-2423.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f49b908d-0e3e-4376-b0e2-7dd2b1daf606","width":70.0,"x":-2493.0,"y":4.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"637f512b-a26d-409f-b828-6a0f4f5c47f9","width":70.0,"x":-4103.0,"y":144.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"645d071c-6e02-431f-ac7c-9e7abeb5a8cc","width":70.0,"x":-4103.0,"y":214.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3649f06e-70b2-4899-9356-c47b6fd1bace","width":70.0,"x":-4103.0,"y":284.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"dd1c3627-1c84-4008-ac0a-f239b1773a7a","width":70.0,"x":-4103.0,"y":354.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"930ad5c2-7847-416f-a213-4c3a92e41fde","width":70.0,"x":-4103.0,"y":424.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"bb7bd76f-24f8-4f3c-a183-74f39d3ac29a","width":70.0,"x":-4103.0,"y":494.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"45995e66-8ebd-4fcb-a551-02d9d2fb39c4","width":70.0,"x":-4103.0,"y":564.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cfdd29c9-2824-495a-a2c7-f9ba20568cc1","width":70.0,"x":-4103.0,"y":634.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2e1fd632-397e-4e64-a5c8-dd0335dacbe1","width":70.0,"x":-4103.0,"y":704.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"267626c9-f170-4cb5-a941-5f7b0e9c67cf","width":70.0,"x":-4103.0,"y":774.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"48cfb088-fa6b-4b91-8257-20ba33ad0bf9","width":70.0,"x":-4103.0,"y":844.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6ae3dd6e-85b4-462e-8be6-9bf0b792aca2","width":70.0,"x":-4103.0,"y":914.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_W","persistentUuid":"240ea5c7-0aee-4af8-80f6-9172d5b01828","width":1820.0,"x":-6133.0,"y":1124.0,"zOrder":12674,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"88c1bcd1-1c0f-47be-b81d-3309ea70881a","width":70.0,"x":-5363.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1ae82d45-1d84-4211-a6a0-4e498847b81a","width":70.0,"x":-5153.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"102841b5-ad3a-403d-817e-78cc297e2b35","width":70.0,"x":-5223.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"514718b0-60aa-4aae-9999-a60d8ef209c9","width":70.0,"x":-5293.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c6715f9b-bd17-4ce4-8c3b-cc62e32b65bc","width":70.0,"x":-5083.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d1e8dd57-35ca-4e0c-aba9-2891f65fef39","width":70.0,"x":-4873.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cac9221a-9c1a-4a8f-aab4-d9dee2d2b3c4","width":70.0,"x":-4943.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"10d0d587-e92f-45c6-a211-fef82667ba4f","width":70.0,"x":-5013.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ea469906-5eb2-4e86-9fa4-c67e59699739","width":70.0,"x":-4663.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1f5c04a4-1a7b-4076-81fb-1c2eea9eff02","width":70.0,"x":-4733.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f55887cd-2807-410c-ae18-7c9a6c1cafc4","width":70.0,"x":-4803.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":9800.0,"layer":"","name":"beach_sand_SW","persistentUuid":"1a400b85-f1d5-4242-bcf5-b040f30c652c","width":140.0,"x":-4103.0,"y":1124.0,"zOrder":12675,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"966c4533-3015-4a81-bbc6-362f51187432","width":1050.0,"x":-3333.0,"y":4624.0,"zOrder":12676,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"99c80e92-ee04-4064-ae4e-dd6a558eaa25","width":1050.0,"x":-3333.0,"y":1684.0,"zOrder":12676,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"7b8fa4ee-78cf-4782-b6c1-97c63edfcd68","width":1330.0,"x":-3473.0,"y":5254.0,"zOrder":12676,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"dfe74314-13b6-41bc-b31d-c75ae7fe7097","width":1330.0,"x":-3473.0,"y":8194.0,"zOrder":12676,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2800.0,"layer":"","name":"beach_sand_SW","persistentUuid":"5649fd36-d9da-4e1d-9939-a5131e1b2c81","width":140.0,"x":-2283.0,"y":5394.0,"zOrder":12667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2800.0,"layer":"","name":"beach_sand_SW","persistentUuid":"8db1b349-5331-47f4-95b6-2a9584c4a28e","width":140.0,"x":-3473.0,"y":5394.0,"zOrder":12667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1680.0,"layer":"","name":"beach_sand_SW","persistentUuid":"f0c8f70c-9a94-4f0f-9c9f-ad747d4164f0","width":140.0,"x":-2283.0,"y":8824.0,"zOrder":12667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"0d2f9d04-aa6a-4dd5-9652-1d7b4c87b360","width":1190.0,"x":-3473.0,"y":8824.0,"zOrder":12676,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1960.0,"layer":"","name":"beach_sand_SW","persistentUuid":"2dbeb2b7-3b26-4471-8ba7-36845c743a79","width":140.0,"x":-3473.0,"y":8964.0,"zOrder":12667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1960.0,"layer":"","name":"grass_tiled","persistentUuid":"a9b56d03-2171-4e10-9fbb-4323d65bda5e","width":630.0,"x":-4733.0,"y":7984.0,"zOrder":20,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3631bb2b-63b9-4ae4-86d6-aaaaeb5489ca","width":70.0,"x":-5363.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d1cc4c07-7338-47e0-b4f5-90330d17d2d6","width":70.0,"x":-5293.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a4ebe582-b0ed-4ac1-87c7-005e91ccbf5c","width":70.0,"x":-4803.0,"y":7984.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a7b0263d-51c3-4523-b472-8ba6d299512b","width":70.0,"x":-4803.0,"y":9944.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5c78f775-7bb8-4f9b-bcb6-d14e0bc03667","width":70.0,"x":-4803.0,"y":8054.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"bd07f725-eb4a-4e5c-a335-f06488329032","width":70.0,"x":-4803.0,"y":8124.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c1beb433-37b3-4faf-ae48-6a3f5cd8f7ec","width":70.0,"x":-4803.0,"y":8194.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"95619314-8856-4a82-bd2b-0309bdcdf2f7","width":70.0,"x":-4803.0,"y":8264.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4cfdbb50-f59b-4e63-b92a-dc5ab28de3ff","width":70.0,"x":-4803.0,"y":8334.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fdb3cefe-add4-4217-955a-ce5165e29154","width":70.0,"x":-4803.0,"y":8404.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"547adfe5-56e3-4794-9795-c684e2c61db2","width":70.0,"x":-4803.0,"y":8474.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a36c55a1-f2d9-4871-ac48-a74cef2b8e3b","width":70.0,"x":-4803.0,"y":8544.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4a4ff531-b074-4a87-ab12-c87a1c427388","width":70.0,"x":-4803.0,"y":8614.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0871f6e9-e7ba-42b4-a2cd-fcaf498fd59e","width":70.0,"x":-4803.0,"y":8684.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"91eef4d4-ddd7-44ee-a137-44d5906c5aef","width":70.0,"x":-4803.0,"y":8754.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"320d1f33-f2c9-4e4c-bdc4-bf3f100f9127","width":70.0,"x":-4803.0,"y":8824.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d14bafee-04f6-402a-9a65-6b96ba165cc6","width":70.0,"x":-4803.0,"y":8894.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"81fb5cc7-4bcf-4307-a88e-e3cfdab74322","width":70.0,"x":-4803.0,"y":8964.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3dbbaafc-45e0-4994-99a5-f638a0e82772","width":70.0,"x":-4803.0,"y":9034.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"81ee3b3b-3a69-4fd1-ab66-4abb3595fbdb","width":70.0,"x":-4803.0,"y":9104.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"37f40282-df39-4604-9331-b1dc263b5a5c","width":70.0,"x":-4803.0,"y":9174.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"df16c97e-b7a5-4642-b0dc-c901ab6eb621","width":70.0,"x":-4803.0,"y":9244.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6b7f64ca-def6-48e3-b51d-56d630b60944","width":70.0,"x":-4803.0,"y":9314.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cca7f200-b2a6-4086-bda6-30f5c5ae6e93","width":70.0,"x":-4803.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"13f3caaa-5ea3-46dd-bd29-a40df8cd7a15","width":70.0,"x":-4803.0,"y":9454.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"181d2724-b050-42e1-a607-c9c0a5bcb147","width":70.0,"x":-4803.0,"y":9524.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"a71bb636-b944-4031-8a07-3d0e8395aea6","width":70.0,"x":-4803.0,"y":9594.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4b6125df-db8e-4191-a4b7-7bd643799ab1","width":70.0,"x":-4803.0,"y":9664.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fb2fe9ff-9c84-49d7-a5a5-41a12ff22130","width":70.0,"x":-4803.0,"y":9734.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2b05b97e-b139-4066-8974-698ada9f67ec","width":70.0,"x":-4803.0,"y":9804.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"cf010df7-4620-43cf-bd3d-481748b4e86f","width":70.0,"x":-4803.0,"y":9874.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2f590132-b5eb-4c9f-9a5d-b72dcf999bda","width":70.0,"x":-4593.0,"y":9944.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1ee117d7-b6de-413c-a577-13b647bd1d67","width":70.0,"x":-4523.0,"y":9944.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d28d7525-cec0-4177-adf5-2591ff8ed7a4","width":70.0,"x":-4733.0,"y":9944.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"939225cf-e0b1-4acc-8052-a942898f7848","width":70.0,"x":-4663.0,"y":9944.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2800.0,"layer":"","name":"grass_tiled","persistentUuid":"f57c07de-8efd-4391-9d5a-08baa55ba9f4","width":1050.0,"x":-3333.0,"y":5394.0,"zOrder":12677,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2800.0,"layer":"","name":"grass_tiled","persistentUuid":"fbe23c2a-3a87-4602-ad1f-9e204f510aea","width":1050.0,"x":-3333.0,"y":1824.0,"zOrder":12678,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":980.0,"layer":"","name":"sea_tiled_water","persistentUuid":"8bb2f9bb-7ac9-43ae-b3e0-ae4a76a4900d","width":1120.0,"x":-4523.0,"y":11414.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"ccdc71b5-5c69-4c10-827a-24c60aa4a0fb","width":770.0,"x":-4103.0,"y":10924.0,"zOrder":12680,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8f474106-0d6d-4c3d-8ca9-afb219b2c751","width":70.0,"x":-4453.0,"y":9944.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1120.0,"layer":"","name":"beach_sand_W","persistentUuid":"a09a8648-bcf8-48a6-80bb-940490adf492","width":70.0,"x":-4173.0,"y":9944.0,"zOrder":12681,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"edge_sand_NW","persistentUuid":"f8070c05-c209-4aa1-8ed3-73f80b3ba70e","width":70.0,"x":-4453.0,"y":10014.0,"zOrder":12684,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"17058538-0fd1-487b-ad0d-d56eb4de9a7a","width":70.0,"x":-4453.0,"y":10364.0,"zOrder":33,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b6bb3425-2bd5-45ee-a712-5c51be45a045","width":70.0,"x":-4523.0,"y":10714.0,"zOrder":33,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5cbd88ec-5b96-47ca-9c62-c9a6eca0d8f6","width":70.0,"x":-4383.0,"y":10364.0,"zOrder":36,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4c34ecca-a554-45b1-a651-6c002497e556","width":70.0,"x":-4383.0,"y":10714.0,"zOrder":36,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"28592ec2-1ffa-48ba-b313-69fcf2e4205d","width":70.0,"x":-4453.0,"y":10714.0,"zOrder":36,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"edge_sand_NW","persistentUuid":"44bf7fb6-e65e-41b4-86c0-4a3bd88d744d","width":70.0,"x":-4313.0,"y":10434.0,"zOrder":12684,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"605c71ab-8575-42cc-8388-c06462ac1ffc","width":70.0,"x":-4313.0,"y":10364.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"45a0dcb8-9f90-45ff-a3d0-9ff4a7e0d018","width":70.0,"x":-4313.0,"y":10714.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f618cd6f-231c-48f7-b0af-46c3ca3e4fee","width":70.0,"x":-4523.0,"y":11344.0,"zOrder":33,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":560.0,"layer":"","name":"edge_sand_NW","persistentUuid":"9d51af82-6518-40b6-98b5-9f3541c70a79","width":70.0,"x":-4523.0,"y":10784.0,"zOrder":12684,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7fbbc90b-c4ae-4400-a32a-2e75e0812f3c","width":70.0,"x":-4453.0,"y":11344.0,"zOrder":36,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"34832527-36d8-40d6-961b-8e9f732745a2","width":70.0,"x":-4383.0,"y":11344.0,"zOrder":36,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"54c8558f-d95e-40d4-a916-a9eb274fa9f9","width":70.0,"x":-4313.0,"y":11344.0,"zOrder":36,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c9ff8a1a-a2d7-4eb0-b1b4-3595a09d5948","width":70.0,"x":-4243.0,"y":11344.0,"zOrder":67,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"39431874-46f2-45c4-b5b4-e20aa163c567","width":70.0,"x":-4173.0,"y":11344.0,"zOrder":67,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"75e21928-5168-48dc-b08a-3dd0c18e8454","width":70.0,"x":-4103.0,"y":11344.0,"zOrder":65976,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"938f4f58-2ae4-4451-b768-dad9e15ef44c","width":70.0,"x":-3473.0,"y":11344.0,"zOrder":21580,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"96e232ac-b567-47dd-971c-32a798e1595b","width":70.0,"x":-4033.0,"y":11344.0,"zOrder":65976,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":560.0,"layer":"","name":"beach_sand_W","persistentUuid":"93c60d7d-e8ad-4c36-a528-d5b557c06f7a","width":280.0,"x":-4453.0,"y":10784.0,"zOrder":65977,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d16b10ed-63b2-465f-a212-e9a39d5660b5","width":70.0,"x":-3963.0,"y":11344.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"65e30093-105e-4b8d-b301-4acaf96bec79","width":70.0,"x":-3893.0,"y":11344.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5048c06c-4c93-4809-88b0-f82f22d4e596","width":70.0,"x":-3823.0,"y":11344.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"14b39028-7140-457b-bf83-e37232b713b0","width":70.0,"x":-3753.0,"y":11344.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"258fa10b-af03-4d8a-82b9-434204b9a848","width":70.0,"x":-3683.0,"y":11344.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"4a55cf00-9394-4fe1-b59a-038750ab6cd3","width":70.0,"x":-3613.0,"y":11344.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8a8c5b43-1ccd-4a17-a78b-da86db708fa7","width":70.0,"x":-3543.0,"y":11344.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"edge_sand_NW","persistentUuid":"1cacb6db-8ae4-41cb-861e-9679d39c26e8","width":70.0,"x":-3473.0,"y":11274.0,"zOrder":12684,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9fb90bdc-8f1e-466e-be28-96a8a1fae31d","width":70.0,"x":-3473.0,"y":11204.0,"zOrder":12643479,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"0d81a1be-d977-46aa-a2b6-84dc5a6f99d2","width":70.0,"x":-3403.0,"y":11204.0,"zOrder":65976,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2537561b-d655-4bd6-8591-62588c8ad171","width":70.0,"x":-3333.0,"y":11204.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f2c661e8-d676-4c0e-a3d0-81890536e15a","width":70.0,"x":-3263.0,"y":11204.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"20ab0382-2480-4384-8abd-2d34b2e70f62","width":70.0,"x":-3193.0,"y":11204.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5693d4b6-2c4f-4582-a2db-ba652eed9145","width":70.0,"x":-3123.0,"y":11204.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"92334a25-b463-4011-bd5f-69e2854119d3","width":70.0,"x":-3053.0,"y":11204.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"beach_sand_W","persistentUuid":"7ed48d51-e03f-4df4-961b-8c43248bf3f6","width":700.0,"x":-4173.0,"y":11064.0,"zOrder":12643480,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":840.0,"layer":"","name":"edge_sand_NW","persistentUuid":"66781acc-f3ac-4557-a558-445994ef1142","width":70.0,"x":-2983.0,"y":10364.0,"zOrder":12684,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5b737d38-507f-455d-9f97-250b9013c6f7","width":70.0,"x":-2983.0,"y":11204.0,"zOrder":21580,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ee997e1a-ebfd-4bb8-8200-eb690c675426","width":70.0,"x":-2983.0,"y":10294.0,"zOrder":21580,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6688cd10-4df8-4250-9106-9b719f0fd7fd","width":70.0,"x":-3123.0,"y":10154.0,"zOrder":21580,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"57f9a07c-e610-4453-a3bf-49ae5b86fdeb","width":70.0,"x":-3263.0,"y":9944.0,"zOrder":21580,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"181654ad-4c95-49f7-9638-f87246caced5","width":70.0,"x":-3333.0,"y":9734.0,"zOrder":21580,"numberProperties":[{"name":"animation","value":8.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"614c502d-0a0e-4fc1-8fdc-5fde2f2fffb1","width":70.0,"x":-3053.0,"y":10294.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"edge_sand_NW","persistentUuid":"40e9135d-c171-4390-aa8e-258280897ac6","width":70.0,"x":-3123.0,"y":10224.0,"zOrder":12643483,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":140.0,"layer":"","name":"edge_sand_NW","persistentUuid":"7ef80ddf-2124-4eaf-b75a-f6754e872e18","width":70.0,"x":-3263.0,"y":10014.0,"zOrder":12643483,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":140.0,"layer":"","name":"edge_sand_NW","persistentUuid":"72e28f69-b403-457a-a009-9d5c0266399c","width":70.0,"x":-3333.0,"y":9804.0,"zOrder":12643483,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"075cc0eb-95db-485b-aded-86dc3fe0a8cd","width":70.0,"x":-3193.0,"y":10154.0,"zOrder":243468,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ce5cd6b3-23b8-4ff4-abfb-76280e4da01c","width":70.0,"x":-3333.0,"y":9944.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"60e00e34-5d70-4e5b-b176-7889d0992de0","width":70.0,"x":-3263.0,"y":10154.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"507abfbf-9f53-40d9-aa91-a984ec0874f2","width":70.0,"x":-3123.0,"y":10294.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":420.0,"layer":"","name":"grass_tiled","persistentUuid":"93bec4cd-f5d8-4652-b481-418ce1188d16","width":1050.0,"x":-3333.0,"y":8964.0,"zOrder":12643484,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f2325ff3-1300-4d57-8596-a81759a75227","width":70.0,"x":-2423.0,"y":9664.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"40e93dac-415b-4936-8538-67459105e268","width":70.0,"x":-2563.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"e004ff19-2e94-4c25-ae07-f5bad7d0e4e4","width":70.0,"x":-2493.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"80df6f87-5b93-4a34-ac62-6ac0597beb00","width":70.0,"x":-2703.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c461fbe5-6806-4eca-83d2-d73fc56ee239","width":70.0,"x":-2633.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5aef827c-83ff-44c2-ae25-abbc99a106a0","width":70.0,"x":-2843.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c5dc1f2e-31ea-4e4c-b86f-89ccb64cc7f7","width":70.0,"x":-2773.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"73fe0730-5da0-46a5-b5d3-374b62b1a3c4","width":70.0,"x":-2983.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ac5a6e5f-4451-4a5a-ab4a-5cefd0ff7289","width":70.0,"x":-2913.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ab083cf7-89f4-42ad-8dee-588279f37d8a","width":70.0,"x":-3123.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"b854ffdd-309a-43cb-942d-ee24e0910907","width":70.0,"x":-3053.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"653b3de7-02ef-4023-8312-86a395526e67","width":70.0,"x":-3193.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"49bc90d1-fe9f-4490-b3a6-070ef31b29b5","width":70.0,"x":-3263.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f4cb3e0c-9bba-4c3c-8ec0-ca6ef11e1713","width":70.0,"x":-2423.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"74db2a05-3e23-480d-8e39-9fb24b01a9e4","width":70.0,"x":-2423.0,"y":9734.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"c80b4227-ade4-41ff-bd68-12ff0806d70f","width":70.0,"x":-2423.0,"y":9804.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"7d87d4f6-c764-42db-a980-7c22d379501e","width":70.0,"x":-2423.0,"y":9874.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"69f37d2f-3294-4846-8bd0-b3d20522daaa","width":70.0,"x":-2423.0,"y":9944.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5ba9eb0f-eab0-4003-85d6-c86f96c898ad","width":70.0,"x":-2423.0,"y":10014.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"59b9af51-125f-4166-8582-65ab04f593ee","width":70.0,"x":-2423.0,"y":10084.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"aa076c8d-6588-44a9-aa96-924a00de0285","width":70.0,"x":-2423.0,"y":10154.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f1fd1fcf-d882-4d9d-adfc-3098763d4ba7","width":70.0,"x":-2423.0,"y":10224.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"56b8d005-cacc-4a91-b389-6d1f8400f12e","width":70.0,"x":-2423.0,"y":10294.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"6ab0e686-c22d-4860-8cfc-4fa498f98176","width":70.0,"x":-2353.0,"y":10364.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"58bf645f-fca0-40b6-a888-3e33624e7b4c","width":70.0,"x":-2353.0,"y":10294.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":910.0,"layer":"","name":"grass_tiled","persistentUuid":"c68d900f-c82c-463a-80ef-23c5bbd3944f","width":70.0,"x":-2353.0,"y":9384.0,"zOrder":12643485,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"2b7af1f8-98ed-49ae-9bd7-0ce2fe6a361d","width":70.0,"x":-2353.0,"y":10434.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8ac001c0-eba8-491c-b3b6-aa9e1da115bf","width":70.0,"x":-3333.0,"y":9384.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":7.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9155ddc1-bd7c-45d5-b9fa-446b174bdfeb","width":70.0,"x":-3333.0,"y":9454.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":490.0,"layer":"","name":"sea_tiled_water","persistentUuid":"0a37a548-8f5d-4bed-9842-22d258c08c62","width":840.0,"x":-3263.0,"y":9454.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":9800.0,"layer":"","name":"grass_tiled","persistentUuid":"17529b7b-1467-4c33-a41d-a9a16501afc4","width":1260.0,"x":8497.0,"y":74.0,"zOrder":12643486,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"04e90312-343b-4df7-995d-dad645272344","width":70.0,"x":-3333.0,"y":9524.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":5.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"f6266d2e-1416-4b62-84b6-d8753e00c2c2","width":70.0,"x":-3333.0,"y":9594.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":4.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":6860.0,"layer":"","name":"beach_sand_SW","persistentUuid":"4e950bc8-a2fd-49e0-a434-d7df8b979df0","width":210.0,"x":-4313.0,"y":1124.0,"zOrder":12643487,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":490.0,"layer":"","name":"beach_sand_SW","persistentUuid":"d2c49d09-ea19-42de-9712-00c32838e6ff","width":140.0,"x":-2423.0,"y":1194.0,"zOrder":12643488,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ef0e2ecc-da2b-42fd-8ee9-c53bf0b2e4f9","width":70.0,"x":-6133.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"59983644-3626-4dae-8221-5228cb6c776a","width":70.0,"x":-6063.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"9b28ca89-470a-4f91-b30b-5513b81cdb5f","width":70.0,"x":-5853.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"5bec082d-4594-4d0d-81c9-37335011b5c4","width":70.0,"x":-5923.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"1020db0d-5e67-4b27-a8a4-4c8b983cec01","width":70.0,"x":-5993.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"05400033-d3f3-48c7-982e-be017f90bb73","width":70.0,"x":-5783.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ac597da9-2467-4c65-a9d5-0c301810845d","width":70.0,"x":-5713.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"16c1f5b1-a79c-4373-9662-a51b49614b05","width":70.0,"x":-5643.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ae919977-2d48-4667-a059-681870ed740c","width":70.0,"x":-5573.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"12548878-2054-4c6d-a42c-3fbe513abdd2","width":70.0,"x":-5503.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"91f60fe7-56e4-49d4-a178-1e1a078711fd","width":70.0,"x":-5923.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"de11f9b0-87a2-4593-891a-edba840dc063","width":70.0,"x":-5713.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ed6ba9f2-6d44-4a11-99e6-9c3e0594d93e","width":70.0,"x":-5643.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"3eb810fe-519c-41ea-a350-3f17eba2096a","width":70.0,"x":-5573.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"8fcfb775-e8d8-4437-be6a-31d2877e8efa","width":70.0,"x":-5503.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ea461022-f54a-4dc4-9305-f9803baf034f","width":70.0,"x":-5853.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"d1a40b76-3746-481d-861a-95d844d1ac71","width":70.0,"x":-5783.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"275bd4e7-7b1c-4160-bac6-ad891c91287a","width":70.0,"x":-6133.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"96e2eeb3-07ec-45c8-bd22-be013523e30d","width":70.0,"x":-6063.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"765294d7-5f22-457d-b228-19b6272b6696","width":70.0,"x":-5993.0,"y":7984.0,"zOrder":16,"numberProperties":[{"name":"animation","value":10.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"7f98d6ad-c591-4970-b8cf-42964f3070f8","width":420.0,"x":6117.0,"y":2104.0,"zOrder":14,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"4858da6b-8fd3-4a16-a5de-689ed5883587","width":420.0,"x":5837.0,"y":2384.0,"zOrder":14,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"78bee018-7c81-45dc-a158-2f5dc42af8ee","width":1610.0,"x":6117.0,"y":1754.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"c61b25cd-3809-41fa-88cd-cfcba8d07d08","width":1610.0,"x":6117.0,"y":1824.0,"zOrder":12664,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"b4b44106-095a-4af9-9db5-5f6dbb0c8e03","width":1120.0,"x":6607.0,"y":7074.0,"zOrder":12643494,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"04a262c5-18d8-420e-bdc9-b2ea2b92157e","width":1330.0,"x":4927.0,"y":6934.0,"zOrder":12643495,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"64f652b3-97e3-44b0-80af-e87472c43aa7","width":980.0,"x":6607.0,"y":6934.0,"zOrder":12643495,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"806a9341-4fde-482a-b0cd-0393af8fde8a","width":1330.0,"x":4927.0,"y":7074.0,"zOrder":12643496,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1960.0,"layer":"","name":"beach_sand_SW","persistentUuid":"a208d895-4d04-4424-8d8c-c7d0cdb19d6c","width":70.0,"x":4927.0,"y":1964.0,"zOrder":12664,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1470.0,"layer":"","name":"beach_sand_SW","persistentUuid":"7c008efa-10d9-461d-b688-cfaef796fd93","width":70.0,"x":4367.0,"y":1824.0,"zOrder":12664,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"1c9f0ed6-8da6-4030-8935-a50fc5b33abb","width":280.0,"x":-4313.0,"y":1054.0,"zOrder":12643498,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"ddc0ff1f-2a01-4e67-8706-9f2c82b48aa1","width":70.0,"x":-4383.0,"y":984.0,"zOrder":12656,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"29230ec4-df48-425b-b248-5ffbc453cb2e","width":70.0,"x":-4383.0,"y":1054.0,"zOrder":12655,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"sea_tiled_water","persistentUuid":"06397ef4-b7a8-4a11-9b98-cfcf1e557f88","width":770.0,"x":-3193.0,"y":9944.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"sea_tiled_water","persistentUuid":"b31a1622-1006-41b4-bf4c-4c3a60195846","width":700.0,"x":-3053.0,"y":10154.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":700.0,"layer":"","name":"sea_tiled_water","persistentUuid":"af212e95-bb26-43e2-8454-26c4232cb6e9","width":70.0,"x":-4523.0,"y":10014.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"sea_tiled_water","persistentUuid":"d211bd24-9149-4fd8-a946-ea629360c229","width":140.0,"x":-4453.0,"y":10434.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1050.0,"layer":"","name":"sea_tiled_water","persistentUuid":"ecec3a8b-09ff-41de-9cd3-cfa659d943b0","width":1820.0,"x":-6203.0,"y":4.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":980.0,"layer":"","name":"sea_tiled_water","persistentUuid":"0a833f35-1655-4999-9cba-e3cc3f82e6ad","width":280.0,"x":-4383.0,"y":4.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"e52b787a-81ad-44f4-b1ca-53c0cdc1cd4d","width":4270.0,"x":-4103.0,"y":4.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"adde238c-0694-4432-8006-303963a60e19","width":7420.0,"x":1007.0,"y":4.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"grass_tiled","persistentUuid":"087c7e33-a379-4787-8866-7aedd7cef99e","width":8960.0,"x":-1373.0,"y":9454.0,"zOrder":3,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"fab2e936-06c5-4afb-941c-f81d3c86e005","width":70.0,"x":-2423.0,"y":9454.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"745da51b-67a5-4473-9f76-5f99ddda401e","width":70.0,"x":-2423.0,"y":9524.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"sand_sprite","persistentUuid":"bb1d5200-cd3f-4705-bff2-9d967cb6f0c4","width":70.0,"x":-2423.0,"y":9594.0,"zOrder":12628,"numberProperties":[{"name":"animation","value":6.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1470.0,"layer":"","name":"beach_sand_SW","persistentUuid":"c9a7f02b-8e65-4fcc-a85b-d24b822c37c6","width":70.0,"x":2687.0,"y":1824.0,"zOrder":12643509,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1330.0,"layer":"","name":"beach_sand_SW","persistentUuid":"dc6629cb-e1c7-4319-8b6d-bc628dc6633d","width":70.0,"x":2267.0,"y":1964.0,"zOrder":12643510,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"8a44ff80-9985-4b81-bc96-f37defce96f3","width":1610.0,"x":2757.0,"y":3224.0,"zOrder":12643511,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"de9d0bf3-ed7c-44f9-b4ab-f8f7997ca64d","width":3640.0,"x":-1373.0,"y":3224.0,"zOrder":12643512,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1400.0,"layer":"","name":"beach_sand_SW","persistentUuid":"98a8d6bc-f627-43c0-8457-6968388a7233","width":70.0,"x":1567.0,"y":3644.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1400.0,"layer":"","name":"beach_sand_SW","persistentUuid":"9e8c913c-ec8d-4260-845f-ce3e0cdc733b","width":70.0,"x":1147.0,"y":3644.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":840.0,"layer":"","name":"beach_sand_SW","persistentUuid":"ada52f03-7a97-43e8-ab39-102f7e69b7ce","width":140.0,"x":4857.0,"y":7844.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":770.0,"layer":"","name":"beach_sand_SW","persistentUuid":"01895071-b1ff-4878-9f48-f2e0ec1e259a","width":70.0,"x":4857.0,"y":8964.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1190.0,"layer":"","name":"beach_sand_SW","persistentUuid":"7633b944-bf04-4047-a48b-95bd9a3c2731","width":70.0,"x":4437.0,"y":8544.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1890.0,"layer":"","name":"beach_sand_SW","persistentUuid":"12331131-db71-4ad4-9d4e-0ea5fdd16be9","width":70.0,"x":657.0,"y":7844.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1190.0,"layer":"","name":"beach_sand_SW","persistentUuid":"68616eb7-06b6-428d-aad6-b0f059f53a80","width":70.0,"x":1077.0,"y":8544.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":490.0,"layer":"","name":"beach_sand_SW","persistentUuid":"88fdc96e-fd84-44c6-8a03-69efe1728e7e","width":70.0,"x":1077.0,"y":7844.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":490.0,"layer":"","name":"beach_sand_SW","persistentUuid":"552bf3c1-4390-4bd3-bca5-c0705a757d9b","width":70.0,"x":4437.0,"y":7844.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"d772d21d-1b66-430f-af08-3120fdaae00b","width":2520.0,"x":-1373.0,"y":3644.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"198b230f-dc6f-48f1-8f0b-1f7ea78c7295","width":2520.0,"x":-1373.0,"y":4974.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"62ce7585-7d4d-4661-b859-b754c9e8fcca","width":2800.0,"x":1637.0,"y":4974.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"74ac40f6-8ba7-4664-a36d-fb8956a64444","width":2730.0,"x":1637.0,"y":3644.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"2a100190-9380-406d-93ae-a6658c4109a0","width":5880.0,"x":-1443.0,"y":5394.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"ad850e65-70d0-4712-89fc-562e0ddad1aa","width":3290.0,"x":1147.0,"y":8544.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"84fa40e6-a207-42cf-b8b2-0304714f92ce","width":3290.0,"x":1147.0,"y":8264.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"384e71c6-3a6a-4c16-971b-f9d9b0b2200d","width":2800.0,"x":4927.0,"y":8964.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"4d4e18ae-4b4a-4561-9b98-755150f1f2e4","width":2730.0,"x":4857.0,"y":8684.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"514bdd7a-4be7-4d4c-a7fa-1298062a3a85","width":910.0,"x":4927.0,"y":5814.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"d370a4b1-4c95-4655-a4aa-2c71c0f55849","width":770.0,"x":5487.0,"y":5114.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"32ce1b27-6bef-4298-880a-b18b4d213645","width":630.0,"x":4927.0,"y":5534.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"623d492f-39d6-4722-b12b-ab40c2a55516","width":490.0,"x":5767.0,"y":5394.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"beach_sand_SW","persistentUuid":"7563dd75-f1c2-4939-8334-8a9caecaeb9c","width":70.0,"x":5487.0,"y":5184.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":350.0,"layer":"","name":"beach_sand_SW","persistentUuid":"fabbdee8-ea7e-4aae-9c68-a88d5ec6b7b5","width":70.0,"x":5767.0,"y":5464.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"91ca9d21-4f16-4a48-a59d-c572b4e8cf2c","width":1260.0,"x":4997.0,"y":4274.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"108657f6-e96d-41e1-86af-732a5c0dffdc","width":1260.0,"x":4997.0,"y":3854.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"e17a1276-31f5-400f-8a8e-627f7d6d45d0","width":980.0,"x":6607.0,"y":3854.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"1ce0f4cf-d27e-49a2-867c-1c19ca1ee9ae","width":980.0,"x":6607.0,"y":4274.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"5a21ffa6-0e0d-4e38-aadb-a421a2a9f8c3","width":560.0,"x":5697.0,"y":2454.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"cd736c38-1598-4425-92c3-ed57f36c53bd","width":560.0,"x":6117.0,"y":2034.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":490.0,"layer":"","name":"beach_sand_SW","persistentUuid":"6166bbf6-fa32-49f8-b773-a454ed2f5afe","width":70.0,"x":5697.0,"y":1964.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1750.0,"layer":"","name":"beach_sand_SW","persistentUuid":"bffc669c-0551-4353-8271-1e0795d28049","width":70.0,"x":6607.0,"y":2104.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1330.0,"layer":"","name":"beach_sand_SW","persistentUuid":"59d1b57d-a999-4569-99c2-c993450fb03c","width":70.0,"x":6187.0,"y":2524.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"beach_sand_SW","persistentUuid":"640bae2e-a38b-4e78-b403-3becf0f50f97","width":70.0,"x":6117.0,"y":1964.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":770.0,"layer":"","name":"beach_sand_SW","persistentUuid":"ed68b5d9-b7a1-4b4f-a08d-58f629284fb7","width":70.0,"x":6187.0,"y":4344.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2590.0,"layer":"","name":"beach_sand_SW","persistentUuid":"b18238cb-3258-4fc7-97bb-693901214d4c","width":70.0,"x":6607.0,"y":4344.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1470.0,"layer":"","name":"beach_sand_SW","persistentUuid":"3c327127-60c3-4fb2-82e3-82832b99cd15","width":70.0,"x":6187.0,"y":5464.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"1a41c6b0-2560-4c94-b0e7-154bdc3c46e2","width":1330.0,"x":4927.0,"y":3924.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"23882569-15af-4b02-b425-a011f690647b","width":1330.0,"x":4927.0,"y":4204.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1050.0,"layer":"","name":"beach_sand_SW","persistentUuid":"086c5c13-0bfb-4e3f-b326-131571d5ea80","width":70.0,"x":4927.0,"y":5884.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1260.0,"layer":"","name":"beach_sand_SW","persistentUuid":"70e2ecf0-b8b9-4cd2-86bd-48f9be5237c5","width":70.0,"x":4927.0,"y":4274.0,"zOrder":12643513,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"c40dce06-d8e0-488e-b6ab-edeb4c13a57c","width":1120.0,"x":6607.0,"y":3924.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2800.0,"layer":"","name":"beach_sand_SW","persistentUuid":"af14be12-5929-4dea-8ecf-b142dc81f8f5","width":140.0,"x":7587.0,"y":4274.0,"zOrder":12665,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"e8c906bc-9bdb-4f6c-bbd3-1a26b46a507c","width":1120.0,"x":6607.0,"y":4204.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"7fe364ed-5b3e-4a19-91c2-38fc43713060","width":2730.0,"x":-1513.0,"y":5044.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"c7a199e7-174c-44d0-b116-6bc403dc2cb1","width":2870.0,"x":1567.0,"y":5044.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"f08207ee-f7e8-43c8-9262-c29524e17b41","width":5950.0,"x":-1513.0,"y":5324.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1470.0,"layer":"","name":"beach_sand_SW","persistentUuid":"197189fe-feec-4f79-bcbe-0c2c0cfbdb38","width":70.0,"x":4367.0,"y":5464.0,"zOrder":12643515,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1540.0,"layer":"","name":"beach_sand_SW","persistentUuid":"0364de0c-87f6-4bab-93e4-ea590b07f773","width":140.0,"x":-1513.0,"y":5394.0,"zOrder":12643516,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1400.0,"layer":"","name":"beach_sand_SW","persistentUuid":"eca8bedb-be93-4cf1-9417-050bcf32e9b6","width":140.0,"x":-1513.0,"y":3644.0,"zOrder":12667,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"20ad34d9-21ac-4bb0-b26c-0d827095dcab","width":3850.0,"x":-1513.0,"y":3294.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"735c6ea3-6c08-4d3f-8296-606abb82c3f6","width":2730.0,"x":-1513.0,"y":3574.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"beach_sand_SW","persistentUuid":"7db5596d-763c-4e99-b1cb-300352002ce0","width":1610.0,"x":2757.0,"y":1824.0,"zOrder":12643511,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"81d1d476-878b-4685-bf61-766e9311a2e4","width":1750.0,"x":2687.0,"y":1754.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"64b3c674-8460-46e8-b8c8-a9e821581073","width":1750.0,"x":2687.0,"y":3294.0,"zOrder":12643514,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"90dc3121-988c-4e3d-85e4-8f6ebb124870","width":2870.0,"x":1567.0,"y":3574.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1330.0,"layer":"","name":"beach_sand_SW","persistentUuid":"5fef56df-36b4-448d-95a5-bae4c66242e1","width":70.0,"x":4367.0,"y":3644.0,"zOrder":12664,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"2e2fd144-fe9a-463c-9d52-8496aff82428","width":3430.0,"x":1077.0,"y":7704.0,"zOrder":12643517,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"8466c094-6dcf-443b-9f02-75a1ee7b6abc","width":3430.0,"x":1077.0,"y":7634.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"d491f74a-65dc-480b-bb45-a8948e6e7b20","width":2870.0,"x":4857.0,"y":7634.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"8a6d05e3-7a2d-4154-a82f-5d702a953db8","width":2870.0,"x":4857.0,"y":9874.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"a90c83de-5151-4e0d-a64b-22b92d4c4b00","width":3430.0,"x":1077.0,"y":9734.0,"zOrder":12671,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"4f826e57-d6ee-4e3b-9e76-c0d1ebae5fd9","width":2730.0,"x":4857.0,"y":9734.0,"zOrder":12671,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":840.0,"layer":"","name":"beach_sand_SW","persistentUuid":"d7cd3123-afeb-4510-894c-2612fe8e644c","width":140.0,"x":7587.0,"y":9034.0,"zOrder":12643519,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"969913b3-2a9f-419f-9754-27e4b2fbf37a","width":2870.0,"x":4857.0,"y":7704.0,"zOrder":12643520,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":980.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"512a0cf1-f26a-44b7-acda-fe8ad3eee917","width":70.0,"x":-4103.0,"y":74.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"29159a80-85f8-4cff-b118-8ff6b4956579","width":280.0,"x":-4383.0,"y":984.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"3c9cb29e-459e-4a23-a053-329743ce79be","width":1820.0,"x":-6203.0,"y":1054.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":6930.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"798ac0f2-4236-43e1-8260-2c5ab960b6c9","width":70.0,"x":-6203.0,"y":1124.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"e1c0980a-7b27-4c1c-a5e7-bd7cb945be4e","width":1330.0,"x":-6133.0,"y":7984.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1960.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"9e9cc5bf-1d8c-423b-b50b-949aeb850bd3","width":70.0,"x":-4803.0,"y":8054.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"da17899d-e97e-4df8-9555-d37c414058e9","width":280.0,"x":-4733.0,"y":9944.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":420.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"872a0015-f69f-4ea8-8014-a0493d44a7c8","width":70.0,"x":-4453.0,"y":10014.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"084121d2-2a75-40cb-838a-e7bde229d4f4","width":70.0,"x":-4383.0,"y":10364.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":280.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"47270947-eeae-4ac1-ab29-1613512d46b3","width":70.0,"x":-4313.0,"y":10434.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"62506ef8-44e0-45b2-bc24-d3d40047fd1a","width":210.0,"x":-4523.0,"y":10714.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":630.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"861fb84b-5b47-4381-bd39-0b30a34b6f03","width":70.0,"x":-4523.0,"y":10784.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"4723c492-24a9-4b4d-9ea8-e09387572fdd","width":1050.0,"x":-4453.0,"y":11344.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"8476889f-2bfe-4b9e-829f-6c15c7b339ed","width":980.0,"x":-3333.0,"y":9384.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":840.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"3db28d1d-7dbd-4328-9b16-7bd9528e7233","width":70.0,"x":-2423.0,"y":9454.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":560.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"bd847e6e-85cc-4560-bda0-14d21e341748","width":70.0,"x":-3333.0,"y":9454.0,"zOrder":24,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":210.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"625d49fa-2206-4d2b-a195-3fbbe3abac93","width":70.0,"x":-3263.0,"y":9944.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"sea_tiled_water_cover","persistentUuid":"64eea574-4f33-4ec9-9e38-732f90cc045a","width":210.0,"x":-3263.0,"y":10154.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"33fc0a6a-806c-4d52-8ec0-d635a2643875","width":1540.0,"x":8357.0,"y":9874.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"fd39ea97-765c-4d7b-8311-67136a34bbe9","width":1750.0,"x":3107.0,"y":10434.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"11b517b1-4c26-4c9a-b136-35df56ad5038","width":1470.0,"x":5207.0,"y":10434.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"9648a960-da34-498f-b7ad-edbb286186b6","width":2310.0,"x":7027.0,"y":10434.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"0e7af277-a9ee-4496-8213-c04c267d042f","width":2170.0,"x":3107.0,"y":13094.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"27216840-c36e-4fc0-8435-a7afaf8f6862","width":1470.0,"x":5207.0,"y":12534.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"04f17380-afca-4b25-87fe-3f9d6839f41b","width":2310.0,"x":7027.0,"y":12534.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"d29e248e-b22f-4c31-b934-a87ea9c80c20","width":1750.0,"x":3107.0,"y":12534.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"666d3df8-343d-4ec3-9e50-797d48e967f6","width":1330.0,"x":5277.0,"y":13094.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"53b6d093-d035-4cab-a003-ef60841d5d4f","width":2240.0,"x":7097.0,"y":13094.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"2c335414-6b3c-4648-adba-4123df552df6","width":1470.0,"x":5207.0,"y":12534.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"be83dbf5-9d1a-4409-a598-492f074a1d45","width":1330.0,"x":5277.0,"y":13094.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"ba2a25e3-dcea-47b6-ae88-6b146c62020a","width":1470.0,"x":5137.0,"y":15894.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"cb58ab9b-0cc8-4d51-8cc4-dd6c725672df","width":1400.0,"x":5207.0,"y":16454.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"d433501d-a50f-45b4-a8c2-d554bf6973b0","width":2170.0,"x":3107.0,"y":16454.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"0abbb37a-17c8-4094-9061-34af4ad66c8e","width":2030.0,"x":3107.0,"y":15894.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"9ed217d0-74c7-4d85-b826-f599f0f9898e","width":2240.0,"x":7097.0,"y":15894.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"fe6983a6-e873-459a-8b1a-e9a2408937fd","width":2240.0,"x":7097.0,"y":16454.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"6d83020e-24cf-49e5-962f-882b2f73eac4","width":2240.0,"x":7097.0,"y":17994.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"22525c23-de15-4e6d-8a6f-8560273a57e4","width":2800.0,"x":7097.0,"y":18554.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"ac185f84-819c-4aed-9700-9d35cfd407e2","width":2800.0,"x":4227.0,"y":19604.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"c3ac9676-0594-4ec8-ba1f-12ef8d6e12f3","width":3500.0,"x":3107.0,"y":19184.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"cc73d08e-ff42-43f1-9590-1c225b450678","width":1680.0,"x":2547.0,"y":19604.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"4c60e3ca-5e63-4e3d-89fd-4a60515adfe5","width":2240.0,"x":7097.0,"y":14144.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"30987d53-3886-462e-8b4f-bbb0a7532185","width":2240.0,"x":7097.0,"y":14424.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":8820.0,"layer":"","name":"grass_tiled","persistentUuid":"16098e7b-37ba-42b5-8651-e8dbdd7ab75f","width":3640.0,"x":3037.0,"y":10434.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":7630.0,"layer":"","name":"grass_tiled","persistentUuid":"56a20172-a168-47fc-aa4e-05e26c8efe4a","width":2380.0,"x":7027.0,"y":10434.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"UI","name":"mouse_point","persistentUuid":"cc897d11-c3d3-4909-87e6-792c531e6494","width":0.0,"x":8847.0,"y":17294.0,"zOrder":12643523,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":8750.0,"layer":"","name":"grass_tiled","persistentUuid":"9f9732ea-6c64-4216-8d51-62d9eac4ebbf","width":1330.0,"x":9897.0,"y":9874.0,"zOrder":13,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1190.0,"layer":"","name":"grass_tiled","persistentUuid":"620c6902-a84e-46f0-9156-01b791e8d603","width":1470.0,"x":9757.0,"y":8684.0,"zOrder":12643524,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1050.0,"layer":"","name":"grass_tiled","persistentUuid":"fe2f6bc8-e8c0-4b72-b07c-d50970f7455d","width":4130.0,"x":7097.0,"y":18624.0,"zOrder":12643525,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1190.0,"layer":"","name":"grass_tiled","persistentUuid":"843f593c-fce1-44b9-a92c-654085d4d410","width":5670.0,"x":2477.0,"y":19674.0,"zOrder":12643526,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"1a17b682-0339-4c25-b775-0a24202bf7bb","width":3990.0,"x":-1513.0,"y":12534.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"c9485ce5-ec12-4ad6-ad01-e374b70c833a","width":3990.0,"x":-1513.0,"y":13094.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"b201b059-58ab-4d4a-863f-e95d0e15ed5e","width":3990.0,"x":-1513.0,"y":15894.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":70.0,"layer":"","name":"road_tiled_white_N","persistentUuid":"924863be-cc52-46f3-be72-da3d1aae9ff6","width":4550.0,"x":-2073.0,"y":16454.0,"zOrder":16,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":5530.0,"layer":"","name":"grass_tiled","persistentUuid":"78425f3a-af38-41a3-ad58-36b18752cd4e","width":4130.0,"x":-1583.0,"y":10434.0,"zOrder":12,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2030.0,"layer":"","name":"beach_sand_SW","persistentUuid":"4471f5ad-7f92-4281-8318-5577739caede","width":140.0,"x":-1513.0,"y":10504.0,"zOrder":12643532,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2030.0,"layer":"","name":"beach_sand_SW","persistentUuid":"51342580-ea6b-4f8b-976e-9ad9259ace82","width":140.0,"x":2337.0,"y":10504.0,"zOrder":12643532,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"6f2b77e4-b213-4b06-8098-ec3e1177454c","width":3710.0,"x":-1373.0,"y":10504.0,"zOrder":12643533,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"80d5b790-c58c-4de4-91f9-c15ca5609513","width":3710.0,"x":-1373.0,"y":12394.0,"zOrder":12643533,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"bdc1cc1b-7212-40e5-90dc-ab7684adbe67","width":3990.0,"x":-1513.0,"y":13164.0,"zOrder":12643533,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"11f6961f-554b-4de7-8ef4-10188109c957","width":3990.0,"x":-1513.0,"y":15754.0,"zOrder":12643533,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2450.0,"layer":"","name":"beach_sand_SW","persistentUuid":"6230abd0-6579-4dcb-834c-7b77cef09ba9","width":140.0,"x":-1513.0,"y":13304.0,"zOrder":12643534,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2450.0,"layer":"","name":"beach_sand_SW","persistentUuid":"95f25d21-5189-43b8-8c1b-18205052b4a8","width":140.0,"x":2337.0,"y":13304.0,"zOrder":12643534,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2450.0,"layer":"","name":"beach_sand_SW","persistentUuid":"74e387e6-0342-4565-b167-cace2455b622","width":140.0,"x":6467.0,"y":13304.0,"zOrder":12643534,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2450.0,"layer":"","name":"beach_sand_SW","persistentUuid":"c435ac4c-4fe5-40c6-8719-67c72fc1fd06","width":140.0,"x":3107.0,"y":13304.0,"zOrder":12643534,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"b50d38bb-3165-4214-81ea-cb832810defd","width":3500.0,"x":3107.0,"y":13164.0,"zOrder":12643535,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"2f43f565-f5d6-4cdd-8a54-9bd548df1603","width":3500.0,"x":3107.0,"y":15754.0,"zOrder":12643535,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"819abbf3-cc87-4434-ab43-78234f33d6c9","width":3500.0,"x":3107.0,"y":16524.0,"zOrder":12643535,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"b5b85eb4-7ba1-4190-a3a1-a98c9f9b5a3e","width":3500.0,"x":3107.0,"y":19044.0,"zOrder":12643535,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2380.0,"layer":"","name":"beach_sand_SW","persistentUuid":"bb6e898a-5370-44c8-a295-97c10d44462d","width":140.0,"x":6467.0,"y":16664.0,"zOrder":12643536,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2380.0,"layer":"","name":"beach_sand_SW","persistentUuid":"d9c7ff89-7af0-4c49-9b72-185434e486b2","width":140.0,"x":3107.0,"y":16664.0,"zOrder":12643537,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"c8990fce-7a56-46f1-97db-d061e430dccc","width":1470.0,"x":5207.0,"y":10504.0,"zOrder":12643538,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1890.0,"layer":"","name":"beach_sand_SW","persistentUuid":"c0dd577e-d395-4347-888d-60c0b38d0ef4","width":140.0,"x":5207.0,"y":10644.0,"zOrder":12643539,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1890.0,"layer":"","name":"beach_sand_SW","persistentUuid":"ab2f7d22-5399-48f3-bc20-d94fe395a262","width":140.0,"x":6537.0,"y":10644.0,"zOrder":12643540,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"116037d8-825f-40e0-aaf4-67f1273a2265","width":1190.0,"x":5347.0,"y":12394.0,"zOrder":12643541,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1470.0,"layer":"","name":"beach_sand_SW","persistentUuid":"8f2ac265-16f3-430d-bdc6-2399a7ed959a","width":140.0,"x":7097.0,"y":16524.0,"zOrder":12643542,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1470.0,"layer":"","name":"beach_sand_SW","persistentUuid":"cf279e71-d62c-4970-ad18-e4969d27b2cf","width":140.0,"x":9197.0,"y":16524.0,"zOrder":12643543,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"52dba824-11a6-4c4d-811d-5aabfa3c3ffb","width":1960.0,"x":7237.0,"y":16524.0,"zOrder":12643544,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"d9d45352-f874-4643-9035-435f8f36ba37","width":1960.0,"x":7237.0,"y":17854.0,"zOrder":12643545,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"5007283d-5eae-4a1d-bcb1-c5ed1c56448b","width":2240.0,"x":7097.0,"y":14494.0,"zOrder":12643546,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1260.0,"layer":"","name":"beach_sand_SW","persistentUuid":"4d63c600-abc0-4022-9d3d-927b478b4ad1","width":140.0,"x":9197.0,"y":14634.0,"zOrder":12643547,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":1260.0,"layer":"","name":"beach_sand_SW","persistentUuid":"8ca98505-ea24-47cd-8de9-9e6c4c609ac1","width":140.0,"x":7097.0,"y":14634.0,"zOrder":12643548,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"2eadf1ec-5b43-4057-9ef8-4ab0dbf1c70c","width":1960.0,"x":7237.0,"y":15754.0,"zOrder":12643549,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"6e245ec4-cc4f-43bb-a442-59b129787a36","width":2240.0,"x":7097.0,"y":13164.0,"zOrder":12643550,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"fd76fa2e-0bd8-4456-820f-c4275401beeb","width":2240.0,"x":7097.0,"y":14004.0,"zOrder":12643551,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":700.0,"layer":"","name":"beach_sand_SW","persistentUuid":"5357890f-0ee4-4590-8fc8-839cec3ad892","width":140.0,"x":9197.0,"y":13304.0,"zOrder":12643552,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":700.0,"layer":"","name":"beach_sand_SW","persistentUuid":"3a786521-7d0c-4b02-ab41-495fe694a282","width":140.0,"x":7097.0,"y":13304.0,"zOrder":12643553,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2030.0,"layer":"","name":"beach_sand_SW","persistentUuid":"3e0c54a2-443d-486e-a954-2b80eae4574c","width":140.0,"x":7027.0,"y":10504.0,"zOrder":12643554,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2030.0,"layer":"","name":"beach_sand_SW","persistentUuid":"9e3257ba-4ad2-4c46-af5f-4823b5f2e872","width":140.0,"x":9197.0,"y":10504.0,"zOrder":12643554,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"e91776ea-2eb7-4885-902f-119b93807770","width":2030.0,"x":7167.0,"y":10504.0,"zOrder":12643555,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"7005749c-fbeb-4f9c-8e8c-84961ba892de","width":2030.0,"x":7167.0,"y":12394.0,"zOrder":12643556,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2030.0,"layer":"","name":"beach_sand_SW","persistentUuid":"cc6ffb96-1e8a-45d7-b263-f8fde4c9f3fc","width":140.0,"x":4717.0,"y":10504.0,"zOrder":12643557,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":2030.0,"layer":"","name":"beach_sand_SW","persistentUuid":"f6b2b1e0-5b55-4339-acb7-3a1b59d88e4e","width":140.0,"x":3107.0,"y":10504.0,"zOrder":12643558,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"c0f7019f-7999-447f-8881-cc1d339c69ea","width":1470.0,"x":3247.0,"y":10504.0,"zOrder":12643559,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":140.0,"layer":"","name":"beach_sand_SW","persistentUuid":"9299093a-fb73-4504-91de-7bbe1dcf1d65","width":1470.0,"x":3247.0,"y":12394.0,"zOrder":12643560,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"building_rooftop","persistentUuid":"d5f992a0-80ac-4994-9c02-911792e49cf4","width":0.0,"x":-43.0,"y":5464.0,"zOrder":12643565,"numberProperties":[{"name":"animation","value":9.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":false,"height":0.0,"layer":"","name":"building_rooftop","persistentUuid":"47342f71-8a39-4538-a15f-c98418f5f4c0","width":0.0,"x":-673.0,"y":10994.0,"zOrder":12643566,"numberProperties":[{"name":"animation","value":11.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":840.0,"layer":"","name":"beach_sand_SW","persistentUuid":"538c636f-7884-418d-aae6-ee3e7855b3e8","width":420.0,"x":237.0,"y":10644.0,"zOrder":1264367,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":490.0,"layer":"","name":"building_rooftop","persistentUuid":"33702ba3-544c-4097-b727-654cc2b2b755","width":700.0,"x":5277.0,"y":4484.0,"zOrder":12643567,"numberProperties":[{"name":"animation","value":12.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":false,"height":0.0,"layer":"","name":"building_rooftop","persistentUuid":"b383251f-797a-46d1-9b8a-659fad130da4","width":0.0,"x":6817.0,"y":3014.0,"zOrder":12643568,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":false,"height":0.0,"layer":"","name":"building_rooftop","persistentUuid":"1685b4a6-1742-4a8d-9f8f-072d23611301","width":0.0,"x":6817.0,"y":2104.0,"zOrder":12643568,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":false,"height":0.0,"layer":"","name":"building_rooftop","persistentUuid":"50d36d65-4c6d-4ce3-a526-49ed54a29c78","width":0.0,"x":6817.0,"y":4414.0,"zOrder":12643568,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":false,"height":0.0,"layer":"","name":"building_rooftop","persistentUuid":"46ceb4ce-c2a3-4147-ab7f-3fd30373a897","width":0.0,"x":6817.0,"y":6164.0,"zOrder":12643568,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":-90.0,"customSize":false,"height":0.0,"layer":"","name":"building_rooftop","persistentUuid":"3401b266-78ff-4af4-bea3-6f9a5373ab47","width":0.0,"x":6817.0,"y":5274.0,"zOrder":12643568,"numberProperties":[{"name":"animation","value":13.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":630.0,"layer":"","name":"building_rooftop","persistentUuid":"ded75ffd-1430-4a12-b1dc-e47e2cd3912d","width":1190.0,"x":5067.0,"y":7984.0,"zOrder":12643569,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":180.0,"customSize":true,"height":630.0,"layer":"","name":"building_rooftop","persistentUuid":"c1f118e4-de1a-4c5f-9abe-6225f16fb71a","width":1190.0,"x":6327.0,"y":7984.0,"zOrder":12643569,"numberProperties":[{"name":"animation","value":14.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":560.0,"layer":"","name":"building_rooftop","persistentUuid":"2dd273ea-ba7f-413d-a072-f1106e93aaaf","width":980.0,"x":5137.0,"y":9104.0,"zOrder":12643570,"numberProperties":[{"name":"animation","value":15.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":560.0,"layer":"","name":"building_rooftop","persistentUuid":"384584b1-7dae-48ad-880c-ed1edb4da938","width":980.0,"x":6397.0,"y":9104.0,"zOrder":12643570,"numberProperties":[{"name":"animation","value":15.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":840.0,"layer":"","name":"building_rooftop","persistentUuid":"429c8877-5a23-4cf3-b1cf-bfe610f2bd64","width":1050.0,"x":5417.0,"y":10714.0,"zOrder":12643571,"numberProperties":[{"name":"animation","value":16.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"layer":"","name":"building_rooftop","persistentUuid":"62ddddef-3910-4b63-968a-9ecb87d7e05c","width":0.0,"x":5487.0,"y":11694.0,"zOrder":12643572,"numberProperties":[{"name":"animation","value":17.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"height":980.0,"layer":"","name":"building_rooftop","persistentUuid":"434af808-7fd8-462d-a911-0c477b459206","width":1680.0,"x":7377.0,"y":14704.0,"zOrder":12643572,"numberProperties":[{"name":"animation","value":18.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":560.0,"layer":"","name":"building_rooftop","persistentUuid":"042fc3c8-943e-495e-8d2e-b39e041ebdfc","width":560.0,"x":7307.0,"y":13374.0,"zOrder":12643573,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":560.0,"layer":"","name":"building_rooftop","persistentUuid":"6400a9b6-26e1-471d-a843-1fda155032cb","width":560.0,"x":8567.0,"y":13374.0,"zOrder":12643573,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]},{"angle":90.0,"customSize":true,"height":560.0,"layer":"","name":"building_rooftop","persistentUuid":"257db060-53f6-47de-a89b-40d3662b97f1","width":560.0,"x":7937.0,"y":13374.0,"zOrder":12643573,"numberProperties":[{"name":"animation","value":19.0}],"stringProperties":[],"initialVariables":[]}],"editionSettings":{"grid":false,"gridType":"rectangular","gridWidth":32.0,"gridHeight":32.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":false,"zoomFactor":0.2745098039215695,"windowMask":false}},{"associatedLayout":"Game_World_old","name":"Phone","instances":[{"angle":0.0,"customSize":true,"depth":1.0,"height":15.0,"layer":"UI","name":"phone_wifi","persistentUuid":"5cc4231a-bc19-4320-8c4f-0e7b0eac031b","width":15.0,"x":1850.0,"y":649.0,"zOrder":200,"numberProperties":[{"name":"animation","value":3.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":1.0,"height":22.0,"layer":"UI","name":"phone_time","persistentUuid":"54fb08c4-adf2-4f4f-851b-490fe20f8b5b","width":48.0,"x":1676.0,"y":634.0,"zOrder":200,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"UI","name":"phone_frame","persistentUuid":"2db890bf-e540-4bbc-be81-3b4f42a17f9e","width":0.0,"x":1656.0,"y":623.0,"zOrder":56,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"UI","name":"phone_mask","persistentUuid":"fa91c432-5baa-4035-b7b0-e0557b9b2868","width":0.0,"x":2154.0,"y":652.0,"zOrder":5,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"UI","name":"phone_icon","persistentUuid":"99878be0-df6b-4964-af72-9f9016bc445a","width":0.0,"x":2338.0,"y":1033.0,"zOrder":53,"numberProperties":[{"name":"animation","value":2.0}],"stringProperties":[],"initialVariables":[{"folded":true,"name":"id","type":"number","value":3.0}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"UI","name":"phone_icon","persistentUuid":"a4d0bdb8-d1f3-4cb4-9354-5098ba24de1a","width":0.0,"x":2198.0,"y":1033.0,"zOrder":53,"numberProperties":[],"stringProperties":[],"initialVariables":[{"folded":true,"name":"id","type":"number","value":1.0}]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"UI","name":"phone_icon","persistentUuid":"c37195a3-88de-4744-b578-cbdd96a1119b","width":0.0,"x":2274.0,"y":1033.0,"zOrder":53,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[{"folded":true,"name":"id","type":"number","value":2.0}]},{"angle":-90.0,"customSize":true,"depth":1.0,"height":11.0,"keepRatio":true,"layer":"UI","name":"phone_battery","persistentUuid":"140b8479-44e8-4e36-baaf-7fb7fef2ae94","width":16.0,"x":1834.0,"y":636.0,"zOrder":201,"numberProperties":[{"name":"animation","value":1.0}],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":false,"height":0.0,"keepRatio":true,"layer":"UI","name":"phone_wallpaper","persistentUuid":"68d0a48f-ed64-49b6-9873-b90b96b7956b","width":0.0,"x":2545.0,"y":165.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"editionSettings":{"grid":false,"gridType":"rectangular","gridWidth":32.0,"gridHeight":32.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":false,"zoomFactor":3.3635792882521775,"windowMask":false}},{"associatedLayout":"Game_World_old","name":"WeaponBar","instances":[{"angle":0.0,"customSize":true,"depth":1.0,"height":201.0,"keepRatio":true,"layer":"UI","name":"weapon_bar","persistentUuid":"b2b01e97-40ff-4a40-847f-b389514ffb53","width":1920.0,"x":-2.0,"y":757.0,"zOrder":1,"numberProperties":[],"stringProperties":[],"initialVariables":[]},{"angle":0.0,"customSize":true,"depth":0.9901477832512315,"height":201.0,"keepRatio":true,"layer":"UI","name":"weaponWheelSticker","persistentUuid":"8a24af66-24b2-4908-9964-b239b8e905a7","width":63.36945812807882,"x":736.0,"y":757.0,"zOrder":2,"numberProperties":[],"stringProperties":[],"initialVariables":[]}],"editionSettings":{"grid":true,"gridType":"rectangular","gridWidth":32.0,"gridHeight":32.0,"gridOffsetX":0.0,"gridOffsetY":0.0,"gridColor":10401023.0,"gridAlpha":0.8,"snap":true,"zoomFactor":0.20746499616301437,"windowMask":false}}],"externalSourceFiles":[],"usedResources":[{"name":"assets/weapon/crosshair/crosshair_1.png"}]}; +gdjs.runtimeGameOptions = {}; diff --git a/decoration_1.png b/decoration_1.png new file mode 100644 index 00000000..c908db7b Binary files /dev/null and b/decoration_1.png differ diff --git a/dirt.png b/dirt.png new file mode 100644 index 00000000..f1ac5632 Binary files /dev/null and b/dirt.png differ diff --git a/door2.png b/door2.png new file mode 100644 index 00000000..001b83af Binary files /dev/null and b/door2.png differ diff --git a/element_1.png b/element_1.png new file mode 100644 index 00000000..97911a7d Binary files /dev/null and b/element_1.png differ diff --git a/events-tools/cameratools.js b/events-tools/cameratools.js new file mode 100644 index 00000000..5020de7e --- /dev/null +++ b/events-tools/cameratools.js @@ -0,0 +1,2 @@ +var gdjs;(function(L){let I;(function(d){let b;(function(r){r.setCameraX=function(t,e,n,s){!t.hasLayer(n)||t.getLayer(n).setCameraX(e,s)},r.setCameraY=function(t,e,n,s){!t.hasLayer(n)||t.getLayer(n).setCameraY(e,s)},r.getCameraX=function(t,e,n){return t.hasLayer(e)?t.getLayer(e).getCameraX():0},r.getCameraY=function(t,e,n){return t.hasLayer(e)?t.getLayer(e).getCameraY():0},r.getCameraWidth=function(t,e,n){return t.hasLayer(e)?t.getLayer(e).getCameraWidth():0},r.getCameraHeight=function(t,e,n){return t.hasLayer(e)?t.getLayer(e).getCameraHeight():0},r.getCameraBorderLeft=function(t,e,n){return t.hasLayer(e)?r.getCameraX(t,e,n)-r.getCameraWidth(t,e,n)/2:0},r.getCameraBorderRight=function(t,e,n){return t.hasLayer(e)?r.getCameraX(t,e,n)+r.getCameraWidth(t,e,n)/2:0},r.getCameraBorderTop=function(t,e,n){return t.hasLayer(e)?r.getCameraY(t,e,n)-r.getCameraHeight(t,e,n)/2:0},r.getCameraBorderBottom=function(t,e,n){return t.hasLayer(e)?r.getCameraY(t,e,n)+r.getCameraHeight(t,e,n)/2:0},r.showLayer=function(t,e){if(!!t.hasLayer(e))return t.getLayer(e).show(!0)},r.hideLayer=function(t,e){if(!!t.hasLayer(e))return t.getLayer(e).show(!1)},r.layerIsVisible=function(t,e){return t.hasLayer(e)&&t.getLayer(e).isVisible()},r.setCameraRotation=function(t,e,n,s){if(!!t.hasLayer(n))return t.getLayer(n).setCameraRotation(e,s)},r.getCameraRotation=function(t,e,n){return t.hasLayer(e)?t.getLayer(e).getCameraRotation(n):0},r.getCameraZoom=function(t,e,n){return t.hasLayer(e)?t.getLayer(e).getCameraZoom(n):0},r.setCameraZoom=function(t,e,n,s){if(!!t.hasLayer(n))return t.getLayer(n).setCameraZoom(e,s)},r.centerCamera=function(t,e,n,s,o){if(!t.hasLayer(s)||e==null)return;let f=0,i=0;if(n&&!e.hasNoForces()){const u=e.getAverageForce(),a=e.getElapsedTime(t)/1e3;f=u.getX()*a,i=u.getY()*a}const g=t.getLayer(s);g.setCameraX(e.getCenterXInScene()+f,o),g.setCameraY(e.getCenterYInScene()+i,o)},r.centerCameraWithinLimits=function(t,e,n,s,o,f,i,g,u){r.centerCamera(t,e,i,g,u),r.clampCamera(t,n,s,o,f,g,u)},r.clampCamera=function(t,e,n,s,o,f,i){if(!t.hasLayer(f))return;const g=t.getLayer(f),u=g.getCameraWidth(i)/2,a=g.getCameraHeight(i)/2,m=e+u,c=s-u,h=n+a,p=o-a,E=m0?1:-1},n.cbrt=function(t){return Math.pow(t,1/3)},n.nthroot=function(t,e){return Math.pow(t,1/e)},n.mod=function(t,e){return t-e*Math.floor(t/e)},n.angleDifference=function(t,e){return o.evtTools.common.mod(o.evtTools.common.mod(t-e,360)+180,360)-180},n.angleBetweenPositions=function(t,e,r,i){return Math.atan2(i-e,r-t)*180/Math.PI},n.distanceBetweenPositions=function(t,e,r,i){return Math.sqrt((t-r)*(t-r)+(e-i)*(e-i))},n.lerp=function(t,e,r){return t+(e-t)*r},n.exponentialInterpolation=(t,e,r)=>{if(r===0)return t;if(r===1)return e;if(t<=0||e<=0)return 0;const i=Math.log(t),l=Math.log(e);return Math.exp(i+(l-i)*r)},n.trunc=function(t){return t|0},n.getXFromAngleAndDistance=function(t,e){return e*Math.cos(o.toRad(t))},n.getYFromAngleAndDistance=function(t,e){return e*Math.sin(o.toRad(t))},n.roundTo=function(t,e){return!e||!Number.isInteger(e)?Math.round(t):Math.round(t*Math.pow(10,e))/Math.pow(10,e)},n.floorTo=function(t,e){return!e||!Number.isInteger(e)?Math.floor(t):Math.floor(t*Math.pow(10,e))/Math.pow(10,e)},n.ceilTo=function(t,e){return!e||!Number.isInteger(e)?Math.ceil(t):Math.ceil(t*Math.pow(10,e))/Math.pow(10,e)},n.pi=function(){return Math.PI},n.lerpAngle=function(t,e,r){return t+o.evtTools.common.angleDifference(e,t)*r},n.resolveAsyncEventsFunction=t=>{!!t&&!!t.task&&!!t.task.resolve&&t.task.resolve()};const c=()=>{if(typeof cc!="undefined"&&cc.sys)return cc.sys.isMobile;if(typeof Cocoon!="undefined"&&Cocoon.App)return!0;if(typeof window!="undefined"&&window.cordova)return!0;if(typeof window!="undefined"){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))||/iPad|iPhone|iPod/.test(navigator.platform))return!0;if(/MacIntel/.test(navigator.platform))return!!navigator.maxTouchPoints&&navigator.maxTouchPoints>2}return!1};let a=null;n.isMobile=()=>a!==null?a:a=c()})(p=u.common||(u.common={}))})(s=o.evtTools||(o.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=commontools.js.map diff --git a/events-tools/inputtools.js b/events-tools/inputtools.js new file mode 100644 index 00000000..c0a38ca3 --- /dev/null +++ b/events-tools/inputtools.js @@ -0,0 +1,2 @@ +var gdjs;(function(o){let i;(function(c){let d;(function(n){n.lastTouchId=0,n.lastEndedTouchId=0,n.keysNameToCode={a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,Num0:48,Num1:49,Num2:50,Num3:51,Num4:52,Num5:53,Num6:54,Num7:55,Num8:56,Num9:57,Numpad0:96,Numpad1:97,Numpad2:98,Numpad3:99,Numpad4:100,Numpad5:101,Numpad6:102,Numpad7:103,Numpad8:104,Numpad9:105,LShift:1016,RShift:2016,LControl:1017,RControl:2017,LAlt:1018,RAlt:2018,LSystem:1091,RSystem:2091,SemiColon:186,Comma:188,Period:190,Quote:222,Slash:191,BackSlash:220,Equal:187,Dash:189,Menu:93,LBracket:219,RBracket:221,Tilde:192,Space:32,Back:8,Tab:9,Delete:46,Insert:45,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Return:13,NumpadPageUp:3033,NumpadPageDown:3034,NumpadEnd:3035,NumpadHome:3036,NumpadReturn:3013,Add:107,Subtract:109,Multiply:106,Divide:111,NumpadAdd:3107,NumpadSubtract:3109,NumpadMultiply:3106,NumpadDivide:3111,Left:37,Up:38,Right:39,Down:40,NumpadLeft:3037,NumpadUp:3038,NumpadRight:3039,NumpadDown:3040,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,Pause:19};const u={};for(const e in n.keysNameToCode)n.keysNameToCode.hasOwnProperty(e)&&(u[n.keysNameToCode[e]]=e);n.mouseButtonsNameToCode={Left:o.InputManager.MOUSE_LEFT_BUTTON,Right:o.InputManager.MOUSE_RIGHT_BUTTON,Middle:o.InputManager.MOUSE_MIDDLE_BUTTON,Back:o.InputManager.MOUSE_BACK_BUTTON,Forward:o.InputManager.MOUSE_FORWARD_BUTTON},n.isKeyPressed=function(e,t){return o.evtTools.input.keysNameToCode.hasOwnProperty(t)?e.getGame().getInputManager().isKeyPressed(o.evtTools.input.keysNameToCode[t]):!1},n.wasKeyReleased=function(e,t){return o.evtTools.input.keysNameToCode.hasOwnProperty(t)?e.getGame().getInputManager().wasKeyReleased(o.evtTools.input.keysNameToCode[t]):!1},n.lastPressedKey=function(e){const t=e.getGame().getInputManager().getLastPressedKey();return u.hasOwnProperty(t)?u[t]:""},n.anyKeyPressed=function(e){return e.getGame().getInputManager().anyKeyPressed()},n.anyKeyReleased=function(e){return e.getGame().getInputManager().anyKeyReleased()},n.isMouseButtonPressed=function(e,t){return o.evtTools.input.mouseButtonsNameToCode.hasOwnProperty(t)?e.getGame().getInputManager().isMouseButtonPressed(o.evtTools.input.mouseButtonsNameToCode[t]):!1},n.isMouseButtonReleased=function(e,t){return o.evtTools.input.mouseButtonsNameToCode.hasOwnProperty(t)?e.getGame().getInputManager().isMouseButtonReleased(o.evtTools.input.mouseButtonsNameToCode[t]):!1},n.hideCursor=function(e){e.getScene().getRenderer().hideCursor()},n.showCursor=function(e){e.getScene().getRenderer().showCursor()},n.getMouseWheelDelta=function(e){return e.getGame().getInputManager().getMouseWheelDelta()},n.isScrollingUp=function(e){return e.getGame().getInputManager().isScrollingUp()},n.isScrollingDown=function(e){return e.getGame().getInputManager().isScrollingDown()},n.getMouseX=function(e,t,r){return n.getCursorX(e,t,r)},n.getMouseY=function(e,t,r){return n.getCursorY(e,t,r)},n.getCursorX=function(e,t,r){const a=o.staticArray(o.evtTools.input.getCursorX);return e.getLayer(t).convertCoords(e.getGame().getInputManager().getCursorX(),e.getGame().getInputManager().getCursorY(),0,a)[0]},n.getCursorY=function(e,t,r){const a=o.staticArray(o.evtTools.input.getCursorY);return e.getLayer(t).convertCoords(e.getGame().getInputManager().getCursorX(),e.getGame().getInputManager().getCursorY(),0,a)[1]},n.getMouseOnlyCursorX=function(e,t,r){const a=o.staticArray(o.evtTools.input.getMouseOnlyCursorX);return e.getLayer(t).convertCoords(e.getGame().getInputManager().getMouseX(),e.getGame().getInputManager().getMouseY(),0,a)[0]},n.getMouseOnlyCursorY=function(e,t,r){const a=o.staticArray(o.evtTools.input.getMouseOnlyCursorY);return e.getLayer(t).convertCoords(e.getGame().getInputManager().getMouseX(),e.getGame().getInputManager().getMouseY(),0,a)[1]},n.isMouseInsideCanvas=function(e){return e.getGame().getInputManager().isMouseInsideCanvas()};const I=function(e,t){return e.cursorOnObject(t)};n.cursorOnObject=function(e,t,r,a){return o.evtTools.object.pickObjectsIf(I,e,a,t)},n.getTouchX=function(e,t,r,a){const g=o.staticArray(o.evtTools.input.getTouchX);return e.getLayer(r).convertCoords(e.getGame().getInputManager().getTouchX(t),e.getGame().getInputManager().getTouchY(t),0,g)[0]},n.getTouchY=(e,t,r,a)=>{const g=o.staticArray(o.evtTools.input.getTouchY);return e.getLayer(r).convertCoords(e.getGame().getInputManager().getTouchX(t),e.getGame().getInputManager().getTouchY(t),0,g)[1]},n.hasAnyTouchStarted=e=>{const t=e.getGame().getInputManager().getStartedTouchIdentifiers();return t.length>1||t.length>0&&t[0]!==o.InputManager.MOUSE_TOUCH_ID},n.getStartedTouchCount=e=>{const t=e.getGame().getInputManager().getStartedTouchIdentifiers();return t.length+(t.includes(o.InputManager.MOUSE_TOUCH_ID)?-1:0)},n.getStartedTouchIdentifier=(e,t)=>{const r=e.getGame().getInputManager().getStartedTouchIdentifiers(),a=r.indexOf(o.InputManager.MOUSE_TOUCH_ID);return a<0?r[t]:r[te.getGame().getInputManager().getStartedTouchIdentifiers().length>0,n.getStartedTouchOrMouseCount=e=>e.getGame().getInputManager().getStartedTouchIdentifiers().length,n.getStartedTouchOrMouseIdentifier=(e,t)=>e.getGame().getInputManager().getStartedTouchIdentifiers()[t],n.hasTouchEnded=(e,t)=>e.getGame().getInputManager().hasTouchEnded(t),n.getLastTouchId=function(){return o.evtTools.input.lastTouchId||0},n.getLastEndedTouchId=function(){return o.evtTools.input.lastEndedTouchId||0},n.popStartedTouch=function(e){const t=e.getGame().getInputManager().popStartedTouch();return t!==void 0?(o.evtTools.input.lastTouchId=t,!0):!1},n.popEndedTouch=function(e){const t=e.getGame().getInputManager().popEndedTouch();return t!==void 0?(o.evtTools.input.lastEndedTouchId=t,!0):!1},n.touchSimulateMouse=function(e,t){e.getGame().getInputManager().touchSimulateMouse(t)}})(d=c.input||(c.input={}))})(i=o.evtTools||(o.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=inputtools.js.map diff --git a/events-tools/networktools.js b/events-tools/networktools.js new file mode 100644 index 00000000..9f07efa7 --- /dev/null +++ b/events-tools/networktools.js @@ -0,0 +1,2 @@ +var gdjs;(function(u){let p;(function(g){let d;(function(r){r.sendAsyncRequest=function(n,s,i,o,c,a){const e=t=>{t instanceof ProgressEvent&&t.currentTarget&&t.currentTarget instanceof XMLHttpRequest&&t.currentTarget.status===0?a.setString("REQUEST_NOT_SENT"):a.setString(""+t)};try{const t=new XMLHttpRequest;t.onerror=e,t.ontimeout=e,t.onabort=e,t.onreadystatechange=()=>{t.readyState===4&&(t.status>=400&&e(""+t.status),c.setString(t.responseText))},t.open(i,n),t.setRequestHeader("Content-Type",o===""?"application/x-www-form-urlencoded":o),t.send(s)}catch(t){e(t)}},r.sendAwaitableAsyncRequest=(n,s,i,o,c,a)=>new u.PromiseTask(fetch(n,{body:i!=="GET"?s:void 0,method:i,headers:{"Content-Type":o||"application/x-www-form-urlencoded"}}).then(async e=>{const t=await e.text();e.status>=400&&a.setString(""+e.status),c.setString(t)},e=>{a.setString(""+e)})),r.sendDeprecatedSynchronousRequest=function(n,s,i,o,c,a){try{let e;if(typeof XMLHttpRequest!="undefined")e=new XMLHttpRequest;else{const t=["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp.2.0","Microsoft.XmlHttp"];for(let l=0,b=t.length;l=e&&(n=e-1);let o=0,u=null;for(let i in t.items)if(t.items.hasOwnProperty(i)){let f=t.items[i];if(n-o=b&&(b=h.farSqDist,a=T,c=h.farX,l=h.farY))}}return a?(r.evtTools.object.pickOnly(s,a),u.setNumber(c),i.setNumber(l),!0):!1},g.doCreateObjectOnScene=function(s,t,e,n,o,u){const i=s.createObject(t),f=s.getLayer(u);return i!==null&&(i.setPosition(n,o),i.setLayer(u),i.setZOrder(f.getDefaultZOrder()),e.containsKey(t)&&e.get(t).push(i)),i},g.createObjectOnScene=function(s,t,e,n,o){return r.evtTools.object.doCreateObjectOnScene(s,t.firstKey(),t,e,n,o)},g.createObjectFromGroupOnScene=function(s,t,e,n,o,u){r.evtTools.object.doCreateObjectOnScene(s,e,t,n,o,u)},g.getPickedInstancesCount=s=>{let t=0;const e=r.staticArray(r.evtTools.object.getPickedInstancesCount);s.values(e);for(let n=0,o=e.length;n{let e=0;const n=r.staticArray(r.evtTools.object.getSceneInstancesCount);t.keys(n);const o=new Set(n);for(const u of o)e+=s.getInstancesCountOnScene(u);return e},g.pickedObjectsCount=g.getPickedInstancesCount})(C=p.object||(p.object={}))})(x=r.evtTools||(r.evtTools={}));class w{constructor(){this.objectsLists=new Map;this.callbacks=new Map;this.parent=null}static from(p){const j=new w;return j.parent=p,j}getOrCreateList(p){return this.objectsLists.has(p)||this.objectsLists.set(p,[]),this.objectsLists.get(p)}getObjects(p){return!this.objectsLists.has(p)&&this.parent?this.parent.getObjects(p):this.objectsLists.get(p)||[]}addObject(p,j){const m=this.getOrCreateList(p);if(m.includes(j))return;m.push(j);const v=()=>this.removeObject(p,j);this.callbacks.set(j,v),j.registerDestroyCallback(v)}removeObject(p,j){const m=this.getOrCreateList(p),v=m.indexOf(j);v!==-1&&(m.splice(v,1),j.unregisterDestroyCallback(this.callbacks.get(j)),this.callbacks.delete(j))}}r.LongLivedObjectsList=w})(gdjs||(gdjs={})); +//# sourceMappingURL=objecttools.js.map diff --git a/events-tools/runtimescenetools.js b/events-tools/runtimescenetools.js new file mode 100644 index 00000000..a8a7c3cd --- /dev/null +++ b/events-tools/runtimescenetools.js @@ -0,0 +1,2 @@ +var gdjs;(function(r){let c;(function(i){let u;(function(s){s.sceneJustBegins=function(e){return e.getScene().getTimeManager().isFirstFrame()},s.sceneJustResumed=function(e){return e.getScene().sceneJustResumed()},s.getSceneName=function(e){return e.getScene().getName()},s.setBackgroundColor=function(e,t){const n=t.split(";");n.length<3||e.getScene().setBackgroundColor(parseInt(n[0]),parseInt(n[1]),parseInt(n[2]))},s.getElapsedTimeInSeconds=function(e){return e.getScene().getTimeManager().getElapsedTime()/1e3},s.setTimeScale=function(e,t){return e.getScene().getTimeManager().setTimeScale(t)},s.getTimeScale=function(e){return e.getScene().getTimeManager().getTimeScale()},s.timerElapsedTime=function(e,t,n){const a=e.getScene().getTimeManager();return a.hasTimer(n)?a.getTimer(n).getTime()/1e3>=t:(a.addTimer(n),!1)},s.timerPaused=function(e,t){const n=e.getScene().getTimeManager();return n.hasTimer(t)?n.getTimer(t).isPaused():!1},s.resetTimer=function(e,t){const n=e.getScene().getTimeManager();n.hasTimer(t)?n.getTimer(t).reset():n.addTimer(t)},s.pauseTimer=function(e,t){const n=e.getScene().getTimeManager();n.hasTimer(t)||n.addTimer(t),n.getTimer(t).setPaused(!0)},s.unpauseTimer=function(e,t){const n=e.getScene().getTimeManager();return n.hasTimer(t)||n.addTimer(t),n.getTimer(t).setPaused(!1)},s.removeTimer=function(e,t){e.getScene().getTimeManager().removeTimer(t)};class m extends r.AsyncTask{constructor(t){super();this.timeElapsedOnScene=0;this.duration=t}update(t){return this.timeElapsedOnScene+=t.getScene().getTimeManager().getElapsedTime(),this.timeElapsedOnScene>=this.duration}}s.WaitTask=m,s.wait=e=>new m(e*1e3),s.getTimerElapsedTimeInSeconds=function(e,t){const n=e.getScene().getTimeManager();return n.hasTimer(t)?n.getTimer(t).getTime()/1e3:0},s.getTimerElapsedTimeInSecondsOrNaN=function(e,t){const n=e.getScene().getTimeManager();return n.hasTimer(t)?n.getTimer(t).getTime()/1e3:Number.NaN},s.getTimeFromStartInSeconds=function(e){return e.getScene().getTimeManager().getTimeFromStart()/1e3},s.getTime=function(e,t){if(t==="timestamp")return Date.now();const n=new Date;if(t==="hour")return n.getHours();if(t==="min")return n.getMinutes();if(t==="sec")return n.getSeconds();if(t==="mday")return n.getDate();if(t==="mon")return n.getMonth();if(t==="year")return n.getFullYear()-1900;if(t==="wday")return n.getDay();if(t==="yday"){const a=new Date(n.getFullYear(),0,0),o=n.getTime()-a.getTime(),g=1e3*60*60*24;return Math.floor(o/g)}return 0},s.replaceScene=function(e,t,n){!e.getGame().getSceneData(t)||e.getScene().requestChange(n?r.SceneChangeRequest.CLEAR_SCENES:r.SceneChangeRequest.REPLACE_SCENE,t)},s.pushScene=function(e,t){!e.getGame().getSceneData(t)||e.getScene().requestChange(r.SceneChangeRequest.PUSH_SCENE,t)},s.popScene=function(e){e.getScene().requestChange(r.SceneChangeRequest.POP_SCENE)},s.stopGame=function(e){e.getScene().requestChange(r.SceneChangeRequest.STOP_GAME)},s.createObjectsFromExternalLayout=function(e,t,n,a,o){const g=e.getGame().getExternalLayoutData(t);g!==null&&e.getScene().createObjectsFrom(g.instances,n,a,o||0,!1)},s.hasGameJustResumed=e=>e.getGame().hasJustResumed(),s.doesSceneExist=(e,t)=>e.getGame().hasScene(t),s.prioritizeLoadingOfScene=(e,t)=>{e.getGame().prioritizeLoadingOfScene(t)},s.getSceneLoadingProgress=(e,t)=>e.getGame().getSceneLoadingProgress(t),s.areSceneAssetsLoaded=(e,t)=>e.getGame().areSceneAssetsLoaded(t)})(u=i.runtimeScene||(i.runtimeScene={}))})(c=r.evtTools||(r.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=runtimescenetools.js.map diff --git a/events-tools/soundtools.js b/events-tools/soundtools.js new file mode 100644 index 00000000..ea06a529 --- /dev/null +++ b/events-tools/soundtools.js @@ -0,0 +1,2 @@ +var gdjs;(function(s){let r;(function(c){let l;(function(o){const a=new s.Logger("Audio events");o.getGlobalVolume=function(t){return t.getScene().getSoundManager().getGlobalVolume()},o.setGlobalVolume=function(t,e){t.getScene().getSoundManager().setGlobalVolume(e)},o.unloadAllAudio=function(t){t.getScene().getSoundManager().unloadAll()},o.playSound=function(t,e,n,i,g){t.getScene().getSoundManager().playSound(e,n,i,g)},o.playSoundOnChannel=function(t,e,n,i,g,u){t.getScene().getSoundManager().playSoundOnChannel(e,n,i,g,u)},o.stopSoundOnChannel=function(t,e){const n=t.getScene().getSoundManager().getSoundOnChannel(e);n?n.stop():a.error(`Cannot stop non-existing sound on channel ${e}.`)},o.pauseSoundOnChannel=function(t,e){const n=t.getScene().getSoundManager().getSoundOnChannel(e);n?n.pause():a.error(`Cannot pause non-existing sound on channel ${e}.`)},o.continueSoundOnChannel=function(t,e){const n=t.getScene().getSoundManager().getSoundOnChannel(e);n?n.playing()||n.play():a.error(`Cannot continue playing non-existing sound on channel ${e}.`)},o.isSoundOnChannelPlaying=function(t,e){const n=t.getScene().getSoundManager().getSoundOnChannel(e);return n?n.playing():!1},o.isSoundOnChannelPaused=function(t,e){const n=t.getScene().getSoundManager().getSoundOnChannel(e);return n?n.paused():(a.error(`Cannot check if non-existing sound on channel ${e} is paused.`),!1)},o.isSoundOnChannelStopped=function(t,e){const n=t.getScene().getSoundManager().getSoundOnChannel(e);return n?n.stopped():(a.error(`Cannot check if non-existing sound on channel ${e} is stopped.`),!0)},o.getSoundOnChannelVolume=function(t,e){const n=t.getScene().getSoundManager().getSoundOnChannel(e);return n?n.getVolume()*100:(a.error(`Cannot get the volume of a non-existing sound on channel ${e}.`),100)},o.setSoundOnChannelVolume=function(t,e,n){const i=t.getScene().getSoundManager().getSoundOnChannel(e);i?i.setVolume(n/100):a.error(`Cannot set the volume of a non-existing sound on channel ${e}.`)},o.getSoundOnChannelPlayingOffset=function(t,e){const n=t.getScene().getSoundManager().getSoundOnChannel(e);return n?n.getSeek():(a.error(`Cannot get the playing offset of a non-existing sound on channel ${e}.`),0)},o.setSoundOnChannelPlayingOffset=function(t,e,n){const i=t.getScene().getSoundManager().getSoundOnChannel(e);i?i.setSeek(n):a.error(`Cannot set the playing offset of a non-existing sound on channel ${e}.`)},o.getSoundOnChannelPitch=function(t,e){const n=t.getScene().getSoundManager().getSoundOnChannel(e);return n?n.getRate():(a.error(`Cannot get the pitch of a non-existing sound on channel ${e}.`),1)},o.setSoundOnChannelPitch=function(t,e,n){const i=t.getScene().getSoundManager().getSoundOnChannel(e);i?i.setRate(n):a.error(`Cannot get the pitch of a non-existing sound on channel ${e}.`)},o.preloadSound=(t,e)=>t.getScene().getSoundManager().loadAudio(e,!1),o.unloadSound=(t,e)=>t.getScene().getSoundManager().unloadAudio(e,!1),o.playMusic=function(t,e,n,i,g){t.getScene().getSoundManager().playMusic(e,n,i,g)},o.playMusicOnChannel=function(t,e,n,i,g,u){t.getScene().getSoundManager().playMusicOnChannel(e,n,i,g,u)},o.stopMusicOnChannel=function(t,e){const n=t.getScene().getSoundManager().getMusicOnChannel(e);n?n.stop():a.error(`Cannot stop a non-existing music on channel ${e}.`)},o.pauseMusicOnChannel=function(t,e){const n=t.getScene().getSoundManager().getMusicOnChannel(e);n?n.pause():a.error(`Cannot pause a non-existing music on channel ${e}.`)},o.continueMusicOnChannel=function(t,e){const n=t.getScene().getSoundManager().getMusicOnChannel(e);n?n.playing()||n.play():a.error(`Cannot stop a non-existing music on channel ${e}.`)},o.isMusicOnChannelPlaying=function(t,e){const n=t.getScene().getSoundManager().getMusicOnChannel(e);return n?n.playing():!1},o.isMusicOnChannelPaused=function(t,e){const n=t.getScene().getSoundManager().getMusicOnChannel(e);return n?n.paused():(a.error(`Cannot check if non-existing music on channel ${e} is paused.`),!1)},o.isMusicOnChannelStopped=function(t,e){const n=t.getScene().getSoundManager().getMusicOnChannel(e);return n?n.stopped():(a.error(`Cannot check if non-existing music on channel ${e} is stopped.`),!0)},o.getMusicOnChannelVolume=function(t,e){const n=t.getScene().getSoundManager().getMusicOnChannel(e);return n?n.getVolume()*100:(a.error(`Cannot get the volume of a non-existing music on channel ${e}.`),100)},o.setMusicOnChannelVolume=function(t,e,n){const i=t.getScene().getSoundManager().getMusicOnChannel(e);i?i.setVolume(n/100):a.error(`Cannot set the volume of a non-existing music on channel ${e}.`)},o.getMusicOnChannelPlayingOffset=function(t,e){const n=t.getScene().getSoundManager().getMusicOnChannel(e);return n?n.getSeek():(a.error(`Cannot get the playing offset of a non-existing music on channel ${e}.`),0)},o.setMusicOnChannelPlayingOffset=function(t,e,n){const i=t.getScene().getSoundManager().getMusicOnChannel(e);i?i.setSeek(n):a.error(`Cannot set the playing offset of a non-existing music on channel ${e}.`)},o.getMusicOnChannelPitch=function(t,e){const n=t.getScene().getSoundManager().getMusicOnChannel(e);return n?n.getRate():(a.error(`Cannot get the pitch of a non-existing music on channel ${e}.`),1)},o.setMusicOnChannelPitch=function(t,e,n){const i=t.getScene().getSoundManager().getMusicOnChannel(e);i?i.setRate(n):a.error(`Cannot get the pitch of a non-existing music on channel ${e}.`)},o.preloadMusic=(t,e)=>t.getScene().getSoundManager().loadAudio(e,!0),o.unloadMusic=(t,e)=>t.getScene().getSoundManager().unloadAudio(e,!0),o.fadeSoundVolume=(t,e,n,i)=>{const g=t.getScene().getSoundManager().getSoundOnChannel(e);g?g.fade(g.getVolume(),n/100,i*1e3):a.error(`Cannot fade the volume of a non-existing sound on channel ${e}.`)},o.fadeMusicVolume=(t,e,n,i)=>{const g=t.getScene().getSoundManager().getMusicOnChannel(e);g?g.fade(g.getVolume(),n/100,i*1e3):a.error(`Cannot fade the volume of a non-existing music on channel ${e}.`)}})(l=c.sound||(c.sound={}))})(r=s.evtTools||(s.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=soundtools.js.map diff --git a/events-tools/storagetools.js b/events-tools/storagetools.js new file mode 100644 index 00000000..2a41f6d9 --- /dev/null +++ b/events-tools/storagetools.js @@ -0,0 +1,2 @@ +var gdjs;(function(S){const f=new S.Logger("Storage");let d;(function(p){let h;(function(a){let c=null;try{typeof cc!="undefined"?c=cc.sys.localStorage:typeof window!="undefined"&&(c=window.localStorage)}catch(t){f.error("Unable to get access to the localStorage: "+t)}c||f.error("Storage actions won't work as no localStorage was found.");const u=new Hashtable;a.loadJSONFileFromStorage=t=>{if(u.containsKey(t))return;let i=null;try{c&&(i=c.getItem("GDJS_"+t))}catch(l){f.error('Unable to load data from localStorage for "'+t+'": '+l)}let o={};try{i&&(o=JSON.parse(i))}catch(l){f.error('Unable to load data from "'+t+'" - data is not valid JSON: '+l)}u.put(t,o)},a.unloadJSONFile=t=>{if(!u.containsKey(t))return;const i=u.get(t),o=JSON.stringify(i);try{c&&c.setItem("GDJS_"+t,o)}catch(l){f.error('Unable to save data to localStorage for "'+t+'": '+l)}u.remove(t)};const g=(t,i)=>{let o=!1;u.containsKey(t)||(o=!0,a.loadJSONFileFromStorage(t));const l=i(u.get(t));return o&&a.unloadJSONFile(t),l};a.clearJSONFile=t=>g(t,i=>{for(const o in i)i.hasOwnProperty(o)&&delete i[o];return!0}),a.elementExistsInJSONFile=(t,i)=>g(t,o=>{const l=i.split("/");let n=o;for(let e=0;eg(t,o=>{const l=i.split("/");let n=o;for(let e=0;eg(t,l=>{const n=i.split("/");let e=l;for(let r=0;rg(t,l=>{const n=i.split("/");let e=l;for(let r=0;rg(t,n=>{const e=i.split("/");let r=n;for(let s=0;sg(t,n=>{const e=i.split("/");let r=n;for(let s=0;s=0?t.substr(n,r):""},e.strAt=function(t,n){return n=0?t.substr(n,1):""},e.strRepeat=function(t,n){let r="";for(let o=0;oo.length));)i=o.indexOf(n,u);return o},e.strRFindFrom=s.evtTools.string.strFindLastFrom})(f=c.string||(c.string={}))})(p=s.evtTools||(s.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=stringtools.js.map diff --git a/events-tools/variabletools.js b/events-tools/variabletools.js new file mode 100644 index 00000000..4d87d6f3 --- /dev/null +++ b/events-tools/variabletools.js @@ -0,0 +1,2 @@ +var gdjs;(function(a){let l;(function(o){let i;(function(r){r.getVariableNumber=function(e){return e.getAsNumber()},r.getVariableString=function(e){return e.getAsString()},r.getVariableBoolean=function(e,t){return e.getAsBoolean()===t},r.setVariableBoolean=function(e,t){e.setBoolean(t)},r.toggleVariableBoolean=function(e){e.setBoolean(!e.getAsBoolean())},r.sceneVariableExists=function(e,t){return e.getScene().getVariables().has(t)},r.globalVariableExists=function(e,t){return e.getGame().getVariables().has(t)},r.variableChildExists=function(e,t){return e.hasChild(t)},r.variableRemoveChild=function(e,t){e.removeChild(t)},r.variableClearChildren=function(e){e.clearChildren()},r.variablePushCopy=function(e,t){e.pushVariableCopy(t)},r.valuePush=function(e,t){e.pushValue(t)},r.variableRemoveAt=function(e,t){e.removeAtIndex(t)},r.getVariableChildCount=function(e){return e.getChildrenCount()},r.getFirstVariableNumber=function(e){return e.getChildrenCount()===0?0:e.getAllChildrenArray()[0].getAsNumber()},r.getFirstVariableString=function(e){return e.getChildrenCount()===0?"":e.getAllChildrenArray()[0].getAsString()},r.getLastVariableNumber=function(e){const t=e.getAllChildrenArray();return t.length===0?0:t[t.length-1].getAsNumber()},r.getLastVariableString=function(e){const t=e.getAllChildrenArray();return t.length===0?"":t[t.length-1].getAsString()}})(i=o.variable||(o.variable={}));let s;(function(n){n.getVariableNumber=a.evtTools.variable.getVariableNumber,n.getVariableString=a.evtTools.variable.getVariableString,n.getVariableBoolean=a.evtTools.variable.getVariableBoolean,n.setVariableBoolean=a.evtTools.variable.setVariableBoolean,n.toggleVariableBoolean=a.evtTools.variable.toggleVariableBoolean,n.sceneVariableExists=a.evtTools.variable.sceneVariableExists,n.globalVariableExists=a.evtTools.variable.globalVariableExists,n.variableChildExists=a.evtTools.variable.variableChildExists,n.variableRemoveChild=a.evtTools.variable.variableRemoveChild,n.variableClearChildren=a.evtTools.variable.variableClearChildren,n.variablePushCopy=a.evtTools.variable.variablePushCopy,n.valuePush=a.evtTools.variable.valuePush,n.variableRemoveAt=a.evtTools.variable.variableRemoveAt,n.getVariableChildCount=a.evtTools.variable.getVariableChildCount})(s=o.common||(o.common={}))})(l=a.evtTools||(a.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=variabletools.js.map diff --git a/events-tools/windowtools.js b/events-tools/windowtools.js new file mode 100644 index 00000000..080febda --- /dev/null +++ b/events-tools/windowtools.js @@ -0,0 +1,2 @@ +var gdjs;(function(r){let s;(function(u){let m;(function(t){t.setMargins=function(e,n,o,i,g){e.getGame().getRenderer().setMargins(n,o,i,g)},t.setFullScreen=function(e,n,o){e.getGame().getRenderer().keepAspectRatio(o),e.getGame().getRenderer().setFullScreen(n)},t.isFullScreen=function(e){return e.getGame().getRenderer().isFullScreen()},t.setWindowSize=function(e,n,o,i){e.getGame().getRenderer().setWindowSize(n,o),i&&e.getGame().setGameResolutionSize(n,o)},t.centerWindow=function(e){e.getGame().getRenderer().centerWindow()},t.setGameResolutionSize=function(e,n,o){e.getGame().setGameResolutionSize(n,o)},t.setGameResolutionResizeMode=function(e,n){e.getGame().setGameResolutionResizeMode(n)},t.setAdaptGameResolutionAtRuntime=function(e,n){e.getGame().setAdaptGameResolutionAtRuntime(n)},t.setWindowTitle=function(e,n){e.getGame().getRenderer().setWindowTitle(n)},t.getWindowTitle=function(e){return e.getGame().getRenderer().getWindowTitle()},t.getWindowInnerWidth=function(){return r.RuntimeGameRenderer&&r.RuntimeGameRenderer.getWindowInnerWidth?r.RuntimeGameRenderer.getWindowInnerWidth():typeof t!="undefined"?t.innerWidth:800},t.getWindowInnerHeight=function(){return r.RuntimeGameRenderer&&r.RuntimeGameRenderer.getWindowInnerHeight?r.RuntimeGameRenderer.getWindowInnerHeight():typeof t!="undefined"?t.innerHeight:800},t.getGameResolutionWidth=function(e){return e.getGame().getGameResolutionWidth()},t.getGameResolutionHeight=function(e){return e.getGame().getGameResolutionHeight()},t.openURL=function(e,n){return n.getGame().getRenderer().openURL(e)}})(m=u.window||(u.window={}))})(s=r.evtTools||(r.evtTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=windowtools.js.map diff --git a/fence_1.png b/fence_1.png new file mode 100644 index 00000000..628d999d Binary files /dev/null and b/fence_1.png differ diff --git a/fence_2.png b/fence_2.png new file mode 100644 index 00000000..6080df77 Binary files /dev/null and b/fence_2.png differ diff --git a/fence_3.png b/fence_3.png new file mode 100644 index 00000000..50a02c6f Binary files /dev/null and b/fence_3.png differ diff --git a/fence_4.png b/fence_4.png new file mode 100644 index 00000000..5db69fb8 Binary files /dev/null and b/fence_4.png differ diff --git a/fence_5.png b/fence_5.png new file mode 100644 index 00000000..849b22eb Binary files /dev/null and b/fence_5.png differ diff --git a/fence_6.png b/fence_6.png new file mode 100644 index 00000000..f1f828f9 Binary files /dev/null and b/fence_6.png differ diff --git a/fence_7.png b/fence_7.png new file mode 100644 index 00000000..15925483 Binary files /dev/null and b/fence_7.png differ diff --git a/fence_8.png b/fence_8.png new file mode 100644 index 00000000..80797f81 Binary files /dev/null and b/fence_8.png differ diff --git a/flamethrower_long.png b/flamethrower_long.png new file mode 100644 index 00000000..833edf6d Binary files /dev/null and b/flamethrower_long.png differ diff --git a/flamethrower_short.png b/flamethrower_short.png new file mode 100644 index 00000000..1769115e Binary files /dev/null and b/flamethrower_short.png differ diff --git a/fontfaceobserver-font-manager/fontfaceobserver-font-manager.js b/fontfaceobserver-font-manager/fontfaceobserver-font-manager.js new file mode 100644 index 00000000..56376d1b --- /dev/null +++ b/fontfaceobserver-font-manager/fontfaceobserver-font-manager.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){const a=new i.Logger("Font manager"),c=["font"];class d{constructor(r){this._loadedFontFamily=new i.ResourceCache;this._loadedFontFamilySet=new Set;this._resourceLoader=r}getResourceKinds(){return c}getFontFamily(r){return this._loadedFontFamily.getFromName(r)||"Arial"}getFontFile(r){const e=this._resourceLoader.getResource(r);return e?e.file||"":r}_getFontFamilyFromFilename(r){let e="gdjs_font_"+r.file.toLowerCase().replace(/[^\w]/gi,"-");const o=e;let n=2;for(;this._loadedFontFamilySet.has(e);)e=e+"-"+n,n++;return o}_loadFont(r,e){const o={},n="url("+encodeURI(e)+")";if(typeof FontFace!="undefined")return fetch(this._resourceLoader.getFullUrl(e),{credentials:this._resourceLoader.checkIfCredentialsRequired(e)?"include":"same-origin"}).then(t=>{if(!t.ok){const s="Unable to fetch "+e+" to be loaded as a font. HTTP status is: "+t.status+".";throw a.error(s),new Error(s)}return t.arrayBuffer()}).then(t=>{const s=new FontFace(r,t,o);document.fonts.add(s)});{const t=document.createElement("style");return t.appendChild(document.createTextNode("@font-face { font-family: '"+r+"'; src: "+n+"; }")),document.head.appendChild(t),new FontFaceObserver(r,o).load()}}async processResource(r){}async loadResource(r){const e=this._resourceLoader.getResource(r);if(!e){a.warn('Unable to find font for resource "'+r+'".');return}if(this._loadedFontFamily.get(e))return;const o=e.file;if(!o)return;const n=this._getFontFamilyFromFilename(e);this._loadedFontFamily.set(e,n),this._loadedFontFamilySet.add(n);try{await this._loadFont(n,o)}catch(t){a.error('Error loading font resource "'+e.name+'" (file: '+o+"): "+(t.message||"Unknown error"))}}}i.FontFaceObserverFontManager=d,i.FontManager=d})(gdjs||(gdjs={})); +//# sourceMappingURL=fontfaceobserver-font-manager.js.map diff --git a/fontfaceobserver-font-manager/fontfaceobserver.js b/fontfaceobserver-font-manager/fontfaceobserver.js new file mode 100644 index 00000000..3ff4b31f --- /dev/null +++ b/fontfaceobserver-font-manager/fontfaceobserver.js @@ -0,0 +1,16 @@ +(function() { +var module; //Define an undefined module variable to avoid fontfaceobserver thinking it's used in an environment using require. + +/* Font Face Observer v2.0.13 - © Bram Stein. License: BSD-3-Clause */(function(){'use strict';var f,g=[];function l(a){g.push(a);1==g.length&&f()}function m(){for(;g.length;)g[0](),g.shift()}f=function(){setTimeout(m)};function n(a){this.a=p;this.b=void 0;this.f=[];var b=this;try{a(function(a){q(b,a)},function(a){r(b,a)})}catch(c){r(b,c)}}var p=2;function t(a){return new n(function(b,c){c(a)})}function u(a){return new n(function(b){b(a)})}function q(a,b){if(a.a==p){if(b==a)throw new TypeError;var c=!1;try{var d=b&&b.then;if(null!=b&&"object"==typeof b&&"function"==typeof d){d.call(b,function(b){c||q(a,b);c=!0},function(b){c||r(a,b);c=!0});return}}catch(e){c||r(a,e);return}a.a=0;a.b=b;v(a)}} +function r(a,b){if(a.a==p){if(b==a)throw new TypeError;a.a=1;a.b=b;v(a)}}function v(a){l(function(){if(a.a!=p)for(;a.f.length;){var b=a.f.shift(),c=b[0],d=b[1],e=b[2],b=b[3];try{0==a.a?"function"==typeof c?e(c.call(void 0,a.b)):e(a.b):1==a.a&&("function"==typeof d?e(d.call(void 0,a.b)):b(a.b))}catch(h){b(h)}}})}n.prototype.g=function(a){return this.c(void 0,a)};n.prototype.c=function(a,b){var c=this;return new n(function(d,e){c.f.push([a,b,d,e]);v(c)})}; +function w(a){return new n(function(b,c){function d(c){return function(d){h[c]=d;e+=1;e==a.length&&b(h)}}var e=0,h=[];0==a.length&&b(h);for(var k=0;kparseInt(a[1],10)}else C=!1;return C}function J(){null===F&&(F=!!document.fonts);return F} +function K(){if(null===E){var a=document.createElement("div");try{a.style.font="condensed 100px sans-serif"}catch(b){}E=""!==a.style.font}return E}function L(a,b){return[a.style,a.weight,K()?a.stretch:"","100px",b].join(" ")} +A.prototype.load=function(a,b){var c=this,k=a||"BESbswy",q=0,D=b||3E3,H=(new Date).getTime();return new Promise(function(a,b){if(J()&&!G()){var M=new Promise(function(a,b){function e(){(new Date).getTime()-H>=D?b():document.fonts.load(L(c,'"'+c.family+'"'),k).then(function(c){1<=c.length?a():setTimeout(e,25)},function(){b()})}e()}),N=new Promise(function(a,c){q=setTimeout(c,D)});Promise.race([N,M]).then(function(){clearTimeout(q);a(c)},function(){b(c)})}else m(function(){function u(){var b;if(b=-1!= +f&&-1!=g||-1!=f&&-1!=h||-1!=g&&-1!=h)(b=f!=g&&f!=h&&g!=h)||(null===B&&(b=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),B=!!b&&(536>parseInt(b[1],10)||536===parseInt(b[1],10)&&11>=parseInt(b[2],10))),b=B&&(f==v&&g==v&&h==v||f==w&&g==w&&h==w||f==x&&g==x&&h==x)),b=!b;b&&(d.parentNode&&d.parentNode.removeChild(d),clearTimeout(q),a(c))}function I(){if((new Date).getTime()-H>=D)d.parentNode&&d.parentNode.removeChild(d),b(c);else{var a=document.hidden;if(!0===a||void 0===a)f=e.a.offsetWidth, +g=n.a.offsetWidth,h=p.a.offsetWidth,u();q=setTimeout(I,50)}}var e=new r(k),n=new r(k),p=new r(k),f=-1,g=-1,h=-1,v=-1,w=-1,x=-1,d=document.createElement("div");d.dir="ltr";t(e,L(c,"sans-serif"));t(n,L(c,"serif"));t(p,L(c,"monospace"));d.appendChild(e.a);d.appendChild(n.a);d.appendChild(p.a);document.body.appendChild(d);v=e.a.offsetWidth;w=n.a.offsetWidth;x=p.a.offsetWidth;I();z(e,function(a){f=a;u()});t(e,L(c,'"'+c.family+'",sans-serif'));z(n,function(a){g=a;u()});t(n,L(c,'"'+c.family+'",serif')); +z(p,function(a){h=a;u()});t(p,L(c,'"'+c.family+'",monospace'))})})};"object"===typeof module?module.exports=A:(window.FontFaceObserver=A,window.FontFaceObserver.prototype.load=A.prototype.load);}()); +})() \ No newline at end of file diff --git a/force.js b/force.js new file mode 100644 index 00000000..ed0abd50 --- /dev/null +++ b/force.js @@ -0,0 +1,2 @@ +var gdjs;(function(_){class s{constructor(t,i,h){this._dirty=!1;this._x=t||0,this._y=i||0,this._angle=Math.atan2(i,t)*180/Math.PI,this._length=Math.sqrt(t*t+i*i),this._multiplier=h}getX(){return this._x}getY(){return this._y}setX(t){this._x=t,this._dirty=!0}setY(t){this._y=t,this._dirty=!0}clear(){this._x=0,this._y=0,this._length=0,this._dirty=!1}addForce(t){this._x+=t._x,this._y+=t._y,this._dirty=!0}add(t,i){this._x+=t,this._y+=i,this._dirty=!0}setAngle(t){this._dirty&&(this._length=Math.sqrt(this._x*this._x+this._y*this._y),this._dirty=!1),this._angle=t;const i=t/180*Math.PI;this._x=Math.cos(i)*this._length,this._y=Math.sin(i)*this._length}setLength(t){this._dirty&&(this._angle=Math.atan2(this._y,this._x)*180/Math.PI,this._dirty=!1),this._length=t;const i=this._angle/180*Math.PI;this._x=Math.cos(i)*this._length,this._y=Math.sin(i)*this._length}getAngle(){return this._dirty&&(this._angle=Math.atan2(this._y,this._x)*180/Math.PI,this._length=Math.sqrt(this._x*this._x+this._y*this._y),this._dirty=!1),this._angle}getLength(){return this._dirty&&(this._angle=Math.atan2(this._y,this._x)*180/Math.PI,this._length=Math.sqrt(this._x*this._x+this._y*this._y),this._dirty=!1),this._length}getMultiplier(){return this._multiplier}setMultiplier(t){this._multiplier=t}}_.Force=s})(gdjs||(gdjs={})); +//# sourceMappingURL=force.js.map diff --git a/frame_1.png b/frame_1.png new file mode 100644 index 00000000..370e8336 Binary files /dev/null and b/frame_1.png differ diff --git a/frame_2.png b/frame_2.png new file mode 100644 index 00000000..779cbf0d Binary files /dev/null and b/frame_2.png differ diff --git a/gd.js b/gd.js new file mode 100644 index 00000000..a06bf29a --- /dev/null +++ b/gd.js @@ -0,0 +1,2 @@ +var gdjs;(function(t){const i=new t.Logger("Engine runtime");let u;(function(n){const e=!0})(u=t.evtTools||(t.evtTools={})),t.objectsTypes=new Hashtable,t.behaviorsTypes=new Hashtable,t.callbacksFirstRuntimeSceneLoaded=[],t.callbacksRuntimeSceneLoaded=[],t.callbacksRuntimeScenePreEvents=[],t.callbacksRuntimeScenePostEvents=[],t.callbacksRuntimeScenePaused=[],t.callbacksRuntimeSceneResumed=[],t.callbacksRuntimeSceneUnloading=[],t.callbacksRuntimeSceneUnloaded=[],t.callbacksObjectDeletedFromScene=[],t.gdevelopLogo="",t.rgbToHex=function(e,n,r){return""+((1<<24)+(e<<16)+(n<<8)+r).toString(16).slice(1)},t.hexToRGBColor=function(e){const n=parseInt(e.replace("#",""),16);return Number.isFinite(n)?[n>>16&255,n>>8&255,n&255]:[0,0,0]},t.rgbOrHexToRGBColor=function(e){const n=e.split(";");return n.length===3?[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]:t.hexToRGBColor(e)},t.rgbOrHexStringToNumber=e=>{const n=t.rgbOrHexToRGBColor(e);return t.rgbToHexNumber(n[0],n[1],n[2])},t.rgbToHexNumber=function(e,n,r){return(e<<16)+(n<<8)+r},t.hexNumberToRGB=e=>({r:e>>16&255,g:e>>8&255,b:e&255,a:255}),t.hexNumberToRGBArray=e=>[e>>16&255,e>>8&255,e&255],t.random=function(e){return e<=0?0:Math.floor(Math.random()*(e+1))},t.randomInRange=function(e,n){return e+t.random(n-e)},t.randomFloat=function(e){return e<=0?0:Math.random()*e},t.randomFloatInRange=function(e,n){return e+t.randomFloat(n-e)},t.randomWithStep=function(e,n,r){return r<=0?e+t.random(n-e):e+t.random(Math.floor((n-e)/r))*r},t.toRad=function(e){return e/180*Math.PI},t.toDegrees=function(e){return e*180/Math.PI},t.registerObject=function(e,n){t.objectsTypes.put(e,n)},t.registerBehavior=function(e,n){t.behaviorsTypes.put(e,n)},t.registerFirstRuntimeSceneLoadedCallback=function(e){t.callbacksFirstRuntimeSceneLoaded.push(e)},t.registerRuntimeSceneLoadedCallback=function(e){t.callbacksRuntimeSceneLoaded.push(e)},t.registerRuntimeScenePreEventsCallback=function(e){t.callbacksRuntimeScenePreEvents.push(e)},t.registerRuntimeScenePostEventsCallback=function(e){t.callbacksRuntimeScenePostEvents.push(e)},t.registerRuntimeScenePausedCallback=function(e){t.callbacksRuntimeScenePaused.push(e)},t.registerRuntimeSceneResumedCallback=function(e){t.callbacksRuntimeSceneResumed.push(e)},t.registerRuntimeSceneUnloadingCallback=function(e){t.callbacksRuntimeSceneUnloading.push(e)},t.registerRuntimeSceneUnloadedCallback=function(e){t.callbacksRuntimeSceneUnloaded.push(e)},t.registerObjectDeletedFromSceneCallback=function(e){t.callbacksObjectDeletedFromScene.push(e)},t._unregisterCallback=function(e){const n=r=>{for(let o=0;oa?(a^Math.random()*16>>a/4).toString(16):(""+1e7+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,o);return o()}if(!t.makeUuid.hex){t.makeUuid.hex=[];for(var e=0;e<256;e++)t.makeUuid.hex[e]=(e<16?"0":"")+e.toString(16)}const n=t.makeUuid.hex;var r=crypto.getRandomValues(new Uint8Array(16));return r[6]=r[6]&15|64,r[8]=r[8]&63|128,n[r[0]]+n[r[1]]+n[r[2]]+n[r[3]]+"-"+n[r[4]]+n[r[5]]+"-"+n[r[6]]+n[r[7]]+"-"+n[r[8]]+n[r[9]]+"-"+n[r[10]]+n[r[11]]+n[r[12]]+n[r[13]]+n[r[14]]+n[r[15]]},t.nearlyEqual=(e,n,r)=>{const o=Math.abs(e),a=Math.abs(n),c=Math.abs(e-n);return e===n?!0:e==0||n==0||o+a{l.push(e)},t.getAllAsynchronouslyLoadingLibraryPromise=()=>Promise.all(l)})(gdjs||(gdjs={})),console.warn=console.warn||console.log,console.error=console.error||console.log; +//# sourceMappingURL=gd.js.map diff --git a/gdjs-evtsext__alignobject__toscenecenter-func.js b/gdjs-evtsext__alignobject__toscenecenter-func.js new file mode 100644 index 00000000..e7b2d227 --- /dev/null +++ b/gdjs-evtsext__alignobject__toscenecenter-func.js @@ -0,0 +1,91 @@ + +if (typeof gdjs.evtsExt__AlignObject__ToSceneCenter !== "undefined") { + gdjs.evtsExt__AlignObject__ToSceneCenter.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__AlignObject__ToSceneCenter = {}; +gdjs.evtsExt__AlignObject__ToSceneCenter.GDObjectToAlignObjects1= []; +gdjs.evtsExt__AlignObject__ToSceneCenter.GDObjectToAlignObjects2= []; + + +gdjs.evtsExt__AlignObject__ToSceneCenter.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("ObjectToAlign"), gdjs.evtsExt__AlignObject__ToSceneCenter.GDObjectToAlignObjects1); +{for(var i = 0, len = gdjs.evtsExt__AlignObject__ToSceneCenter.GDObjectToAlignObjects1.length ;i < len;++i) { + gdjs.evtsExt__AlignObject__ToSceneCenter.GDObjectToAlignObjects1[i].setX(gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) / 2 - (gdjs.evtsExt__AlignObject__ToSceneCenter.GDObjectToAlignObjects1[i].getWidth()) / 2); +} +}} + +} + + +}; + +gdjs.evtsExt__AlignObject__ToSceneCenter.func = function(runtimeScene, ObjectToAlign, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +"ObjectToAlign": ObjectToAlign +}, + _objectArraysMap: { +"ObjectToAlign": gdjs.objectsListsToArray(ObjectToAlign) +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + +gdjs.evtsExt__AlignObject__ToSceneCenter.GDObjectToAlignObjects1.length = 0; +gdjs.evtsExt__AlignObject__ToSceneCenter.GDObjectToAlignObjects2.length = 0; + +gdjs.evtsExt__AlignObject__ToSceneCenter.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__AlignObject__ToSceneCenter.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__alignobject__toscenecentered-func.js b/gdjs-evtsext__alignobject__toscenecentered-func.js new file mode 100644 index 00000000..9fd9251a --- /dev/null +++ b/gdjs-evtsext__alignobject__toscenecentered-func.js @@ -0,0 +1,91 @@ + +if (typeof gdjs.evtsExt__AlignObject__ToSceneCentered !== "undefined") { + gdjs.evtsExt__AlignObject__ToSceneCentered.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__AlignObject__ToSceneCentered = {}; +gdjs.evtsExt__AlignObject__ToSceneCentered.GDObjectToCenterObjects1= []; +gdjs.evtsExt__AlignObject__ToSceneCentered.GDObjectToCenterObjects2= []; + + +gdjs.evtsExt__AlignObject__ToSceneCentered.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("ObjectToCenter"), gdjs.evtsExt__AlignObject__ToSceneCentered.GDObjectToCenterObjects1); +{for(var i = 0, len = gdjs.evtsExt__AlignObject__ToSceneCentered.GDObjectToCenterObjects1.length ;i < len;++i) { + gdjs.evtsExt__AlignObject__ToSceneCentered.GDObjectToCenterObjects1[i].setPosition(gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) / 2 - (gdjs.evtsExt__AlignObject__ToSceneCentered.GDObjectToCenterObjects1[i].getWidth()) / 2,gdjs.evtTools.window.getGameResolutionHeight(runtimeScene) / 2 - (gdjs.evtsExt__AlignObject__ToSceneCentered.GDObjectToCenterObjects1[i].getHeight()) / 2); +} +}} + +} + + +}; + +gdjs.evtsExt__AlignObject__ToSceneCentered.func = function(runtimeScene, ObjectToCenter, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +"ObjectToCenter": ObjectToCenter +}, + _objectArraysMap: { +"ObjectToCenter": gdjs.objectsListsToArray(ObjectToCenter) +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + +gdjs.evtsExt__AlignObject__ToSceneCentered.GDObjectToCenterObjects1.length = 0; +gdjs.evtsExt__AlignObject__ToSceneCentered.GDObjectToCenterObjects2.length = 0; + +gdjs.evtsExt__AlignObject__ToSceneCentered.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__AlignObject__ToSceneCentered.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__bounce__bounce.js b/gdjs-evtsext__bounce__bounce.js new file mode 100644 index 00000000..d0638add --- /dev/null +++ b/gdjs-evtsext__bounce__bounce.js @@ -0,0 +1,784 @@ + +gdjs.evtsExt__Bounce__Bounce = gdjs.evtsExt__Bounce__Bounce || {}; + +/** + * Behavior generated from Bounce + */ +gdjs.evtsExt__Bounce__Bounce.Bounce = class Bounce extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__Bounce__Bounce.Bounce.getSharedData( + instanceContainer, + behaviorData.name + ); + + this._behaviorData.OldX = Number("0") || 0; + this._behaviorData.OldY = Number("") || 0; + this._behaviorData.OldForceAngle = Number("") || 0; + this._behaviorData.OldForceLength = Number("") || 0; + this._behaviorData.NormalAngle = Number("") || 0; + this._behaviorData.BounceCount = Number("0") || 0; + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + if (oldBehaviorData.OldX !== newBehaviorData.OldX) + this._behaviorData.OldX = newBehaviorData.OldX; + if (oldBehaviorData.OldY !== newBehaviorData.OldY) + this._behaviorData.OldY = newBehaviorData.OldY; + if (oldBehaviorData.OldForceAngle !== newBehaviorData.OldForceAngle) + this._behaviorData.OldForceAngle = newBehaviorData.OldForceAngle; + if (oldBehaviorData.OldForceLength !== newBehaviorData.OldForceLength) + this._behaviorData.OldForceLength = newBehaviorData.OldForceLength; + if (oldBehaviorData.NormalAngle !== newBehaviorData.NormalAngle) + this._behaviorData.NormalAngle = newBehaviorData.NormalAngle; + if (oldBehaviorData.BounceCount !== newBehaviorData.BounceCount) + this._behaviorData.BounceCount = newBehaviorData.BounceCount; + + return true; + } + + // Properties: + + _getOldX() { + return this._behaviorData.OldX !== undefined ? this._behaviorData.OldX : Number("0") || 0; + } + _setOldX(newValue) { + this._behaviorData.OldX = newValue; + } + _getOldY() { + return this._behaviorData.OldY !== undefined ? this._behaviorData.OldY : Number("") || 0; + } + _setOldY(newValue) { + this._behaviorData.OldY = newValue; + } + _getOldForceAngle() { + return this._behaviorData.OldForceAngle !== undefined ? this._behaviorData.OldForceAngle : Number("") || 0; + } + _setOldForceAngle(newValue) { + this._behaviorData.OldForceAngle = newValue; + } + _getOldForceLength() { + return this._behaviorData.OldForceLength !== undefined ? this._behaviorData.OldForceLength : Number("") || 0; + } + _setOldForceLength(newValue) { + this._behaviorData.OldForceLength = newValue; + } + _getNormalAngle() { + return this._behaviorData.NormalAngle !== undefined ? this._behaviorData.NormalAngle : Number("") || 0; + } + _setNormalAngle(newValue) { + this._behaviorData.NormalAngle = newValue; + } + _getBounceCount() { + return this._behaviorData.BounceCount !== undefined ? this._behaviorData.BounceCount : Number("0") || 0; + } + _setBounceCount(newValue) { + this._behaviorData.BounceCount = newValue; + } +} + +/** + * Shared data generated from Bounce + */ +gdjs.evtsExt__Bounce__Bounce.Bounce.SharedData = class BounceSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__Bounce__Bounce.Bounce.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._Bounce_BounceSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._Bounce_BounceSharedData = new gdjs.evtsExt__Bounce__Bounce.Bounce.SharedData( + initialData + ); + } + return instanceContainer._Bounce_BounceSharedData; +} + +// Methods: +gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext = {}; +gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObjectObjects1_1final = []; + +gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObjectObjects1= []; +gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObjectObjects2= []; +gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObstacleObjects1= []; +gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObstacleObjects2= []; + + +gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.mapOfGDgdjs_9546evtsExt_9595_9595Bounce_9595_9595Bounce_9546Bounce_9546prototype_9546BounceOffContext_9546GDObstacleObjects1Objects = Hashtable.newFrom({"Obstacle": gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObstacleObjects1}); +gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +/* Reuse gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObjectObjects1 */ + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObjectObjects1_1final.length = 0; +let isConditionTrue_1 = false; +isConditionTrue_0 = false; +{ +gdjs.copyArray(gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObjectObjects1, gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObjectObjects2); + +for (var i = 0, k = 0, l = gdjs.evtsExt__Bounce__Bounce.Bounce.prototype.BounceOffContext.GDObjectObjects2.length;i + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__IsShaking = {}; + + +gdjs.evtsExt__CameraShake__IsShaking.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Time")) < gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Duration")); +if (isConditionTrue_0) { +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = true; }}} + +} + + +}; + +gdjs.evtsExt__CameraShake__IsShaking.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__IsShaking.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__CameraShake__IsShaking.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__camerashake__noise2d-func.js b/gdjs-evtsext__camerashake__noise2d-func.js new file mode 100644 index 00000000..9797477f --- /dev/null +++ b/gdjs-evtsext__camerashake__noise2d-func.js @@ -0,0 +1,90 @@ + +if (typeof gdjs.evtsExt__CameraShake__Noise2d !== "undefined") { + gdjs.evtsExt__CameraShake__Noise2d.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__Noise2d = {}; + + +gdjs.evtsExt__CameraShake__Noise2d.userFunc0x20adbf8 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +const name = eventsFunctionContext.getArgument("Name"); +const x = eventsFunctionContext.getArgument("X"); +const y = eventsFunctionContext.getArgument("Y"); + +eventsFunctionContext.returnValue = gdjs._cameraShakeExtension.noiseManager.getGenerator(name).noise(x, y); +}; +gdjs.evtsExt__CameraShake__Noise2d.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__CameraShake__Noise2d.userFunc0x20adbf8(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__CameraShake__Noise2d.func = function(runtimeScene, Name, X, Y, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Name") return Name; +if (argName === "X") return X; +if (argName === "Y") return Y; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__Noise2d.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} + +gdjs.evtsExt__CameraShake__Noise2d.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__camerashake__onfirstsceneloaded-func.js b/gdjs-evtsext__camerashake__onfirstsceneloaded-func.js new file mode 100644 index 00000000..4b24236f --- /dev/null +++ b/gdjs-evtsext__camerashake__onfirstsceneloaded-func.js @@ -0,0 +1,719 @@ + +if (typeof gdjs.evtsExt__CameraShake__onFirstSceneLoaded !== "undefined") { + gdjs.evtsExt__CameraShake__onFirstSceneLoaded.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__onFirstSceneLoaded = {}; + + +gdjs.evtsExt__CameraShake__onFirstSceneLoaded.userFunc0x20ad670 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +if (gdjs._cameraShakeExtension) { + return; +} + +/** Noise generator manager. */ +class NoiseManager { + /** + * Create the manager of noise generators. + */ + constructor() { + this.seed = gdjs.randomInRange(1, Number.MAX_SAFE_INTEGER); + /** @type {Map} */ + this.generators = new Map(); + } + + /** + * @param name {string} + * @return {NoiseGenerator} + */ + getGenerator(name) { + let generator = this.generators.get(name); + if (!generator) { + generator = new NoiseGenerator(name + this.seed); + this.generators.set(name, generator); + } + return generator; + } + + /** + * @param seed {number} + */ + setSeed(seed) { + this.seed = seed; + this.generators.forEach(generator => generator.setSeed(name + this.seed)); + } + + /** + * @param name {string} + */ + deleteGenerator(name) { + this.generators.delete(name); + } + + /** + */ + deleteAllGenerators() { + this.generators.clear(); + } +} + +/** Noise generator with octaves. */ +class NoiseGenerator { + /** + * Create a noise generator with a seed. + * @param seed {string} + */ + constructor(seed) { + this.simplexNoise = new SimplexNoise(seed); + this.frequency = 1; + this.octaves = 1; + this.persistence = 0.5; + this.lacunarity = 2; + this.xLoopPeriod = 0; + this.yLoopPeriod = 0; + } + + /** + * @param seed {string} + */ + setSeed(seed) { + this.simplexNoise = new SimplexNoise(seed); + } + + /** + * @param x {float} + * @param y {float} + * @param z {float} optionnal + * @param w {float} optionnal + * @return {float} + */ + noise(x, y, z, w) { + if (this.xLoopPeriod && this.yLoopPeriod) { + const circleRatioX = 2 * Math.PI / this.xLoopPeriod; + const circleRatioY = 2 * Math.PI / this.yLoopPeriod; + const angleX = circleRatioX * x; + const angleY = circleRatioY * y; + x = Math.cos(angleX) / circleRatioX; + y = Math.sin(angleX) / circleRatioX; + z = Math.cos(angleY) / circleRatioY; + w = Math.sin(angleY) / circleRatioY; + } + else if (this.xLoopPeriod) { + const circleRatio = 2 * Math.PI / this.xLoopPeriod; + const angleX = circleRatio * x; + w = z; + z = y; + x = Math.cos(angleX) / circleRatio; + y = Math.sin(angleX) / circleRatio; + } + else if (this.yLoopPeriod) { + const circleRatio = 2 * Math.PI / this.xLoopPeriod; + const angleX = circleRatio * x; + w = z; + // Make the circle perimeter equals to the looping period + // to keep the same perceived frequency with or without looping. + y = Math.cos(angleX) / circleRatio; + z = Math.sin(angleX) / circleRatio; + } + let noiseFunction = this.simplexNoise.noise4D.bind(this.simplexNoise); + if (z === undefined) { + noiseFunction = this.simplexNoise.noise2D.bind(this.simplexNoise); + } + else if (w === undefined) { + noiseFunction = this.simplexNoise.noise3D.bind(this.simplexNoise); + } + let frequency = this.frequency; + let noiseSum = 0; + let amplitudeSum = 0; + let amplitude = 1; + for (let i = 0; i < this.octaves; i++) { + noiseSum += noiseFunction(x * frequency, y * frequency, z * frequency, w * frequency) * amplitude; + amplitudeSum += Math.abs(amplitude); + amplitude *= this.persistence; + frequency *= this.lacunarity; + } + return noiseSum / amplitudeSum; + } +} + +/* +A fast javascript implementation of simplex noise by Jonas Wagner +https://github.com/jwagner/simplex-noise.js + +Based on a speed-improved simplex noise algorithm for 2D, 3D and 4D in Java. +Which is based on example code by Stefan Gustavson (stegu@itn.liu.se). +With Optimisations by Peter Eastman (peastman@drizzle.stanford.edu). +Better rank ordering method by Stefan Gustavson in 2012. + + Copyright (c) 2021 Jonas Wagner + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + */ + +const F2 = 0.5 * (Math.sqrt(3.0) - 1.0); +const G2 = (3.0 - Math.sqrt(3.0)) / 6.0; +const F3 = 1.0 / 3.0; +const G3 = 1.0 / 6.0; +const F4 = (Math.sqrt(5.0) - 1.0) / 4.0; +const G4 = (5.0 - Math.sqrt(5.0)) / 20.0; +const grad3 = new Float32Array([1, 1, 0, + -1, 1, 0, + 1, -1, 0, + -1, -1, 0, + 1, 0, 1, + -1, 0, 1, + 1, 0, -1, + -1, 0, -1, + 0, 1, 1, + 0, -1, 1, + 0, 1, -1, + 0, -1, -1]); +const grad4 = new Float32Array([0, 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1, + 0, -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1, + 1, 0, 1, 1, 1, 0, 1, -1, 1, 0, -1, 1, 1, 0, -1, -1, + -1, 0, 1, 1, -1, 0, 1, -1, -1, 0, -1, 1, -1, 0, -1, -1, + 1, 1, 0, 1, 1, 1, 0, -1, 1, -1, 0, 1, 1, -1, 0, -1, + -1, 1, 0, 1, -1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, -1, + 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1, 0, + -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1, 0]); + + +/** + * Builds a random permutation table. + * This is exported only for (internal) testing purposes. + * Do not rely on this export. + * @param {() => number} random + * @private + */ +function buildPermutationTable(random) { + const p = new Uint8Array(256); + for (let i = 0; i < 256; i++) { + p[i] = i; + } + for (let i = 0; i < 255; i++) { + const r = i + ~~(random() * (256 - i)); + const aux = p[i]; + p[i] = p[r]; + p[r] = aux; + } + return p; +} + +/* +The ALEA PRNG and masher code used by simplex-noise.js +is based on code by Johannes Baagøe, modified by Jonas Wagner. +See alea.md for the full license. +@param {string|number} seed +*/ +function alea(seed) { + let s0 = 0; + let s1 = 0; + let s2 = 0; + let c = 1; + const mash = masher(); + s0 = mash(' '); + s1 = mash(' '); + s2 = mash(' '); + s0 -= mash(seed); + if (s0 < 0) { + s0 += 1; + } + s1 -= mash(seed); + if (s1 < 0) { + s1 += 1; + } + s2 -= mash(seed); + if (s2 < 0) { + s2 += 1; + } + return function () { + const t = 2091639 * s0 + c * 2.3283064365386963e-10; // 2^-32 + s0 = s1; + s1 = s2; + return s2 = t - (c = t | 0); + }; +} + +function masher() { + let n = 0xefc8249d; + return function (data) { + data = data.toString(); + for (let i = 0; i < data.length; i++) { + n += data.charCodeAt(i); + let h = 0.02519603282416938 * n; + n = h >>> 0; + h -= n; + h *= n; + n = h >>> 0; + h -= n; + n += h * 0x100000000; // 2^32 + } + return (n >>> 0) * 2.3283064365386963e-10; // 2^-32 + }; +} + +/** Deterministic simplex noise generator suitable for 2D, 3D and 4D spaces. */ +class SimplexNoise { + /** + * Creates a new `SimplexNoise` instance. + * This involves some setup. You can save a few cpu cycles by reusing the same instance. + * @param {(() => number)|string|number} randomOrSeed A random number generator or a seed (string|number). + * Defaults to Math.random (random irreproducible initialization). + */ + constructor(randomOrSeed) { + if (randomOrSeed === void 0) { randomOrSeed = Math.random; } + const random = typeof randomOrSeed == 'function' ? randomOrSeed : alea(randomOrSeed); + this.p = buildPermutationTable(random); + this.perm = new Uint8Array(512); + this.permMod12 = new Uint8Array(512); + for (let i = 0; i < 512; i++) { + this.perm[i] = this.p[i & 255]; + this.permMod12[i] = this.perm[i] % 12; + } + } + + /** + * Samples the noise field in 2 dimensions + * @param {number} x + * @param {number} y + * @returns a number in the interval [-1, 1] + */ + noise2D(x, y) { + const permMod12 = this.permMod12; + const perm = this.perm; + let n0 = 0; // Noise contributions from the three corners + let n1 = 0; + let n2 = 0; + // Skew the input space to determine which simplex cell we're in + const s = (x + y) * F2; // Hairy factor for 2D + const i = Math.floor(x + s); + const j = Math.floor(y + s); + const t = (i + j) * G2; + const X0 = i - t; // Unskew the cell origin back to (x,y) space + const Y0 = j - t; + const x0 = x - X0; // The x,y distances from the cell origin + const y0 = y - Y0; + // For the 2D case, the simplex shape is an equilateral triangle. + // Determine which simplex we are in. + let i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords + if (x0 > y0) { + i1 = 1; + j1 = 0; + } // lower triangle, XY order: (0,0)->(1,0)->(1,1) + else { + i1 = 0; + j1 = 1; + } // upper triangle, YX order: (0,0)->(0,1)->(1,1) + // A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and + // a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where + // c = (3-sqrt(3))/6 + const x1 = x0 - i1 + G2; // Offsets for middle corner in (x,y) unskewed coords + const y1 = y0 - j1 + G2; + const x2 = x0 - 1.0 + 2.0 * G2; // Offsets for last corner in (x,y) unskewed coords + const y2 = y0 - 1.0 + 2.0 * G2; + // Work out the hashed gradient indices of the three simplex corners + const ii = i & 255; + const jj = j & 255; + // Calculate the contribution from the three corners + let t0 = 0.5 - x0 * x0 - y0 * y0; + if (t0 >= 0) { + const gi0 = permMod12[ii + perm[jj]] * 3; + t0 *= t0; + n0 = t0 * t0 * (grad3[gi0] * x0 + grad3[gi0 + 1] * y0); // (x,y) of grad3 used for 2D gradient + } + let t1 = 0.5 - x1 * x1 - y1 * y1; + if (t1 >= 0) { + const gi1 = permMod12[ii + i1 + perm[jj + j1]] * 3; + t1 *= t1; + n1 = t1 * t1 * (grad3[gi1] * x1 + grad3[gi1 + 1] * y1); + } + let t2 = 0.5 - x2 * x2 - y2 * y2; + if (t2 >= 0) { + const gi2 = permMod12[ii + 1 + perm[jj + 1]] * 3; + t2 *= t2; + n2 = t2 * t2 * (grad3[gi2] * x2 + grad3[gi2 + 1] * y2); + } + // Add contributions from each corner to get the final noise value. + // The result is scaled to return values in the interval [-1,1]. + return 70.0 * (n0 + n1 + n2); + } + + /** + * Samples the noise field in 3 dimensions + * @param {number} x + * @param {number} y + * @param {number} z + * @returns a number in the interval [-1, 1] + */ + noise3D(x, y, z) { + const permMod12 = this.permMod12; + const perm = this.perm; + let n0, n1, n2, n3; // Noise contributions from the four corners + // Skew the input space to determine which simplex cell we're in + const s = (x + y + z) * F3; // Very nice and simple skew factor for 3D + const i = Math.floor(x + s); + const j = Math.floor(y + s); + const k = Math.floor(z + s); + const t = (i + j + k) * G3; + const X0 = i - t; // Unskew the cell origin back to (x,y,z) space + const Y0 = j - t; + const Z0 = k - t; + const x0 = x - X0; // The x,y,z distances from the cell origin + const y0 = y - Y0; + const z0 = z - Z0; + // For the 3D case, the simplex shape is a slightly irregular tetrahedron. + // Determine which simplex we are in. + let i1, j1, k1; // Offsets for second corner of simplex in (i,j,k) coords + let i2, j2, k2; // Offsets for third corner of simplex in (i,j,k) coords + if (x0 >= y0) { + if (y0 >= z0) { + i1 = 1; + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 1; + k2 = 0; + } // X Y Z order + else if (x0 >= z0) { + i1 = 1; + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 0; + k2 = 1; + } // X Z Y order + else { + i1 = 0; + j1 = 0; + k1 = 1; + i2 = 1; + j2 = 0; + k2 = 1; + } // Z X Y order + } + else { // x0 y0) + rankx++; + else + ranky++; + if (x0 > z0) + rankx++; + else + rankz++; + if (x0 > w0) + rankx++; + else + rankw++; + if (y0 > z0) + ranky++; + else + rankz++; + if (y0 > w0) + ranky++; + else + rankw++; + if (z0 > w0) + rankz++; + else + rankw++; + // simplex[c] is a 4-vector with the numbers 0, 1, 2 and 3 in some order. + // Many values of c will never occur, since e.g. x>y>z>w makes x= 3 ? 1 : 0; + const j1 = ranky >= 3 ? 1 : 0; + const k1 = rankz >= 3 ? 1 : 0; + const l1 = rankw >= 3 ? 1 : 0; + // The integer offsets for the third simplex corner + const i2 = rankx >= 2 ? 1 : 0; + const j2 = ranky >= 2 ? 1 : 0; + const k2 = rankz >= 2 ? 1 : 0; + const l2 = rankw >= 2 ? 1 : 0; + // The integer offsets for the fourth simplex corner + const i3 = rankx >= 1 ? 1 : 0; + const j3 = ranky >= 1 ? 1 : 0; + const k3 = rankz >= 1 ? 1 : 0; + const l3 = rankw >= 1 ? 1 : 0; + // The fifth corner has all coordinate offsets = 1, so no need to compute that. + const x1 = x0 - i1 + G4; // Offsets for second corner in (x,y,z,w) coords + const y1 = y0 - j1 + G4; + const z1 = z0 - k1 + G4; + const w1 = w0 - l1 + G4; + const x2 = x0 - i2 + 2.0 * G4; // Offsets for third corner in (x,y,z,w) coords + const y2 = y0 - j2 + 2.0 * G4; + const z2 = z0 - k2 + 2.0 * G4; + const w2 = w0 - l2 + 2.0 * G4; + const x3 = x0 - i3 + 3.0 * G4; // Offsets for fourth corner in (x,y,z,w) coords + const y3 = y0 - j3 + 3.0 * G4; + const z3 = z0 - k3 + 3.0 * G4; + const w3 = w0 - l3 + 3.0 * G4; + const x4 = x0 - 1.0 + 4.0 * G4; // Offsets for last corner in (x,y,z,w) coords + const y4 = y0 - 1.0 + 4.0 * G4; + const z4 = z0 - 1.0 + 4.0 * G4; + const w4 = w0 - 1.0 + 4.0 * G4; + // Work out the hashed gradient indices of the five simplex corners + const ii = i & 255; + const jj = j & 255; + const kk = k & 255; + const ll = l & 255; + // Calculate the contribution from the five corners + let t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0; + if (t0 < 0) + n0 = 0.0; + else { + const gi0 = (perm[ii + perm[jj + perm[kk + perm[ll]]]] % 32) * 4; + t0 *= t0; + n0 = t0 * t0 * (grad4[gi0] * x0 + grad4[gi0 + 1] * y0 + grad4[gi0 + 2] * z0 + grad4[gi0 + 3] * w0); + } + let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1; + if (t1 < 0) + n1 = 0.0; + else { + const gi1 = (perm[ii + i1 + perm[jj + j1 + perm[kk + k1 + perm[ll + l1]]]] % 32) * 4; + t1 *= t1; + n1 = t1 * t1 * (grad4[gi1] * x1 + grad4[gi1 + 1] * y1 + grad4[gi1 + 2] * z1 + grad4[gi1 + 3] * w1); + } + let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2; + if (t2 < 0) + n2 = 0.0; + else { + const gi2 = (perm[ii + i2 + perm[jj + j2 + perm[kk + k2 + perm[ll + l2]]]] % 32) * 4; + t2 *= t2; + n2 = t2 * t2 * (grad4[gi2] * x2 + grad4[gi2 + 1] * y2 + grad4[gi2 + 2] * z2 + grad4[gi2 + 3] * w2); + } + let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3; + if (t3 < 0) + n3 = 0.0; + else { + const gi3 = (perm[ii + i3 + perm[jj + j3 + perm[kk + k3 + perm[ll + l3]]]] % 32) * 4; + t3 *= t3; + n3 = t3 * t3 * (grad4[gi3] * x3 + grad4[gi3 + 1] * y3 + grad4[gi3 + 2] * z3 + grad4[gi3 + 3] * w3); + } + let t4 = 0.6 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4; + if (t4 < 0) + n4 = 0.0; + else { + const gi4 = (perm[ii + 1 + perm[jj + 1 + perm[kk + 1 + perm[ll + 1]]]] % 32) * 4; + t4 *= t4; + n4 = t4 * t4 * (grad4[gi4] * x4 + grad4[gi4 + 1] * y4 + grad4[gi4 + 2] * z4 + grad4[gi4 + 3] * w4); + } + // Sum up and scale the result to cover the range [-1,1] + return 27.0 * (n0 + n1 + n2 + n3 + n4); + }; +} + +gdjs._cameraShakeExtension = { + noiseManager: new NoiseManager(), +}; + +}; +gdjs.evtsExt__CameraShake__onFirstSceneLoaded.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__CameraShake__onFirstSceneLoaded.userFunc0x20ad670(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__CameraShake__onFirstSceneLoaded.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__onFirstSceneLoaded.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__onFirstSceneLoaded.registeredGdjsCallbacks = []; +gdjs.evtsExt__CameraShake__onFirstSceneLoaded.registeredGdjsCallbacks.push((runtimeScene) => { + gdjs.evtsExt__CameraShake__onFirstSceneLoaded.func(runtimeScene, runtimeScene); +}) +gdjs.registerFirstRuntimeSceneLoadedCallback(gdjs.evtsExt__CameraShake__onFirstSceneLoaded.registeredGdjsCallbacks[gdjs.evtsExt__CameraShake__onFirstSceneLoaded.registeredGdjsCallbacks.length - 1]); diff --git a/gdjs-evtsext__camerashake__onsceneloaded-func.js b/gdjs-evtsext__camerashake__onsceneloaded-func.js new file mode 100644 index 00000000..ff8776d3 --- /dev/null +++ b/gdjs-evtsext__camerashake__onsceneloaded-func.js @@ -0,0 +1,90 @@ + +if (typeof gdjs.evtsExt__CameraShake__onSceneLoaded !== "undefined") { + gdjs.evtsExt__CameraShake__onSceneLoaded.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__onSceneLoaded = {}; + + +gdjs.evtsExt__CameraShake__onSceneLoaded.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{gdjs.evtsExt__CameraShake__SetLayerShakable.func(runtimeScene, true, "", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{gdjs.evtsExt__CameraShake__SetDefaultShakingFrequency.func(runtimeScene, 12, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{gdjs.evtsExt__CameraShake__SetDefaultTranslationAmplitude.func(runtimeScene, 4, 4, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{gdjs.evtsExt__CameraShake__SetDefaultRotationAmplitude.func(runtimeScene, 0, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{gdjs.evtsExt__CameraShake__SetDefaultZoomAmplitude.func(runtimeScene, 1, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}} + +} + + +}; + +gdjs.evtsExt__CameraShake__onSceneLoaded.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__onSceneLoaded.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__onSceneLoaded.registeredGdjsCallbacks = []; +gdjs.evtsExt__CameraShake__onSceneLoaded.registeredGdjsCallbacks.push((runtimeScene) => { + gdjs.evtsExt__CameraShake__onSceneLoaded.func(runtimeScene, runtimeScene); +}) +gdjs.registerRuntimeSceneLoadedCallback(gdjs.evtsExt__CameraShake__onSceneLoaded.registeredGdjsCallbacks[gdjs.evtsExt__CameraShake__onSceneLoaded.registeredGdjsCallbacks.length - 1]); diff --git a/gdjs-evtsext__camerashake__onscenepostevents-func.js b/gdjs-evtsext__camerashake__onscenepostevents-func.js new file mode 100644 index 00000000..8a562395 --- /dev/null +++ b/gdjs-evtsext__camerashake__onscenepostevents-func.js @@ -0,0 +1,363 @@ + +if (typeof gdjs.evtsExt__CameraShake__onScenePostEvents !== "undefined") { + gdjs.evtsExt__CameraShake__onScenePostEvents.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__onScenePostEvents = {}; + + +gdjs.evtsExt__CameraShake__onScenePostEvents.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName").setString(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName")) == "__BaseLayer"; +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName").setString(""); +}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{gdjs.evtsExt__CameraShake__SetFrequency.func(runtimeScene, gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultFrequency")), "", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeX").setNumber(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultAmplitudeX"))); +}{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeY").setNumber(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultAmplitudeY"))); +}{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeAngle").setNumber(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultAmplitudeAngle"))); +}{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeZoom").setNumber(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultAmplitudeZoom"))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.variableChildExists(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer"), "Frequency"); +if (isConditionTrue_0) { +{gdjs.evtsExt__CameraShake__SetFrequency.func(runtimeScene, gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer").getChild("Frequency")), "", (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.variableChildExists(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer"), "AmplitudeX"); +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeX").setNumber(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer").getChild("AmplitudeX"))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.variableChildExists(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer"), "AmplitudeY"); +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeY").setNumber(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer").getChild("AmplitudeY"))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.variableChildExists(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer"), "AmplitudeAngle"); +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeAngle").setNumber(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer").getChild("AmplitudeAngle"))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.variableChildExists(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer"), "AmplitudeZoom"); +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeZoom").setNumber(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer").getChild("AmplitudeZoom"))); +}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeX")) != 0; +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaX").setNumber(gdjs.evtsExt__CameraShake__Noise2d.func(runtimeScene, "", gdjs.evtTools.runtimeScene.getTimeFromStartInSeconds(runtimeScene), 1000, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeX")) * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("EaseFactor"))); +}{gdjs.evtTools.camera.setCameraX(runtimeScene, gdjs.evtTools.camera.getCameraX(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0) + (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaX"))), gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeY")) != 0; +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaY").setNumber(gdjs.evtsExt__CameraShake__Noise2d.func(runtimeScene, "", gdjs.evtTools.runtimeScene.getTimeFromStartInSeconds(runtimeScene), 2000, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeY")) * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("EaseFactor"))); +}{gdjs.evtTools.camera.setCameraY(runtimeScene, gdjs.evtTools.camera.getCameraY(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0) + (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaY"))), gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeAngle")) != 0; +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaAngle").setNumber(gdjs.evtsExt__CameraShake__Noise2d.func(runtimeScene, "", gdjs.evtTools.runtimeScene.getTimeFromStartInSeconds(runtimeScene), 3000, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeAngle")) * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("EaseFactor"))); +}{gdjs.evtTools.camera.setCameraRotation(runtimeScene, gdjs.evtTools.camera.getCameraRotation(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0) + (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaAngle"))), gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeZoom")) != 1; +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaZoom").setNumber(Math.pow(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeZoom")), gdjs.evtsExt__CameraShake__Noise2d.func(runtimeScene, "", gdjs.evtTools.runtimeScene.getTimeFromStartInSeconds(runtimeScene), 4000, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)) * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("EaseFactor")))); +}{gdjs.evtTools.camera.setCameraZoom(runtimeScene, gdjs.evtTools.camera.getCameraZoom(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0) * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaZoom")), gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0); +}} + +} + + +};gdjs.evtsExt__CameraShake__onScenePostEvents.eventsList1 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Time")) < gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StartEaseDuration")); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +isConditionTrue_0 = !(gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Time")) > gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Duration")) - gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StopEaseDuration"))); +} +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("EaseFactor").setNumber(gdjs.evtTools.common.clamp(0, 1, gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Time")) / gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StartEaseDuration")))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Time")) > gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Duration")) - gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StopEaseDuration")); +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("EaseFactor").setNumber(gdjs.evtTools.common.clamp(0, 1, (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Duration")) - gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Time"))) / gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StopEaseDuration")))); +}} + +} + + +{ + + +const keyIteratorReference2 = runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"); +const valueIteratorReference2 = runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer"); +const iterableReference2 = runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers"); +if(!iterableReference2.isPrimitive()) { +for( + const iteratorKey2 in + iterableReference2.getType() === "structure" + ? iterableReference2.getAllChildren() + : iterableReference2.getType() === "array" + ? iterableReference2.getAllChildrenArray() + : [] +) { + if(iterableReference2.getType() === "structure") + keyIteratorReference2.setString(iteratorKey2); + else if(iterableReference2.getType() === "array") + keyIteratorReference2.setNumber(iteratorKey2); + const structureChildVariable2 = iterableReference2.getChild(iteratorKey2) + valueIteratorReference2.castTo(structureChildVariable2.getType()) + if(structureChildVariable2.isPrimitive()) { + valueIteratorReference2.setValue(structureChildVariable2.getValue()); + } else if (structureChildVariable2.getType() === "structure") { + // Structures are passed by reference like JS objects + valueIteratorReference2.replaceChildren(structureChildVariable2.getAllChildren()); + } else if (structureChildVariable2.getType() === "array") { + // Arrays are passed by reference like JS objects + valueIteratorReference2.replaceChildrenArray(structureChildVariable2.getAllChildrenArray()); + } else console.warn("Cannot identify type: ", type); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("Shakable"), true); +if (isConditionTrue_0) +{ + +{ //Subevents: +gdjs.evtsExt__CameraShake__onScenePostEvents.eventsList0(runtimeScene, eventsFunctionContext);} //Subevents end. +} +} +} + +} + + +};gdjs.evtsExt__CameraShake__onScenePostEvents.eventsList2 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Time").add(gdjs.evtTools.runtimeScene.getElapsedTimeInSeconds(runtimeScene)); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtsExt__CameraShake__IsShaking.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("EaseFactor").setNumber(1); +} +{ //Subevents +gdjs.evtsExt__CameraShake__onScenePostEvents.eventsList1(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +}; + +gdjs.evtsExt__CameraShake__onScenePostEvents.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__onScenePostEvents.eventsList2(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__onScenePostEvents.registeredGdjsCallbacks = []; +gdjs.evtsExt__CameraShake__onScenePostEvents.registeredGdjsCallbacks.push((runtimeScene) => { + gdjs.evtsExt__CameraShake__onScenePostEvents.func(runtimeScene, runtimeScene); +}) +gdjs.registerRuntimeScenePostEventsCallback(gdjs.evtsExt__CameraShake__onScenePostEvents.registeredGdjsCallbacks[gdjs.evtsExt__CameraShake__onScenePostEvents.registeredGdjsCallbacks.length - 1]); diff --git a/gdjs-evtsext__camerashake__onscenepreevents-func.js b/gdjs-evtsext__camerashake__onscenepreevents-func.js new file mode 100644 index 00000000..f89d026d --- /dev/null +++ b/gdjs-evtsext__camerashake__onscenepreevents-func.js @@ -0,0 +1,223 @@ + +if (typeof gdjs.evtsExt__CameraShake__onScenePreEvents !== "undefined") { + gdjs.evtsExt__CameraShake__onScenePreEvents.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__onScenePreEvents = {}; + + +gdjs.evtsExt__CameraShake__onScenePreEvents.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName").setString(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName")) == "__BaseLayer"; +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName").setString(""); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeX")) != 0; +if (isConditionTrue_0) { +{gdjs.evtTools.camera.setCameraX(runtimeScene, gdjs.evtTools.camera.getCameraX(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0) - (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaX"))), gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeY")) != 0; +if (isConditionTrue_0) { +{gdjs.evtTools.camera.setCameraY(runtimeScene, gdjs.evtTools.camera.getCameraY(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0) - (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaY"))), gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeAngle")) != 0; +if (isConditionTrue_0) { +{gdjs.evtTools.camera.setCameraRotation(runtimeScene, gdjs.evtTools.camera.getCameraRotation(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0) - (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaAngle"))), gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("AmplitudeZoom")) != 1; +if (isConditionTrue_0) { +{gdjs.evtTools.camera.setCameraZoom(runtimeScene, gdjs.evtTools.camera.getCameraZoom(runtimeScene, gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0) / gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("CameraDeltaZoom")), gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("ActualLayerName")), 0); +}} + +} + + +};gdjs.evtsExt__CameraShake__onScenePreEvents.eventsList1 = function(runtimeScene, eventsFunctionContext) { + +{ + + +const keyIteratorReference2 = runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"); +const valueIteratorReference2 = runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layer"); +const iterableReference2 = runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers"); +if(!iterableReference2.isPrimitive()) { +for( + const iteratorKey2 in + iterableReference2.getType() === "structure" + ? iterableReference2.getAllChildren() + : iterableReference2.getType() === "array" + ? iterableReference2.getAllChildrenArray() + : [] +) { + if(iterableReference2.getType() === "structure") + keyIteratorReference2.setString(iteratorKey2); + else if(iterableReference2.getType() === "array") + keyIteratorReference2.setNumber(iteratorKey2); + const structureChildVariable2 = iterableReference2.getChild(iteratorKey2) + valueIteratorReference2.castTo(structureChildVariable2.getType()) + if(structureChildVariable2.isPrimitive()) { + valueIteratorReference2.setValue(structureChildVariable2.getValue()); + } else if (structureChildVariable2.getType() === "structure") { + // Structures are passed by reference like JS objects + valueIteratorReference2.replaceChildren(structureChildVariable2.getAllChildren()); + } else if (structureChildVariable2.getType() === "array") { + // Arrays are passed by reference like JS objects + valueIteratorReference2.replaceChildrenArray(structureChildVariable2.getAllChildrenArray()); + } else console.warn("Cannot identify type: ", type); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableBoolean(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("Shakable"), true); +if (isConditionTrue_0) +{ + +{ //Subevents: +gdjs.evtsExt__CameraShake__onScenePreEvents.eventsList0(runtimeScene, eventsFunctionContext);} //Subevents end. +} +} +} + +} + + +};gdjs.evtsExt__CameraShake__onScenePreEvents.eventsList2 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtsExt__CameraShake__IsShaking.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +if (isConditionTrue_0) { + +{ //Subevents +gdjs.evtsExt__CameraShake__onScenePreEvents.eventsList1(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +}; + +gdjs.evtsExt__CameraShake__onScenePreEvents.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__onScenePreEvents.eventsList2(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__onScenePreEvents.registeredGdjsCallbacks = []; +gdjs.evtsExt__CameraShake__onScenePreEvents.registeredGdjsCallbacks.push((runtimeScene) => { + gdjs.evtsExt__CameraShake__onScenePreEvents.func(runtimeScene, runtimeScene); +}) +gdjs.registerRuntimeScenePreEventsCallback(gdjs.evtsExt__CameraShake__onScenePreEvents.registeredGdjsCallbacks[gdjs.evtsExt__CameraShake__onScenePreEvents.registeredGdjsCallbacks.length - 1]); diff --git a/gdjs-evtsext__camerashake__setdefaultrotationamplitude-func.js b/gdjs-evtsext__camerashake__setdefaultrotationamplitude-func.js new file mode 100644 index 00000000..8b79cb52 --- /dev/null +++ b/gdjs-evtsext__camerashake__setdefaultrotationamplitude-func.js @@ -0,0 +1,83 @@ + +if (typeof gdjs.evtsExt__CameraShake__SetDefaultRotationAmplitude !== "undefined") { + gdjs.evtsExt__CameraShake__SetDefaultRotationAmplitude.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__SetDefaultRotationAmplitude = {}; + + +gdjs.evtsExt__CameraShake__SetDefaultRotationAmplitude.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultAmplitudeAngle").setNumber(eventsFunctionContext.getArgument("AmplitudeAngle")); +}} + +} + + +}; + +gdjs.evtsExt__CameraShake__SetDefaultRotationAmplitude.func = function(runtimeScene, AmplitudeAngle, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "AmplitudeAngle") return AmplitudeAngle; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__SetDefaultRotationAmplitude.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__SetDefaultRotationAmplitude.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__camerashake__setdefaultshakingfrequency-func.js b/gdjs-evtsext__camerashake__setdefaultshakingfrequency-func.js new file mode 100644 index 00000000..1460aea9 --- /dev/null +++ b/gdjs-evtsext__camerashake__setdefaultshakingfrequency-func.js @@ -0,0 +1,83 @@ + +if (typeof gdjs.evtsExt__CameraShake__SetDefaultShakingFrequency !== "undefined") { + gdjs.evtsExt__CameraShake__SetDefaultShakingFrequency.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__SetDefaultShakingFrequency = {}; + + +gdjs.evtsExt__CameraShake__SetDefaultShakingFrequency.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultFrequency").setNumber(eventsFunctionContext.getArgument("Frequency")); +}} + +} + + +}; + +gdjs.evtsExt__CameraShake__SetDefaultShakingFrequency.func = function(runtimeScene, Frequency, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Frequency") return Frequency; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__SetDefaultShakingFrequency.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__SetDefaultShakingFrequency.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__camerashake__setdefaulttranslationamplitude-func.js b/gdjs-evtsext__camerashake__setdefaulttranslationamplitude-func.js new file mode 100644 index 00000000..6ed6ebd3 --- /dev/null +++ b/gdjs-evtsext__camerashake__setdefaulttranslationamplitude-func.js @@ -0,0 +1,85 @@ + +if (typeof gdjs.evtsExt__CameraShake__SetDefaultTranslationAmplitude !== "undefined") { + gdjs.evtsExt__CameraShake__SetDefaultTranslationAmplitude.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__SetDefaultTranslationAmplitude = {}; + + +gdjs.evtsExt__CameraShake__SetDefaultTranslationAmplitude.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultAmplitudeX").setNumber(eventsFunctionContext.getArgument("AmplitudeX")); +}{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultAmplitudeY").setNumber(eventsFunctionContext.getArgument("AmplitudeY")); +}} + +} + + +}; + +gdjs.evtsExt__CameraShake__SetDefaultTranslationAmplitude.func = function(runtimeScene, AmplitudeX, AmplitudeY, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "AmplitudeX") return AmplitudeX; +if (argName === "AmplitudeY") return AmplitudeY; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__SetDefaultTranslationAmplitude.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__SetDefaultTranslationAmplitude.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__camerashake__setdefaultzoomamplitude-func.js b/gdjs-evtsext__camerashake__setdefaultzoomamplitude-func.js new file mode 100644 index 00000000..131f4326 --- /dev/null +++ b/gdjs-evtsext__camerashake__setdefaultzoomamplitude-func.js @@ -0,0 +1,83 @@ + +if (typeof gdjs.evtsExt__CameraShake__SetDefaultZoomAmplitude !== "undefined") { + gdjs.evtsExt__CameraShake__SetDefaultZoomAmplitude.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__SetDefaultZoomAmplitude = {}; + + +gdjs.evtsExt__CameraShake__SetDefaultZoomAmplitude.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("DefaultAmplitudeZoom").setNumber(eventsFunctionContext.getArgument("AmplitudeZoom")); +}} + +} + + +}; + +gdjs.evtsExt__CameraShake__SetDefaultZoomAmplitude.func = function(runtimeScene, AmplitudeZoom, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "AmplitudeZoom") return AmplitudeZoom; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__SetDefaultZoomAmplitude.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__SetDefaultZoomAmplitude.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__camerashake__setfrequency-func.js b/gdjs-evtsext__camerashake__setfrequency-func.js new file mode 100644 index 00000000..e024426f --- /dev/null +++ b/gdjs-evtsext__camerashake__setfrequency-func.js @@ -0,0 +1,87 @@ + +if (typeof gdjs.evtsExt__CameraShake__SetFrequency !== "undefined") { + gdjs.evtsExt__CameraShake__SetFrequency.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__SetFrequency = {}; + + +gdjs.evtsExt__CameraShake__SetFrequency.userFunc0x20c5f78 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +const name = eventsFunctionContext.getArgument("Name"); + +gdjs._cameraShakeExtension.noiseManager.getGenerator(name).frequency = eventsFunctionContext.getArgument("Frequency"); +}; +gdjs.evtsExt__CameraShake__SetFrequency.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__CameraShake__SetFrequency.userFunc0x20c5f78(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__CameraShake__SetFrequency.func = function(runtimeScene, Frequency, Name, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Frequency") return Frequency; +if (argName === "Name") return Name; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__SetFrequency.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__SetFrequency.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__camerashake__setlayershakable-func.js b/gdjs-evtsext__camerashake__setlayershakable-func.js new file mode 100644 index 00000000..b7f72a08 --- /dev/null +++ b/gdjs-evtsext__camerashake__setlayershakable-func.js @@ -0,0 +1,126 @@ + +if (typeof gdjs.evtsExt__CameraShake__SetLayerShakable !== "undefined") { + gdjs.evtsExt__CameraShake__SetLayerShakable.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__SetLayerShakable = {}; + + +gdjs.evtsExt__CameraShake__SetLayerShakable.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName").setString(eventsFunctionContext.getArgument("Layer")); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (eventsFunctionContext.getArgument("Layer") == ""); +} +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName").setString("__BaseLayer"); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = !(typeof eventsFunctionContext !== 'undefined' ? !!eventsFunctionContext.getArgument("Shakable") : false); +} +if (isConditionTrue_0) { +{gdjs.evtTools.variable.setVariableBoolean(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("Shakable"), false); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (typeof eventsFunctionContext !== 'undefined' ? !!eventsFunctionContext.getArgument("Shakable") : false); +} +if (isConditionTrue_0) { +{gdjs.evtTools.variable.setVariableBoolean(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Layers").getChild(gdjs.evtTools.variable.getVariableString(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("LayerName"))).getChild("Shakable"), true); +}} + +} + + +}; + +gdjs.evtsExt__CameraShake__SetLayerShakable.func = function(runtimeScene, Shakable, Layer, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Shakable") return Shakable; +if (argName === "Layer") return Layer; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__SetLayerShakable.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__SetLayerShakable.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__camerashake__shakecamera-func.js b/gdjs-evtsext__camerashake__shakecamera-func.js new file mode 100644 index 00000000..3e6fe4a9 --- /dev/null +++ b/gdjs-evtsext__camerashake__shakecamera-func.js @@ -0,0 +1,102 @@ + +if (typeof gdjs.evtsExt__CameraShake__ShakeCamera !== "undefined") { + gdjs.evtsExt__CameraShake__ShakeCamera.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__CameraShake__ShakeCamera = {}; + + +gdjs.evtsExt__CameraShake__ShakeCamera.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Time").setNumber(0); +}{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Duration").setNumber(eventsFunctionContext.getArgument("Duration")); +}{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StartEaseDuration").setNumber(eventsFunctionContext.getArgument("StartEaseDuration")); +}{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StopEaseDuration").setNumber(eventsFunctionContext.getArgument("StopEaseDuration")); +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Duration")) < gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StartEaseDuration")) + gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StopEaseDuration")); +if (isConditionTrue_0) { +{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StartEaseDuration").setNumber(eventsFunctionContext.getArgument("StartEaseDuration") * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Duration")) / (eventsFunctionContext.getArgument("StartEaseDuration") + eventsFunctionContext.getArgument("StopEaseDuration"))); +}{runtimeScene.getScene().getVariables().get("__CameraShake").getChild("StopEaseDuration").setNumber(eventsFunctionContext.getArgument("StopEaseDuration") * gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__CameraShake").getChild("Duration")) / (eventsFunctionContext.getArgument("StartEaseDuration") + eventsFunctionContext.getArgument("StopEaseDuration"))); +}} + +} + + +}; + +gdjs.evtsExt__CameraShake__ShakeCamera.func = function(runtimeScene, Duration, StartEaseDuration, StopEaseDuration, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Duration") return Duration; +if (argName === "StartEaseDuration") return StartEaseDuration; +if (argName === "StopEaseDuration") return StopEaseDuration; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__CameraShake__ShakeCamera.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__CameraShake__ShakeCamera.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__ellipsemovement__ellipsemovement.js b/gdjs-evtsext__ellipsemovement__ellipsemovement.js new file mode 100644 index 00000000..9e028fec --- /dev/null +++ b/gdjs-evtsext__ellipsemovement__ellipsemovement.js @@ -0,0 +1,2207 @@ + +gdjs.evtsExt__EllipseMovement__EllipseMovement = gdjs.evtsExt__EllipseMovement__EllipseMovement || {}; + +/** + * Behavior generated from Ellipse movement + */ +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement = class EllipseMovement extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.getSharedData( + instanceContainer, + behaviorData.name + ); + + this._behaviorData.RadiusX = behaviorData.RadiusX !== undefined ? behaviorData.RadiusX : Number("100") || 0; + this._behaviorData.RadiusY = behaviorData.RadiusY !== undefined ? behaviorData.RadiusY : Number("0") || 0; + this._behaviorData.LoopDuration = behaviorData.LoopDuration !== undefined ? behaviorData.LoopDuration : Number("6") || 0; + this._behaviorData.InitialTurningLeft = behaviorData.InitialTurningLeft !== undefined ? behaviorData.InitialTurningLeft : false; + this._behaviorData.InitialDirectionAngle = behaviorData.InitialDirectionAngle !== undefined ? behaviorData.InitialDirectionAngle : Number("0") || 0; + this._behaviorData.ShouldRotate = behaviorData.ShouldRotate !== undefined ? behaviorData.ShouldRotate : false; + this._behaviorData.RotationOffset = behaviorData.RotationOffset !== undefined ? behaviorData.RotationOffset : Number("0") || 0; + this._behaviorData.CenterX = Number("0") || 0; + this._behaviorData.CenterY = Number("0") || 0; + this._behaviorData.MovementAngle = Number("0") || 0; + this._behaviorData.OldX = Number("") || 0; + this._behaviorData.OldY = Number("") || 0; + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + if (oldBehaviorData.RadiusX !== newBehaviorData.RadiusX) + this._behaviorData.RadiusX = newBehaviorData.RadiusX; + if (oldBehaviorData.RadiusY !== newBehaviorData.RadiusY) + this._behaviorData.RadiusY = newBehaviorData.RadiusY; + if (oldBehaviorData.LoopDuration !== newBehaviorData.LoopDuration) + this._behaviorData.LoopDuration = newBehaviorData.LoopDuration; + if (oldBehaviorData.InitialTurningLeft !== newBehaviorData.InitialTurningLeft) + this._behaviorData.InitialTurningLeft = newBehaviorData.InitialTurningLeft; + if (oldBehaviorData.InitialDirectionAngle !== newBehaviorData.InitialDirectionAngle) + this._behaviorData.InitialDirectionAngle = newBehaviorData.InitialDirectionAngle; + if (oldBehaviorData.ShouldRotate !== newBehaviorData.ShouldRotate) + this._behaviorData.ShouldRotate = newBehaviorData.ShouldRotate; + if (oldBehaviorData.RotationOffset !== newBehaviorData.RotationOffset) + this._behaviorData.RotationOffset = newBehaviorData.RotationOffset; + if (oldBehaviorData.CenterX !== newBehaviorData.CenterX) + this._behaviorData.CenterX = newBehaviorData.CenterX; + if (oldBehaviorData.CenterY !== newBehaviorData.CenterY) + this._behaviorData.CenterY = newBehaviorData.CenterY; + if (oldBehaviorData.MovementAngle !== newBehaviorData.MovementAngle) + this._behaviorData.MovementAngle = newBehaviorData.MovementAngle; + if (oldBehaviorData.OldX !== newBehaviorData.OldX) + this._behaviorData.OldX = newBehaviorData.OldX; + if (oldBehaviorData.OldY !== newBehaviorData.OldY) + this._behaviorData.OldY = newBehaviorData.OldY; + + return true; + } + + // Properties: + + _getRadiusX() { + return this._behaviorData.RadiusX !== undefined ? this._behaviorData.RadiusX : Number("100") || 0; + } + _setRadiusX(newValue) { + this._behaviorData.RadiusX = newValue; + } + _getRadiusY() { + return this._behaviorData.RadiusY !== undefined ? this._behaviorData.RadiusY : Number("0") || 0; + } + _setRadiusY(newValue) { + this._behaviorData.RadiusY = newValue; + } + _getLoopDuration() { + return this._behaviorData.LoopDuration !== undefined ? this._behaviorData.LoopDuration : Number("6") || 0; + } + _setLoopDuration(newValue) { + this._behaviorData.LoopDuration = newValue; + } + _getInitialTurningLeft() { + return this._behaviorData.InitialTurningLeft !== undefined ? this._behaviorData.InitialTurningLeft : false; + } + _setInitialTurningLeft(newValue) { + this._behaviorData.InitialTurningLeft = newValue; + } + _toggleInitialTurningLeft() { + this._setInitialTurningLeft(!this._getInitialTurningLeft()); + } + _getInitialDirectionAngle() { + return this._behaviorData.InitialDirectionAngle !== undefined ? this._behaviorData.InitialDirectionAngle : Number("0") || 0; + } + _setInitialDirectionAngle(newValue) { + this._behaviorData.InitialDirectionAngle = newValue; + } + _getShouldRotate() { + return this._behaviorData.ShouldRotate !== undefined ? this._behaviorData.ShouldRotate : false; + } + _setShouldRotate(newValue) { + this._behaviorData.ShouldRotate = newValue; + } + _toggleShouldRotate() { + this._setShouldRotate(!this._getShouldRotate()); + } + _getRotationOffset() { + return this._behaviorData.RotationOffset !== undefined ? this._behaviorData.RotationOffset : Number("0") || 0; + } + _setRotationOffset(newValue) { + this._behaviorData.RotationOffset = newValue; + } + _getCenterX() { + return this._behaviorData.CenterX !== undefined ? this._behaviorData.CenterX : Number("0") || 0; + } + _setCenterX(newValue) { + this._behaviorData.CenterX = newValue; + } + _getCenterY() { + return this._behaviorData.CenterY !== undefined ? this._behaviorData.CenterY : Number("0") || 0; + } + _setCenterY(newValue) { + this._behaviorData.CenterY = newValue; + } + _getMovementAngle() { + return this._behaviorData.MovementAngle !== undefined ? this._behaviorData.MovementAngle : Number("0") || 0; + } + _setMovementAngle(newValue) { + this._behaviorData.MovementAngle = newValue; + } + _getOldX() { + return this._behaviorData.OldX !== undefined ? this._behaviorData.OldX : Number("") || 0; + } + _setOldX(newValue) { + this._behaviorData.OldX = newValue; + } + _getOldY() { + return this._behaviorData.OldY !== undefined ? this._behaviorData.OldY : Number("") || 0; + } + _setOldY(newValue) { + this._behaviorData.OldY = newValue; + } +} + +/** + * Shared data generated from Ellipse movement + */ +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.SharedData = class EllipseMovementSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._EllipseMovement_EllipseMovementSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._EllipseMovement_EllipseMovementSharedData = new gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.SharedData( + initialData + ); + } + return instanceContainer._EllipseMovement_EllipseMovementSharedData; +} + +// Methods: +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext = {}; +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1= []; +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects2= []; + + +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setOldX((gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getX())); +} +}{for(var i = 0, len = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setOldY((gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getY())); +} +}} + +} + + +{ + + + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1.length;i= 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[k] = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setMovementAngle((gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getInitialDirectionAngle()) - 90); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setCenterX((gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getX()) - (gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).DeltaX((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)))); +} +}{for(var i = 0, len = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setCenterY((gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getY()) - (gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).DeltaY((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)))); +} +}} + +} + + +}; + +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreated = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.onCreatedContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext = {}; +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1= []; +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects2= []; + + +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setCenterX(gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getCenterX() + ((gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1[i].getX()) - (gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getOldX()))); +} +}{for(var i = 0, len = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setCenterY(gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getCenterY() + ((gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1[i].getY()) - (gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getOldY()))); +} +}} + +} + + +{ + + + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.doStepPreEventsContext.GDObjectObjects1.length;i= 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngleContext.GDObjectObjects1[k] = gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngleContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngleContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngleContext.GDObjectObjects1 */ +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngleContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngleContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMovementAngle()) - 90; }}} + +} + + +}; + +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngle = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngleContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngleContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement.prototype.DirectionAngleContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} + + +gdjs.registerBehavior("EllipseMovement::EllipseMovement", gdjs.evtsExt__EllipseMovement__EllipseMovement.EllipseMovement); diff --git a/gdjs-evtsext__extendedvariables__copyallobjectvariables-func.js b/gdjs-evtsext__extendedvariables__copyallobjectvariables-func.js new file mode 100644 index 00000000..ccf07914 --- /dev/null +++ b/gdjs-evtsext__extendedvariables__copyallobjectvariables-func.js @@ -0,0 +1,106 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables !== "undefined") { + gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables = {}; +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.GDSourceObjectObjects1= []; +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.GDTargetObjectObjects1= []; + + +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.userFunc0x20d2ad0 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +// This JS event use private scope from the API, this can be borken at anytime. + +const sourceObject = eventsFunctionContext.getObjects("SourceObject")[0]; +const targetObject = eventsFunctionContext.getObjects("TargetObject")[0]; +const isExactCopy = eventsFunctionContext.getArgument("isExactCopy"); + +const targetVariables = targetObject.getVariables(); +const sourceVariables = sourceObject.getVariables()._variables.items; +for (const variableName in sourceVariables) +{ + if (sourceVariables.hasOwnProperty(variableName)) + { + gdjs.Variable.copy(sourceVariables[variableName], targetVariables.get(variableName), isExactCopy); + } +} +}; +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.userFunc0x20d2ad0(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.func = function(runtimeScene, SourceObject, TargetObject, isExactCopy, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +"SourceObject": SourceObject +, "TargetObject": TargetObject +}, + _objectArraysMap: { +"SourceObject": gdjs.objectsListsToArray(SourceObject) +, "TargetObject": gdjs.objectsListsToArray(TargetObject) +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "isExactCopy") return isExactCopy; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.GDSourceObjectObjects1.length = 0; +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.GDTargetObjectObjects1.length = 0; + +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__ExtendedVariables__CopyAllObjectVariables.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__copyobjectvariable-func.js b/gdjs-evtsext__extendedvariables__copyobjectvariable-func.js new file mode 100644 index 00000000..8ebe3afa --- /dev/null +++ b/gdjs-evtsext__extendedvariables__copyobjectvariable-func.js @@ -0,0 +1,111 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__CopyObjectVariable !== "undefined") { + gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable = {}; +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.GDSourceObjectObjects1= []; +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.GDTargetObjectObjects1= []; + + +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.userFunc0x20d2ad0 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +const sourceObject = eventsFunctionContext.getObjects("SourceObject")[0]; +const targetObject = eventsFunctionContext.getObjects("TargetObject")[0]; +const sourceVariableName = eventsFunctionContext.getArgument("SourceVariableName"); +const targetVariableName = eventsFunctionContext.getArgument("TargetVariableName"); +const isExactCopy = eventsFunctionContext.getArgument("isExactCopy"); + +const sourceVariables = sourceObject.getVariables(); +const targetVariables = targetObject.getVariables(); + +if (sourceVariables.has(sourceVariableName)) +{ + gdjs.Variable.copy + ( + sourceVariables.get(sourceVariableName), + targetVariables.get(targetVariableName), + isExactCopy + ); +} +}; +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.userFunc0x20d2ad0(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.func = function(runtimeScene, SourceObject, SourceVariableName, TargetObject, TargetVariableName, isExactCopy, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +"SourceObject": SourceObject +, "TargetObject": TargetObject +}, + _objectArraysMap: { +"SourceObject": gdjs.objectsListsToArray(SourceObject) +, "TargetObject": gdjs.objectsListsToArray(TargetObject) +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "SourceVariableName") return SourceVariableName; +if (argName === "TargetVariableName") return TargetVariableName; +if (argName === "isExactCopy") return isExactCopy; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.GDSourceObjectObjects1.length = 0; +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.GDTargetObjectObjects1.length = 0; + +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__ExtendedVariables__CopyObjectVariable.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__deleteglobalvariable-func.js b/gdjs-evtsext__extendedvariables__deleteglobalvariable-func.js new file mode 100644 index 00000000..8e0616d1 --- /dev/null +++ b/gdjs-evtsext__extendedvariables__deleteglobalvariable-func.js @@ -0,0 +1,84 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__DeleteGlobalVariable !== "undefined") { + gdjs.evtsExt__ExtendedVariables__DeleteGlobalVariable.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__DeleteGlobalVariable = {}; + + +gdjs.evtsExt__ExtendedVariables__DeleteGlobalVariable.userFunc0x20d6e88 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +runtimeScene.getGame().getVariables().remove(eventsFunctionContext.getArgument("GlobalVariableName")); +}; +gdjs.evtsExt__ExtendedVariables__DeleteGlobalVariable.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__DeleteGlobalVariable.userFunc0x20d6e88(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__DeleteGlobalVariable.func = function(runtimeScene, GlobalVariableName, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "GlobalVariableName") return GlobalVariableName; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__ExtendedVariables__DeleteGlobalVariable.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__ExtendedVariables__DeleteGlobalVariable.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__deletescenevariable-func.js b/gdjs-evtsext__extendedvariables__deletescenevariable-func.js new file mode 100644 index 00000000..92342c15 --- /dev/null +++ b/gdjs-evtsext__extendedvariables__deletescenevariable-func.js @@ -0,0 +1,84 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__DeleteSceneVariable !== "undefined") { + gdjs.evtsExt__ExtendedVariables__DeleteSceneVariable.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__DeleteSceneVariable = {}; + + +gdjs.evtsExt__ExtendedVariables__DeleteSceneVariable.userFunc0x20dd558 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +runtimeScene.getVariables().remove(eventsFunctionContext.getArgument("SceneVariableName")); +}; +gdjs.evtsExt__ExtendedVariables__DeleteSceneVariable.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__DeleteSceneVariable.userFunc0x20dd558(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__DeleteSceneVariable.func = function(runtimeScene, SceneVariableName, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "SceneVariableName") return SceneVariableName; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__ExtendedVariables__DeleteSceneVariable.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__ExtendedVariables__DeleteSceneVariable.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__globalvariableexist-func.js b/gdjs-evtsext__extendedvariables__globalvariableexist-func.js new file mode 100644 index 00000000..b423f697 --- /dev/null +++ b/gdjs-evtsext__extendedvariables__globalvariableexist-func.js @@ -0,0 +1,85 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__GlobalVariableExist !== "undefined") { + gdjs.evtsExt__ExtendedVariables__GlobalVariableExist.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__GlobalVariableExist = {}; + + +gdjs.evtsExt__ExtendedVariables__GlobalVariableExist.userFunc0x20c5f78 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +const globalVariables = runtimeScene.getGame().getVariables(); +eventsFunctionContext.returnValue = globalVariables.has(eventsFunctionContext.getArgument("GlobalVariableName")); +}; +gdjs.evtsExt__ExtendedVariables__GlobalVariableExist.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__GlobalVariableExist.userFunc0x20c5f78(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__GlobalVariableExist.func = function(runtimeScene, GlobalVariableName, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "GlobalVariableName") return GlobalVariableName; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__ExtendedVariables__GlobalVariableExist.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__ExtendedVariables__GlobalVariableExist.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__modifyglobalvariable-func.js b/gdjs-evtsext__extendedvariables__modifyglobalvariable-func.js new file mode 100644 index 00000000..5814dc36 --- /dev/null +++ b/gdjs-evtsext__extendedvariables__modifyglobalvariable-func.js @@ -0,0 +1,86 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariable !== "undefined") { + gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariable.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariable = {}; + + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariable.userFunc0x20d3a18 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +const variable = runtimeScene.getGame().getVariables().get(eventsFunctionContext.getArgument("GlobalVariableName")); +variable.setNumber(eventsFunctionContext.getArgument("GlobalVariableValue")); +}; +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariable.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariable.userFunc0x20d3a18(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariable.func = function(runtimeScene, GlobalVariableName, GlobalVariableValue, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "GlobalVariableName") return GlobalVariableName; +if (argName === "GlobalVariableValue") return GlobalVariableValue; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariable.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariable.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__modifyglobalvariablestring-func.js b/gdjs-evtsext__extendedvariables__modifyglobalvariablestring-func.js new file mode 100644 index 00000000..5c3f1f7b --- /dev/null +++ b/gdjs-evtsext__extendedvariables__modifyglobalvariablestring-func.js @@ -0,0 +1,86 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariableString !== "undefined") { + gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariableString.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariableString = {}; + + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariableString.userFunc0x20d3d60 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +const variable = runtimeScene.getGame().getVariables().get(eventsFunctionContext.getArgument("GlobalVariableName")); +variable.setString(eventsFunctionContext.getArgument("GlobalVariableValue")); +}; +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariableString.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariableString.userFunc0x20d3d60(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariableString.func = function(runtimeScene, GlobalVariableName, GlobalVariableValue, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "GlobalVariableName") return GlobalVariableName; +if (argName === "GlobalVariableValue") return GlobalVariableValue; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariableString.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__ExtendedVariables__ModifyGlobalVariableString.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__modifyscenevariable-func.js b/gdjs-evtsext__extendedvariables__modifyscenevariable-func.js new file mode 100644 index 00000000..a8fbaf75 --- /dev/null +++ b/gdjs-evtsext__extendedvariables__modifyscenevariable-func.js @@ -0,0 +1,86 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__ModifySceneVariable !== "undefined") { + gdjs.evtsExt__ExtendedVariables__ModifySceneVariable.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariable = {}; + + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariable.userFunc0x20dbb18 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +const variable = runtimeScene.getVariables().get(eventsFunctionContext.getArgument("SceneVariableName")); +variable.setNumber(eventsFunctionContext.getArgument("SceneVariableValue")); +}; +gdjs.evtsExt__ExtendedVariables__ModifySceneVariable.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariable.userFunc0x20dbb18(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariable.func = function(runtimeScene, SceneVariableName, SceneVariableValue, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "SceneVariableName") return SceneVariableName; +if (argName === "SceneVariableValue") return SceneVariableValue; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariable.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariable.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__modifyscenevariablestring-func.js b/gdjs-evtsext__extendedvariables__modifyscenevariablestring-func.js new file mode 100644 index 00000000..50e9a95c --- /dev/null +++ b/gdjs-evtsext__extendedvariables__modifyscenevariablestring-func.js @@ -0,0 +1,86 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__ModifySceneVariableString !== "undefined") { + gdjs.evtsExt__ExtendedVariables__ModifySceneVariableString.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariableString = {}; + + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariableString.userFunc0x20d3410 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +const variable = runtimeScene.getVariables().get(eventsFunctionContext.getArgument("SceneVariableName")); +variable.setString(eventsFunctionContext.getArgument("SceneVariableValue")); +}; +gdjs.evtsExt__ExtendedVariables__ModifySceneVariableString.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariableString.userFunc0x20d3410(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariableString.func = function(runtimeScene, SceneVariableName, SceneVariableValue, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "SceneVariableName") return SceneVariableName; +if (argName === "SceneVariableValue") return SceneVariableValue; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariableString.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__ExtendedVariables__ModifySceneVariableString.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__objectvariableexist-func.js b/gdjs-evtsext__extendedvariables__objectvariableexist-func.js new file mode 100644 index 00000000..efd0028a --- /dev/null +++ b/gdjs-evtsext__extendedvariables__objectvariableexist-func.js @@ -0,0 +1,105 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__ObjectVariableExist !== "undefined") { + gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__ObjectVariableExist = {}; +gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.GDObjectToCheckObjects1= []; + + +gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.userFunc0x20d5698 = function GDJSInlineCode(runtimeScene, objects, eventsFunctionContext) { +"use strict"; +let returnValue = true; +if (!objects.length) { + returnValue = false; +} else { + const objectVariableName = eventsFunctionContext.getArgument("ObjectVariableName"); + for (let i = 0; i < objects.length; i++) { + if (!objects[i].hasVariable(objectVariableName)) { + // If any object does NOT have the variable, return false. + returnValue = false; + break; + } + } +} + +eventsFunctionContext.returnValue = returnValue; +}; +gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("ObjectToCheck"), gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.GDObjectToCheckObjects1); + +var objects = []; +objects.push.apply(objects,gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.GDObjectToCheckObjects1); +gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.userFunc0x20d5698(runtimeScene, objects, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.func = function(runtimeScene, ObjectToCheck, ObjectVariableName, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +"ObjectToCheck": ObjectToCheck +}, + _objectArraysMap: { +"ObjectToCheck": gdjs.objectsListsToArray(ObjectToCheck) +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "ObjectVariableName") return ObjectVariableName; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + +gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.GDObjectToCheckObjects1.length = 0; + +gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__ExtendedVariables__ObjectVariableExist.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__extendedvariables__scenevariableexist-func.js b/gdjs-evtsext__extendedvariables__scenevariableexist-func.js new file mode 100644 index 00000000..17cbf0fe --- /dev/null +++ b/gdjs-evtsext__extendedvariables__scenevariableexist-func.js @@ -0,0 +1,85 @@ + +if (typeof gdjs.evtsExt__ExtendedVariables__SceneVariableExist !== "undefined") { + gdjs.evtsExt__ExtendedVariables__SceneVariableExist.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__ExtendedVariables__SceneVariableExist = {}; + + +gdjs.evtsExt__ExtendedVariables__SceneVariableExist.userFunc0x20c5f78 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +const sceneVariables = runtimeScene.getVariables(); +eventsFunctionContext.returnValue = sceneVariables.has(eventsFunctionContext.getArgument("SceneVariableName")); +}; +gdjs.evtsExt__ExtendedVariables__SceneVariableExist.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__ExtendedVariables__SceneVariableExist.userFunc0x20c5f78(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__ExtendedVariables__SceneVariableExist.func = function(runtimeScene, SceneVariableName, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "SceneVariableName") return SceneVariableName; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__ExtendedVariables__SceneVariableExist.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__ExtendedVariables__SceneVariableExist.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__firebullet__firebullet.js b/gdjs-evtsext__firebullet__firebullet.js new file mode 100644 index 00000000..f25742da --- /dev/null +++ b/gdjs-evtsext__firebullet__firebullet.js @@ -0,0 +1,8060 @@ + +gdjs.evtsExt__FireBullet__FireBullet = gdjs.evtsExt__FireBullet__FireBullet || {}; + +/** + * Behavior generated from Fire bullets + */ +gdjs.evtsExt__FireBullet__FireBullet.FireBullet = class FireBullet extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.getSharedData( + instanceContainer, + behaviorData.name + ); + + this._behaviorData.FireCooldown = behaviorData.FireCooldown !== undefined ? behaviorData.FireCooldown : Number("0.1") || 0; + this._behaviorData.HasJustFired = false; + this._behaviorData.RotateBullet = behaviorData.RotateBullet !== undefined ? behaviorData.RotateBullet : true; + this._behaviorData.FiringArc = behaviorData.FiringArc !== undefined ? behaviorData.FiringArc : Number("45") || 0; + this._behaviorData.BulletQuantity = behaviorData.BulletQuantity !== undefined ? behaviorData.BulletQuantity : Number("1") || 0; + this._behaviorData.AngleVariance = behaviorData.AngleVariance !== undefined ? behaviorData.AngleVariance : Number("0") || 0; + this._behaviorData.BulletSpeedVariance = behaviorData.BulletSpeedVariance !== undefined ? behaviorData.BulletSpeedVariance : Number("0") || 0; + this._behaviorData.AmmoQuantity = Number("0") || 0; + this._behaviorData.ShotsPerReload = behaviorData.ShotsPerReload !== undefined ? behaviorData.ShotsPerReload : Number("0") || 0; + this._behaviorData.ReloadDuration = behaviorData.ReloadDuration !== undefined ? behaviorData.ReloadDuration : Number("1") || 0; + this._behaviorData.MaxAmmo = behaviorData.MaxAmmo !== undefined ? behaviorData.MaxAmmo : Number("0") || 0; + this._behaviorData.ShotsBeforeNextReload = Number("0") || 0; + this._behaviorData.TotalShotsFired = Number("0") || 0; + this._behaviorData.TotalBulletsCreated = Number("0") || 0; + this._behaviorData.StartingAmmo = behaviorData.StartingAmmo !== undefined ? behaviorData.StartingAmmo : Number("0") || 0; + this._behaviorData.TotalReloadsCompleted = Number("0") || 0; + this._behaviorData.UnlimitedAmmo = behaviorData.UnlimitedAmmo !== undefined ? behaviorData.UnlimitedAmmo : true; + this._behaviorData.ReloadInProgress = false; + this._behaviorData.HeatIncreasePerShot = behaviorData.HeatIncreasePerShot !== undefined ? behaviorData.HeatIncreasePerShot : Number("0") || 0; + this._behaviorData.HeatLevel = Number("0") || 0; + this._behaviorData.AutomaticReloading = behaviorData.AutomaticReloading !== undefined ? behaviorData.AutomaticReloading : true; + this._behaviorData.OverheatDuration = behaviorData.OverheatDuration !== undefined ? behaviorData.OverheatDuration : Number("0") || 0; + this._behaviorData.LinearCoolingRate = behaviorData.LinearCoolingRate !== undefined ? behaviorData.LinearCoolingRate : Number("0.1") || 0; + this._behaviorData.ExponentialCoolingRate = behaviorData.ExponentialCoolingRate !== undefined ? behaviorData.ExponentialCoolingRate : Number("0.3") || 0; + this._behaviorData.BulletLayer = ""; + this._behaviorData.RandomizedAngle = Number("0") || 0; + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + if (oldBehaviorData.FireCooldown !== newBehaviorData.FireCooldown) + this._behaviorData.FireCooldown = newBehaviorData.FireCooldown; + if (oldBehaviorData.HasJustFired !== newBehaviorData.HasJustFired) + this._behaviorData.HasJustFired = newBehaviorData.HasJustFired; + if (oldBehaviorData.RotateBullet !== newBehaviorData.RotateBullet) + this._behaviorData.RotateBullet = newBehaviorData.RotateBullet; + if (oldBehaviorData.FiringArc !== newBehaviorData.FiringArc) + this._behaviorData.FiringArc = newBehaviorData.FiringArc; + if (oldBehaviorData.BulletQuantity !== newBehaviorData.BulletQuantity) + this._behaviorData.BulletQuantity = newBehaviorData.BulletQuantity; + if (oldBehaviorData.AngleVariance !== newBehaviorData.AngleVariance) + this._behaviorData.AngleVariance = newBehaviorData.AngleVariance; + if (oldBehaviorData.BulletSpeedVariance !== newBehaviorData.BulletSpeedVariance) + this._behaviorData.BulletSpeedVariance = newBehaviorData.BulletSpeedVariance; + if (oldBehaviorData.AmmoQuantity !== newBehaviorData.AmmoQuantity) + this._behaviorData.AmmoQuantity = newBehaviorData.AmmoQuantity; + if (oldBehaviorData.ShotsPerReload !== newBehaviorData.ShotsPerReload) + this._behaviorData.ShotsPerReload = newBehaviorData.ShotsPerReload; + if (oldBehaviorData.ReloadDuration !== newBehaviorData.ReloadDuration) + this._behaviorData.ReloadDuration = newBehaviorData.ReloadDuration; + if (oldBehaviorData.MaxAmmo !== newBehaviorData.MaxAmmo) + this._behaviorData.MaxAmmo = newBehaviorData.MaxAmmo; + if (oldBehaviorData.ShotsBeforeNextReload !== newBehaviorData.ShotsBeforeNextReload) + this._behaviorData.ShotsBeforeNextReload = newBehaviorData.ShotsBeforeNextReload; + if (oldBehaviorData.TotalShotsFired !== newBehaviorData.TotalShotsFired) + this._behaviorData.TotalShotsFired = newBehaviorData.TotalShotsFired; + if (oldBehaviorData.TotalBulletsCreated !== newBehaviorData.TotalBulletsCreated) + this._behaviorData.TotalBulletsCreated = newBehaviorData.TotalBulletsCreated; + if (oldBehaviorData.StartingAmmo !== newBehaviorData.StartingAmmo) + this._behaviorData.StartingAmmo = newBehaviorData.StartingAmmo; + if (oldBehaviorData.TotalReloadsCompleted !== newBehaviorData.TotalReloadsCompleted) + this._behaviorData.TotalReloadsCompleted = newBehaviorData.TotalReloadsCompleted; + if (oldBehaviorData.UnlimitedAmmo !== newBehaviorData.UnlimitedAmmo) + this._behaviorData.UnlimitedAmmo = newBehaviorData.UnlimitedAmmo; + if (oldBehaviorData.ReloadInProgress !== newBehaviorData.ReloadInProgress) + this._behaviorData.ReloadInProgress = newBehaviorData.ReloadInProgress; + if (oldBehaviorData.HeatIncreasePerShot !== newBehaviorData.HeatIncreasePerShot) + this._behaviorData.HeatIncreasePerShot = newBehaviorData.HeatIncreasePerShot; + if (oldBehaviorData.HeatLevel !== newBehaviorData.HeatLevel) + this._behaviorData.HeatLevel = newBehaviorData.HeatLevel; + if (oldBehaviorData.AutomaticReloading !== newBehaviorData.AutomaticReloading) + this._behaviorData.AutomaticReloading = newBehaviorData.AutomaticReloading; + if (oldBehaviorData.OverheatDuration !== newBehaviorData.OverheatDuration) + this._behaviorData.OverheatDuration = newBehaviorData.OverheatDuration; + if (oldBehaviorData.LinearCoolingRate !== newBehaviorData.LinearCoolingRate) + this._behaviorData.LinearCoolingRate = newBehaviorData.LinearCoolingRate; + if (oldBehaviorData.ExponentialCoolingRate !== newBehaviorData.ExponentialCoolingRate) + this._behaviorData.ExponentialCoolingRate = newBehaviorData.ExponentialCoolingRate; + if (oldBehaviorData.BulletLayer !== newBehaviorData.BulletLayer) + this._behaviorData.BulletLayer = newBehaviorData.BulletLayer; + if (oldBehaviorData.RandomizedAngle !== newBehaviorData.RandomizedAngle) + this._behaviorData.RandomizedAngle = newBehaviorData.RandomizedAngle; + + return true; + } + + // Properties: + + _getFireCooldown() { + return this._behaviorData.FireCooldown !== undefined ? this._behaviorData.FireCooldown : Number("0.1") || 0; + } + _setFireCooldown(newValue) { + this._behaviorData.FireCooldown = newValue; + } + _getHasJustFired() { + return this._behaviorData.HasJustFired !== undefined ? this._behaviorData.HasJustFired : false; + } + _setHasJustFired(newValue) { + this._behaviorData.HasJustFired = newValue; + } + _toggleHasJustFired() { + this._setHasJustFired(!this._getHasJustFired()); + } + _getRotateBullet() { + return this._behaviorData.RotateBullet !== undefined ? this._behaviorData.RotateBullet : true; + } + _setRotateBullet(newValue) { + this._behaviorData.RotateBullet = newValue; + } + _toggleRotateBullet() { + this._setRotateBullet(!this._getRotateBullet()); + } + _getFiringArc() { + return this._behaviorData.FiringArc !== undefined ? this._behaviorData.FiringArc : Number("45") || 0; + } + _setFiringArc(newValue) { + this._behaviorData.FiringArc = newValue; + } + _getBulletQuantity() { + return this._behaviorData.BulletQuantity !== undefined ? this._behaviorData.BulletQuantity : Number("1") || 0; + } + _setBulletQuantity(newValue) { + this._behaviorData.BulletQuantity = newValue; + } + _getAngleVariance() { + return this._behaviorData.AngleVariance !== undefined ? this._behaviorData.AngleVariance : Number("0") || 0; + } + _setAngleVariance(newValue) { + this._behaviorData.AngleVariance = newValue; + } + _getBulletSpeedVariance() { + return this._behaviorData.BulletSpeedVariance !== undefined ? this._behaviorData.BulletSpeedVariance : Number("0") || 0; + } + _setBulletSpeedVariance(newValue) { + this._behaviorData.BulletSpeedVariance = newValue; + } + _getAmmoQuantity() { + return this._behaviorData.AmmoQuantity !== undefined ? this._behaviorData.AmmoQuantity : Number("0") || 0; + } + _setAmmoQuantity(newValue) { + this._behaviorData.AmmoQuantity = newValue; + } + _getShotsPerReload() { + return this._behaviorData.ShotsPerReload !== undefined ? this._behaviorData.ShotsPerReload : Number("0") || 0; + } + _setShotsPerReload(newValue) { + this._behaviorData.ShotsPerReload = newValue; + } + _getReloadDuration() { + return this._behaviorData.ReloadDuration !== undefined ? this._behaviorData.ReloadDuration : Number("1") || 0; + } + _setReloadDuration(newValue) { + this._behaviorData.ReloadDuration = newValue; + } + _getMaxAmmo() { + return this._behaviorData.MaxAmmo !== undefined ? this._behaviorData.MaxAmmo : Number("0") || 0; + } + _setMaxAmmo(newValue) { + this._behaviorData.MaxAmmo = newValue; + } + _getShotsBeforeNextReload() { + return this._behaviorData.ShotsBeforeNextReload !== undefined ? this._behaviorData.ShotsBeforeNextReload : Number("0") || 0; + } + _setShotsBeforeNextReload(newValue) { + this._behaviorData.ShotsBeforeNextReload = newValue; + } + _getTotalShotsFired() { + return this._behaviorData.TotalShotsFired !== undefined ? this._behaviorData.TotalShotsFired : Number("0") || 0; + } + _setTotalShotsFired(newValue) { + this._behaviorData.TotalShotsFired = newValue; + } + _getTotalBulletsCreated() { + return this._behaviorData.TotalBulletsCreated !== undefined ? this._behaviorData.TotalBulletsCreated : Number("0") || 0; + } + _setTotalBulletsCreated(newValue) { + this._behaviorData.TotalBulletsCreated = newValue; + } + _getStartingAmmo() { + return this._behaviorData.StartingAmmo !== undefined ? this._behaviorData.StartingAmmo : Number("0") || 0; + } + _setStartingAmmo(newValue) { + this._behaviorData.StartingAmmo = newValue; + } + _getTotalReloadsCompleted() { + return this._behaviorData.TotalReloadsCompleted !== undefined ? this._behaviorData.TotalReloadsCompleted : Number("0") || 0; + } + _setTotalReloadsCompleted(newValue) { + this._behaviorData.TotalReloadsCompleted = newValue; + } + _getUnlimitedAmmo() { + return this._behaviorData.UnlimitedAmmo !== undefined ? this._behaviorData.UnlimitedAmmo : true; + } + _setUnlimitedAmmo(newValue) { + this._behaviorData.UnlimitedAmmo = newValue; + } + _toggleUnlimitedAmmo() { + this._setUnlimitedAmmo(!this._getUnlimitedAmmo()); + } + _getReloadInProgress() { + return this._behaviorData.ReloadInProgress !== undefined ? this._behaviorData.ReloadInProgress : false; + } + _setReloadInProgress(newValue) { + this._behaviorData.ReloadInProgress = newValue; + } + _toggleReloadInProgress() { + this._setReloadInProgress(!this._getReloadInProgress()); + } + _getHeatIncreasePerShot() { + return this._behaviorData.HeatIncreasePerShot !== undefined ? this._behaviorData.HeatIncreasePerShot : Number("0") || 0; + } + _setHeatIncreasePerShot(newValue) { + this._behaviorData.HeatIncreasePerShot = newValue; + } + _getHeatLevel() { + return this._behaviorData.HeatLevel !== undefined ? this._behaviorData.HeatLevel : Number("0") || 0; + } + _setHeatLevel(newValue) { + this._behaviorData.HeatLevel = newValue; + } + _getAutomaticReloading() { + return this._behaviorData.AutomaticReloading !== undefined ? this._behaviorData.AutomaticReloading : true; + } + _setAutomaticReloading(newValue) { + this._behaviorData.AutomaticReloading = newValue; + } + _toggleAutomaticReloading() { + this._setAutomaticReloading(!this._getAutomaticReloading()); + } + _getOverheatDuration() { + return this._behaviorData.OverheatDuration !== undefined ? this._behaviorData.OverheatDuration : Number("0") || 0; + } + _setOverheatDuration(newValue) { + this._behaviorData.OverheatDuration = newValue; + } + _getLinearCoolingRate() { + return this._behaviorData.LinearCoolingRate !== undefined ? this._behaviorData.LinearCoolingRate : Number("0.1") || 0; + } + _setLinearCoolingRate(newValue) { + this._behaviorData.LinearCoolingRate = newValue; + } + _getExponentialCoolingRate() { + return this._behaviorData.ExponentialCoolingRate !== undefined ? this._behaviorData.ExponentialCoolingRate : Number("0.3") || 0; + } + _setExponentialCoolingRate(newValue) { + this._behaviorData.ExponentialCoolingRate = newValue; + } + _getBulletLayer() { + return this._behaviorData.BulletLayer !== undefined ? this._behaviorData.BulletLayer : ""; + } + _setBulletLayer(newValue) { + this._behaviorData.BulletLayer = newValue; + } + _getRandomizedAngle() { + return this._behaviorData.RandomizedAngle !== undefined ? this._behaviorData.RandomizedAngle : Number("0") || 0; + } + _setRandomizedAngle(newValue) { + this._behaviorData.RandomizedAngle = newValue; + } +} + +/** + * Shared data generated from Fire bullets + */ +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.SharedData = class FireBulletSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._FireBullet_FireBulletSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._FireBullet_FireBulletSharedData = new gdjs.evtsExt__FireBullet__FireBullet.FireBullet.SharedData( + initialData + ); + } + return instanceContainer._FireBullet_FireBulletSharedData; +} + +// Methods: +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1[i].resetTimer("__FireBullet.FiringCooldown"); +} +}{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setAmmoQuantity((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getStartingAmmo())); +} +}{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setShotsBeforeNextReload((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getShotsPerReload())); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreated = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.onCreatedContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects3= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1, gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2); + +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].resetTimer("__FireBullet.FiringCooldown"); +} +}} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList1 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + +gdjs.copyArray(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1, gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setShotsBeforeNextReload(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getShotsBeforeNextReload() - (1)); +} +}} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList3 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1, gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setHeatLevel(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getHeatLevel() + ((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getHeatIncreasePerShot()))); +} +} +{ //Subevents +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList4(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList6 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1, gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2); + +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setTotalShotsFired(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getTotalShotsFired() + (1)); +} +}} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList7 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setHasJustFired(false); +} +}} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList8 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList0(runtimeScene, eventsFunctionContext); +} + + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList1(runtimeScene, eventsFunctionContext); +} + + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList2(runtimeScene, eventsFunctionContext); +} + + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList3(runtimeScene, eventsFunctionContext); +} + + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList5(runtimeScene, eventsFunctionContext); +} + + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList6(runtimeScene, eventsFunctionContext); +} + + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList7(runtimeScene, eventsFunctionContext); +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList9 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length;i= (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getReloadDuration()) ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length = k; +} +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setTotalReloadsCompleted(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getTotalReloadsCompleted() + (1)); +} +}{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setReloadInProgress(false); +} +} +{ //Subevents +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList10(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList12 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1, gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setHeatLevel(Math.max(0, (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getHeatLevel()) - gdjs.evtTools.runtimeScene.getElapsedTimeInSeconds(runtimeScene) * (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getExponentialCoolingRate()) * (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getHeatLevel()))); +} +}} + +} + + +{ + +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1 */ + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setHeatLevel(Math.max(0, (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getHeatLevel()) - gdjs.evtTools.runtimeScene.getElapsedTimeInSeconds(runtimeScene) * (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getLinearCoolingRate()))); +} +}} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList13 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = ((( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).HeatLevel((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))) > 0); +} +if (isConditionTrue_0) { + +{ //Subevents +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList12(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList14 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList9(runtimeScene, eventsFunctionContext); +} + + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList11(runtimeScene, eventsFunctionContext); +} + + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList13(runtimeScene, eventsFunctionContext); +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEvents = function(parentEventsFunctionContext) { +this._onceTriggers.startNewFrame(); +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.GDObjectObjects3.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.doStepPreEventsContext.eventsList14(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDObjectObjects2= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDBulletObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDBulletObjects2= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDTargetObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDTargetObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.mapOfGDgdjs_9546evtsExt_9595_9595FireBullet_9595_9595FireBullet_9546FireBullet_9546prototype_9546FireTowardObjectContext_9546GDBulletObjects1Objects = Hashtable.newFrom({"Bullet": gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDBulletObjects1}); +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDObjectObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("TargetObject"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDTargetObjectObjects1); +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDBulletObjects1.length = 0; + +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).Fire((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("XPosition")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("YPosition")) || 0 : 0), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.mapOfGDgdjs_9546evtsExt_9595_9595FireBullet_9595_9595FireBullet_9546FireBullet_9546prototype_9546FireTowardObjectContext_9546GDBulletObjects1Objects, (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDObjectObjects1[i].getAngleToObject((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDTargetObjectObjects1.length !== 0 ? gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDTargetObjectObjects1[0] : null))), (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Speed")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.eventsList1 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.eventsList0(runtimeScene, eventsFunctionContext); +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObject = function(XPosition, YPosition, Bullet, TargetObject, Speed, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Bullet": Bullet +, "TargetObject": TargetObject +}, + _objectArraysMap: { +"Object": thisObjectList +, "Bullet": gdjs.objectsListsToArray(Bullet) +, "TargetObject": gdjs.objectsListsToArray(TargetObject) +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "XPosition") return XPosition; +if (argName === "YPosition") return YPosition; +if (argName === "Speed") return Speed; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDBulletObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDBulletObjects2.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDTargetObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.GDTargetObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardObjectContext.eventsList1(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDObjectObjects2= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDBulletObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDBulletObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.mapOfGDgdjs_9546evtsExt_9595_9595FireBullet_9595_9595FireBullet_9546FireBullet_9546prototype_9546FireTowardPositionContext_9546GDBulletObjects1Objects = Hashtable.newFrom({"Bullet": gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDBulletObjects1}); +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDObjectObjects1); +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDBulletObjects1.length = 0; + +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).Fire((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("XPosition")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("YPosition")) || 0 : 0), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.mapOfGDgdjs_9546evtsExt_9595_9595FireBullet_9595_9595FireBullet_9546FireBullet_9546prototype_9546FireTowardPositionContext_9546GDBulletObjects1Objects, (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDObjectObjects1[i].getAngleToPosition((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("TargetXPosition")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("TargetYPosition")) || 0 : 0))), (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Speed")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.eventsList1 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.eventsList0(runtimeScene, eventsFunctionContext); +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPosition = function(XPosition, YPosition, Bullet, TargetXPosition, TargetYPosition, Speed, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Bullet": Bullet +}, + _objectArraysMap: { +"Object": thisObjectList +, "Bullet": gdjs.objectsListsToArray(Bullet) +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "XPosition") return XPosition; +if (argName === "YPosition") return YPosition; +if (argName === "TargetXPosition") return TargetXPosition; +if (argName === "TargetYPosition") return TargetYPosition; +if (argName === "Speed") return Speed; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDBulletObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.GDBulletObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireTowardPositionContext.eventsList1(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects4= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDBulletObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDBulletObjects2= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDBulletObjects3= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDBulletObjects4= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.mapOfGDgdjs_9546evtsExt_9595_9595FireBullet_9595_9595FireBullet_9546FireBullet_9546prototype_9546FireContext_9546GDBulletObjects2Objects = Hashtable.newFrom({"Bullet": gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDBulletObjects2}); +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1, gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = ((( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getBulletQuantity()) == 1); +} +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2 */ +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDBulletObjects2.length = 0; + +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).FireSingleBullet((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("XPosition")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("YPosition")) || 0 : 0), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.mapOfGDgdjs_9546evtsExt_9595_9595FireBullet_9595_9595FireBullet_9546FireBullet_9546prototype_9546FireContext_9546GDBulletObjects2Objects, (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Angle")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Speed")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.mapOfGDgdjs_9546evtsExt_9595_9595FireBullet_9595_9595FireBullet_9546FireBullet_9546prototype_9546FireContext_9546GDBulletObjects2Objects = Hashtable.newFrom({"Bullet": gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDBulletObjects2}); +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList1 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2, gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3); + +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3[i].returnVariable(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3[i].getVariables().get("__FireBullet").getChild("CurrentBulletAngle")).add((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getFiringArc()) / ((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getBulletQuantity()) - 1)); +} +}{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3[i].returnVariable(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects3[i].getVariables().get("__FireBullet").getChild("BatchOrderID")).add(1); +} +}} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList2 = function(runtimeScene, eventsFunctionContext) { + +{ + +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1 */ + +const repeatCount2 = (( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getBulletQuantity()); +for (let repeatIndex2 = 0;repeatIndex2 < repeatCount2;++repeatIndex2) { +gdjs.copyArray(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1, gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2); + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDBulletObjects2.length = 0; + + +let isConditionTrue_0 = false; +if (true) +{ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).FireSingleBullet((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("XPosition")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("YPosition")) || 0 : 0), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.mapOfGDgdjs_9546evtsExt_9595_9595FireBullet_9595_9595FireBullet_9546FireBullet_9546prototype_9546FireContext_9546GDBulletObjects2Objects, (gdjs.RuntimeObject.getVariableNumber(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2[i].getVariables().get("__FireBullet").getChild("CurrentBulletAngle"))) + gdjs.randomInRange(-((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getAngleVariance())), (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getAngleVariance())), (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Speed")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +} +{ //Subevents: +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList1(runtimeScene, eventsFunctionContext);} //Subevents end. +} +} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList3 = function(runtimeScene, eventsFunctionContext) { + +{ + +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1 */ + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = ((( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getBulletQuantity()) > 1); +} +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1[i].returnVariable(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1[i].getVariables().get("__FireBullet").getChild("CurrentBulletAngle")).setNumber((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Angle")) || 0 : 0) - (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getFiringArc()) / 2); +} +}{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1[i].returnVariable(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1[i].getVariables().get("__FireBullet").getChild("BatchOrderID")).setNumber(0); +} +} +{ //Subevents +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList2(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList4 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList0(runtimeScene, eventsFunctionContext); +} + + +{ + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList3(runtimeScene, eventsFunctionContext); +} + + +};gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.eventsList5 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.FireContext.GDObjectObjects1.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects1[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setAmmoQuantity(Math.min((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).MaxAmmo((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))), (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).AmmoQuantity((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))))); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOp = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoOpContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).SetMaxAmmoOp((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmo = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetMaxAmmoContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setTotalShotsFired(0); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFired = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalShotsFiredContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setTotalBulletsCreated(0); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreated = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalBulletsCreatedContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setTotalReloadsCompleted(0); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompleted = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ResetTotalReloadsCompletedContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getShotsPerReload()); }}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReload = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ShotsPerReloadContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setShotsPerReload((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0)); +} +}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1.length;i (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getShotsPerReload()) ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setShotsBeforeNextReload((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getShotsPerReload())); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOp = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadOpContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).SetShotsPerReloadOp((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReload = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetShotsPerReloadContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setAutomaticReloading(false); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (typeof eventsFunctionContext !== 'undefined' ? !!eventsFunctionContext.getArgument("Value") : false); +} +if (isConditionTrue_0) { +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setAutomaticReloading(true); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReload = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetAutomaticReloadContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getLinearCoolingRate()); }}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRate = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.LinearCoolingRateContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setLinearCoolingRate((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0)); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOp = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateOpContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).SetLinearCoolingRateOp((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRate = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetLinearCoolingRateContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getExponentialCoolingRate()); }}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRate = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.ExponentialCoolingRateContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setExponentialCoolingRate((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0)); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOp = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateOpContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).SetExponentialCoolingRateOp((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRate = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.SetExponentialCoolingRateContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setAmmoQuantity(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getAmmoQuantity() + ((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("AmmoGained")) || 0 : 0))); +} +}} + +} + + +{ + + + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setAmmoQuantity(Math.min((gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).MaxAmmo((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))), (gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).AmmoQuantity((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))))); +} +}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IncreaseAmmoContext.GDObjectObjects1.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects1[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects1 */ +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = Math.max(0, (( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getOverheatDuration()) - (( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects1[0].getTimerElapsedTimeInSeconds("__FireBullet.OverheatDuration"))); }}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeft = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.OverheatTimeLeftContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadInProgressContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadInProgressContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadInProgressContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadInProgressContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = false; }}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadInProgressContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadInProgressContext.GDObjectObjects1.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadNeededContext.GDObjectObjects1[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadNeededContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadNeededContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsReloadNeededContext.GDObjectObjects1.length;i= 1 ) { + isConditionTrue_1 = true; + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2[k] = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2.length = k; +if(isConditionTrue_1) { + isConditionTrue_0 = true; + for (let j = 0, jLen = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2.length; j < jLen ; ++j) { + if ( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects1_1final.indexOf(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2[j]) === -1 ) + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects1_1final.push(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2[j]); + } +} +} +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2); +{isConditionTrue_1 = ((( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).OverheatTimeLeft((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))) > 0); +} +if(isConditionTrue_1) { + isConditionTrue_0 = true; + for (let j = 0, jLen = gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2.length; j < jLen ; ++j) { + if ( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects1_1final.indexOf(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2[j]) === -1 ) + gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects1_1final.push(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2[j]); + } +} +} +{ +gdjs.copyArray(gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects1_1final, gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects1); +} +} +if (isConditionTrue_0) { +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = true; }}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheated = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsOverheatedContext.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext = {}; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext.GDObjectObjects1= []; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = false; }}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = ((( gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).CooldownTimeLeft((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))) > 0); +} +if (isConditionTrue_0) { +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = true; }}} + +} + + +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActive = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FireBullet__FireBullet.FireBullet.prototype.IsFiringCooldownActiveContext.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + + +gdjs.registerBehavior("FireBullet::FireBullet", gdjs.evtsExt__FireBullet__FireBullet.FireBullet); diff --git a/gdjs-evtsext__flashtransitionpainter__flashtransitionpainter.js b/gdjs-evtsext__flashtransitionpainter__flashtransitionpainter.js new file mode 100644 index 00000000..458ba5dc --- /dev/null +++ b/gdjs-evtsext__flashtransitionpainter__flashtransitionpainter.js @@ -0,0 +1,1568 @@ + +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter || {}; + +/** + * Behavior generated from Flash and transition painter + */ +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter = class FlashTransitionPainter extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.getSharedData( + instanceContainer, + behaviorData.name + ); + + this._behaviorData.Timer = Number("1") || 0; + this._behaviorData.Color = "255;255;255"; + this._behaviorData.Type = ""; + this._behaviorData.Direction = ""; + this._behaviorData.MaxOpacity = Number("255") || 0; + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + if (oldBehaviorData.Timer !== newBehaviorData.Timer) + this._behaviorData.Timer = newBehaviorData.Timer; + if (oldBehaviorData.Color !== newBehaviorData.Color) + this._behaviorData.Color = newBehaviorData.Color; + if (oldBehaviorData.Type !== newBehaviorData.Type) + this._behaviorData.Type = newBehaviorData.Type; + if (oldBehaviorData.Direction !== newBehaviorData.Direction) + this._behaviorData.Direction = newBehaviorData.Direction; + if (oldBehaviorData.MaxOpacity !== newBehaviorData.MaxOpacity) + this._behaviorData.MaxOpacity = newBehaviorData.MaxOpacity; + + return true; + } + + // Properties: + + _getTimer() { + return this._behaviorData.Timer !== undefined ? this._behaviorData.Timer : Number("1") || 0; + } + _setTimer(newValue) { + this._behaviorData.Timer = newValue; + } + _getColor() { + return this._behaviorData.Color !== undefined ? this._behaviorData.Color : "255;255;255"; + } + _setColor(newValue) { + this._behaviorData.Color = newValue; + } + _getType() { + return this._behaviorData.Type !== undefined ? this._behaviorData.Type : ""; + } + _setType(newValue) { + this._behaviorData.Type = newValue; + } + _getDirection() { + return this._behaviorData.Direction !== undefined ? this._behaviorData.Direction : ""; + } + _setDirection(newValue) { + this._behaviorData.Direction = newValue; + } + _getMaxOpacity() { + return this._behaviorData.MaxOpacity !== undefined ? this._behaviorData.MaxOpacity : Number("255") || 0; + } + _setMaxOpacity(newValue) { + this._behaviorData.MaxOpacity = newValue; + } +} + +/** + * Shared data generated from Flash and transition painter + */ +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.SharedData = class FlashTransitionPainterSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._FlashTransitionPainter_FlashTransitionPainterSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._FlashTransitionPainter_FlashTransitionPainterSharedData = new gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.SharedData( + initialData + ); + } + return instanceContainer._FlashTransitionPainter_FlashTransitionPainterSharedData; +} + +// Methods: +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext = {}; +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.GDObjectObjects1= []; +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.GDObjectObjects2= []; + + +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.GDObjectObjects1[i].activateBehavior(eventsFunctionContext.getBehaviorName("Behavior"), false); +} +}{for(var i = 0, len = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.GDObjectObjects1[i].pauseTimer("__FlashTransitionPainter_timerEffect"); +} +}} + +} + + +}; + +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreated = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.onCreatedContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext = {}; +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects1_1final = []; + +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects1= []; +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2= []; +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects3= []; + + +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +/* Reuse gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2 */ + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length;i= (gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMaxOpacity()) ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i].returnVariable(gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i].getVariables().get("__FlashTransitionPainter_ReverseDirection")).setNumber(-(1)); +} +} +{ //Subevents +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.eventsList0(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +{ + +gdjs.copyArray(gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects1, gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length;i= gdjs.evtTools.window.getGameResolutionWidth(runtimeScene) ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i].returnVariable(gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i].getVariables().get("__FlashTransitionPainter_ReverseDirection")).setNumber(-(1)); +} +} +{ //Subevents +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.eventsList2(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +{ + +gdjs.copyArray(gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects1, gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length;i= gdjs.evtTools.window.getGameResolutionHeight(runtimeScene) ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i].returnVariable(gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i].getVariables().get("__FlashTransitionPainter_ReverseDirection")).setNumber(-(1)); +} +} +{ //Subevents +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.eventsList5(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +{ + +gdjs.copyArray(gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects1, gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length;i= (Math.sqrt(Math.pow(gdjs.evtTools.window.getGameResolutionHeight(runtimeScene), 2) + Math.pow(gdjs.evtTools.window.getGameResolutionWidth(runtimeScene), 2))) / 2 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i].returnVariable(gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2[i].getVariables().get("__FlashTransitionPainter_ReverseDirection")).setNumber(-(1)); +} +} +{ //Subevents +gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.eventsList8(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +{ + +gdjs.copyArray(gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects1, gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__FlashTransitionPainter__FlashTransitionPainter.FlashTransitionPainter.prototype.doStepPostEventsContext.GDObjectObjects2.length;i + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__FPS__FPS = {}; + + +gdjs.evtsExt__FPS__FPS.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = gdjs.evtTools.variable.getVariableChildCount(runtimeScene.getScene().getVariables().get("__FPS").getChild("FrameTimestamps")) / (gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__FPS").getChild("TimeElapsed")) / 1000); }}} + +} + + +}; + +gdjs.evtsExt__FPS__FPS.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__FPS__FPS.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} + +gdjs.evtsExt__FPS__FPS.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__fps__onsceneloaded-func.js b/gdjs-evtsext__fps__onsceneloaded-func.js new file mode 100644 index 00000000..1923776b --- /dev/null +++ b/gdjs-evtsext__fps__onsceneloaded-func.js @@ -0,0 +1,86 @@ + +if (typeof gdjs.evtsExt__FPS__onSceneLoaded !== "undefined") { + gdjs.evtsExt__FPS__onSceneLoaded.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__FPS__onSceneLoaded = {}; + + +gdjs.evtsExt__FPS__onSceneLoaded.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{gdjs.evtTools.variable.valuePush(runtimeScene.getScene().getVariables().get("__FPS").getChild("FrameTimestamps"), gdjs.evtTools.runtimeScene.getTime(runtimeScene, "timestamp")); +}} + +} + + +}; + +gdjs.evtsExt__FPS__onSceneLoaded.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__FPS__onSceneLoaded.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__FPS__onSceneLoaded.registeredGdjsCallbacks = []; +gdjs.evtsExt__FPS__onSceneLoaded.registeredGdjsCallbacks.push((runtimeScene) => { + gdjs.evtsExt__FPS__onSceneLoaded.func(runtimeScene, runtimeScene); +}) +gdjs.registerRuntimeSceneLoadedCallback(gdjs.evtsExt__FPS__onSceneLoaded.registeredGdjsCallbacks[gdjs.evtsExt__FPS__onSceneLoaded.registeredGdjsCallbacks.length - 1]); diff --git a/gdjs-evtsext__fps__onscenepostevents-func.js b/gdjs-evtsext__fps__onscenepostevents-func.js new file mode 100644 index 00000000..923cd23c --- /dev/null +++ b/gdjs-evtsext__fps__onscenepostevents-func.js @@ -0,0 +1,155 @@ + +if (typeof gdjs.evtsExt__FPS__onScenePostEvents !== "undefined") { + gdjs.evtsExt__FPS__onScenePostEvents.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__FPS__onScenePostEvents = {}; + + +gdjs.evtsExt__FPS__onScenePostEvents.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +};gdjs.evtsExt__FPS__onScenePostEvents.eventsList1 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getScene().getVariables().get("__FPS").getChild("TimeElapsed").setNumber(gdjs.evtTools.runtimeScene.getTime(runtimeScene, "timestamp") - gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__FPS").getChild("FrameTimestamps").getChild(0))); +}} + +} + + +{ + + + +} + + +{ + + +let stopDoWhile_0 = false; +do { +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableChildCount(runtimeScene.getScene().getVariables().get("__FPS").getChild("FrameTimestamps")) > 0; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getScene().getVariables().get("__FPS").getChild("FrameTimestamps").getChild(0)) < gdjs.evtTools.runtimeScene.getTime(runtimeScene, "timestamp") - 1000; +} +if (isConditionTrue_0) { +let isConditionTrue_0 = false; +if (true) { +{gdjs.evtTools.variable.variableRemoveAt(runtimeScene.getScene().getVariables().get("__FPS").getChild("FrameTimestamps"), 0); +} +{ //Subevents: +gdjs.evtsExt__FPS__onScenePostEvents.eventsList0(runtimeScene, eventsFunctionContext);} //Subevents end. +} +} else stopDoWhile_0 = true; +} while (!stopDoWhile_0); + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{gdjs.evtTools.variable.valuePush(runtimeScene.getScene().getVariables().get("__FPS").getChild("FrameTimestamps"), gdjs.evtTools.runtimeScene.getTime(runtimeScene, "timestamp")); +}} + +} + + +};gdjs.evtsExt__FPS__onScenePostEvents.eventsList2 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__FPS__onScenePostEvents.eventsList1(runtimeScene, eventsFunctionContext); +} + + +}; + +gdjs.evtsExt__FPS__onScenePostEvents.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__FPS__onScenePostEvents.eventsList2(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__FPS__onScenePostEvents.registeredGdjsCallbacks = []; +gdjs.evtsExt__FPS__onScenePostEvents.registeredGdjsCallbacks.push((runtimeScene) => { + gdjs.evtsExt__FPS__onScenePostEvents.func(runtimeScene, runtimeScene); +}) +gdjs.registerRuntimeScenePostEventsCallback(gdjs.evtsExt__FPS__onScenePostEvents.registeredGdjsCallbacks[gdjs.evtsExt__FPS__onScenePostEvents.registeredGdjsCallbacks.length - 1]); diff --git a/gdjs-evtsext__gamepads__c_axis_pushed-func.js b/gdjs-evtsext__gamepads__c_axis_pushed-func.js new file mode 100644 index 00000000..34908730 --- /dev/null +++ b/gdjs-evtsext__gamepads__c_axis_pushed-func.js @@ -0,0 +1,221 @@ + +if (typeof gdjs.evtsExt__Gamepads__C_Axis_pushed !== "undefined") { + gdjs.evtsExt__Gamepads__C_Axis_pushed.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Gamepads__C_Axis_pushed = {}; + + +gdjs.evtsExt__Gamepads__C_Axis_pushed.userFunc0x1cd9248 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +/** @type {Gamepad[]} */ +const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []); + +//Get function parameters +const playerId = eventsFunctionContext.getArgument("player_ID") - 1; +const stick = eventsFunctionContext.getArgument("stick").toUpperCase(); +const direction = eventsFunctionContext.getArgument("direction").toUpperCase(); + +if (playerId < 0 || playerId > 4) { + console.error('Parameter gamepad identifier in condition: "Gamepad stick pushed (axis)", is not valid number, must be between 0 and 4.'); + return; +} +if (stick != "LEFT" && stick != "RIGHT") { + console.error('Parameter stick in condition: "Gamepad stick pushed (axis)", is not valid, must be LEFT or RIGHT'); + return; +} +if (direction != "UP" && direction != "DOWN" && direction != "LEFT" && direction != "RIGHT" && direction != "ANY") { + console.error('Parameter deadzone in condition: "Gamepad stick pushed (axis)", is not valid, must be UP, DOWN, LEFT or RIGHT'); + return; +} + +const gamepad = gamepads[playerId]; + +//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable. +if (gamepad == null) { + eventsFunctionContext.returnValue = false; + return; +} + + +//Define in onFirstSceneLoaded function +const getNormalizedAxisValue = gdjs._extensionController.getNormalizedAxisValue; + +switch (stick) { + case 'LEFT': + switch (direction) { + case 'LEFT': + if (getNormalizedAxisValue(gamepad.axes[0], playerId) < 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + case 'RIGHT': + if (getNormalizedAxisValue(gamepad.axes[0], playerId) > 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + case 'UP': + if (getNormalizedAxisValue(gamepad.axes[1], playerId) < 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + case 'DOWN': + if (getNormalizedAxisValue(gamepad.axes[1], playerId) > 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + case 'ANY': + if ( getNormalizedAxisValue(gamepad.axes[0], playerId) < 0 + || getNormalizedAxisValue(gamepad.axes[0], playerId) > 0 + || getNormalizedAxisValue(gamepad.axes[1], playerId) < 0 + || getNormalizedAxisValue(gamepad.axes[1], playerId) > 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + default: + console.error('The value Direction on stick Left on the condition: "Gamepad stick pushed (axis)" is not valid.'); + eventsFunctionContext.returnValue = false; + break; + } + break; + + case 'RIGHT': + switch (direction) { + case 'LEFT': + if (getNormalizedAxisValue(gamepad.axes[2], playerId) < 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + case 'RIGHT': + if (getNormalizedAxisValue(gamepad.axes[2], playerId) > 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + case 'UP': + if (getNormalizedAxisValue(gamepad.axes[3], playerId) < 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + case 'DOWN': + if (getNormalizedAxisValue(gamepad.axes[3], playerId) > 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + case 'ANY': + if ( getNormalizedAxisValue(gamepad.axes[2], playerId) < 0 + || getNormalizedAxisValue(gamepad.axes[2], playerId) > 0 + || getNormalizedAxisValue(gamepad.axes[3], playerId) < 0 + || getNormalizedAxisValue(gamepad.axes[3], playerId) > 0) { + eventsFunctionContext.returnValue = true; + return; + } + break; + + default: + console.error('The value Direction on stick Right on the condition: "Gamepad stick pushed (axis)" is not valid.'); + eventsFunctionContext.returnValue = false; + break; + } + break; + + default: + console.error('The value Stick on the condition: "Gamepad stick pushed (axis)" is not valid.'); + eventsFunctionContext.returnValue = false; + break; +} + +eventsFunctionContext.returnValue = false; + +}; +gdjs.evtsExt__Gamepads__C_Axis_pushed.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__Gamepads__C_Axis_pushed.userFunc0x1cd9248(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Gamepads__C_Axis_pushed.func = function(runtimeScene, player_ID, stick, direction, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "player_ID") return player_ID; +if (argName === "stick") return stick; +if (argName === "direction") return direction; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Gamepads__C_Axis_pushed.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__Gamepads__C_Axis_pushed.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__gamepads__c_button_pressed-func.js b/gdjs-evtsext__gamepads__c_button_pressed-func.js new file mode 100644 index 00000000..cad4b4c2 --- /dev/null +++ b/gdjs-evtsext__gamepads__c_button_pressed-func.js @@ -0,0 +1,206 @@ + +if (typeof gdjs.evtsExt__Gamepads__C_Button_pressed !== "undefined") { + gdjs.evtsExt__Gamepads__C_Button_pressed.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Gamepads__C_Button_pressed = {}; + + +gdjs.evtsExt__Gamepads__C_Button_pressed.userFunc0x1cd9d58 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +/** @type {Gamepad[]} */ +const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []); + +//Get function parameters +const playerId = eventsFunctionContext.getArgument("player_ID") - 1; +const button = eventsFunctionContext.getArgument("button").toUpperCase(); + +if (playerId < 0 || playerId > 4) { + console.error('Parameter gamepad identifier in condition: "Gamepad button pressed", is not valid number, must be between 0 and 4.'); + return; +} +if (button === "") { + console.error('Parameter button is not valid in condition: "Gamepad button pressed"'); + eventsFunctionContext.returnValue = false; + return; +} + +const gamepad = gamepads[playerId]; + +//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable. +if (gamepad == null) return; + +let buttonId; + +switch (button) { + case 'A': + case 'CROSS': + buttonId = 0; + break; + case 'B': + case 'CIRCLE': + buttonId = 1; + break; + case 'X': + case 'SQUARE': + buttonId = 2; + break; + case 'Y': + case 'TRIANGLE': + buttonId = 3; + break; + case 'LB': + case 'L1': + buttonId = 4; + break; + case 'RB': + case 'R1': + buttonId = 5; + break; + case 'LT': + case 'L2': + buttonId = 6; + break; + case 'RT': + case 'R2': + buttonId = 7; + break; + + case 'UP': + buttonId = 12; + break; + case 'DOWN': + buttonId = 13; + break; + case 'LEFT': + buttonId = 14; + break; + case 'RIGHT': + buttonId = 15; + break; + + case 'BACK': + case 'SHARE': + buttonId = 8; + break; + case 'START': + case 'OPTIONS': + buttonId = 9; + break; + + case 'CLICK_STICK_LEFT': + buttonId = 10; + break; + case 'CLICK_STICK_RIGHT': + buttonId = 11; + break; + + //PS4 + case 'PS_BUTTON': + buttonId = 16; + break; + case 'CLICK_TOUCHPAD': + buttonId = 17; + break; + + default: + console.error('The button: ' + button + ' in condition: "Gamepad button pressed" is not valid.'); + eventsFunctionContext.returnValue = false; + break; +} + + + +if (buttonId === undefined) { + console.error('There is no buttons valid in condition: "Gamepad button pressed"'); + eventsFunctionContext.returnValue = false; + return; +} + +if (gamepad.buttons == null || gamepad.buttons[buttonId] == null) { + console.error('Buttons on the gamepad are not accessible in condition: "Gamepad button pressed"'); + eventsFunctionContext.returnValue = false; + return; +} + +//When a button is pressed, save the button in lastButtonUsed for each players +if (gamepad.buttons[buttonId].pressed) gdjs._extensionController.players[playerId].lastButtonUsed = buttonId; +eventsFunctionContext.returnValue = gamepad.buttons[buttonId].pressed; + + + + +}; +gdjs.evtsExt__Gamepads__C_Button_pressed.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__Gamepads__C_Button_pressed.userFunc0x1cd9d58(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Gamepads__C_Button_pressed.func = function(runtimeScene, player_ID, button, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "player_ID") return player_ID; +if (argName === "button") return button; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Gamepads__C_Button_pressed.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__Gamepads__C_Button_pressed.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__gamepads__c_button_released-func.js b/gdjs-evtsext__gamepads__c_button_released-func.js new file mode 100644 index 00000000..b0df6d07 --- /dev/null +++ b/gdjs-evtsext__gamepads__c_button_released-func.js @@ -0,0 +1,214 @@ + +if (typeof gdjs.evtsExt__Gamepads__C_Button_released !== "undefined") { + gdjs.evtsExt__Gamepads__C_Button_released.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Gamepads__C_Button_released = {}; + + +gdjs.evtsExt__Gamepads__C_Button_released.userFunc0x1ed9f58 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +/** @type {Gamepad[]} */ +const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []); + +//Get function parameters +const playerId = eventsFunctionContext.getArgument("player_ID") - 1; +const button = eventsFunctionContext.getArgument("button").toUpperCase(); + +if (playerId < 0 || playerId > 4) { + console.error('Parameter gamepad identifier in condition: "Gamepad button released", is not valid number, must be between 0 and 4.'); + return; +} +if (button === "") { + console.error('Parameter button is not valid in condition: "Gamepad button released"'); + return; +} + +const gamepad = gamepads[playerId]; + +//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable. +if (gamepad == null) return; + +let buttonId; + +switch (button) { + case 'A': + case 'CROSS': + buttonId = 0; + break; + case 'B': + case 'CIRCLE': + buttonId = 1; + break; + case 'X': + case 'SQUARE': + buttonId = 2; + break; + case 'Y': + case 'TRIANGLE': + buttonId = 3; + break; + case 'LB': + case 'L1': + buttonId = 4; + break; + case 'RB': + case 'R1': + buttonId = 5; + break; + case 'LT': + case 'L2': + buttonId = 6; + break; + case 'RT': + case 'R2': + buttonId = 7; + break; + + case 'UP': + buttonId = 12; + break; + case 'DOWN': + buttonId = 13; + break; + case 'LEFT': + buttonId = 14; + break; + case 'RIGHT': + buttonId = 15; + break; + + case 'BACK': + case 'SHARE': + buttonId = 8; + break; + case 'START': + case 'OPTIONS': + buttonId = 9; + break; + + case 'CLICK_STICK_LEFT': + buttonId = 10; + break; + case 'CLICK_STICK_RIGHT': + buttonId = 11; + break; + + //PS4 + case 'PS_BUTTON': + buttonId = 16; + break; + case 'CLICK_TOUCHPAD': + buttonId = 17; + break; + + default: + console.error('The button: ' + button + ' in condition: "Gamepad button released" is not valid.'); + break; +} + +if (buttonId === undefined) { + console.error('There is no buttons valid in condition: "Gamepad button released"'); + eventsFunctionContext.returnValue = false; + return; +} + +if (gamepad.buttons == null || gamepad.buttons[buttonId] == null) { + console.error('Buttons on the gamepad are not accessible in condition: "Gamepad button released"'); + eventsFunctionContext.returnValue = false; + return; +} + +//Define default value on pressed button or use previous value +gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId] || { pressed: false }; + +//Get state of button at previous frame +const previousStateButton = gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed; + +//When previousStateButton is true and actual button state is not pressed +//Player have release the button +if (previousStateButton === true && gamepad.buttons[buttonId].pressed === false) { + // Save the last button used for the player + gdjs._extensionController.players[playerId].lastButtonUsed = buttonId; + gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = true; + eventsFunctionContext.returnValue = true; + +} else { + gdjs._extensionController.players[playerId].previousFrameStateButtons[buttonId].pressed = false; + eventsFunctionContext.returnValue = false; +} + +}; +gdjs.evtsExt__Gamepads__C_Button_released.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__Gamepads__C_Button_released.userFunc0x1ed9f58(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Gamepads__C_Button_released.func = function(runtimeScene, player_ID, button, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "player_ID") return player_ID; +if (argName === "button") return button; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Gamepads__C_Button_released.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__Gamepads__C_Button_released.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__gamepads__c_controller_x_is_connected-func.js b/gdjs-evtsext__gamepads__c_controller_x_is_connected-func.js new file mode 100644 index 00000000..8690bd7b --- /dev/null +++ b/gdjs-evtsext__gamepads__c_controller_x_is_connected-func.js @@ -0,0 +1,97 @@ + +if (typeof gdjs.evtsExt__Gamepads__C_Controller_X_is_connected !== "undefined") { + gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Gamepads__C_Controller_X_is_connected = {}; + + +gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.userFunc0x1fb7d48 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +/** @type {Gamepad[]} */ +const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []); + +//Get function parameter +const playerId = eventsFunctionContext.getArgument("player_ID") - 1; + +if (playerId < 0 || playerId > 4) { + console.error('Parameter gamepad identifier in condition: "Gamepad connected", is not valid number, must be between 0 and 4.'); + return; +} + +// If gamepad was disconnected it will be null (so this will return false) +// If gamepad was never connected it will be undefined (so this will return false) +eventsFunctionContext.returnValue = !!gamepads[playerId]; +}; +gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.userFunc0x1fb7d48(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.func = function(runtimeScene, player_ID, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "player_ID") return player_ID; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__Gamepads__C_Controller_X_is_connected.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__gamepads__onfirstsceneloaded-func.js b/gdjs-evtsext__gamepads__onfirstsceneloaded-func.js new file mode 100644 index 00000000..681e2ecf --- /dev/null +++ b/gdjs-evtsext__gamepads__onfirstsceneloaded-func.js @@ -0,0 +1,211 @@ + +if (typeof gdjs.evtsExt__Gamepads__onFirstSceneLoaded !== "undefined") { + gdjs.evtsExt__Gamepads__onFirstSceneLoaded.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Gamepads__onFirstSceneLoaded = {}; + + +gdjs.evtsExt__Gamepads__onFirstSceneLoaded.userFunc0x1ed06f0 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +//Define an new private object javascript for the gamepad extension +gdjs._extensionController = { + players: { + 0: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} }, + 1: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} }, + 2: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} }, + 3: { mapping: 'DEFAULT', lastButtonUsed: -1, deadzone: 0.2, previousFrameStateButtons: {}, rumble: {} }, + }, + lastActiveController: -1, // Last active controller + controllerButtonNames: { //Map associating controller button ids to button names + "XBOX": { + 0: "A", + 1: "B", + 2: "X", + 3: "Y", + 4: "LB", + 5: "RB", + 6: "LT", + 7: "RT", + 8: "BACK", + 9: "START", + 10: "CLICK_STICK_LEFT", + 11: "CLICK_STICK_RIGHT", + 12: "UP", + 13: "DOWN", + 14: "LEFT", + 15: "RIGHT", + 16: "NONE", + 17: "NONE" + }, + "PS4": { + 0: "CROSS", + 1: "CIRCLE", + 2: "SQUARE", + 3: "TRIANGLE", + 4: "L1", + 5: "R1", + 6: "L2", + 7: "R2", + 8: "SHARE", + 9: "OPTIONS", + 10: "CLICK_STICK_LEFT", + 11: "CLICK_STICK_RIGHT", + 12: "UP", + 13: "DOWN", + 14: "LEFT", + 15: "RIGHT", + 16: "PS_BUTTON", + 17: "CLICK_TOUCHPAD" + } + } +}; + +gdjs._extensionController.getInputString = function (type, buttonId) { + const controllerButtonNames = gdjs._extensionController.controllerButtonNames; + if (controllerButtonNames[type] !== undefined) { + return controllerButtonNames[type][buttonId]; + } + + return "UNKNOWN_BUTTON"; +} + +gdjs._extensionController.axisToAngle = function (deltaX, deltaY) { + const rad = Math.atan2(deltaY, deltaX); + const deg = rad * (180 / Math.PI); + return deg; +} + +gdjs._extensionController.isXbox = function (gamepad) { + return (gamepad ? ( + gamepad.id.toUpperCase().indexOf("XBOX") !== -1 + // "XINPUT" cannot be used to check if it is a xbox controller is just a generic + // name reported in Firefox corresponding to the driver being used by the controller + // https://gamefaqs.gamespot.com/boards/916373-pc/73341312?page=1 + ) : false); +} + +//Returns the new value taking into account the dead zone for the player_ID given +gdjs._extensionController.getNormalizedAxisValue = function (v, player_ID) { + // gdjs._extensionController = gdjs._extensionController || { deadzone: 0.2 }; + + // Anything smaller than this is assumed to be 0,0 + const DEADZONE = gdjs._extensionController.players[player_ID].deadzone; + + if (Math.abs(v) < DEADZONE) { + // In the dead zone, set to 0 + v = 0; + + if (v == null) { + return 0; + } else { + return v; + } + + } else { + // We're outside the dead zone, but we'd like to smooth + // this value out so it still runs nicely between 0..1. + // That is, we don't want it to jump suddenly from 0 to + // DEADZONE. + + // Remap v from + // DEADZONE..1 to 0..(1-DEADZONE) + // or from + // -1..-DEADZONE to -(1-DEADZONE)..0 + + v = v - Math.sign(v) * DEADZONE; + + // Remap v from + // 0..(1-DEADZONE) to 0..1 + // or from + // -(1-DEADZONE)..0 to -1..0 + + return v / (1 - DEADZONE); + } +}; +}; +gdjs.evtsExt__Gamepads__onFirstSceneLoaded.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +gdjs.evtsExt__Gamepads__onFirstSceneLoaded.userFunc0x1ed06f0(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Gamepads__onFirstSceneLoaded.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Gamepads__onFirstSceneLoaded.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__Gamepads__onFirstSceneLoaded.registeredGdjsCallbacks = []; +gdjs.evtsExt__Gamepads__onFirstSceneLoaded.registeredGdjsCallbacks.push((runtimeScene) => { + gdjs.evtsExt__Gamepads__onFirstSceneLoaded.func(runtimeScene, runtimeScene); +}) +gdjs.registerFirstRuntimeSceneLoadedCallback(gdjs.evtsExt__Gamepads__onFirstSceneLoaded.registeredGdjsCallbacks[gdjs.evtsExt__Gamepads__onFirstSceneLoaded.registeredGdjsCallbacks.length - 1]); diff --git a/gdjs-evtsext__gamepads__onscenepostevents-func.js b/gdjs-evtsext__gamepads__onscenepostevents-func.js new file mode 100644 index 00000000..c0c58507 --- /dev/null +++ b/gdjs-evtsext__gamepads__onscenepostevents-func.js @@ -0,0 +1,139 @@ + +if (typeof gdjs.evtsExt__Gamepads__onScenePostEvents !== "undefined") { + gdjs.evtsExt__Gamepads__onScenePostEvents.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Gamepads__onScenePostEvents = {}; + + +gdjs.evtsExt__Gamepads__onScenePostEvents.userFunc0x1e25080 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +//Each time a player press a button i save the last button pressed for the next frame +/** @type {Gamepad[]} */ +const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []); + +//Get function parameter +let countPlayers = Object.keys(gdjs._extensionController.players).length; + +//Repeat for each players +for (let i = 0; i < countPlayers; i++) { + let gamepad = gamepads[i]; // Get the gamepad of the player + + //We have to keep this condition because if the user hasn't plugged in his controller yet, we can't get the controller in the gamepad variable. + if (gamepad == null) { + continue; + } + + for (let b = 0; b < Object.keys(gamepad.buttons).length; b++) { //For each buttons + if (gamepad.buttons[b].pressed) { //One of them is pressed + gdjs._extensionController.players[i].lastButtonUsed = b; //Save the button pressed + + //Save the state of the button for the next frame. + gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: true }; + + // Update Last Active Controller + gdjs._extensionController.lastActiveController = i; + } else { + gdjs._extensionController.players[i].previousFrameStateButtons[b] = { pressed: false }; + } + } + + + gdjs._extensionController.players[i].rumble.elapsedTime += runtimeScene.getElapsedTime(runtimeScene) / 1000; + if ( + gdjs._extensionController.players[i].rumble.duration - gdjs._extensionController.players[i].rumble.elapsedTime <= 0 && + (gdjs._extensionController.players[i].rumble.weakMagnitude || gdjs._extensionController.players[i].rumble.strongMagnitude) + ) { + gdjs._extensionController.players[i].rumble.weakMagnitude = 0; + gdjs._extensionController.players[i].rumble.strongMagnitude = 0; + } + + +} + +}; +gdjs.evtsExt__Gamepads__onScenePostEvents.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +} + +} + + +{ + + +gdjs.evtsExt__Gamepads__onScenePostEvents.userFunc0x1e25080(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Gamepads__onScenePostEvents.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Gamepads__onScenePostEvents.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__Gamepads__onScenePostEvents.registeredGdjsCallbacks = []; +gdjs.evtsExt__Gamepads__onScenePostEvents.registeredGdjsCallbacks.push((runtimeScene) => { + gdjs.evtsExt__Gamepads__onScenePostEvents.func(runtimeScene, runtimeScene); +}) +gdjs.registerRuntimeScenePostEventsCallback(gdjs.evtsExt__Gamepads__onScenePostEvents.registeredGdjsCallbacks[gdjs.evtsExt__Gamepads__onScenePostEvents.registeredGdjsCallbacks.length - 1]); diff --git a/gdjs-evtsext__gamepads__stickangle-func.js b/gdjs-evtsext__gamepads__stickangle-func.js new file mode 100644 index 00000000..3175dfcf --- /dev/null +++ b/gdjs-evtsext__gamepads__stickangle-func.js @@ -0,0 +1,118 @@ + +if (typeof gdjs.evtsExt__Gamepads__StickAngle !== "undefined") { + gdjs.evtsExt__Gamepads__StickAngle.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Gamepads__StickAngle = {}; + + +gdjs.evtsExt__Gamepads__StickAngle.userFunc0x1cc9d20 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +/** @type {Gamepad[]} */ +const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []); + +//Get function parameters +const playerId = eventsFunctionContext.getArgument("player_ID") - 1; +const stick = eventsFunctionContext.getArgument("stick").toUpperCase(); + + +if (playerId < 0 || playerId > 4) { + console.error('Parameter gamepad identifier is not valid in expression: "Value of a stick rotation"'); + return; +} +if (stick !== "LEFT" && stick !== "RIGHT") { + console.error('Parameter stick is not valid in expression: "Value of a stick rotation"'); + return; +} +const gamepad = gamepads[playerId]; + +//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable. +if (gamepad == null) return; + +switch (stick) { + case 'LEFT': + eventsFunctionContext.returnValue = gdjs._extensionController.axisToAngle(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId), gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId)); + break; + + case 'RIGHT': + eventsFunctionContext.returnValue = gdjs._extensionController.axisToAngle(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId), gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId)); + break; + + default: + eventsFunctionContext.returnValue = -1; + break; +} +}; +gdjs.evtsExt__Gamepads__StickAngle.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__Gamepads__StickAngle.userFunc0x1cc9d20(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Gamepads__StickAngle.func = function(runtimeScene, player_ID, stick, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "player_ID") return player_ID; +if (argName === "stick") return stick; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Gamepads__StickAngle.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} + +gdjs.evtsExt__Gamepads__StickAngle.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__gamepads__stickforce-func.js b/gdjs-evtsext__gamepads__stickforce-func.js new file mode 100644 index 00000000..f698270d --- /dev/null +++ b/gdjs-evtsext__gamepads__stickforce-func.js @@ -0,0 +1,121 @@ + +if (typeof gdjs.evtsExt__Gamepads__StickForce !== "undefined") { + gdjs.evtsExt__Gamepads__StickForce.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Gamepads__StickForce = {}; + + +gdjs.evtsExt__Gamepads__StickForce.userFunc0x1c865e8 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +/** @type {Gamepad[]} */ +const gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []); + +//Get function parameters +const playerId = eventsFunctionContext.getArgument("player_ID") - 1; +const stick = eventsFunctionContext.getArgument("stick").toUpperCase(); + + +if (playerId < 0 || playerId > 4) { + console.error('Parameter gamepad identifier is not valid in expression: "Value of a stick force"'); + return; +} + +if (stick !== "LEFT" && stick !== "RIGHT") { + console.error('Parameter stick is not valid in expression: "Value of a stick force"'); + return; +} + +const gamepad = gamepads[playerId]; + +//we need keep this condition because when use have not yet plug her controller we can't get the controller in the gamepad variable. +if (gamepad == null) return; + + +switch (stick) { + case 'LEFT': + eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[0], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[1], playerId)), 0, 1); + break; + + case 'RIGHT': + eventsFunctionContext.returnValue = gdjs.evtTools.common.clamp(Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[2], playerId)) + Math.abs(gdjs._extensionController.getNormalizedAxisValue(gamepad.axes[3], playerId)), 0, 1); + break; + + default: + eventsFunctionContext.returnValue = -1; + break; +} +}; +gdjs.evtsExt__Gamepads__StickForce.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__Gamepads__StickForce.userFunc0x1c865e8(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Gamepads__StickForce.func = function(runtimeScene, player_ID, stick, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "player_ID") return player_ID; +if (argName === "stick") return stick; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Gamepads__StickForce.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} + +gdjs.evtsExt__Gamepads__StickForce.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__gamepads__stickrotationvalue-func.js b/gdjs-evtsext__gamepads__stickrotationvalue-func.js new file mode 100644 index 00000000..05f5418e --- /dev/null +++ b/gdjs-evtsext__gamepads__stickrotationvalue-func.js @@ -0,0 +1,83 @@ + +if (typeof gdjs.evtsExt__Gamepads__StickRotationValue !== "undefined") { + gdjs.evtsExt__Gamepads__StickRotationValue.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Gamepads__StickRotationValue = {}; + + +gdjs.evtsExt__Gamepads__StickRotationValue.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = gdjs.evtsExt__Gamepads__StickAngle.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("player_ID")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? "" + eventsFunctionContext.getArgument("stick") : ""), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); }}} + +} + + +}; + +gdjs.evtsExt__Gamepads__StickRotationValue.func = function(runtimeScene, player_ID, stick, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "player_ID") return player_ID; +if (argName === "stick") return stick; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Gamepads__StickRotationValue.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} + +gdjs.evtsExt__Gamepads__StickRotationValue.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__isonscreen__inonscreen.js b/gdjs-evtsext__isonscreen__inonscreen.js new file mode 100644 index 00000000..9ead4049 --- /dev/null +++ b/gdjs-evtsext__isonscreen__inonscreen.js @@ -0,0 +1,190 @@ + +gdjs.evtsExt__IsOnScreen__InOnScreen = gdjs.evtsExt__IsOnScreen__InOnScreen || {}; + +/** + * Behavior generated from Is on screen + */ +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen = class InOnScreen extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.getSharedData( + instanceContainer, + behaviorData.name + ); + + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + + return true; + } + + // Properties: + +} + +/** + * Shared data generated from Is on screen + */ +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.SharedData = class InOnScreenSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._IsOnScreen_InOnScreenSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._IsOnScreen_InOnScreenSharedData = new gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.SharedData( + initialData + ); + } + return instanceContainer._IsOnScreen_InOnScreenSharedData; +} + +// Methods: +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreenContext = {}; +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreenContext.GDObjectObjects1= []; + + +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreenContext.userFunc0x2074778 = function GDJSInlineCode(runtimeScene, objects, eventsFunctionContext) { +"use strict"; +/* +Get the object layer, convert the position from this layer to the screen coordinates. +Get the point on each side on the object on screen, and compare with the screen area. + +This way even if the camera has a rotation or custom scale the object is always compared to the screen area. +*/ + + +// Get the layer of the object. +const object = objects[0]; +const layer = runtimeScene.getLayer(object.getLayer()); + +// Get the aabb of the object on his layer. +const aabb = object.getVisibilityAABB(); + +// Get the layer to convert the coordinates of the AABB to the screen coordinates +const topLeft = layer.convertInverseCoords(aabb.min[0], aabb.min[1]); +const topRight = layer.convertInverseCoords(aabb.max[0], aabb.min[1]); +const bottomRight = layer.convertInverseCoords(aabb.max[0], aabb.max[1]); +const bottomLeft = layer.convertInverseCoords(aabb.min[0], aabb.max[1]); + +// Get the points on each side of the object on screen. +const posLeftObjectOnScreen = Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]); +const posRightObjectOnScreen = Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]); +const posUpObjectOnScreen = Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]); +const posDownObjectOnScreen = Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]); + +const padding = eventsFunctionContext.getArgument("Padding"); + +if ( + !(posLeftObjectOnScreen - padding > runtimeScene.getGame().getGameResolutionWidth() || + posUpObjectOnScreen - padding > runtimeScene.getGame().getGameResolutionHeight() || + posRightObjectOnScreen + padding < 0 || + posDownObjectOnScreen + padding < 0 + ) +) { + eventsFunctionContext.returnValue = true; +} + +}; +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreenContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreenContext.GDObjectObjects1); + +var objects = []; +objects.push.apply(objects,gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreenContext.GDObjectObjects1); +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreenContext.userFunc0x2074778(runtimeScene, objects, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreen = function(Padding, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Padding") return Padding; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreenContext.GDObjectObjects1.length = 0; + +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.IsOnScreenContext.eventsList0(runtimeScene, eventsFunctionContext); + +return !!eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen.prototype.doStepPreEvents = function() { + this._onceTriggers.startNewFrame(); +}; + + +gdjs.registerBehavior("IsOnScreen::InOnScreen", gdjs.evtsExt__IsOnScreen__InOnScreen.InOnScreen); diff --git a/gdjs-evtsext__panelspritebutton__buttonfsm.js b/gdjs-evtsext__panelspritebutton__buttonfsm.js new file mode 100644 index 00000000..f25d3290 --- /dev/null +++ b/gdjs-evtsext__panelspritebutton__buttonfsm.js @@ -0,0 +1,1626 @@ + +gdjs.evtsExt__PanelSpriteButton__ButtonFSM = gdjs.evtsExt__PanelSpriteButton__ButtonFSM || {}; + +/** + * Behavior generated from Button finite state machine + */ +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM = class ButtonFSM extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.getSharedData( + instanceContainer, + behaviorData.name + ); + + this._behaviorData.ShouldCheckHovering = true; + this._behaviorData.State = "Idle"; + this._behaviorData.TouchId = Number("0") || 0; + this._behaviorData.TouchIsInside = false; + this._behaviorData.MouseIsInside = false; + this._behaviorData.Index = Number("") || 0; + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + if (oldBehaviorData.ShouldCheckHovering !== newBehaviorData.ShouldCheckHovering) + this._behaviorData.ShouldCheckHovering = newBehaviorData.ShouldCheckHovering; + if (oldBehaviorData.State !== newBehaviorData.State) + this._behaviorData.State = newBehaviorData.State; + if (oldBehaviorData.TouchId !== newBehaviorData.TouchId) + this._behaviorData.TouchId = newBehaviorData.TouchId; + if (oldBehaviorData.TouchIsInside !== newBehaviorData.TouchIsInside) + this._behaviorData.TouchIsInside = newBehaviorData.TouchIsInside; + if (oldBehaviorData.MouseIsInside !== newBehaviorData.MouseIsInside) + this._behaviorData.MouseIsInside = newBehaviorData.MouseIsInside; + if (oldBehaviorData.Index !== newBehaviorData.Index) + this._behaviorData.Index = newBehaviorData.Index; + + return true; + } + + // Properties: + + _getShouldCheckHovering() { + return this._behaviorData.ShouldCheckHovering !== undefined ? this._behaviorData.ShouldCheckHovering : true; + } + _setShouldCheckHovering(newValue) { + this._behaviorData.ShouldCheckHovering = newValue; + } + _toggleShouldCheckHovering() { + this._setShouldCheckHovering(!this._getShouldCheckHovering()); + } + _getState() { + return this._behaviorData.State !== undefined ? this._behaviorData.State : "Idle"; + } + _setState(newValue) { + this._behaviorData.State = newValue; + } + _getTouchId() { + return this._behaviorData.TouchId !== undefined ? this._behaviorData.TouchId : Number("0") || 0; + } + _setTouchId(newValue) { + this._behaviorData.TouchId = newValue; + } + _getTouchIsInside() { + return this._behaviorData.TouchIsInside !== undefined ? this._behaviorData.TouchIsInside : false; + } + _setTouchIsInside(newValue) { + this._behaviorData.TouchIsInside = newValue; + } + _toggleTouchIsInside() { + this._setTouchIsInside(!this._getTouchIsInside()); + } + _getMouseIsInside() { + return this._behaviorData.MouseIsInside !== undefined ? this._behaviorData.MouseIsInside : false; + } + _setMouseIsInside(newValue) { + this._behaviorData.MouseIsInside = newValue; + } + _toggleMouseIsInside() { + this._setMouseIsInside(!this._getMouseIsInside()); + } + _getIndex() { + return this._behaviorData.Index !== undefined ? this._behaviorData.Index : Number("") || 0; + } + _setIndex(newValue) { + this._behaviorData.Index = newValue; + } +} + +/** + * Shared data generated from Button finite state machine + */ +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.SharedData = class ButtonFSMSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._PanelSpriteButton_ButtonFSMSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._PanelSpriteButton_ButtonFSMSharedData = new gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.SharedData( + initialData + ); + } + return instanceContainer._PanelSpriteButton_ButtonFSMSharedData; +} + +// Methods: +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext = {}; +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects4_1final = []; + +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects3= []; +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects4= []; +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects5= []; + + +gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects3); +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects3.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects3[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setMouseIsInside(false); +} +}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects3); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__PanelSpriteButton__ButtonFSM.ButtonFSM.prototype.doStepPostEventsContext.GDObjectObjects3.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDObjectObjects3[k] = gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDObjectObjects3[i]; + ++k; + } +} +gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDObjectObjects3.length = k; +} +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDHoveredObjects3 */ +/* Reuse gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDObjectObjects3 */ +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDHoveredObjects3.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDHoveredObjects3[i].getBehavior(eventsFunctionContext.getBehaviorName("Tween")).addObjectOpacityTween("Fadeout", 0, "linear", (( gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDObjectObjects3[0]._getHoveredFadeOutDuration()) * 1000, false); +} +}} + +} + + +{ + +/* Reuse gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDObjectObjects2 */ + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__PanelSpriteButton__PanelSpriteButton.PanelSpriteButton.prototype.doStepPostEventsContext.GDObjectObjects2.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDObjectObjects1[k] = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDBufferObjects1.length = 0; + +{gdjs.evtTools.object.createObjectOnScene((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : runtimeScene), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.mapOfGDgdjs_9546evtsExt_9595_9595PanelSpriteContinuousBar_9595_9595PanelSpriteContinuousBar_9546PanelSpriteContinuousBar_9546prototype_9546onCreatedContext_9546GDBufferObjects1Objects, 0, 0, ""); +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDBufferObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDBufferObjects1[i].setZOrder(2); +} +}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDLabelObjects1.length = 0; + +{gdjs.evtTools.object.createObjectOnScene((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : runtimeScene), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.mapOfGDgdjs_9546evtsExt_9595_9595PanelSpriteContinuousBar_9595_9595PanelSpriteContinuousBar_9546PanelSpriteContinuousBar_9546prototype_9546onCreatedContext_9546GDLabelObjects1Objects, 0, 0, ""); +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDLabelObjects1[i].setZOrder(4); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDLabelObjects1[i].setTextAlignment("center"); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDLabelObjects1[i].setWrapping(true); +} +}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.onCreatedContext.GDObjectObjects1.length;i= (( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDBufferObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDBufferObjects1[0].getWidth()) ) { + isConditionTrue_0 = true; + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDFillBarObjects1[k] = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDFillBarObjects1[i]; + ++k; + } +} +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDFillBarObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDBufferObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDBufferObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDBufferObjects1[i].hide(); +} +}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEvents = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._instanceContainer; +var thisObjectList = [this]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var thisGDLabelObjectsList = [...runtimeScene.getObjects("Label")]; +var GDLabelObjects = Hashtable.newFrom({"Label": thisGDLabelObjectsList}); +var thisGDFillBarObjectsList = [...runtimeScene.getObjects("FillBar")]; +var GDFillBarObjects = Hashtable.newFrom({"FillBar": thisGDFillBarObjectsList}); +var thisGDBufferObjectsList = [...runtimeScene.getObjects("Buffer")]; +var GDBufferObjects = Hashtable.newFrom({"Buffer": thisGDBufferObjectsList}); +var thisGDBackgroundObjectsList = [...runtimeScene.getObjects("Background")]; +var GDBackgroundObjects = Hashtable.newFrom({"Background": thisGDBackgroundObjectsList}); +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Label": GDLabelObjects +, "FillBar": GDFillBarObjects +, "Buffer": GDBufferObjects +, "Background": GDBackgroundObjects +}, + _objectArraysMap: { +"Object": thisObjectList +, "Label": thisGDLabelObjectsList +, "FillBar": thisGDFillBarObjectsList +, "Buffer": thisGDBufferObjectsList +, "Background": thisGDBackgroundObjectsList +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDLabelObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDLabelObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDFillBarObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDFillBarObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDBufferObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDBufferObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDBackgroundObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.GDBackgroundObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.doStepPostEventsContext.eventsList1(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext = {}; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects2= []; + + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Background"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("FillBar"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1[i].setPosition((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0]._getBarLeftPadding()),(( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0]._getBarTopPadding())); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1[i].setWidth((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0].WidthForValue((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)))); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1[i].setHeight(Math.round((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects1[0].getHeight()) - (( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0]._getBarTopPadding()) - (( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0]._getBarBottomPadding()))); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Buffer"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("FillBar"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1); +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects1[i].setPosition((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1[0].getX()),(( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1[0].getY())); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects1[i].setWidth((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1[0].getWidth())); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects1[i].setHeight((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1[0].getHeight())); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Background"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("FillBar"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("Label"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1[i].setPosition((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0]._getBarLeftPadding()),(( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0]._getBarTopPadding())); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1[i].setWrappingWidth((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0].FullBarWidth((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)))); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1[i].setCenterYInScene((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1[0].getCenterYInScene())); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1[i].setCenterXInScene((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects1[0].getCenterXInScene()) + ((( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0]._getBarLeftPadding()) - (( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1[0]._getBarRightPadding())) / 2); +} +}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayout = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._instanceContainer; +var thisObjectList = [this]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var thisGDLabelObjectsList = [...runtimeScene.getObjects("Label")]; +var GDLabelObjects = Hashtable.newFrom({"Label": thisGDLabelObjectsList}); +var thisGDFillBarObjectsList = [...runtimeScene.getObjects("FillBar")]; +var GDFillBarObjects = Hashtable.newFrom({"FillBar": thisGDFillBarObjectsList}); +var thisGDBufferObjectsList = [...runtimeScene.getObjects("Buffer")]; +var GDBufferObjects = Hashtable.newFrom({"Buffer": thisGDBufferObjectsList}); +var thisGDBackgroundObjectsList = [...runtimeScene.getObjects("Background")]; +var GDBackgroundObjects = Hashtable.newFrom({"Background": thisGDBackgroundObjectsList}); +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Label": GDLabelObjects +, "FillBar": GDFillBarObjects +, "Buffer": GDBufferObjects +, "Background": GDBackgroundObjects +}, + _objectArraysMap: { +"Object": thisObjectList +, "Label": thisGDLabelObjectsList +, "FillBar": thisGDFillBarObjectsList +, "Buffer": thisGDBufferObjectsList +, "Background": thisGDBackgroundObjectsList +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDLabelObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDFillBarObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBufferObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.GDBackgroundObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.UpdateLayoutContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext = {}; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDLabelObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDLabelObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDFillBarObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDFillBarObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDBufferObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDBufferObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDBackgroundObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDBackgroundObjects2= []; + + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("FillBar"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDFillBarObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDFillBarObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDFillBarObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("ResourceBar")).Value((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))); }}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.Value = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._instanceContainer; +var thisObjectList = [this]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var thisGDLabelObjectsList = [...runtimeScene.getObjects("Label")]; +var GDLabelObjects = Hashtable.newFrom({"Label": thisGDLabelObjectsList}); +var thisGDFillBarObjectsList = [...runtimeScene.getObjects("FillBar")]; +var GDFillBarObjects = Hashtable.newFrom({"FillBar": thisGDFillBarObjectsList}); +var thisGDBufferObjectsList = [...runtimeScene.getObjects("Buffer")]; +var GDBufferObjects = Hashtable.newFrom({"Buffer": thisGDBufferObjectsList}); +var thisGDBackgroundObjectsList = [...runtimeScene.getObjects("Background")]; +var GDBackgroundObjects = Hashtable.newFrom({"Background": thisGDBackgroundObjectsList}); +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Label": GDLabelObjects +, "FillBar": GDFillBarObjects +, "Buffer": GDBufferObjects +, "Background": GDBackgroundObjects +}, + _objectArraysMap: { +"Object": thisObjectList +, "Label": thisGDLabelObjectsList +, "FillBar": thisGDFillBarObjectsList +, "Buffer": thisGDBufferObjectsList +, "Background": thisGDBackgroundObjectsList +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDLabelObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDLabelObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDFillBarObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDFillBarObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDBufferObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDBufferObjects2.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDBackgroundObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.GDBackgroundObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.ValueContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext = {}; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDLabelObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDLabelObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDFillBarObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDFillBarObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDBufferObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDBufferObjects2= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDBackgroundObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDBackgroundObjects2= []; + + +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("FillBar"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDFillBarObjects1); +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDFillBarObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDFillBarObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("ResourceBar")).SetValue((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1[k] = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +gdjs.copyArray(eventsFunctionContext.getObjects("FillBar"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDFillBarObjects1); +/* Reuse gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDFillBarObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDFillBarObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Tween")).addObjectWidthTween("ChangeValue", (( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1[0].WidthForValue((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined))), "linear", (( gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1[0]._getEasingDuration()) * 1000, false); +} +}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__PanelSpriteContinuousBar__PanelSpriteContinuousBar.PanelSpriteContinuousBar.prototype.SetValueContext.GDObjectObjects1.length;i= (gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getPreviousHighValue()) ) { + isConditionTrue_0 = true; + gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.GDObjectObjects1[k] = gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.GDObjectObjects1[i]; + ++k; + } +} +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.GDObjectObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.GDObjectObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior")).UpdatePreviousHighValue((typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValue = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetValueContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext = {}; +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext.GDObjectObjects2= []; + + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMaxValue()); }}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValue = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.MaxValueContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext = {}; +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext.GDObjectObjects2= []; + + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setMaxValue((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0)); +} +}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValue = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.SetMaxValueContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.IsEmptyContext = {}; +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.IsEmptyContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.IsEmptyContext.GDObjectObjects2= []; + + +gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.IsEmptyContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.IsEmptyContext.GDObjectObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__PanelSpriteContinuousBar__ResourceBar.ResourceBar.prototype.IsEmptyContext.GDObjectObjects1.length;i 0.5 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDLabelObjects1[k] = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDLabelObjects1[i]; + ++k; + } +} +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDLabelObjects1.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDLabelObjects1 */ +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDLabelObjects1[i].hide(); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDLabelObjects1[i].removeTimer("HideBack"); +} +}} + +} + + +};gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.eventsList3 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Background"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDBackgroundObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.doStepPostEventsContext.GDBackgroundObjects1.length;i 0 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDFillBarObjects1[k] = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDFillBarObjects1[i]; + ++k; + } +} +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDFillBarObjects1.length = k; +if (isConditionTrue_0) { + +{ //Subevents +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.eventsList0(runtimeScene, eventsFunctionContext);} //End of subevents +} + +} + + +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPosition = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._instanceContainer; +var thisObjectList = [this]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var thisGDLabelObjectsList = [...runtimeScene.getObjects("Label")]; +var GDLabelObjects = Hashtable.newFrom({"Label": thisGDLabelObjectsList}); +var thisGDThumbObjectsList = [...runtimeScene.getObjects("Thumb")]; +var GDThumbObjects = Hashtable.newFrom({"Thumb": thisGDThumbObjectsList}); +var thisGDFillBarObjectsList = [...runtimeScene.getObjects("FillBar")]; +var GDFillBarObjects = Hashtable.newFrom({"FillBar": thisGDFillBarObjectsList}); +var thisGDBackgroundObjectsList = [...runtimeScene.getObjects("Background")]; +var GDBackgroundObjects = Hashtable.newFrom({"Background": thisGDBackgroundObjectsList}); +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Label": GDLabelObjects +, "Thumb": GDThumbObjects +, "FillBar": GDFillBarObjects +, "Background": GDBackgroundObjects +}, + _objectArraysMap: { +"Object": thisObjectList +, "Label": thisGDLabelObjectsList +, "Thumb": thisGDThumbObjectsList +, "FillBar": thisGDFillBarObjectsList +, "Background": thisGDBackgroundObjectsList +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDObjectObjects3.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDLabelObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDLabelObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDLabelObjects3.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDThumbObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDThumbObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDThumbObjects3.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDFillBarObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDFillBarObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDFillBarObjects3.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDBackgroundObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDBackgroundObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.GDBackgroundObjects3.length = 0; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateThumbPositionContext.eventsList1(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext = {}; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDLabelObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDLabelObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDThumbObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDThumbObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDFillBarObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDFillBarObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDBackgroundObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDBackgroundObjects2= []; + + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDObjectObjects1[0]._getBarLeftPadding()); }}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeft = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._instanceContainer; +var thisObjectList = [this]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var thisGDLabelObjectsList = [...runtimeScene.getObjects("Label")]; +var GDLabelObjects = Hashtable.newFrom({"Label": thisGDLabelObjectsList}); +var thisGDThumbObjectsList = [...runtimeScene.getObjects("Thumb")]; +var GDThumbObjects = Hashtable.newFrom({"Thumb": thisGDThumbObjectsList}); +var thisGDFillBarObjectsList = [...runtimeScene.getObjects("FillBar")]; +var GDFillBarObjects = Hashtable.newFrom({"FillBar": thisGDFillBarObjectsList}); +var thisGDBackgroundObjectsList = [...runtimeScene.getObjects("Background")]; +var GDBackgroundObjects = Hashtable.newFrom({"Background": thisGDBackgroundObjectsList}); +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Label": GDLabelObjects +, "Thumb": GDThumbObjects +, "FillBar": GDFillBarObjects +, "Background": GDBackgroundObjects +}, + _objectArraysMap: { +"Object": thisObjectList +, "Label": thisGDLabelObjectsList +, "Thumb": thisGDThumbObjectsList +, "FillBar": thisGDFillBarObjectsList +, "Background": thisGDBackgroundObjectsList +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDLabelObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDLabelObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDThumbObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDThumbObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDFillBarObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDFillBarObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDBackgroundObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.GDBackgroundObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarLeftContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext = {}; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDLabelObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDLabelObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDThumbObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDThumbObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDFillBarObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDFillBarObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDBackgroundObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDBackgroundObjects2= []; + + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Background"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDBackgroundObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDBackgroundObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDBackgroundObjects1[0].getWidth()) - (( gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDObjectObjects1[0]._getBarRightPadding()); }}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRight = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._instanceContainer; +var thisObjectList = [this]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var thisGDLabelObjectsList = [...runtimeScene.getObjects("Label")]; +var GDLabelObjects = Hashtable.newFrom({"Label": thisGDLabelObjectsList}); +var thisGDThumbObjectsList = [...runtimeScene.getObjects("Thumb")]; +var GDThumbObjects = Hashtable.newFrom({"Thumb": thisGDThumbObjectsList}); +var thisGDFillBarObjectsList = [...runtimeScene.getObjects("FillBar")]; +var GDFillBarObjects = Hashtable.newFrom({"FillBar": thisGDFillBarObjectsList}); +var thisGDBackgroundObjectsList = [...runtimeScene.getObjects("Background")]; +var GDBackgroundObjects = Hashtable.newFrom({"Background": thisGDBackgroundObjectsList}); +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Label": GDLabelObjects +, "Thumb": GDThumbObjects +, "FillBar": GDFillBarObjects +, "Background": GDBackgroundObjects +}, + _objectArraysMap: { +"Object": thisObjectList +, "Label": thisGDLabelObjectsList +, "Thumb": thisGDThumbObjectsList +, "FillBar": thisGDFillBarObjectsList +, "Background": thisGDBackgroundObjectsList +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDLabelObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDLabelObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDThumbObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDThumbObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDFillBarObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDFillBarObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDBackgroundObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.GDBackgroundObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarRightContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext = {}; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDLabelObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDLabelObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDThumbObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDThumbObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDFillBarObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDFillBarObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDBackgroundObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDBackgroundObjects2= []; + + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Background"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDBackgroundObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDBackgroundObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDBackgroundObjects1[0].getWidth()) - (( gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDObjectObjects1[0]._getBarLeftPadding()) - (( gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDObjectObjects1[0]._getBarRightPadding()); }}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidth = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._instanceContainer; +var thisObjectList = [this]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var thisGDLabelObjectsList = [...runtimeScene.getObjects("Label")]; +var GDLabelObjects = Hashtable.newFrom({"Label": thisGDLabelObjectsList}); +var thisGDThumbObjectsList = [...runtimeScene.getObjects("Thumb")]; +var GDThumbObjects = Hashtable.newFrom({"Thumb": thisGDThumbObjectsList}); +var thisGDFillBarObjectsList = [...runtimeScene.getObjects("FillBar")]; +var GDFillBarObjects = Hashtable.newFrom({"FillBar": thisGDFillBarObjectsList}); +var thisGDBackgroundObjectsList = [...runtimeScene.getObjects("Background")]; +var GDBackgroundObjects = Hashtable.newFrom({"Background": thisGDBackgroundObjectsList}); +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Label": GDLabelObjects +, "Thumb": GDThumbObjects +, "FillBar": GDFillBarObjects +, "Background": GDBackgroundObjects +}, + _objectArraysMap: { +"Object": thisObjectList +, "Label": thisGDLabelObjectsList +, "Thumb": thisGDThumbObjectsList +, "FillBar": thisGDFillBarObjectsList +, "Background": thisGDBackgroundObjectsList +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDLabelObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDLabelObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDThumbObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDThumbObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDFillBarObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDFillBarObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDBackgroundObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.GDBackgroundObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.FullBarWidthContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext = {}; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDLabelObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDLabelObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDThumbObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDThumbObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDFillBarObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDFillBarObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDBackgroundObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDBackgroundObjects2= []; + + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1[i].SetMinValue((gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1[i]._getMinValue()), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1[i].SetMaxValue((gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1[i]._getMaxValue()), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1[i].SetStepSize((gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1[i]._getStepSize()), (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +} +}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfiguration = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._instanceContainer; +var thisObjectList = [this]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var thisGDLabelObjectsList = [...runtimeScene.getObjects("Label")]; +var GDLabelObjects = Hashtable.newFrom({"Label": thisGDLabelObjectsList}); +var thisGDThumbObjectsList = [...runtimeScene.getObjects("Thumb")]; +var GDThumbObjects = Hashtable.newFrom({"Thumb": thisGDThumbObjectsList}); +var thisGDFillBarObjectsList = [...runtimeScene.getObjects("FillBar")]; +var GDFillBarObjects = Hashtable.newFrom({"FillBar": thisGDFillBarObjectsList}); +var thisGDBackgroundObjectsList = [...runtimeScene.getObjects("Background")]; +var GDBackgroundObjects = Hashtable.newFrom({"Background": thisGDBackgroundObjectsList}); +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Label": GDLabelObjects +, "Thumb": GDThumbObjects +, "FillBar": GDFillBarObjects +, "Background": GDBackgroundObjects +}, + _objectArraysMap: { +"Object": thisObjectList +, "Label": thisGDLabelObjectsList +, "Thumb": thisGDThumbObjectsList +, "FillBar": thisGDFillBarObjectsList +, "Background": thisGDBackgroundObjectsList +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDLabelObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDLabelObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDThumbObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDThumbObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDFillBarObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDFillBarObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDBackgroundObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.GDBackgroundObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.UpdateSliderConfigurationContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext = {}; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDLabelObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDLabelObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDFillBarObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDFillBarObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects2= []; + + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (typeof eventsFunctionContext !== 'undefined' ? !!eventsFunctionContext.getArgument("ShouldActivate") : false); +} +if (isConditionTrue_0) { +gdjs.copyArray(eventsFunctionContext.getObjects("Background"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("Thumb"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects1); +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects1[i].activateBehavior(eventsFunctionContext.getBehaviorName("Draggable"), true); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects1[i].activateBehavior(eventsFunctionContext.getBehaviorName("ButtonFSM"), true); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = !(typeof eventsFunctionContext !== 'undefined' ? !!eventsFunctionContext.getArgument("ShouldActivate") : false); +} +if (isConditionTrue_0) { +gdjs.copyArray(eventsFunctionContext.getObjects("Background"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("Label"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDLabelObjects1); +gdjs.copyArray(eventsFunctionContext.getObjects("Thumb"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects1); +{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects1[i].activateBehavior(eventsFunctionContext.getBehaviorName("Draggable"), false); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects1[i].activateBehavior(eventsFunctionContext.getBehaviorName("ButtonFSM"), false); +} +}{for(var i = 0, len = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDLabelObjects1.length ;i < len;++i) { + gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDLabelObjects1[i].hide(); +} +}} + +} + + +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.Activate = function(ShouldActivate, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._instanceContainer; +var thisObjectList = [this]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var thisGDLabelObjectsList = [...runtimeScene.getObjects("Label")]; +var GDLabelObjects = Hashtable.newFrom({"Label": thisGDLabelObjectsList}); +var thisGDThumbObjectsList = [...runtimeScene.getObjects("Thumb")]; +var GDThumbObjects = Hashtable.newFrom({"Thumb": thisGDThumbObjectsList}); +var thisGDFillBarObjectsList = [...runtimeScene.getObjects("FillBar")]; +var GDFillBarObjects = Hashtable.newFrom({"FillBar": thisGDFillBarObjectsList}); +var thisGDBackgroundObjectsList = [...runtimeScene.getObjects("Background")]; +var GDBackgroundObjects = Hashtable.newFrom({"Background": thisGDBackgroundObjectsList}); +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "Label": GDLabelObjects +, "Thumb": GDThumbObjects +, "FillBar": GDFillBarObjects +, "Background": GDBackgroundObjects +}, + _objectArraysMap: { +"Object": thisObjectList +, "Label": thisGDLabelObjectsList +, "Thumb": thisGDThumbObjectsList +, "FillBar": thisGDFillBarObjectsList +, "Background": thisGDBackgroundObjectsList +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "ShouldActivate") return ShouldActivate; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDObjectObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDLabelObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDLabelObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDThumbObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDFillBarObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDFillBarObjects2.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects1.length = 0; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.GDBackgroundObjects2.length = 0; + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.ActivateContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext = {}; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDObjectObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDObjectObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDLabelObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDLabelObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDThumbObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDThumbObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDFillBarObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDFillBarObjects2= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDBackgroundObjects1= []; +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDBackgroundObjects2= []; + + +gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Background"), gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDBackgroundObjects1); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__PanelSpriteSlider__PanelSpriteSlider.PanelSpriteSlider.prototype.IsActivatedContext.GDBackgroundObjects1.length;i + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__RoomManager__getX = {}; + + +gdjs.evtsExt__RoomManager__getX.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().get("_RoomManager__Rooms").getChild("id" + gdjs.evtTools.common.toString((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("id")) || 0 : 0))).getChild("x")); }}} + +} + + +}; + +gdjs.evtsExt__RoomManager__getX.func = function(runtimeScene, id, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "id") return id; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__RoomManager__getX.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} + +gdjs.evtsExt__RoomManager__getX.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__roommanager__gety-func.js b/gdjs-evtsext__roommanager__gety-func.js new file mode 100644 index 00000000..1904a4f2 --- /dev/null +++ b/gdjs-evtsext__roommanager__gety-func.js @@ -0,0 +1,82 @@ + +if (typeof gdjs.evtsExt__RoomManager__getY !== "undefined") { + gdjs.evtsExt__RoomManager__getY.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__RoomManager__getY = {}; + + +gdjs.evtsExt__RoomManager__getY.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = gdjs.evtTools.variable.getVariableNumber(runtimeScene.getGame().getVariables().get("_RoomManager__Rooms").getChild("id" + gdjs.evtTools.common.toString((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("id")) || 0 : 0))).getChild("y")); }}} + +} + + +}; + +gdjs.evtsExt__RoomManager__getY.func = function(runtimeScene, id, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "id") return id; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__RoomManager__getY.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} + +gdjs.evtsExt__RoomManager__getY.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__roommanager__gotoroom-func.js b/gdjs-evtsext__roommanager__gotoroom-func.js new file mode 100644 index 00000000..dda10181 --- /dev/null +++ b/gdjs-evtsext__roommanager__gotoroom-func.js @@ -0,0 +1,84 @@ + +if (typeof gdjs.evtsExt__RoomManager__goToRoom !== "undefined") { + gdjs.evtsExt__RoomManager__goToRoom.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__RoomManager__goToRoom = {}; + + +gdjs.evtsExt__RoomManager__goToRoom.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{gdjs.evtTools.runtimeScene.pushScene(runtimeScene, "Game_Room"); +}{runtimeScene.getGame().getVariables().get("currentRoomID").setNumber((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("id")) || 0 : 0)); +}} + +} + + +}; + +gdjs.evtsExt__RoomManager__goToRoom.func = function(runtimeScene, id, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "id") return id; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__RoomManager__goToRoom.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__RoomManager__goToRoom.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__roommanager__onfirstsceneloaded-func.js b/gdjs-evtsext__roommanager__onfirstsceneloaded-func.js new file mode 100644 index 00000000..6eadb2b6 --- /dev/null +++ b/gdjs-evtsext__roommanager__onfirstsceneloaded-func.js @@ -0,0 +1,97 @@ + +if (typeof gdjs.evtsExt__RoomManager__onFirstSceneLoaded !== "undefined") { + gdjs.evtsExt__RoomManager__onFirstSceneLoaded.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__RoomManager__onFirstSceneLoaded = {}; + + +gdjs.evtsExt__RoomManager__onFirstSceneLoaded.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +{gdjs.evtsExt__RoomManager__registerRoom.func(runtimeScene, 1, 588, 360, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{gdjs.evtsExt__RoomManager__registerRoom.func(runtimeScene, 2, 2170, 420, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{gdjs.evtsExt__RoomManager__registerRoom.func(runtimeScene, 3, 320, 1650, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{gdjs.evtsExt__RoomManager__registerRoom.func(runtimeScene, 4, 2310, 1260, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}{gdjs.evtsExt__RoomManager__registerRoom.func(runtimeScene, 5, 3735, 330, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}} + +} + + +}; + +gdjs.evtsExt__RoomManager__onFirstSceneLoaded.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__RoomManager__onFirstSceneLoaded.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__RoomManager__onFirstSceneLoaded.registeredGdjsCallbacks = []; +gdjs.evtsExt__RoomManager__onFirstSceneLoaded.registeredGdjsCallbacks.push((runtimeScene) => { + gdjs.evtsExt__RoomManager__onFirstSceneLoaded.func(runtimeScene, runtimeScene); +}) +gdjs.registerFirstRuntimeSceneLoadedCallback(gdjs.evtsExt__RoomManager__onFirstSceneLoaded.registeredGdjsCallbacks[gdjs.evtsExt__RoomManager__onFirstSceneLoaded.registeredGdjsCallbacks.length - 1]); diff --git a/gdjs-evtsext__roommanager__registerroom-func.js b/gdjs-evtsext__roommanager__registerroom-func.js new file mode 100644 index 00000000..eb5eb626 --- /dev/null +++ b/gdjs-evtsext__roommanager__registerroom-func.js @@ -0,0 +1,87 @@ + +if (typeof gdjs.evtsExt__RoomManager__registerRoom !== "undefined") { + gdjs.evtsExt__RoomManager__registerRoom.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__RoomManager__registerRoom = {}; + + +gdjs.evtsExt__RoomManager__registerRoom.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{runtimeScene.getGame().getVariables().get("_RoomManager__Rooms").getChild("id" + gdjs.evtTools.common.toString((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("id")) || 0 : 0))).getChild("x").setNumber((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("x")) || 0 : 0)); +}{runtimeScene.getGame().getVariables().get("_RoomManager__Rooms").getChild("id" + gdjs.evtTools.common.toString((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("id")) || 0 : 0))).getChild("y").setNumber((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("y")) || 0 : 0)); +}{runtimeScene.getGame().getVariables().get("_RoomManager__RoomsNumber").add(1); +}} + +} + + +}; + +gdjs.evtsExt__RoomManager__registerRoom.func = function(runtimeScene, id, x, y, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "id") return id; +if (argName === "x") return x; +if (argName === "y") return y; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__RoomManager__registerRoom.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__RoomManager__registerRoom.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__roommanager__roomnumbers-func.js b/gdjs-evtsext__roommanager__roomnumbers-func.js new file mode 100644 index 00000000..8048bed3 --- /dev/null +++ b/gdjs-evtsext__roommanager__roomnumbers-func.js @@ -0,0 +1,81 @@ + +if (typeof gdjs.evtsExt__RoomManager__roomNumbers !== "undefined") { + gdjs.evtsExt__RoomManager__roomNumbers.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__RoomManager__roomNumbers = {}; + + +gdjs.evtsExt__RoomManager__roomNumbers.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = gdjs.evtTools.variable.getVariableChildCount(runtimeScene.getGame().getVariables().get("_RoomManager__RoomsNumber")); }}} + +} + + +}; + +gdjs.evtsExt__RoomManager__roomNumbers.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__RoomManager__roomNumbers.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} + +gdjs.evtsExt__RoomManager__roomNumbers.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__shakeobject__shakeobject_positionangle.js b/gdjs-evtsext__shakeobject__shakeobject_positionangle.js new file mode 100644 index 00000000..76a1cc46 --- /dev/null +++ b/gdjs-evtsext__shakeobject__shakeobject_positionangle.js @@ -0,0 +1,1953 @@ + +gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle || {}; + +/** + * Behavior generated from Shake object (position, angle) + */ +gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle = class ShakeObject_PositionAngle extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.getSharedData( + instanceContainer, + behaviorData.name + ); + + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + + return true; + } + + // Properties: + +} + +/** + * Shared data generated from Shake object (position, angle) + */ +gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.SharedData = class ShakeObject_PositionAngleSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._ShakeObject_ShakeObject_PositionAngleSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._ShakeObject_ShakeObject_PositionAngleSharedData = new gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.SharedData( + initialData + ); + } + return instanceContainer._ShakeObject_ShakeObject_PositionAngleSharedData; +} + +// Methods: +gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext = {}; +gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects1= []; +gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2= []; +gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects3= []; + + +gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2); +{for(var i = 0, len = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].resetTimer("__ShakeObject_DurationTimer"); +} +}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2); +{for(var i = 0, len = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].returnVariable(gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].getVariables().get("__ShakeObject_Duration")).setNumber((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Duration")) || 0 : 0)); +} +}{for(var i = 0, len = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].returnVariable(gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].getVariables().get("__ShakeObject_PowerX")).setNumber((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("PowerX")) || 0 : 0)); +} +}{for(var i = 0, len = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].returnVariable(gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].getVariables().get("__ShakeObject_PowerY")).setNumber((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("PowerY")) || 0 : 0)); +} +}{for(var i = 0, len = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].returnVariable(gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].getVariables().get("__ShakeObject_PowerAngle")).setNumber((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("PowerAngle")) || 0 : 0)); +} +}{for(var i = 0, len = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].returnVariable(gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].getVariables().get("__ShakeObject_TimeBetweenShakes")).setNumber((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("TimeBetweenShakes")) || 0 : 0)); +} +}} + +} + + +{ + + + +} + + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2); +{for(var i = 0, len = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].setVariableBoolean(gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].getVariables().get("__ShakeObject_ShakeForever"), false); +} +}} + +} + + +{ + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +{isConditionTrue_0 = (typeof eventsFunctionContext !== 'undefined' ? !!eventsFunctionContext.getArgument("ShakeForever") : false); +} +if (isConditionTrue_0) { +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2); +{for(var i = 0, len = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].setVariableBoolean(gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2[i].getVariables().get("__ShakeObject_ShakeForever"), true); +} +}} + +} + + +{ + + + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__ShakeObject__ShakeObject_PositionAngle.ShakeObject_PositionAngle.prototype.ShakeObject_PositionAngleContext.GDObjectObjects2.length;i + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__SpriteMasking__Mask = {}; +gdjs.evtsExt__SpriteMasking__Mask.GDMaskedObjects1= []; +gdjs.evtsExt__SpriteMasking__Mask.GDMaskObjects1= []; + + +gdjs.evtsExt__SpriteMasking__Mask.userFunc0x20e7690 = function GDJSInlineCode(runtimeScene, objects, eventsFunctionContext) { +"use strict"; +const maskObject = eventsFunctionContext.getObjects("Mask")[0]; +if (!maskObject) return; + +const maskedObjects = eventsFunctionContext.getObjects("Masked"); +for (const maskedObject of maskedObjects) { + const maskedRenderer = maskedObject.getRendererObject(); + maskedRenderer.mask = maskObject.getRendererObject(); +} + + +}; +gdjs.evtsExt__SpriteMasking__Mask.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +var objects = []; +gdjs.evtsExt__SpriteMasking__Mask.userFunc0x20e7690(runtimeScene, objects, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__SpriteMasking__Mask.func = function(runtimeScene, Masked, Mask, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +"Masked": Masked +, "Mask": Mask +}, + _objectArraysMap: { +"Masked": gdjs.objectsListsToArray(Masked) +, "Mask": gdjs.objectsListsToArray(Mask) +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + +gdjs.evtsExt__SpriteMasking__Mask.GDMaskedObjects1.length = 0; +gdjs.evtsExt__SpriteMasking__Mask.GDMaskObjects1.length = 0; + +gdjs.evtsExt__SpriteMasking__Mask.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__SpriteMasking__Mask.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__stayonscreen__stayonscreen.js b/gdjs-evtsext__stayonscreen__stayonscreen.js new file mode 100644 index 00000000..2352deb4 --- /dev/null +++ b/gdjs-evtsext__stayonscreen__stayonscreen.js @@ -0,0 +1,901 @@ + +gdjs.evtsExt__StayOnScreen__StayOnScreen = gdjs.evtsExt__StayOnScreen__StayOnScreen || {}; + +/** + * Behavior generated from Stay on Screen + */ +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen = class StayOnScreen extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.getSharedData( + instanceContainer, + behaviorData.name + ); + + this._behaviorData.MarginTop = behaviorData.MarginTop !== undefined ? behaviorData.MarginTop : Number("0") || 0; + this._behaviorData.MarginBottom = behaviorData.MarginBottom !== undefined ? behaviorData.MarginBottom : Number("0") || 0; + this._behaviorData.MarginLeft = behaviorData.MarginLeft !== undefined ? behaviorData.MarginLeft : Number("0") || 0; + this._behaviorData.MarginRight = behaviorData.MarginRight !== undefined ? behaviorData.MarginRight : Number("0") || 0; + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + if (oldBehaviorData.MarginTop !== newBehaviorData.MarginTop) + this._behaviorData.MarginTop = newBehaviorData.MarginTop; + if (oldBehaviorData.MarginBottom !== newBehaviorData.MarginBottom) + this._behaviorData.MarginBottom = newBehaviorData.MarginBottom; + if (oldBehaviorData.MarginLeft !== newBehaviorData.MarginLeft) + this._behaviorData.MarginLeft = newBehaviorData.MarginLeft; + if (oldBehaviorData.MarginRight !== newBehaviorData.MarginRight) + this._behaviorData.MarginRight = newBehaviorData.MarginRight; + + return true; + } + + // Properties: + + _getMarginTop() { + return this._behaviorData.MarginTop !== undefined ? this._behaviorData.MarginTop : Number("0") || 0; + } + _setMarginTop(newValue) { + this._behaviorData.MarginTop = newValue; + } + _getMarginBottom() { + return this._behaviorData.MarginBottom !== undefined ? this._behaviorData.MarginBottom : Number("0") || 0; + } + _setMarginBottom(newValue) { + this._behaviorData.MarginBottom = newValue; + } + _getMarginLeft() { + return this._behaviorData.MarginLeft !== undefined ? this._behaviorData.MarginLeft : Number("0") || 0; + } + _setMarginLeft(newValue) { + this._behaviorData.MarginLeft = newValue; + } + _getMarginRight() { + return this._behaviorData.MarginRight !== undefined ? this._behaviorData.MarginRight : Number("0") || 0; + } + _setMarginRight(newValue) { + this._behaviorData.MarginRight = newValue; + } +} + +/** + * Shared data generated from Stay on Screen + */ +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.SharedData = class StayOnScreenSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._StayOnScreen_StayOnScreenSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._StayOnScreen_StayOnScreenSharedData = new gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.SharedData( + initialData + ); + } + return instanceContainer._StayOnScreen_StayOnScreenSharedData; +} + +// Methods: +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext = {}; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1= []; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects2= []; + + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].setX(gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getX() + (Math.max(0, gdjs.evtTools.camera.getCameraBorderLeft(runtimeScene, (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getLayer()), 0) + (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMarginLeft()) - (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getAABBLeft())))); +} +}{for(var i = 0, len = gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].setX(gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getX() + (Math.min(0, gdjs.evtTools.camera.getCameraBorderRight(runtimeScene, (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getLayer()), 0) - (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMarginRight()) - (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getAABBRight())))); +} +}{for(var i = 0, len = gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].setY(gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getY() + (Math.max(0, gdjs.evtTools.camera.getCameraBorderTop(runtimeScene, (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getLayer()), 0) + (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMarginTop()) - (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getAABBTop())))); +} +}{for(var i = 0, len = gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].setY(gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getY() + (Math.min(0, gdjs.evtTools.camera.getCameraBorderBottom(runtimeScene, (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getLayer()), 0) - (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMarginBottom()) - (gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1[i].getAABBBottom())))); +} +}} + +} + + +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEvents = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPostEventsContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext = {}; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext.GDObjectObjects1= []; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext.GDObjectObjects2= []; + + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMarginTop()); }}} + +} + + +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTop = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginTopContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext = {}; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext.GDObjectObjects1= []; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext.GDObjectObjects2= []; + + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setMarginTop((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0)); +} +}} + +} + + +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTop = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginTopContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext = {}; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext.GDObjectObjects1= []; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext.GDObjectObjects2= []; + + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMarginBottom()); }}} + +} + + +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottom = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginBottomContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext = {}; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext.GDObjectObjects1= []; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext.GDObjectObjects2= []; + + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setMarginBottom((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0)); +} +}} + +} + + +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottom = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginBottomContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext = {}; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext.GDObjectObjects1= []; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext.GDObjectObjects2= []; + + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMarginLeft()); }}} + +} + + +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeft = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginLeftContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext = {}; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext.GDObjectObjects1= []; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext.GDObjectObjects2= []; + + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setMarginLeft((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0)); +} +}} + +} + + +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeft = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginLeftContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext = {}; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext.GDObjectObjects1= []; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext.GDObjectObjects2= []; + + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext.GDObjectObjects1); +{if (typeof eventsFunctionContext !== 'undefined') { eventsFunctionContext.returnValue = (( gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext.GDObjectObjects1.length === 0 ) ? 0 :gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext.GDObjectObjects1[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getMarginRight()); }}} + +} + + +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRight = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.MarginRightContext.eventsList0(runtimeScene, eventsFunctionContext); + +return Number(eventsFunctionContext.returnValue) || 0; +} +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext = {}; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext.GDObjectObjects1= []; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext.GDObjectObjects2= []; + + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext.GDObjectObjects1); +{for(var i = 0, len = gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext.GDObjectObjects1.length ;i < len;++i) { + gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext.GDObjectObjects1[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setMarginRight((typeof eventsFunctionContext !== 'undefined' ? Number(eventsFunctionContext.getArgument("Value")) || 0 : 0)); +} +}} + +} + + +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRight = function(Value, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "Value") return Value; + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.SetMarginRightContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen.prototype.doStepPreEvents = function() { + this._onceTriggers.startNewFrame(); +}; + + +gdjs.registerBehavior("StayOnScreen::StayOnScreen", gdjs.evtsExt__StayOnScreen__StayOnScreen.StayOnScreen); diff --git a/gdjs-evtsext__sticker__definehelperclasses-func.js b/gdjs-evtsext__sticker__definehelperclasses-func.js new file mode 100644 index 00000000..50066529 --- /dev/null +++ b/gdjs-evtsext__sticker__definehelperclasses-func.js @@ -0,0 +1,302 @@ + +if (typeof gdjs.evtsExt__Sticker__DefineHelperClasses !== "undefined") { + gdjs.evtsExt__Sticker__DefineHelperClasses.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__Sticker__DefineHelperClasses = {}; + + +gdjs.evtsExt__Sticker__DefineHelperClasses.userFunc0x2097178 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +"use strict"; +if (gdjs._stickerExtension) { + return; +} + +// Unstick from deleted objects. +gdjs.registerObjectDeletedFromSceneCallback(function (runtimeScene, deletedObject) { + const extension = runtimeScene._stickerExtension; + if (!extension) { + return; + } + const allStickers = runtimeScene._stickerExtension.allStickers; + for (const behavior of allStickers) { + const sticker = behavior._sticker; + if (sticker.isStuckTo(deletedObject)) { + if (behavior._getIsDestroyedWithParent()) { + behavior.owner.deleteFromScene(runtimeScene); + } + sticker.unstick(); + } + } +}); + +class Sticker { + /** @type {gdjs.RuntimeBehavior} */ + behavior; + /** @type {gdjs.RuntimeObject | null} */ + basisObject; + followingDoneThisFrame = false; + relativeX = 0; + relativeY = 0; + relativeAngle = 0; + relativeRotatedX = 0; + relativeRotatedY = 0; + basisOldX = 0; + basisOldY = 0; + basisOldAngle = 0; + basisOldWidth = 0; + basisOldHeight = 0; + basisOldCenterXInScene = 0; + basisOldCenterYInScene = 0; + + /** + * @param {gdjs.RuntimeBehavior} behavior + */ + constructor(behavior) { + this.behavior = behavior; + } + + /** + * @param {gdjs.RuntimeObject} basisObject + */ + isStuckTo(basisObject) { + return this.basisObject === basisObject; + } + + /** + * @param {gdjs.RuntimeObject} basisObject + */ + stickTo(basisObject) { + this.basisObject = basisObject; + this.updateOldCoordinates(); + this.updateRelativeCoordinates(); + } + + unstick() { + this.basisObject = null; + } + + onStepPreEvents() { + this.followingDoneThisFrame = false; + } + + /** + * Update the coordinates in the basisObject basis. + * + * It uses the basisObject coordinates from the previous frame. + * This way, the sticker can move relatively to it and still + * follow basisObject. + * + * @param {gdjs.RuntimeObject} basisObject + */ + updateRelativeCoordinates() { + const object = this.behavior.owner; + + // Update relative coordinates + this.relativeX = object.getX() - this.basisOldX; + this.relativeY = object.getY() - this.basisOldY; + if (!this.behavior._getOnlyFollowPosition()) { + this.relativeAngle = object.getAngle() - this.basisOldAngle; + this.relativeWidth = object.getWidth() / this.basisOldWidth; + this.relativeHeight = object.getHeight() / this.basisOldHeight; + const deltaX = object.getCenterXInScene() - this.basisOldCenterXInScene; + const deltaY = object.getCenterYInScene() - this.basisOldCenterYInScene; + const angle = this.basisOldAngle * Math.PI / 180; + this.relativeRotatedX = (deltaX * Math.cos(angle) + deltaY * Math.sin(angle)) / this.basisOldWidth; + this.relativeRotatedY = (-deltaX * Math.sin(angle) + deltaY * Math.cos(angle)) / this.basisOldHeight; + + // Save initial values to avoid calculus and rounding errors + this.basisOriginalWidth = this.basisObject.getWidth(); + this.basisOriginalHeight = this.basisObject.getHeight(); + this.basisOriginalAngle = this.basisObject.getAngle(); + } + } + + /** + * Copy the coordinates to use it the next frame. + */ + updateOldCoordinates() { + const object = this.behavior.owner; + + this.ownerOldX = object.getX(); + this.ownerOldY = object.getY(); + + this.basisOldX = this.basisObject.getX(); + this.basisOldY = this.basisObject.getY(); + + if (!this.behavior._getOnlyFollowPosition()) { + this.ownerOldAngle = object.getAngle(); + this.ownerOldWidth = object.getWidth(); + this.ownerOldHeight = object.getHeight(); + + this.basisOldAngle = this.basisObject.getAngle(); + this.basisOldWidth = this.basisObject.getWidth(); + this.basisOldHeight = this.basisObject.getHeight(); + this.basisOldCenterXInScene = this.basisObject.getCenterXInScene(); + this.basisOldCenterYInScene = this.basisObject.getCenterYInScene(); + } + } + + /** + * Follow the basisObject (called in doStepPostEvents). + * + * This method is also called by children to ensure + * parents are updated first. + */ + followBasisObject() { + if (this.followingDoneThisFrame) { + return; + } + this.followingDoneThisFrame = true; + const basisObject = this.basisObject; + if (basisObject) { + // If the behavior on the basis object has a different name, + // the objects will still follow their basis objects + // but frame delays could happen. + const behaviorName = this.behavior.getName(); + if (basisObject.hasBehavior(behaviorName)) { + const basisBehavior = basisObject.getBehavior(behaviorName); + if (basisBehavior.type === this.behavior.type) { + // Follow parents 1st to avoid frame delays + basisBehavior._sticker.followBasisObject(); + } + } + + const object = this.behavior.owner; + + if (this.behavior._getOnlyFollowPosition()) { + if (object.getX() !== this.ownerOldX + || object.getY() !== this.ownerOldY) { + this.updateRelativeCoordinates(); + } + + if (this.basisOldX !== basisObject.getX() || + this.basisOldY !== basisObject.getY()) { + object.setPosition( + basisObject.getX() + this.relativeX, + basisObject.getY() + this.relativeY); + } + } else { + if (object.getX() !== this.ownerOldX + || object.getY() !== this.ownerOldY + || object.getAngle() !== this.ownerOldAngle + || object.getWidth() !== this.ownerOldWidth + || object.getHeight() !== this.ownerOldHeight) { + this.updateRelativeCoordinates(); + } + + // Follow basisObject + if (basisObject.getAngle() === this.basisOriginalAngle && this.basisOriginalAngle === 0) { + if (basisObject.getWidth() === this.basisOriginalWidth || + basisObject.getHeight() === this.basisOriginalHeight) { + if (this.basisOldX !== basisObject.getX() || + this.basisOldY !== basisObject.getY()) { + object.setPosition( + basisObject.getX() + this.relativeX, + basisObject.getY() + this.relativeY); + } + } else { + object.setCenterPositionInScene( + basisObject.getCenterXInScene() + this.relativeRotatedX * basisObject.getWidth(), + basisObject.getCenterYInScene() + this.relativeRotatedY * basisObject.getHeight()); + } + } else { + object.setAngle(basisObject.getAngle() + this.relativeAngle); + + const deltaX = this.relativeRotatedX * basisObject.getWidth(); + const deltaY = this.relativeRotatedY * basisObject.getHeight(); + const angle = -basisObject.getAngle() * Math.PI / 180; + object.setX(basisObject.getCenterXInScene() + object.getX() - object.getCenterXInScene() + deltaX * Math.cos(angle) + deltaY * Math.sin(angle)); + object.setY(basisObject.getCenterYInScene() + object.getY() - object.getCenterYInScene() - deltaX * Math.sin(angle) + deltaY * Math.cos(angle)); + } + // Unproportional dimensions changes won't work as expected + // if the object angle is not null but nothing more can be done + // because there is no full affine transformation on objects. + if (basisObject.getWidth() !== this.basisOriginalWidth) { + object.setWidth(this.relativeWidth * basisObject.getWidth()); + } + if (basisObject.getHeight() !== this.basisOriginalHeight) { + object.setHeight(this.relativeHeight * basisObject.getHeight()); + } + } + + this.updateOldCoordinates(); + } + } +} + +gdjs._stickerExtension = { + Sticker +} +}; +gdjs.evtsExt__Sticker__DefineHelperClasses.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__Sticker__DefineHelperClasses.userFunc0x2097178(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Sticker__DefineHelperClasses.func = function(runtimeScene, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__Sticker__DefineHelperClasses.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + +gdjs.evtsExt__Sticker__DefineHelperClasses.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__sticker__sticker.js b/gdjs-evtsext__sticker__sticker.js new file mode 100644 index 00000000..ef15bdea --- /dev/null +++ b/gdjs-evtsext__sticker__sticker.js @@ -0,0 +1,668 @@ + +gdjs.evtsExt__Sticker__Sticker = gdjs.evtsExt__Sticker__Sticker || {}; + +/** + * Behavior generated from Sticker + */ +gdjs.evtsExt__Sticker__Sticker.Sticker = class Sticker extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__Sticker__Sticker.Sticker.getSharedData( + instanceContainer, + behaviorData.name + ); + + this._behaviorData.OnlyFollowPosition = behaviorData.OnlyFollowPosition !== undefined ? behaviorData.OnlyFollowPosition : false; + this._behaviorData.IsDestroyedWithParent = behaviorData.IsDestroyedWithParent !== undefined ? behaviorData.IsDestroyedWithParent : false; + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + if (oldBehaviorData.OnlyFollowPosition !== newBehaviorData.OnlyFollowPosition) + this._behaviorData.OnlyFollowPosition = newBehaviorData.OnlyFollowPosition; + if (oldBehaviorData.IsDestroyedWithParent !== newBehaviorData.IsDestroyedWithParent) + this._behaviorData.IsDestroyedWithParent = newBehaviorData.IsDestroyedWithParent; + + return true; + } + + // Properties: + + _getOnlyFollowPosition() { + return this._behaviorData.OnlyFollowPosition !== undefined ? this._behaviorData.OnlyFollowPosition : false; + } + _setOnlyFollowPosition(newValue) { + this._behaviorData.OnlyFollowPosition = newValue; + } + _toggleOnlyFollowPosition() { + this._setOnlyFollowPosition(!this._getOnlyFollowPosition()); + } + _getIsDestroyedWithParent() { + return this._behaviorData.IsDestroyedWithParent !== undefined ? this._behaviorData.IsDestroyedWithParent : false; + } + _setIsDestroyedWithParent(newValue) { + this._behaviorData.IsDestroyedWithParent = newValue; + } + _toggleIsDestroyedWithParent() { + this._setIsDestroyedWithParent(!this._getIsDestroyedWithParent()); + } +} + +/** + * Shared data generated from Sticker + */ +gdjs.evtsExt__Sticker__Sticker.Sticker.SharedData = class StickerSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__Sticker__Sticker.Sticker.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._Sticker_StickerSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._Sticker_StickerSharedData = new gdjs.evtsExt__Sticker__Sticker.Sticker.SharedData( + initialData + ); + } + return instanceContainer._Sticker_StickerSharedData; +} + +// Methods: +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext = {}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.GDObjectObjects1= []; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.GDObjectObjects2= []; + + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.userFunc0x208b108 = function GDJSInlineCode(runtimeScene, objects, eventsFunctionContext) { +"use strict"; +const Sticker = gdjs._stickerExtension.Sticker; + +const behaviorName = eventsFunctionContext.getBehaviorName("Behavior"); +const object = objects[0]; +const behavior = object.getBehavior(behaviorName); + +behavior._sticker = new Sticker(behavior); + +// Set up the scene sticker objects list - if not done already. +runtimeScene._stickerExtension = runtimeScene._stickerExtension || { + allStickers: new Set(), +}; +// Register this object as a sticker. +runtimeScene._stickerExtension.allStickers.add(behavior); + +}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +let isConditionTrue_0 = false; +{ +{gdjs.evtsExt__Sticker__DefineHelperClasses.func(runtimeScene, (typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined)); +}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.GDObjectObjects1); + +var objects = []; +objects.push.apply(objects,gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.GDObjectObjects1); +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.userFunc0x208b108(runtimeScene, objects, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreated = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.GDObjectObjects2.length = 0; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onCreatedContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEventsContext = {}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEventsContext.GDObjectObjects1= []; + + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEventsContext.userFunc0x2097178 = function GDJSInlineCode(runtimeScene, objects, eventsFunctionContext) { +"use strict"; +const behaviorName = eventsFunctionContext.getBehaviorName("Behavior"); +const object = objects[0]; +const behavior = object.getBehavior(behaviorName); + +behavior._sticker.onStepPreEvents(); +}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEventsContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEventsContext.GDObjectObjects1); + +var objects = []; +objects.push.apply(objects,gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEventsContext.GDObjectObjects1); +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEventsContext.userFunc0x2097178(runtimeScene, objects, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEvents = function(parentEventsFunctionContext) { +this._onceTriggers.startNewFrame(); +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEventsContext.GDObjectObjects1.length = 0; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPreEventsContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEventsContext = {}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEventsContext.GDObjectObjects1= []; + + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEventsContext.userFunc0x2097178 = function GDJSInlineCode(runtimeScene, objects, eventsFunctionContext) { +"use strict"; +const behaviorName = eventsFunctionContext.getBehaviorName("Behavior"); +const object = objects[0]; +const behavior = object.getBehavior(behaviorName); + +behavior._sticker.followBasisObject(); +}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEventsContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEventsContext.GDObjectObjects1); + +var objects = []; +objects.push.apply(objects,gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEventsContext.GDObjectObjects1); +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEventsContext.userFunc0x2097178(runtimeScene, objects, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEvents = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEventsContext.GDObjectObjects1.length = 0; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.doStepPostEventsContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext = {}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.GDObjectObjects1= []; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.GDBasisObjectObjects1= []; + + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.userFunc0x20a1250 = function GDJSInlineCode(runtimeScene, objects, eventsFunctionContext) { +"use strict"; +const object = objects[0]; +const behaviorName = eventsFunctionContext.getBehaviorName("Behavior"); +const basisObjects = eventsFunctionContext.getObjects("BasisObject"); + +if (basisObjects.length === 0) return; +// An object can stick to only one object. +const basisObject = basisObjects[0]; +object.getBehavior(behaviorName)._sticker.stickTo(basisObject); + +}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.GDObjectObjects1); + +var objects = []; +objects.push.apply(objects,gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.GDObjectObjects1); +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.userFunc0x20a1250(runtimeScene, objects, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.Stick = function(BasisObject, parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +, "BasisObject": BasisObject +}, + _objectArraysMap: { +"Object": thisObjectList +, "BasisObject": gdjs.objectsListsToArray(BasisObject) +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.GDObjectObjects1.length = 0; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.GDBasisObjectObjects1.length = 0; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.StickContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.UnstickContext = {}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.UnstickContext.GDObjectObjects1= []; + + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.UnstickContext.userFunc0x20a1250 = function GDJSInlineCode(runtimeScene, objects, eventsFunctionContext) { +"use strict"; +const object = objects[0]; +const behaviorName = eventsFunctionContext.getBehaviorName("Behavior"); +const behavior = object.getBehavior(behaviorName); + +object.getBehavior(behaviorName)._sticker.unstick(); + +}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.UnstickContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.UnstickContext.GDObjectObjects1); + +var objects = []; +objects.push.apply(objects,gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.UnstickContext.GDObjectObjects1); +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.UnstickContext.userFunc0x20a1250(runtimeScene, objects, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.Unstick = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.UnstickContext.GDObjectObjects1.length = 0; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.UnstickContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroyContext = {}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroyContext.GDObjectObjects1= []; + + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroyContext.userFunc0x208b108 = function GDJSInlineCode(runtimeScene, objects, eventsFunctionContext) { +"use strict"; +const behaviorName = eventsFunctionContext.getBehaviorName("Behavior"); +const object = objects[0]; +const behavior = object.getBehavior(behaviorName); + +runtimeScene._stickerExtension.allStickers.delete(behavior._sticker); + +}; +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroyContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroyContext.GDObjectObjects1); + +var objects = []; +objects.push.apply(objects,gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroyContext.GDObjectObjects1); +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroyContext.userFunc0x208b108(runtimeScene, objects, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroy = function(parentEventsFunctionContext) { + +var that = this; +var runtimeScene = this._runtimeScene; +var thisObjectList = [this.owner]; +var Object = Hashtable.newFrom({Object: thisObjectList}); +var Behavior = this.name; +var eventsFunctionContext = { + _objectsMap: { +"Object": Object +}, + _objectArraysMap: { +"Object": thisObjectList +}, + _behaviorNamesMap: { +"Behavior": Behavior +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { + return ""; + }, + getOnceTriggers: function() { return that._onceTriggers; } +}; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroyContext.GDObjectObjects1.length = 0; + +gdjs.evtsExt__Sticker__Sticker.Sticker.prototype.onDestroyContext.eventsList0(runtimeScene, eventsFunctionContext); + +return; +} + + +gdjs.registerBehavior("Sticker::Sticker", gdjs.evtsExt__Sticker__Sticker.Sticker); diff --git a/gdjs-evtsext__timeformatter__secondstohhmmss-func.js b/gdjs-evtsext__timeformatter__secondstohhmmss-func.js new file mode 100644 index 00000000..c7a1c4dc --- /dev/null +++ b/gdjs-evtsext__timeformatter__secondstohhmmss-func.js @@ -0,0 +1,94 @@ + +if (typeof gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS !== "undefined") { + gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS.registeredGdjsCallbacks.forEach(callback => + gdjs._unregisterCallback(callback) + ); +} + +gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS = {}; + + +gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS.userFunc0x20ec348 = function GDJSInlineCode(runtimeScene, eventsFunctionContext) { +//custom function in custom fonction ~~Woow~~ +var format_time = function (time_second) { + date = new Date(null); + date.setSeconds(time_second); + if (time_second >= 3600) { + return date.toISOString().substr(11, 8); // MM:SS + } else { + return date.toISOString().substr(14, 5); // HH:MM:SS + } +} + +eventsFunctionContext.returnValue = format_time(eventsFunctionContext.getArgument("TimeInSeconds")); +}; +gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + + +gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS.userFunc0x20ec348(runtimeScene, typeof eventsFunctionContext !== 'undefined' ? eventsFunctionContext : undefined); + +} + + +}; + +gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS.func = function(runtimeScene, TimeInSeconds, parentEventsFunctionContext) { +var eventsFunctionContext = { + _objectsMap: { +}, + _objectArraysMap: { +}, + _behaviorNamesMap: { +}, + getObjects: function(objectName) { + return eventsFunctionContext._objectArraysMap[objectName] || []; + }, + getObjectsLists: function(objectName) { + return eventsFunctionContext._objectsMap[objectName] || null; + }, + getBehaviorName: function(behaviorName) { + return eventsFunctionContext._behaviorNamesMap[behaviorName] || behaviorName; + }, + createObject: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + if (objectsList) { + const object = parentEventsFunctionContext ? + parentEventsFunctionContext.createObject(objectsList.firstKey()) : + runtimeScene.createObject(objectsList.firstKey()); + if (object) { + objectsList.get(objectsList.firstKey()).push(object); + eventsFunctionContext._objectArraysMap[objectName].push(object); + } + return object; } + return null; + }, + getInstancesCountOnScene: function(objectName) { + const objectsList = eventsFunctionContext._objectsMap[objectName]; + let count = 0; + if (objectsList) { + for(const objectName in objectsList.items) + count += parentEventsFunctionContext ? +parentEventsFunctionContext.getInstancesCountOnScene(objectName) : + runtimeScene.getInstancesCountOnScene(objectName); + } + return count; + }, + getLayer: function(layerName) { + return runtimeScene.getLayer(layerName); + }, + getArgument: function(argName) { +if (argName === "TimeInSeconds") return TimeInSeconds; + return ""; + }, + getOnceTriggers: function() { return runtimeScene.getOnceTriggers(); } +}; + + +gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS.eventsList0(runtimeScene, eventsFunctionContext); + +return "" + eventsFunctionContext.returnValue; +} + +gdjs.evtsExt__TimeFormatter__SecondsToHHMMSS.registeredGdjsCallbacks = []; \ No newline at end of file diff --git a/gdjs-evtsext__toggleswitch__toggleswitch.js b/gdjs-evtsext__toggleswitch__toggleswitch.js new file mode 100644 index 00000000..a323371a --- /dev/null +++ b/gdjs-evtsext__toggleswitch__toggleswitch.js @@ -0,0 +1,5094 @@ + +gdjs.evtsExt__ToggleSwitch__ToggleSwitch = gdjs.evtsExt__ToggleSwitch__ToggleSwitch || {}; + +/** + * Behavior generated from Toggle switch + */ +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch = class ToggleSwitch extends gdjs.RuntimeBehavior { + constructor(instanceContainer, behaviorData, owner) { + super(instanceContainer, behaviorData, owner); + this._runtimeScene = instanceContainer; + + this._onceTriggers = new gdjs.OnceTriggers(); + this._behaviorData = {}; + this._sharedData = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.getSharedData( + instanceContainer, + behaviorData.name + ); + + this._behaviorData.ThumbRadius = behaviorData.ThumbRadius !== undefined ? behaviorData.ThumbRadius : Number("10") || 0; + this._behaviorData.ActiveThumbColor = behaviorData.ActiveThumbColor !== undefined ? behaviorData.ActiveThumbColor : "24;119;211"; + this._behaviorData.ThumbOpacity = behaviorData.ThumbOpacity !== undefined ? behaviorData.ThumbOpacity : Number("255") || 0; + this._behaviorData.TrackWidth = behaviorData.TrackWidth !== undefined ? behaviorData.TrackWidth : Number("20") || 0; + this._behaviorData.TrackHeight = behaviorData.TrackHeight !== undefined ? behaviorData.TrackHeight : Number("14") || 0; + this._behaviorData.InactiveTrackColor = behaviorData.InactiveTrackColor !== undefined ? behaviorData.InactiveTrackColor : "150;150;150"; + this._behaviorData.InactiveTrackOpacity = behaviorData.InactiveTrackOpacity !== undefined ? behaviorData.InactiveTrackOpacity : Number("255") || 0; + this._behaviorData.ActiveTrackColor = behaviorData.ActiveTrackColor !== undefined ? behaviorData.ActiveTrackColor : ""; + this._behaviorData.ActiveTrackOpacity = behaviorData.ActiveTrackOpacity !== undefined ? behaviorData.ActiveTrackOpacity : Number("128") || 0; + this._behaviorData.HaloRadius = behaviorData.HaloRadius !== undefined ? behaviorData.HaloRadius : Number("24") || 0; + this._behaviorData.HaloOpacityHover = behaviorData.HaloOpacityHover !== undefined ? behaviorData.HaloOpacityHover : Number("32") || 0; + this._behaviorData.HaloOpacityPressed = behaviorData.HaloOpacityPressed !== undefined ? behaviorData.HaloOpacityPressed : Number("64") || 0; + this._behaviorData.ThumbOffset = Number("0") || 0; + this._behaviorData.Checked = behaviorData.Checked !== undefined ? behaviorData.Checked : false; + this._behaviorData.Disabled = behaviorData.Disabled !== undefined ? behaviorData.Disabled : false; + this._behaviorData.ToggleChanged = false; + this._behaviorData.InactiveThumbColor = behaviorData.InactiveThumbColor !== undefined ? behaviorData.InactiveThumbColor : "255;255;255"; + this._behaviorData.IsPressed = false; + this._behaviorData.ThumbShadowOffsetY = behaviorData.ThumbShadowOffsetY !== undefined ? behaviorData.ThumbShadowOffsetY : Number("4") || 0; + this._behaviorData.ThumbShadowOffsetX = behaviorData.ThumbShadowOffsetX !== undefined ? behaviorData.ThumbShadowOffsetX : Number("0") || 0; + this._behaviorData.ThumbShadowOpacity = behaviorData.ThumbShadowOpacity !== undefined ? behaviorData.ThumbShadowOpacity : Number("32") || 0; + this._behaviorData.NeedRedaw = true; + this._behaviorData.IsHovered = false; + this._behaviorData.WasHovered = false; + } + + // Hot-reload: + updateFromBehaviorData(oldBehaviorData, newBehaviorData) { + + if (oldBehaviorData.ThumbRadius !== newBehaviorData.ThumbRadius) + this._behaviorData.ThumbRadius = newBehaviorData.ThumbRadius; + if (oldBehaviorData.ActiveThumbColor !== newBehaviorData.ActiveThumbColor) + this._behaviorData.ActiveThumbColor = newBehaviorData.ActiveThumbColor; + if (oldBehaviorData.ThumbOpacity !== newBehaviorData.ThumbOpacity) + this._behaviorData.ThumbOpacity = newBehaviorData.ThumbOpacity; + if (oldBehaviorData.TrackWidth !== newBehaviorData.TrackWidth) + this._behaviorData.TrackWidth = newBehaviorData.TrackWidth; + if (oldBehaviorData.TrackHeight !== newBehaviorData.TrackHeight) + this._behaviorData.TrackHeight = newBehaviorData.TrackHeight; + if (oldBehaviorData.InactiveTrackColor !== newBehaviorData.InactiveTrackColor) + this._behaviorData.InactiveTrackColor = newBehaviorData.InactiveTrackColor; + if (oldBehaviorData.InactiveTrackOpacity !== newBehaviorData.InactiveTrackOpacity) + this._behaviorData.InactiveTrackOpacity = newBehaviorData.InactiveTrackOpacity; + if (oldBehaviorData.ActiveTrackColor !== newBehaviorData.ActiveTrackColor) + this._behaviorData.ActiveTrackColor = newBehaviorData.ActiveTrackColor; + if (oldBehaviorData.ActiveTrackOpacity !== newBehaviorData.ActiveTrackOpacity) + this._behaviorData.ActiveTrackOpacity = newBehaviorData.ActiveTrackOpacity; + if (oldBehaviorData.HaloRadius !== newBehaviorData.HaloRadius) + this._behaviorData.HaloRadius = newBehaviorData.HaloRadius; + if (oldBehaviorData.HaloOpacityHover !== newBehaviorData.HaloOpacityHover) + this._behaviorData.HaloOpacityHover = newBehaviorData.HaloOpacityHover; + if (oldBehaviorData.HaloOpacityPressed !== newBehaviorData.HaloOpacityPressed) + this._behaviorData.HaloOpacityPressed = newBehaviorData.HaloOpacityPressed; + if (oldBehaviorData.ThumbOffset !== newBehaviorData.ThumbOffset) + this._behaviorData.ThumbOffset = newBehaviorData.ThumbOffset; + if (oldBehaviorData.Checked !== newBehaviorData.Checked) + this._behaviorData.Checked = newBehaviorData.Checked; + if (oldBehaviorData.Disabled !== newBehaviorData.Disabled) + this._behaviorData.Disabled = newBehaviorData.Disabled; + if (oldBehaviorData.ToggleChanged !== newBehaviorData.ToggleChanged) + this._behaviorData.ToggleChanged = newBehaviorData.ToggleChanged; + if (oldBehaviorData.InactiveThumbColor !== newBehaviorData.InactiveThumbColor) + this._behaviorData.InactiveThumbColor = newBehaviorData.InactiveThumbColor; + if (oldBehaviorData.IsPressed !== newBehaviorData.IsPressed) + this._behaviorData.IsPressed = newBehaviorData.IsPressed; + if (oldBehaviorData.ThumbShadowOffsetY !== newBehaviorData.ThumbShadowOffsetY) + this._behaviorData.ThumbShadowOffsetY = newBehaviorData.ThumbShadowOffsetY; + if (oldBehaviorData.ThumbShadowOffsetX !== newBehaviorData.ThumbShadowOffsetX) + this._behaviorData.ThumbShadowOffsetX = newBehaviorData.ThumbShadowOffsetX; + if (oldBehaviorData.ThumbShadowOpacity !== newBehaviorData.ThumbShadowOpacity) + this._behaviorData.ThumbShadowOpacity = newBehaviorData.ThumbShadowOpacity; + if (oldBehaviorData.NeedRedaw !== newBehaviorData.NeedRedaw) + this._behaviorData.NeedRedaw = newBehaviorData.NeedRedaw; + if (oldBehaviorData.IsHovered !== newBehaviorData.IsHovered) + this._behaviorData.IsHovered = newBehaviorData.IsHovered; + if (oldBehaviorData.WasHovered !== newBehaviorData.WasHovered) + this._behaviorData.WasHovered = newBehaviorData.WasHovered; + + return true; + } + + // Properties: + + _getThumbRadius() { + return this._behaviorData.ThumbRadius !== undefined ? this._behaviorData.ThumbRadius : Number("10") || 0; + } + _setThumbRadius(newValue) { + this._behaviorData.ThumbRadius = newValue; + } + _getActiveThumbColor() { + return this._behaviorData.ActiveThumbColor !== undefined ? this._behaviorData.ActiveThumbColor : "24;119;211"; + } + _setActiveThumbColor(newValue) { + this._behaviorData.ActiveThumbColor = newValue; + } + _getThumbOpacity() { + return this._behaviorData.ThumbOpacity !== undefined ? this._behaviorData.ThumbOpacity : Number("255") || 0; + } + _setThumbOpacity(newValue) { + this._behaviorData.ThumbOpacity = newValue; + } + _getTrackWidth() { + return this._behaviorData.TrackWidth !== undefined ? this._behaviorData.TrackWidth : Number("20") || 0; + } + _setTrackWidth(newValue) { + this._behaviorData.TrackWidth = newValue; + } + _getTrackHeight() { + return this._behaviorData.TrackHeight !== undefined ? this._behaviorData.TrackHeight : Number("14") || 0; + } + _setTrackHeight(newValue) { + this._behaviorData.TrackHeight = newValue; + } + _getInactiveTrackColor() { + return this._behaviorData.InactiveTrackColor !== undefined ? this._behaviorData.InactiveTrackColor : "150;150;150"; + } + _setInactiveTrackColor(newValue) { + this._behaviorData.InactiveTrackColor = newValue; + } + _getInactiveTrackOpacity() { + return this._behaviorData.InactiveTrackOpacity !== undefined ? this._behaviorData.InactiveTrackOpacity : Number("255") || 0; + } + _setInactiveTrackOpacity(newValue) { + this._behaviorData.InactiveTrackOpacity = newValue; + } + _getActiveTrackColor() { + return this._behaviorData.ActiveTrackColor !== undefined ? this._behaviorData.ActiveTrackColor : ""; + } + _setActiveTrackColor(newValue) { + this._behaviorData.ActiveTrackColor = newValue; + } + _getActiveTrackOpacity() { + return this._behaviorData.ActiveTrackOpacity !== undefined ? this._behaviorData.ActiveTrackOpacity : Number("128") || 0; + } + _setActiveTrackOpacity(newValue) { + this._behaviorData.ActiveTrackOpacity = newValue; + } + _getHaloRadius() { + return this._behaviorData.HaloRadius !== undefined ? this._behaviorData.HaloRadius : Number("24") || 0; + } + _setHaloRadius(newValue) { + this._behaviorData.HaloRadius = newValue; + } + _getHaloOpacityHover() { + return this._behaviorData.HaloOpacityHover !== undefined ? this._behaviorData.HaloOpacityHover : Number("32") || 0; + } + _setHaloOpacityHover(newValue) { + this._behaviorData.HaloOpacityHover = newValue; + } + _getHaloOpacityPressed() { + return this._behaviorData.HaloOpacityPressed !== undefined ? this._behaviorData.HaloOpacityPressed : Number("64") || 0; + } + _setHaloOpacityPressed(newValue) { + this._behaviorData.HaloOpacityPressed = newValue; + } + _getThumbOffset() { + return this._behaviorData.ThumbOffset !== undefined ? this._behaviorData.ThumbOffset : Number("0") || 0; + } + _setThumbOffset(newValue) { + this._behaviorData.ThumbOffset = newValue; + } + _getChecked() { + return this._behaviorData.Checked !== undefined ? this._behaviorData.Checked : false; + } + _setChecked(newValue) { + this._behaviorData.Checked = newValue; + } + _toggleChecked() { + this._setChecked(!this._getChecked()); + } + _getDisabled() { + return this._behaviorData.Disabled !== undefined ? this._behaviorData.Disabled : false; + } + _setDisabled(newValue) { + this._behaviorData.Disabled = newValue; + } + _toggleDisabled() { + this._setDisabled(!this._getDisabled()); + } + _getToggleChanged() { + return this._behaviorData.ToggleChanged !== undefined ? this._behaviorData.ToggleChanged : false; + } + _setToggleChanged(newValue) { + this._behaviorData.ToggleChanged = newValue; + } + _toggleToggleChanged() { + this._setToggleChanged(!this._getToggleChanged()); + } + _getInactiveThumbColor() { + return this._behaviorData.InactiveThumbColor !== undefined ? this._behaviorData.InactiveThumbColor : "255;255;255"; + } + _setInactiveThumbColor(newValue) { + this._behaviorData.InactiveThumbColor = newValue; + } + _getIsPressed() { + return this._behaviorData.IsPressed !== undefined ? this._behaviorData.IsPressed : false; + } + _setIsPressed(newValue) { + this._behaviorData.IsPressed = newValue; + } + _toggleIsPressed() { + this._setIsPressed(!this._getIsPressed()); + } + _getThumbShadowOffsetY() { + return this._behaviorData.ThumbShadowOffsetY !== undefined ? this._behaviorData.ThumbShadowOffsetY : Number("4") || 0; + } + _setThumbShadowOffsetY(newValue) { + this._behaviorData.ThumbShadowOffsetY = newValue; + } + _getThumbShadowOffsetX() { + return this._behaviorData.ThumbShadowOffsetX !== undefined ? this._behaviorData.ThumbShadowOffsetX : Number("0") || 0; + } + _setThumbShadowOffsetX(newValue) { + this._behaviorData.ThumbShadowOffsetX = newValue; + } + _getThumbShadowOpacity() { + return this._behaviorData.ThumbShadowOpacity !== undefined ? this._behaviorData.ThumbShadowOpacity : Number("32") || 0; + } + _setThumbShadowOpacity(newValue) { + this._behaviorData.ThumbShadowOpacity = newValue; + } + _getNeedRedaw() { + return this._behaviorData.NeedRedaw !== undefined ? this._behaviorData.NeedRedaw : true; + } + _setNeedRedaw(newValue) { + this._behaviorData.NeedRedaw = newValue; + } + _toggleNeedRedaw() { + this._setNeedRedaw(!this._getNeedRedaw()); + } + _getIsHovered() { + return this._behaviorData.IsHovered !== undefined ? this._behaviorData.IsHovered : false; + } + _setIsHovered(newValue) { + this._behaviorData.IsHovered = newValue; + } + _toggleIsHovered() { + this._setIsHovered(!this._getIsHovered()); + } + _getWasHovered() { + return this._behaviorData.WasHovered !== undefined ? this._behaviorData.WasHovered : false; + } + _setWasHovered(newValue) { + this._behaviorData.WasHovered = newValue; + } + _toggleWasHovered() { + this._setWasHovered(!this._getWasHovered()); + } +} + +/** + * Shared data generated from Toggle switch + */ +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.SharedData = class ToggleSwitchSharedData { + constructor(sharedData) { + + } + + // Shared properties: + +} + +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.getSharedData = function(instanceContainer, behaviorName) { + if (!instanceContainer._ToggleSwitch_ToggleSwitchSharedData) { + const initialData = instanceContainer.getInitialSharedDataForBehavior( + behaviorName + ); + instanceContainer._ToggleSwitch_ToggleSwitchSharedData = new gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.SharedData( + initialData + ); + } + return instanceContainer._ToggleSwitch_ToggleSwitchSharedData; +} + +// Methods: +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext = {}; +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects1= []; +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2= []; +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3= []; +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects4= []; + + +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.eventsList0 = function(runtimeScene, eventsFunctionContext) { + +{ + +/* Reuse gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2 */ + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length;i 0.01 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setNeedRedaw(true); +} +}} + +} + + +};gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.eventsList1 = function(runtimeScene, eventsFunctionContext) { + +{ + +/* Reuse gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2 */ + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length;i= (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getX()) - Math.max((( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getHaloRadius()), (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getThumbRadius())); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.getCursorX(runtimeScene, (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? "" :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getLayer()), 0) <= (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getX()) + (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getTrackWidth()) + Math.max((( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getHaloRadius()), (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getThumbRadius())); +if (isConditionTrue_0) { +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.getCursorY(runtimeScene, (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? "" :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getLayer()), 0) >= (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getY()) - (Math.max((( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getHaloRadius()), (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getThumbRadius())) * 2 - (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getTrackHeight())) / 2; +if (isConditionTrue_0) { +isConditionTrue_0 = false; +isConditionTrue_0 = gdjs.evtTools.input.getCursorY(runtimeScene, (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? "" :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getLayer()), 0) <= (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getY()) + (Math.max((( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getHaloRadius()), (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getThumbRadius())) * 2 + (( gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length === 0 ) ? 0 :gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[0].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getTrackHeight())) / 2; +} +} +} +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3 */ +{for(var i = 0, len = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length ;i < len;++i) { + gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setIsHovered(true); +} +}} + +} + + +{ + +gdjs.copyArray(gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2, gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3); + + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects3.length;i (gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getTrackWidth()) / 2 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setThumbRadius((gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getTrackWidth()) / 2); +} +}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length;i (gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getThumbRadius()) / 3 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setThumbShadowOffsetX((gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getThumbRadius()) / 3); +} +}} + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length;i (gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getThumbRadius()) / 3 ) { + isConditionTrue_0 = true; + gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[k] = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i]; + ++k; + } +} +gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length = k; +if (isConditionTrue_0) { +/* Reuse gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2 */ +{for(var i = 0, len = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length ;i < len;++i) { + gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._setThumbShadowOffsetY((gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2[i].getBehavior(eventsFunctionContext.getBehaviorName("Behavior"))._getThumbRadius()) / 3); +} +}} + +} + + +{ + + + +} + + +{ + +gdjs.copyArray(eventsFunctionContext.getObjects("Object"), gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2); + +let isConditionTrue_0 = false; +isConditionTrue_0 = false; +for (var i = 0, k = 0, l = gdjs.evtsExt__ToggleSwitch__ToggleSwitch.ToggleSwitch.prototype.doStepPostEventsContext.GDObjectObjects2.length;ih.error("Can't play an audio file: "+e),onloaderror:(u,e)=>h.error("Error while loading an audio file: "+e)},d=u=>u>1?1:u<0?0:u;class g{constructor(e,s,o,t){this._id=null;this._oncePlay=[];this._onPlay=[];this._howl=e,this._initialVolume=d(s),this._loop=o,this._rate=t}isLoaded(){return this._howl.state()==="loaded"}play(){if(this.isLoaded()){const e=this._howl.play(this._id===null?"__default":this._id);this._id=e,this._howl.volume(this._initialVolume,e),this._howl.loop(this._loop,e),this._howl.rate(a.HowlerSoundManager.clampRate(this._rate),e),this._onPlay.forEach(s=>{this.on("play",s),s(e)}),this._oncePlay.forEach(s=>s(e)),this._onPlay=[],this._oncePlay=[]}else this._howl.once("load",()=>this.play());return this}pause(){return this._id!==null&&this._howl.pause(this._id),this}stop(){return this._id!==null&&this._howl.stop(this._id),this}playing(){return(this._id!==null?this._howl.playing(this._id):!0)||!this.isLoaded()}paused(){return!this.playing()}stopped(){return this.paused()&&this.getSeek()===0}getRate(){return this._rate}setRate(e){return this._rate=e,this._id!==null&&(e=a.HowlerSoundManager.clampRate(e),this._howl.rate(e,this._id)),this}getLoop(){return this._loop}setLoop(e){return this._loop=e,this._id!==null&&this._howl.loop(e,this._id),this}getVolume(){return this._id===null?this._initialVolume:this._howl.volume(this._id)}setVolume(e){return this._initialVolume=d(e),this._id!==null&&this._howl.volume(this._initialVolume,this._id),this}getMute(){return this._id===null?!1:this._howl.mute(this._id)}setMute(e){return this._id!==null&&this._howl.mute(e,this._id),this}getSeek(){return this._id===null?0:this._howl.seek(this._id)}setSeek(e){return this._id!==null&&this._howl.seek(e,this._id),this}getSpatialPosition(e){return this._id===null?0:this._howl.pos(this._id)[e==="x"?0:e==="y"?1:2]}setSpatialPosition(e,s,o){return this._id!==null&&this._howl.pos(e,s,o,this._id),this}fade(e,s,o){return this._id!==null&&this._howl.fade(d(e),d(s),o,this._id),this}on(e,s){return e==="play"?this._id===null?this._onPlay.push(s):this._howl.on(e,s,this._id):this._id===null?this.once("play",()=>this.on(e,s)):this._howl.on(e,s,this._id),this}once(e,s){return e==="play"?this._id===null?this._oncePlay.push(s):this.playing()?s(this._id):this._howl.once(e,s,this._id):this._id===null?this.once("play",()=>this.once(e,s)):this._howl.once(e,s,this._id),this}off(e,s){return this._id!==null&&this._howl.off(e,s,this._id),this}}a.HowlerSound=g;class p{constructor(e){this._loadedMusics=new a.ResourceCache;this._loadedSounds=new a.ResourceCache;this._availableResources={};this._globalVolume=100;this._sounds={};this._musics={};this._freeSounds=[];this._freeMusics=[];this._pausedSounds=[];this._paused=!1;this._getAudioResource=e=>{const s=this._resourceLoader.getResource(e);return s&&this.getResourceKinds().includes(s.kind)?s:{file:e,kind:"audio",metadata:"",name:e}};this._resourceLoader=e;const s=this;document.addEventListener("deviceready",function(){document.addEventListener("pause",function(){const o=s._freeSounds.concat(s._freeMusics);for(let t in s._sounds)s._sounds.hasOwnProperty(t)&&o.push(s._sounds[t]);for(let t in s._musics)s._musics.hasOwnProperty(t)&&o.push(s._musics[t]);for(let t=0;t4?4:e<.5?.5:e}_storeSoundInArray(e,s){for(let o=0,t=e.length;o{this._paused&&(i.pause(),this._pausedSounds.push(i))}),i.play()}playSoundOnChannel(e,s,o,t,i){this._sounds[s]&&this._sounds[s].stop();const l=this.createHowlerSound(e,!1,t/100,o,i);this._sounds[s]=l,l.once("play",()=>{this._paused&&(l.pause(),this._pausedSounds.push(l))}),l.play()}getSoundOnChannel(e){return this._sounds[e]||null}playMusic(e,s,o,t){const i=this.createHowlerSound(e,!0,o/100,s,t);this._storeSoundInArray(this._freeMusics,i),i.once("play",()=>{this._paused&&(i.pause(),this._pausedSounds.push(i))}),i.play()}playMusicOnChannel(e,s,o,t,i){this._musics[s]&&this._musics[s].stop();const l=this.createHowlerSound(e,!0,t/100,o,i);this._musics[s]=l,l.once("play",()=>{this._paused&&(l.pause(),this._pausedSounds.push(l))}),l.play()}getMusicOnChannel(e){return this._musics[e]||null}setGlobalVolume(e){this._globalVolume=e,this._globalVolume>100&&(this._globalVolume=100),this._globalVolume<0&&(this._globalVolume=0),Howler.volume(this._globalVolume/100)}getGlobalVolume(){return this._globalVolume}clearAll(){Howler.stop(),this._freeSounds.length=0,this._freeMusics.length=0,this._sounds={},this._musics={},this._pausedSounds.length=0}async processResource(e){}async loadResource(e){const s=this._resourceLoader.getResource(e);if(!s){h.warn('Unable to find audio for resource "'+e+'".');return}if(s.file){if(this._availableResources[s.name])return;this._availableResources[s.name]=s}const o=(i,l)=>new Promise((r,n)=>{const _=l?this._loadedMusics:this._loadedSounds;_[i]=new Howl(Object.assign({},c,{src:[this._resourceLoader.getFullUrl(i)],onload:r,onloaderror:(S,w)=>n(w),html5:l,xhr:{withCredentials:this._resourceLoader.checkIfCredentialsRequired(i)},volume:0}))}),t=s.file;if(s.preloadAsMusic)try{await o(t,!0)}catch(i){h.warn("There was an error while preloading an audio file: "+i)}if(s.preloadAsSound)try{await o(t,!1)}catch(i){h.warn("There was an error while preloading an audio file: "+i)}else if(s.preloadInCache||!s.preloadAsMusic)try{await new Promise((i,l)=>{const r=new XMLHttpRequest;r.withCredentials=this._resourceLoader.checkIfCredentialsRequired(t),r.addEventListener("load",i),r.addEventListener("error",n=>l("XHR error: "+t)),r.addEventListener("abort",n=>l("XHR abort: "+t)),r.open("GET",this._resourceLoader.getFullUrl(t)),r.send()})}catch(i){h.warn("There was an error while preloading an audio file: "+i)}}}a.HowlerSoundManager=p,a.SoundManager=p})(gdjs||(gdjs={})); +//# sourceMappingURL=howler-sound-manager.js.map diff --git a/howler-sound-manager/howler.min.js b/howler-sound-manager/howler.min.js new file mode 100644 index 00000000..c0311506 --- /dev/null +++ b/howler-sound-manager/howler.min.js @@ -0,0 +1,3 @@ +/*! howler.js v2.2.3 | (c) 2013-2020, James Simpson of GoldFire Studios | MIT License | howlerjs.com */ +/* Modified for GDevelop by reverting commit 0323af9b843351cacc47893aed8e65cd8ba3b0cb to fix https://github.com/goldfire/howler.js/issues/1603 */ +!function(){"use strict";var e=function(){this.init()};e.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator="undefined"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var o=this||n;if(e=parseFloat(e),o.ctx||_(),void 0!==e&&e>=0&&e<=1){if(o._volume=e,o._muted)return o;o.usingWebAudio&&o.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var t=0;t=0;o--)e._howls[o].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,_()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||n;if(e.state=e.ctx?e.ctx.state||"suspended":"suspended",e._autoSuspend(),!e.usingWebAudio)if("undefined"!=typeof Audio)try{var o=new Audio;void 0===o.oncanplaythrough&&(e._canPlayEvent="canplay")}catch(n){e.noAudio=!0}else e.noAudio=!0;try{var o=new Audio;o.muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,o=null;try{o="undefined"!=typeof Audio?new Audio:null}catch(n){return e}if(!o||"function"!=typeof o.canPlayType)return e;var t=o.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator?e._navigator.userAgent:"",a=r.match(/OPR\/([0-6].)/g),u=a&&parseInt(a[0].split("/")[1],10)<33,d=-1!==r.indexOf("Safari")&&-1===r.indexOf("Chrome"),i=r.match(/Version\/(.*?) /),_=d&&i&&parseInt(i[1],10)<15;return e._codecs={mp3:!(u||!t&&!o.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!t,opus:!!o.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(o.canPlayType('audio/wav; codecs="1"')||o.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!o.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!o.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(o.canPlayType("audio/x-m4a;")||o.canPlayType("audio/m4a;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(o.canPlayType("audio/x-m4b;")||o.canPlayType("audio/m4b;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(o.canPlayType("audio/x-mp4;")||o.canPlayType("audio/mp4;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!(_||!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!(_||!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!o.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(o.canPlayType("audio/x-flac;")||o.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||n;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var o=function(n){for(;e._html5AudioPool.length0?d._seek:t._sprite[e][0]/1e3),s=Math.max(0,(t._sprite[e][0]+t._sprite[e][1])/1e3-_),l=1e3*s/Math.abs(d._rate),c=t._sprite[e][0]/1e3,f=(t._sprite[e][0]+t._sprite[e][1])/1e3;d._sprite=e,d._ended=!1;var p=function(){d._paused=!1,d._seek=_,d._start=c,d._stop=f,d._loop=!(!d._loop&&!t._sprite[e][2])};if(_>=f)return void t._ended(d);var m=d._node;if(t._webAudio){var v=function(){t._playLock=!1,p(),t._refreshBuffer(d);var e=d._muted||t._muted?0:d._volume;m.gain.setValueAtTime(e,n.ctx.currentTime),d._playStart=n.ctx.currentTime,void 0===m.bufferSource.start?d._loop?m.bufferSource.noteGrainOn(0,_,86400):m.bufferSource.noteGrainOn(0,_,s):d._loop?m.bufferSource.start(0,_,86400):m.bufferSource.start(0,_,s),l!==1/0&&(t._endTimers[d._id]=setTimeout(t._ended.bind(t,d),l)),o||setTimeout(function(){t._emit("play",d._id),t._loadQueue()},0)};"running"===n.state&&"interrupted"!==n.ctx.state?v():(t._playLock=!0,t.once("resume",v),t._clearTimer(d._id))}else{var h=function(){m.currentTime=_,m.muted=d._muted||t._muted||n._muted||m.muted,m.volume=d._volume*n.volume(),m.playbackRate=d._rate;try{var r=m.play();if(r&&"undefined"!=typeof Promise&&(r instanceof Promise||"function"==typeof r.then)?(t._playLock=!0,p(),r.then(function(){t._playLock=!1,m._unlocked=!0,o||(t._emit("play",d._id),t._loadQueue())}).catch(function(){t._playLock=!1,t._emit("playerror",d._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),d._ended=!0,d._paused=!0})):o||(t._playLock=!1,p(),t._emit("play",d._id),t._loadQueue()),m.playbackRate=d._rate,m.paused)return void t._emit("playerror",d._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||d._loop?t._endTimers[d._id]=setTimeout(t._ended.bind(t,d),l):(t._endTimers[d._id]=function(){t._ended(d),m.removeEventListener("ended",t._endTimers[d._id],!1)},m.addEventListener("ended",t._endTimers[d._id],!1))}catch(e){t._emit("playerror",d._id,e)}};"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"===m.src&&(m.src=t._src,m.load());var y=window&&window.ejecta||!m.readyState&&n._navigator.isCocoonJS;if(m.readyState>=3||y)h();else{t._playLock=!0,t._state="loading";var g=function(){t._state="loaded",h(),m.removeEventListener(n._canPlayEvent,g,!1)};m.addEventListener(n._canPlayEvent,g,!1),t._clearTimer(d._id)}}return d._id},pause:function(e){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"pause",action:function(){n.pause(e)}}),n;for(var o=n._getSoundIds(e),t=0;t=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else r.length>=2&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var a;if(!(void 0!==e&&e>=0&&e<=1))return a=o?t._soundById(o):t._sounds[0],a?a._volume:0;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"volume",action:function(){t.volume.apply(t,r)}}),t;void 0===o&&(t._volume=e),o=t._getSoundIds(o);for(var u=0;u0?t/_:t),l=Date.now();e._fadeTo=o,e._interval=setInterval(function(){var r=(Date.now()-l)/t;l=Date.now(),d+=i*r,d=Math.round(100*d)/100,d=i<0?Math.max(o,d):Math.min(o,d),u._webAudio?e._volume=d:u.volume(d,e._id,!0),a&&(u._volume=d),(on&&d>=o)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,u.volume(o,e._id),u._emit("fade",e._id))},s)},_stopFade:function(e){var o=this,t=o._soundById(e);return t&&t._interval&&(o._webAudio&&t._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(t._interval),t._interval=null,o.volume(t._fadeTo,e),t._fadeTo=null,o._emit("fade",e)),o},loop:function(){var e,n,o,t=this,r=arguments;if(0===r.length)return t._loop;if(1===r.length){if("boolean"!=typeof r[0])return!!(o=t._soundById(parseInt(r[0],10)))&&o._loop;e=r[0],t._loop=e}else 2===r.length&&(e=r[0],n=parseInt(r[1],10));for(var a=t._getSoundIds(n),u=0;u=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var d;if("number"!=typeof e)return d=t._soundById(o),d?d._rate:t._rate;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"rate",action:function(){t.rate.apply(t,r)}}),t;void 0===o&&(t._rate=e),o=t._getSoundIds(o);for(var i=0;i=0?o=parseInt(r[0],10):t._sounds.length&&(o=t._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));if(void 0===o)return 0;if("number"==typeof e&&("loaded"!==t._state||t._playLock))return t._queue.push({event:"seek",action:function(){t.seek.apply(t,r)}}),t;var d=t._soundById(o);if(d){if(!("number"==typeof e&&e>=0)){if(t._webAudio){var i=t.playing(o)?n.ctx.currentTime-d._playStart:0,_=d._rateSeek?d._rateSeek-d._seek:0;return d._seek+(_+i*Math.abs(d._rate))}return d._node.currentTime}var s=t.playing(o);s&&t.pause(o,!0),d._seek=e,d._ended=!1,t._clearTimer(o),t._webAudio||!d._node||isNaN(d._node.duration)||(d._node.currentTime=e);var l=function(){t._emit("seek",o),s&&t.play(o,!0)};if(s&&!t._webAudio){var c=function(){t._playLock?setTimeout(c,0):l()};setTimeout(c,0)}else l()}return t},playing:function(e){var n=this;if("number"==typeof e){var o=n._soundById(e);return!!o&&!o._paused}for(var t=0;t=0&&n._howls.splice(a,1);var u=!0;for(t=0;t=0){u=!1;break}return r&&u&&delete r[e._src],n.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,n,o,t){var r=this,a=r["_on"+e];return"function"==typeof n&&a.push(t?{id:o,fn:n,once:t}:{id:o,fn:n}),r},off:function(e,n,o){var t=this,r=t["_on"+e],a=0;if("number"==typeof n&&(o=n,n=null),n||o)for(a=0;a=0;a--)r[a].id&&r[a].id!==n&&"load"!==e||(setTimeout(function(e){e.call(this,n,o)}.bind(t,r[a].fn),0),r[a].once&&t.off(e,r[a].fn,r[a].id));return t._loadQueue(e),t},_loadQueue:function(e){var n=this;if(n._queue.length>0){var o=n._queue[0];o.event===e&&(n._queue.shift(),n._loadQueue()),e||o.action()}return n},_ended:function(e){var o=this,t=e._sprite;if(!o._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime=0;t--){if(o<=n)return;e._sounds[t]._ended&&(e._webAudio&&e._sounds[t]._node&&e._sounds[t]._node.disconnect(0),e._sounds.splice(t,1),o--)}}},_getSoundIds:function(e){var n=this;if(void 0===e){for(var o=[],t=0;t=0;if(n._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=n._scratchBuffer}catch(e){}return e.bufferSource=null,o},_clearSound:function(e){/MSIE |Trident\//.test(n._navigator&&n._navigator.userAgent)||(e.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var t=function(e){this._parent=e,this.init()};t.prototype={init:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,o._sounds.push(e),e.create(),e},create:function(){var e=this,o=e._parent,t=n._muted||e._muted||e._parent._muted?0:e._volume;return o._webAudio?(e._node=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(t,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):n.noAudio||(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener("error",e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._endFn=e._endListener.bind(e),e._node.addEventListener("ended",e._endFn,!1),e._node.src=o._src,e._node.preload=!0===o._preload?"auto":o._preload,e._node.volume=t*n.volume(),e._node.load()),e},reset:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit("loaderror",e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener("error",e._errorFn,!1)},_loadListener:function(){var e=this,o=e._parent;o._duration=Math.ceil(10*e._node.duration)/10,0===Object.keys(o._sprite).length&&(o._sprite={__default:[0,1e3*o._duration]}),"loaded"!==o._state&&(o._state="loaded",o._emit("load"),o._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)},_endListener:function(){var e=this,n=e._parent;n._duration===1/0&&(n._duration=Math.ceil(10*e._node.duration)/10,n._sprite.__default[1]===1/0&&(n._sprite.__default[1]=1e3*n._duration),n._ended(e)),e._node.removeEventListener("ended",e._endFn,!1)}};var r={},a=function(e){var n=e._src;if(r[n])return e._duration=r[n].duration,void i(e);if(/^data:[^;]+;base64,/.test(n)){for(var o=atob(n.split(",")[1]),t=new Uint8Array(o.length),a=0;a0?(r[o._src]=e,i(o,e)):t()};"undefined"!=typeof Promise&&1===n.ctx.decodeAudioData.length?n.ctx.decodeAudioData(e).then(a).catch(t):n.ctx.decodeAudioData(e,a,t)},i=function(e,n){n&&!e._duration&&(e._duration=n.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},_=function(){if(n.usingWebAudio){try{"undefined"!=typeof AudioContext?n.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch(e){n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),o=n._navigator&&n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),t=o?parseInt(o[1],10):null;if(e&&t&&t<9){var r=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());n._navigator&&!r&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:n._volume,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};"function"==typeof define&&define.amd&&define([],function(){return{Howler:n,Howl:o}}),"undefined"!=typeof exports&&(exports.Howler=n,exports.Howl=o),"undefined"!=typeof global?(global.HowlerGlobal=e,global.Howler=n,global.Howl=o,global.Sound=t):"undefined"!=typeof window&&(window.HowlerGlobal=e,window.Howler=n,window.Howl=o,window.Sound=t)}(); diff --git a/index.html b/index.html new file mode 100644 index 00000000..7f0c754c --- /dev/null +++ b/index.html @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/inputmanager.js b/inputmanager.js new file mode 100644 index 00000000..dcc07f25 --- /dev/null +++ b/inputmanager.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){const o=class{constructor(){this._lastPressedKey=0;this._cursorX=0;this._cursorY=0;this._mouseX=0;this._mouseY=0;this._isMouseInsideCanvas=!0;this._mouseWheelDelta=0;this._touches={firstKey:()=>{for(const e in this._mouseOrTouches.items)if(e!=="1")return e;return null}};this._startedTouches=[];this._endedTouches=[];this._touchSimulateMouse=!0;this._lastStartedTouchIndex=0;this._lastEndedTouchIndex=0;this._pressedKeys=new Hashtable,this._releasedKeys=new Hashtable,this._pressedMouseButtons=new Array(5),this._releasedMouseButtons=new Array(5),this._mouseOrTouches=new Hashtable}_getLocationAwareKeyCode(e,s){return s?96<=e&&e<=105?e:e+1e3*s:o._DEFAULT_LEFT_VARIANT_KEYS.indexOf(e)!==-1?e+1e3:e}onKeyPressed(e,s){const t=this._getLocationAwareKeyCode(e,s);this._pressedKeys.put(t,!0),this._lastPressedKey=t}onKeyReleased(e,s){const t=this._getLocationAwareKeyCode(e,s);this._pressedKeys.put(t,!1),this._releasedKeys.put(t,!0)}getLastPressedKey(){return this._lastPressedKey}isKeyPressed(e){return this._pressedKeys.containsKey(e)&&this._pressedKeys.get(e)}wasKeyReleased(e){return this._releasedKeys.containsKey(e)&&this._releasedKeys.get(e)}anyKeyPressed(){for(const e in this._pressedKeys.items)if(this._pressedKeys.items.hasOwnProperty(e)&&this._pressedKeys.items[e])return!0;return!1}anyKeyReleased(){for(const e in this._releasedKeys.items)if(this._releasedKeys.items.hasOwnProperty(e)&&this._releasedKeys.items[e])return!0;return!1}onMouseMove(e,s){this._setCursorPosition(e,s),this._mouseX=e,this._mouseY=s,this.isMouseButtonPressed(o.MOUSE_LEFT_BUTTON)&&this._moveTouch(o.MOUSE_TOUCH_ID,this.getCursorX(),this.getCursorY())}_setCursorPosition(e,s){this._cursorX=e,this._cursorY=s}getCursorX(){return this._cursorX}getCursorY(){return this._cursorY}getMouseX(){return this._mouseX}getMouseY(){return this._mouseY}onMouseLeave(){this._isMouseInsideCanvas=!1}onMouseEnter(){this._isMouseInsideCanvas=!0}isMouseInsideCanvas(){return this._isMouseInsideCanvas}onMouseButtonPressed(e){this._setMouseButtonPressed(e),e===o.MOUSE_LEFT_BUTTON&&this._addTouch(o.MOUSE_TOUCH_ID,this.getCursorX(),this.getCursorY())}_setMouseButtonPressed(e){this._pressedMouseButtons[e]=!0,this._releasedMouseButtons[e]=!1}onMouseButtonReleased(e){this._setMouseButtonReleased(e),e===o.MOUSE_LEFT_BUTTON&&this._removeTouch(o.MOUSE_TOUCH_ID)}_setMouseButtonReleased(e){this._pressedMouseButtons[e]=!1,this._releasedMouseButtons[e]=!0}isMouseButtonPressed(e){return this._pressedMouseButtons[e]!==void 0&&this._pressedMouseButtons[e]}isMouseButtonReleased(e){return this._releasedMouseButtons[e]!==void 0&&this._releasedMouseButtons[e]}onMouseWheel(e){this._mouseWheelDelta=e}getMouseWheelDelta(){return this._mouseWheelDelta}getTouchX(e){return this._mouseOrTouches.containsKey(e)?this._mouseOrTouches.get(e).x:0}getTouchY(e){return this._mouseOrTouches.containsKey(e)?this._mouseOrTouches.get(e).y:0}hasTouchEnded(e){return this._endedTouches.includes(e)&&this._mouseOrTouches.get(e).justEnded}getAllTouchIdentifiers(){o._allTouchIds.length=0;for(const e in this._mouseOrTouches.items)this._mouseOrTouches.items.hasOwnProperty(e)&&o._allTouchIds.push(parseInt(e,10));return o._allTouchIds}onTouchStart(e,s,t){this._addTouch(this.getPublicTouchIdentifier(e),s,t),this._touchSimulateMouse&&(this._setCursorPosition(s,t),this._setMouseButtonPressed(o.MOUSE_LEFT_BUTTON))}_addTouch(e,s,t){this._endedTouches.includes(e)||(this._startedTouches.push(e),this._mouseOrTouches.put(e,{x:s,y:t,justEnded:!1}))}onTouchMove(e,s,t){this._moveTouch(this.getPublicTouchIdentifier(e),s,t),this._touchSimulateMouse&&this._setCursorPosition(s,t)}_moveTouch(e,s,t){const r=this._mouseOrTouches.get(e);!r||(r.x=s,r.y=t)}onTouchEnd(e){this._removeTouch(this.getPublicTouchIdentifier(e)),this._touchSimulateMouse&&this._setMouseButtonReleased(o.MOUSE_LEFT_BUTTON)}onTouchCancel(e){this.onTouchEnd(e)}_removeTouch(e){this._endedTouches.push(e),this._mouseOrTouches.containsKey(e)&&(this._mouseOrTouches.get(e).justEnded=!0)}getPublicTouchIdentifier(e){return e+2}getStartedTouchIdentifiers(){return this._startedTouches}popStartedTouch(){const e=this._startedTouches[this._lastStartedTouchIndex];return this._lastStartedTouchIndex++,e}popEndedTouch(){const e=this._endedTouches[this._lastEndedTouchIndex];return this._lastEndedTouchIndex++,e}touchSimulateMouse(e){e===void 0&&(e=!0),this._touchSimulateMouse=e}isSimulatingMouseWithTouch(){return this._touchSimulateMouse}onFrameEnded(){for(const e in this._mouseOrTouches.items)this._mouseOrTouches.items.hasOwnProperty(e)&&this._mouseOrTouches.items[e].justEnded&&this._mouseOrTouches.remove(e);this._startedTouches.length=0,this._endedTouches.length=0,this._releasedKeys.clear(),this._releasedMouseButtons.length=0,this._mouseWheelDelta=0,this._lastStartedTouchIndex=0,this._lastEndedTouchIndex=0}isScrollingUp(){return this.getMouseWheelDelta()>0}isScrollingDown(){return this.getMouseWheelDelta()<0}};let u=o;u.MOUSE_LEFT_BUTTON=0,u.MOUSE_RIGHT_BUTTON=1,u.MOUSE_MIDDLE_BUTTON=2,u.MOUSE_BACK_BUTTON=3,u.MOUSE_FORWARD_BUTTON=4,u.MOUSE_TOUCH_ID=1,u._DEFAULT_LEFT_VARIANT_KEYS=[16,17,18,91],u._allTouchIds=[],i.InputManager=u})(gdjs||(gdjs={})); +//# sourceMappingURL=inputmanager.js.map diff --git a/jsonmanager.js b/jsonmanager.js new file mode 100644 index 00000000..e9591936 --- /dev/null +++ b/jsonmanager.js @@ -0,0 +1,2 @@ +var gdjs;(function(c){const l=new c.Logger("JSON Manager"),u=["json","tilemap","tileset"];class i{constructor(r){this._loadedJsons=new c.ResourceCache;this._callbacks=new c.ResourceCache;this._getJsonResource=r=>{const s=this._resourceLoader.getResource(r);return s&&this.getResourceKinds().includes(s.kind)?s:null};this._resourceLoader=r}getResourceKinds(){return u}async loadResource(r){const s=this._resourceLoader.getResource(r);if(!s){l.warn('Unable to find json for resource "'+r+'".');return}if(!s.disablePreload)try{await this.loadJsonAsync(s.name)}catch(e){l.error(`Error while preloading json resource ${s.name}:`,e)}}loadJsonAsync(r){const s=this;return new Promise((e,t)=>{s.loadJson(r,(o,n)=>{o&&t(o.message),e(n)})})}async processResource(r){}loadJson(r,s){const e=this._getJsonResource(r);if(!e){s(new Error(`Can't find resource with name: "`+r+'" (or is not a json resource).'),null);return}if(this._loadedJsons.get(e)){s(null,this._loadedJsons.get(e));return}{const n=this._callbacks.get(e);if(n){n.push(s);return}else this._callbacks.set(e,[s])}const t=this,o=new XMLHttpRequest;o.responseType="json",o.withCredentials=this._resourceLoader.checkIfCredentialsRequired(e.file),o.open("GET",this._resourceLoader.getFullUrl(e.file)),o.onload=function(){const n=t._callbacks.get(e);if(!!n){if(o.status!==200){for(const a of n)a(new Error("HTTP error: "+o.status+"("+o.statusText+")"),null);t._callbacks.delete(e);return}t._loadedJsons.set(e,o.response);for(const a of n)a(null,o.response);t._callbacks.delete(e)}},o.onerror=function(){const n=t._callbacks.get(e);if(!!n){for(const a of n)a(new Error("Network error"),null);t._callbacks.delete(e)}},o.onabort=function(){const n=t._callbacks.get(e);if(!!n){for(const a of n)a(new Error("Request aborted"),null);t._callbacks.delete(e)}},o.send()}isJsonLoaded(r){return!!this._loadedJsons.getFromName(r)}getLoadedJson(r){return this._loadedJsons.getFromName(r)||null}}c.JsonManager=i})(gdjs||(gdjs={})); +//# sourceMappingURL=jsonmanager.js.map diff --git a/knifeRound_sharp.png b/knifeRound_sharp.png new file mode 100644 index 00000000..ff01891c Binary files /dev/null and b/knifeRound_sharp.png differ diff --git a/knifeRound_smooth.png b/knifeRound_smooth.png new file mode 100644 index 00000000..fed60988 Binary files /dev/null and b/knifeRound_smooth.png differ diff --git a/knife_sharp.png b/knife_sharp.png new file mode 100644 index 00000000..13518f8b Binary files /dev/null and b/knife_sharp.png differ diff --git a/layer.js b/layer.js new file mode 100644 index 00000000..9bd0311b --- /dev/null +++ b/layer.js @@ -0,0 +1,2 @@ +var gdjs;(function(m){class c extends m.RuntimeLayer{constructor(t,e){super(t,e);this._cameraRotation=0;this._zoomFactor=1;this._cameraZ=0;this._isCameraZDirty=!0;this._cameraX=this.getWidth()/2,this._cameraY=this.getHeight()/2,this.getCameraType()===m.RuntimeLayerCameraType.ORTHOGRAPHIC&&(this._cameraZ=(this._initialCamera3DFarPlaneDistance+this._initialCamera3DNearPlaneDistance)/2),this._renderer.onCreated()}onGameResolutionResized(t,e){this._cameraX===t&&this._cameraY===e&&this._zoomFactor===1&&(this._cameraX+=this._runtimeScene.getViewportOriginX()-t,this._cameraY+=this._runtimeScene.getViewportOriginY()-e),this._renderer.updatePosition(),this._renderer.updateResolution()}getCameraX(t){return this._forceDimensionUpdate(),this._cameraX}getCameraY(t){return this._forceDimensionUpdate(),this._cameraY}setCameraX(t,e){this._forceDimensionUpdate(),this._cameraX=t,this._renderer.updatePosition()}setCameraY(t,e){this._forceDimensionUpdate(),this._cameraY=t,this._renderer.updatePosition()}getCameraWidth(t){return this.getWidth()/this._zoomFactor}getCameraHeight(t){return this.getHeight()/this._zoomFactor}setCameraZoom(t,e){this._zoomFactor=t,this._isCameraZDirty=!0,this._renderer.updatePosition()}getCameraZoom(t){return this._zoomFactor}setCameraZ(t,e,i){if(e){const o=m.toRad(e),a=Math.min(Number.MAX_SAFE_INTEGER,.5*this.getHeight()/(t*Math.tan(.5*o)));a>0&&(this._zoomFactor=a)}this._cameraZ=t,this._isCameraZDirty=!1,this._renderer.updatePosition()}getCameraZ(t,e){return!this._isCameraZDirty||!t?this._cameraZ:.5*this.getHeight()/this.getCameraZoom()/Math.tan(.5*m.toRad(t))}getCameraRotation(t){return this._cameraRotation}setCameraRotation(t,e){this._cameraRotation=t,this._renderer.updatePosition()}convertCoords(t,e,i=0,o){let a=o||[0,0];if(this._renderer.isCameraRotatedIn3D())return this._renderer.transformTo3DWorld(t,e,0,i,o);t-=this.getRuntimeScene()._cachedGameResolutionWidth/2,e-=this.getRuntimeScene()._cachedGameResolutionHeight/2,t/=Math.abs(this._zoomFactor),e/=Math.abs(this._zoomFactor);const n=this._cameraRotation/180*Math.PI,s=t,r=Math.cos(n),h=Math.sin(n);return t=r*t-h*e,e=h*s+r*e,a[0]=t+this.getCameraX(i),a[1]=e+this.getCameraY(i),a}applyLayerInverseTransformation(t,e,i,o){t-=this._runtimeScene.getViewportOriginX(),e-=this._runtimeScene.getViewportOriginY(),t/=Math.abs(this._zoomFactor),e/=Math.abs(this._zoomFactor);const a=this._cameraRotation/180*Math.PI,n=t,s=Math.cos(a),r=Math.sin(a);return t=s*t-r*e,e=r*n+s*e,o[0]=t+this.getCameraX(i),o[1]=e+this.getCameraY(i),o}convertInverseCoords(t,e,i=0,o){let a=o||[0,0];t-=this.getCameraX(i),e-=this.getCameraY(i);const n=this._cameraRotation/180*Math.PI,s=t,r=Math.cos(-n),h=Math.sin(-n);return t=r*t-h*e,e=h*s+r*e,t*=Math.abs(this._zoomFactor),e*=Math.abs(this._zoomFactor),a[0]=t+this.getRuntimeScene()._cachedGameResolutionWidth/2,a[1]=e+this.getRuntimeScene()._cachedGameResolutionHeight/2,a}applyLayerTransformation(t,e,i,o){t-=this.getCameraX(i),e-=this.getCameraY(i);const a=this._cameraRotation/180*Math.PI,n=t,s=Math.cos(-a),r=Math.sin(-a);return t=s*t-r*e,e=r*n+s*e,t*=Math.abs(this._zoomFactor),e*=Math.abs(this._zoomFactor),t+=this._runtimeScene.getViewportOriginX(),e+=this._runtimeScene.getViewportOriginY(),o[0]=t,o[1]=e,o}_forceDimensionUpdate(){this._runtimeScene.getViewportWidth()}}m.Layer=c})(gdjs||(gdjs={})); +//# sourceMappingURL=layer.js.map diff --git a/leg_1.png b/leg_1.png new file mode 100644 index 00000000..09a5a290 Binary files /dev/null and b/leg_1.png differ diff --git a/leg_2.png b/leg_2.png new file mode 100644 index 00000000..3755bae3 Binary files /dev/null and b/leg_2.png differ diff --git a/leg_3.png b/leg_3.png new file mode 100644 index 00000000..8f846993 Binary files /dev/null and b/leg_3.png differ diff --git a/leg_4.png b/leg_4.png new file mode 100644 index 00000000..64a3ac01 Binary files /dev/null and b/leg_4.png differ diff --git a/leg_5.png b/leg_5.png new file mode 100644 index 00000000..47d6ea11 Binary files /dev/null and b/leg_5.png differ diff --git a/leg_6.png b/leg_6.png new file mode 100644 index 00000000..f8bac4d0 Binary files /dev/null and b/leg_6.png differ diff --git a/leg_7.png b/leg_7.png new file mode 100644 index 00000000..af8cfa58 Binary files /dev/null and b/leg_7.png differ diff --git a/leg_8.png b/leg_8.png new file mode 100644 index 00000000..23cc0031 Binary files /dev/null and b/leg_8.png differ diff --git a/libs/jshashtable.js b/libs/jshashtable.js new file mode 100644 index 00000000..efef5628 --- /dev/null +++ b/libs/jshashtable.js @@ -0,0 +1,2 @@ +class Hashtable{constructor(){this.items={}}static newFrom(t){const s=new Hashtable;return s.items=t,s}put(t,s){this.items[t]=s}get(t){return this.items[t]}containsKey(t){return this.items.hasOwnProperty(t)}remove(t){delete this.items[t]}firstKey(){for(const t in this.items)if(this.items.hasOwnProperty(t))return t;return null}keys(t){t.length=0;for(const s in this.items)this.items.hasOwnProperty(s)&&t.push(s)}values(t){t.length=0;for(const s in this.items)this.items.hasOwnProperty(s)&&t.push(this.items[s])}clear(){for(const t in this.items)this.items.hasOwnProperty(t)&&delete this.items[t]}} +//# sourceMappingURL=jshashtable.js.map diff --git a/libs/rbush.js b/libs/rbush.js new file mode 100644 index 00000000..96c70f1a --- /dev/null +++ b/libs/rbush.js @@ -0,0 +1,624 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.rbush = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o= 0) { + if (insertPath[level].children.length > this._maxEntries) { + this._split(insertPath, level); + level--; + } else break; + } + + // adjust bboxes along the insertion path + this._adjustParentBBoxes(bbox, insertPath, level); + }, + + // split overflowed node into two + _split: function (insertPath, level) { + + var node = insertPath[level], + M = node.children.length, + m = this._minEntries; + + this._chooseSplitAxis(node, m, M); + + var splitIndex = this._chooseSplitIndex(node, m, M); + + var newNode = createNode(node.children.splice(splitIndex, node.children.length - splitIndex)); + newNode.height = node.height; + newNode.leaf = node.leaf; + + calcBBox(node, this.toBBox); + calcBBox(newNode, this.toBBox); + + if (level) insertPath[level - 1].children.push(newNode); + else this._splitRoot(node, newNode); + }, + + _splitRoot: function (node, newNode) { + // split root node + this.data = createNode([node, newNode]); + this.data.height = node.height + 1; + this.data.leaf = false; + calcBBox(this.data, this.toBBox); + }, + + _chooseSplitIndex: function (node, m, M) { + + var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index; + + minOverlap = minArea = Infinity; + + for (i = m; i <= M - m; i++) { + bbox1 = distBBox(node, 0, i, this.toBBox); + bbox2 = distBBox(node, i, M, this.toBBox); + + overlap = intersectionArea(bbox1, bbox2); + area = bboxArea(bbox1) + bboxArea(bbox2); + + // choose distribution with minimum overlap + if (overlap < minOverlap) { + minOverlap = overlap; + index = i; + + minArea = area < minArea ? area : minArea; + + } else if (overlap === minOverlap) { + // otherwise choose distribution with minimum area + if (area < minArea) { + minArea = area; + index = i; + } + } + } + + return index; + }, + + // sorts node children by the best axis for split + _chooseSplitAxis: function (node, m, M) { + + var compareMinX = node.leaf ? this.compareMinX : compareNodeMinX, + compareMinY = node.leaf ? this.compareMinY : compareNodeMinY, + xMargin = this._allDistMargin(node, m, M, compareMinX), + yMargin = this._allDistMargin(node, m, M, compareMinY); + + // if total distributions margin value is minimal for x, sort by minX, + // otherwise it's already sorted by minY + if (xMargin < yMargin) node.children.sort(compareMinX); + }, + + // total margin of all possible split distributions where each node is at least m full + _allDistMargin: function (node, m, M, compare) { + + node.children.sort(compare); + + var toBBox = this.toBBox, + leftBBox = distBBox(node, 0, m, toBBox), + rightBBox = distBBox(node, M - m, M, toBBox), + margin = bboxMargin(leftBBox) + bboxMargin(rightBBox), + i, child; + + for (i = m; i < M - m; i++) { + child = node.children[i]; + extend(leftBBox, node.leaf ? toBBox(child) : child); + margin += bboxMargin(leftBBox); + } + + for (i = M - m - 1; i >= m; i--) { + child = node.children[i]; + extend(rightBBox, node.leaf ? toBBox(child) : child); + margin += bboxMargin(rightBBox); + } + + return margin; + }, + + _adjustParentBBoxes: function (bbox, path, level) { + // adjust bboxes along the given tree path + for (var i = level; i >= 0; i--) { + extend(path[i], bbox); + } + }, + + _condense: function (path) { + // go through the path, removing empty nodes and updating bboxes + for (var i = path.length - 1, siblings; i >= 0; i--) { + if (path[i].children.length === 0) { + if (i > 0) { + siblings = path[i - 1].children; + siblings.splice(siblings.indexOf(path[i]), 1); + + } else this.clear(); + + } else calcBBox(path[i], this.toBBox); + } + }, + + _initFormat: function (format) { + // data format (minX, minY, maxX, maxY accessors) + + // uses eval-type function compilation instead of just accepting a toBBox function + // because the algorithms are very sensitive to sorting functions performance, + // so they should be dead simple and without inner calls + + var compareArr = ['return a', ' - b', ';']; + + this.compareMinX = new Function('a', 'b', compareArr.join(format[0])); + this.compareMinY = new Function('a', 'b', compareArr.join(format[1])); + + this.toBBox = new Function('a', + 'return {minX: a' + format[0] + + ', minY: a' + format[1] + + ', maxX: a' + format[2] + + ', maxY: a' + format[3] + '};'); + } +}; + +function findItem(item, items, equalsFn) { + if (!equalsFn) return items.indexOf(item); + + for (var i = 0; i < items.length; i++) { + if (equalsFn(item, items[i])) return i; + } + return -1; +} + +// calculate node's bbox from bboxes of its children +function calcBBox(node, toBBox) { + distBBox(node, 0, node.children.length, toBBox, node); +} + +// min bounding rectangle of node children from k to p-1 +function distBBox(node, k, p, toBBox, destNode) { + if (!destNode) destNode = createNode(null); + destNode.minX = Infinity; + destNode.minY = Infinity; + destNode.maxX = -Infinity; + destNode.maxY = -Infinity; + + for (var i = k, child; i < p; i++) { + child = node.children[i]; + extend(destNode, node.leaf ? toBBox(child) : child); + } + + return destNode; +} + +function extend(a, b) { + a.minX = Math.min(a.minX, b.minX); + a.minY = Math.min(a.minY, b.minY); + a.maxX = Math.max(a.maxX, b.maxX); + a.maxY = Math.max(a.maxY, b.maxY); + return a; +} + +function compareNodeMinX(a, b) { return a.minX - b.minX; } +function compareNodeMinY(a, b) { return a.minY - b.minY; } + +function bboxArea(a) { return (a.maxX - a.minX) * (a.maxY - a.minY); } +function bboxMargin(a) { return (a.maxX - a.minX) + (a.maxY - a.minY); } + +function enlargedArea(a, b) { + return (Math.max(b.maxX, a.maxX) - Math.min(b.minX, a.minX)) * + (Math.max(b.maxY, a.maxY) - Math.min(b.minY, a.minY)); +} + +function intersectionArea(a, b) { + var minX = Math.max(a.minX, b.minX), + minY = Math.max(a.minY, b.minY), + maxX = Math.min(a.maxX, b.maxX), + maxY = Math.min(a.maxY, b.maxY); + + return Math.max(0, maxX - minX) * + Math.max(0, maxY - minY); +} + +function contains(a, b) { + return a.minX <= b.minX && + a.minY <= b.minY && + b.maxX <= a.maxX && + b.maxY <= a.maxY; +} + +function intersects(a, b) { + return b.minX <= a.maxX && + b.minY <= a.maxY && + b.maxX >= a.minX && + b.maxY >= a.minY; +} + +function createNode(children) { + return { + children: children, + height: 1, + leaf: true, + minX: Infinity, + minY: Infinity, + maxX: -Infinity, + maxY: -Infinity + }; +} + +// sort an array so that items come in groups of n unsorted items, with groups sorted between each other; +// combines selection algorithm with binary divide & conquer approach + +function multiSelect(arr, left, right, n, compare) { + var stack = [left, right], + mid; + + while (stack.length) { + right = stack.pop(); + left = stack.pop(); + + if (right - left <= n) continue; + + mid = left + Math.ceil((right - left) / n / 2) * n; + quickselect(arr, mid, left, right, compare); + + stack.push(left, mid, mid, right); + } +} + +},{"quickselect":2}],2:[function(require,module,exports){ +'use strict'; + +module.exports = partialSort; + +// Floyd-Rivest selection algorithm: +// Rearrange items so that all items in the [left, k] range are smaller than all items in (k, right]; +// The k-th element will have the (k - left + 1)th smallest value in [left, right] + +function partialSort(arr, k, left, right, compare) { + + while (right > left) { + if (right - left > 600) { + var n = right - left + 1; + var m = k - left + 1; + var z = Math.log(n); + var s = 0.5 * Math.exp(2 * z / 3); + var sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1); + var newLeft = Math.max(left, Math.floor(k - m * s / n + sd)); + var newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd)); + partialSort(arr, k, newLeft, newRight, compare); + } + + var t = arr[k]; + var i = left; + var j = right; + + swap(arr, left, k); + if (compare(arr[right], t) > 0) swap(arr, left, right); + + while (i < j) { + swap(arr, i, j); + i++; + j--; + while (compare(arr[i], t) < 0) i++; + while (compare(arr[j], t) > 0) j--; + } + + if (compare(arr[left], t) === 0) swap(arr, left, j); + else { + j++; + swap(arr, j, right); + } + + if (j <= k) left = j + 1; + if (k <= j) right = j - 1; + } +} + +function swap(arr, i, j) { + var tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; +} + +function defaultCompare(a, b) { + return a < b ? -1 : a > b ? 1 : 0; +} + +},{}]},{},[1])(1) +}); diff --git a/logger.js b/logger.js new file mode 100644 index 00000000..98a4cf6e --- /dev/null +++ b/logger.js @@ -0,0 +1,2 @@ +var gdjs;(function(l){const g={info:console.log,warning:console.warn,error:console.error};class i{constructor(){this.discardedConsoleGroups=new Set}discardGroup(o){this.discardedConsoleGroups.add(o)}enableGroup(o){this.discardedConsoleGroups.delete(o)}log(o,n,u="info",p=!0){if(this.discardedConsoleGroups.has(o))return;(g[u]||g.info)(`[${o}] ${n}`)}}const s=new i;let r=s;function t(e){return e.reduce((o,n)=>o+n.toString(),"")}class a{constructor(o){this.group=o}log(...o){r.log(this.group,t(o),"info")}info(...o){r.log(this.group,t(o),"info")}warn(...o){r.log(this.group,t(o),"warning")}error(...o){r.log(this.group,t(o),"error")}static getDefaultConsoleLoggerOutput(){return s}static getLoggerOutput(){return r}static setLoggerOutput(o){r=o}}l.Logger=a})(gdjs||(gdjs={})); +//# sourceMappingURL=logger.js.map diff --git a/machinegun.png b/machinegun.png new file mode 100644 index 00000000..bde6e3d2 Binary files /dev/null and b/machinegun.png differ diff --git a/machinegunLauncher.png b/machinegunLauncher.png new file mode 100644 index 00000000..2303e278 Binary files /dev/null and b/machinegunLauncher.png differ diff --git a/manifest.webmanifest b/manifest.webmanifest new file mode 100644 index 00000000..f81da1a8 --- /dev/null +++ b/manifest.webmanifest @@ -0,0 +1 @@ +{"name":"GDevelop Open Game","short_name":"GOG","start_url":".","display":"standalone","background_color":"#fff","theme_color":"#fff","description":"A GTA-like game made by the GDevelop community.","orientation":"landscape"} \ No newline at end of file diff --git a/map_edge_1.png b/map_edge_1.png new file mode 100644 index 00000000..25ae8d88 Binary files /dev/null and b/map_edge_1.png differ diff --git a/map_edge_10.png b/map_edge_10.png new file mode 100644 index 00000000..40cc2cc9 Binary files /dev/null and b/map_edge_10.png differ diff --git a/map_edge_12.png b/map_edge_12.png new file mode 100644 index 00000000..e956de08 Binary files /dev/null and b/map_edge_12.png differ diff --git a/map_edge_14.png b/map_edge_14.png new file mode 100644 index 00000000..f1bd16f4 Binary files /dev/null and b/map_edge_14.png differ diff --git a/map_edge_2.png b/map_edge_2.png new file mode 100644 index 00000000..494ef93a Binary files /dev/null and b/map_edge_2.png differ diff --git a/map_edge_4.png b/map_edge_4.png new file mode 100644 index 00000000..28043bf6 Binary files /dev/null and b/map_edge_4.png differ diff --git a/map_edge_5.png b/map_edge_5.png new file mode 100644 index 00000000..26922a56 Binary files /dev/null and b/map_edge_5.png differ diff --git a/map_edge_7.png b/map_edge_7.png new file mode 100644 index 00000000..6920cbf4 Binary files /dev/null and b/map_edge_7.png differ diff --git a/map_edge_9.png b/map_edge_9.png new file mode 100644 index 00000000..056685c3 Binary files /dev/null and b/map_edge_9.png differ diff --git a/object-capabilities/AnimatableBehavior.js b/object-capabilities/AnimatableBehavior.js new file mode 100644 index 00000000..1e9b71c4 --- /dev/null +++ b/object-capabilities/AnimatableBehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(t){class a extends t.RuntimeBehavior{constructor(e,i,n){super(e,i,n);this.object=n}usesLifecycleFunction(){return!1}updateFromBehaviorData(e,i){return!0}onDeActivate(){}onDestroy(){}doStepPreEvents(e){}doStepPostEvents(e){}getAnimationIndex(){return this.object.getAnimationIndex()}setAnimationIndex(e){this.object.setAnimationIndex(e)}getAnimationName(){return this.object.getAnimationName()}setAnimationName(e){this.object.setAnimationName(e)}hasAnimationEnded(){return this.object.hasAnimationEnded()}isAnimationPaused(){return this.object.isAnimationPaused()}pauseAnimation(){this.object.pauseAnimation()}resumeAnimation(){this.object.resumeAnimation()}getAnimationSpeedScale(){return this.object.getAnimationSpeedScale()}setAnimationSpeedScale(e){this.object.setAnimationSpeedScale(e)}getAnimationElapsedTime(){return this.object.getAnimationElapsedTime()}setAnimationElapsedTime(e){this.object.setAnimationElapsedTime(e)}getAnimationDuration(){return this.object.getAnimationDuration()}}t.AnimatableBehavior=a,t.registerBehavior("AnimatableCapability::AnimatableBehavior",t.AnimatableBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=AnimatableBehavior.js.map diff --git a/object-capabilities/EffectBehavior.js b/object-capabilities/EffectBehavior.js new file mode 100644 index 00000000..0c6caf75 --- /dev/null +++ b/object-capabilities/EffectBehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(n){class r extends n.RuntimeBehavior{constructor(e,t,a){super(e,t,a);this.object=a}usesLifecycleFunction(){return!1}updateFromBehaviorData(e,t){return!0}onDeActivate(){}onDestroy(){}doStepPreEvents(e){}doStepPostEvents(e){}setEffectDoubleParameter(e,t,a){return this.object.setEffectDoubleParameter(e,t,a)}setEffectStringParameter(e,t,a){return this.object.setEffectStringParameter(e,t,a)}setEffectBooleanParameter(e,t,a){return this.object.setEffectBooleanParameter(e,t,a)}enableEffect(e,t){this.object.enableEffect(e,t)}isEffectEnabled(e){return this.object.isEffectEnabled(e)}}n.EffectBehavior=r,n.registerBehavior("EffectCapability::EffectBehavior",n.EffectBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=EffectBehavior.js.map diff --git a/object-capabilities/FlippableBehavior.js b/object-capabilities/FlippableBehavior.js new file mode 100644 index 00000000..d6613719 --- /dev/null +++ b/object-capabilities/FlippableBehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){class a extends i.RuntimeBehavior{constructor(e,t,o){super(e,t,o);this.object=o}usesLifecycleFunction(){return!1}updateFromBehaviorData(e,t){return!0}onDeActivate(){}onDestroy(){}doStepPreEvents(e){}doStepPostEvents(e){}flipX(e){this.object.flipX(e)}flipY(e){this.object.flipY(e)}isFlippedX(){return this.object.isFlippedX()}isFlippedY(){return this.object.isFlippedY()}}i.FlippableBehavior=a,i.registerBehavior("FlippableCapability::FlippableBehavior",i.FlippableBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=FlippableBehavior.js.map diff --git a/object-capabilities/OpacityBehavior.js b/object-capabilities/OpacityBehavior.js new file mode 100644 index 00000000..dac79393 --- /dev/null +++ b/object-capabilities/OpacityBehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(e){class n extends e.RuntimeBehavior{constructor(t,a,i){super(t,a,i);this.object=i}usesLifecycleFunction(){return!1}updateFromBehaviorData(t,a){return!0}onDeActivate(){}onDestroy(){}doStepPreEvents(t){}doStepPostEvents(t){}setOpacity(t){this.object.setOpacity(t)}getOpacity(){return this.object.getOpacity()}}e.OpacityBehavior=n,e.registerBehavior("OpacityCapability::OpacityBehavior",e.OpacityBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=OpacityBehavior.js.map diff --git a/object-capabilities/ResizableBehavior.js b/object-capabilities/ResizableBehavior.js new file mode 100644 index 00000000..941b522a --- /dev/null +++ b/object-capabilities/ResizableBehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){class o extends i.RuntimeBehavior{constructor(e,t,a){super(e,t,a);this.object=a}usesLifecycleFunction(){return!1}updateFromBehaviorData(e,t){return!0}onDeActivate(){}onDestroy(){}doStepPreEvents(e){}doStepPostEvents(e){}setWidth(e){this.object.setWidth(e)}setHeight(e){this.object.setHeight(e)}setSize(e,t){this.object.setSize(e,t)}getWidth(){return this.object.getWidth()}getHeight(){return this.object.getHeight()}}i.ResizableBehavior=o,i.registerBehavior("ResizableCapability::ResizableBehavior",i.ResizableBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=ResizableBehavior.js.map diff --git a/object-capabilities/ScalableBehavior.js b/object-capabilities/ScalableBehavior.js new file mode 100644 index 00000000..b11bb21b --- /dev/null +++ b/object-capabilities/ScalableBehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(t){class o extends t.RuntimeBehavior{constructor(e,a,l){super(e,a,l);this.object=l}usesLifecycleFunction(){return!1}updateFromBehaviorData(e,a){return!0}onDeActivate(){}onDestroy(){}doStepPreEvents(e){}doStepPostEvents(e){}setScale(e){this.object.setScale(e)}setScaleX(e){this.object.setScaleX(e)}setScaleY(e){this.object.setScaleY(e)}getScale(){return this.object.getScale()}getScaleY(){return this.object.getScaleY()}getScaleX(){return this.object.getScaleX()}}t.ScalableBehavior=o,t.registerBehavior("ScalableCapability::ScalableBehavior",t.ScalableBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=ScalableBehavior.js.map diff --git a/object-capabilities/TextContainerBehavior.js b/object-capabilities/TextContainerBehavior.js new file mode 100644 index 00000000..127373e4 --- /dev/null +++ b/object-capabilities/TextContainerBehavior.js @@ -0,0 +1,2 @@ +var gdjs;(function(t){class a extends t.RuntimeBehavior{constructor(e,n,i){super(e,n,i);this.object=i}usesLifecycleFunction(){return!1}updateFromBehaviorData(e,n){return!0}onDeActivate(){}onDestroy(){}doStepPreEvents(e){}doStepPostEvents(e){}getText(){return this.object.getText()}setText(e){this.object.setText(e)}}t.TextContainerBehavior=a,t.registerBehavior("TextContainerCapability::TextContainerBehavior",t.TextContainerBehavior)})(gdjs||(gdjs={})); +//# sourceMappingURL=TextContainerBehavior.js.map diff --git a/oncetriggers.js b/oncetriggers.js new file mode 100644 index 00000000..d8dab5bd --- /dev/null +++ b/oncetriggers.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){class r{constructor(){this._onceTriggers={};this._lastFrameOnceTrigger={}}startNewFrame(){for(const e in this._lastFrameOnceTrigger)this._lastFrameOnceTrigger.hasOwnProperty(e)&&delete this._lastFrameOnceTrigger[e];for(const e in this._onceTriggers)this._onceTriggers.hasOwnProperty(e)&&(this._lastFrameOnceTrigger[e]=this._onceTriggers[e],delete this._onceTriggers[e])}triggerOnce(e){return this._onceTriggers[e]=!0,!this._lastFrameOnceTrigger.hasOwnProperty(e)}}i.OnceTriggers=r})(gdjs||(gdjs={})); +//# sourceMappingURL=oncetriggers.js.map diff --git a/pistol.png b/pistol.png new file mode 100644 index 00000000..06c740c6 Binary files /dev/null and b/pistol.png differ diff --git a/pistolSilencer.png b/pistolSilencer.png new file mode 100644 index 00000000..6f8ee5c7 Binary files /dev/null and b/pistolSilencer.png differ diff --git a/pixi-renderers/CustomRuntimeObject2DPixiRenderer.js b/pixi-renderers/CustomRuntimeObject2DPixiRenderer.js new file mode 100644 index 00000000..22f931ae --- /dev/null +++ b/pixi-renderers/CustomRuntimeObject2DPixiRenderer.js @@ -0,0 +1,2 @@ +var gdjs;(function(r){class a{constructor(e,t,i){this._isContainerDirty=!0;this._debugDraw=null;this._debugDrawContainer=null;this._object=e,this._instanceContainer=t,this._pixiContainer=new PIXI.Container,this._debugDrawRenderedObjectsPoints={},this._pixiContainer.sortableChildren=!0,this._debugDraw=null;const n=i.getLayer("");n&&n.getRenderer().addRendererObject(this._pixiContainer,e.getZOrder())}reinitialize(e,t){this._object=e,this._isContainerDirty=!0;const i=t.getLayer("");i&&i.getRenderer().addRendererObject(this._pixiContainer,e.getZOrder())}getRendererObject(){return this._pixiContainer}get3DRendererObject(){return null}_updatePIXIContainer(){const e=this._object.getScaleX(),t=this._object.getScaleY(),i=this._object.getOpacity();this._pixiContainer.pivot.x=this._object.getUnscaledCenterX(),this._pixiContainer.pivot.y=this._object.getUnscaledCenterY(),this._pixiContainer.position.x=this._object.getX()+this._pixiContainer.pivot.x*Math.abs(e),this._pixiContainer.position.y=this._object.getY()+this._pixiContainer.pivot.y*Math.abs(t),this._pixiContainer.rotation=r.toRad(this._object.angle),this._pixiContainer.scale.x=e,this._pixiContainer.scale.y=t,this._pixiContainer.visible=!this._object.hidden,this._pixiContainer.alpha=i/255,this._isContainerDirty=!1}ensureUpToDate(){this._isContainerDirty&&this._updatePIXIContainer()}update(){this._isContainerDirty=!0}updateX(){const e=this._object.getScaleX();this._pixiContainer.position.x=this._object.x+this._pixiContainer.pivot.x*Math.abs(e)}updateY(){const e=this._object.getScaleY();this._pixiContainer.position.y=this._object.y+this._pixiContainer.pivot.y*Math.abs(e)}updateAngle(){this._pixiContainer.rotation=r.toRad(this._object.angle)}updateOpacity(){const e=this._object.getOpacity();this._pixiContainer.alpha=e/255}updateVisibility(){this._pixiContainer.visible=!this._object.hidden}getPIXIContainer(){return this._pixiContainer}getPIXIRenderer(){return null}setLayerIndex(e,t){const i=e.getRenderer();let n=i.getRendererObject();e.isLightingLayer()&&(n=i.getLightingSprite()),!!n&&this._pixiContainer.children.indexOf(n)!==t&&(this._pixiContainer.removeChild(n),this._pixiContainer.addChildAt(n,t))}static getAnimationFrameTextureManager(e){return r.SpriteRuntimeObjectPixiRenderer.getAnimationFrameTextureManager(e)}}r.CustomRuntimeObject2DPixiRenderer=a,r.CustomRuntimeObject2DRenderer=r.CustomRuntimeObject2DPixiRenderer})(gdjs||(gdjs={})); +//# sourceMappingURL=CustomRuntimeObject2DPixiRenderer.js.map diff --git a/pixi-renderers/DebuggerPixiRenderer.js b/pixi-renderers/DebuggerPixiRenderer.js new file mode 100644 index 00000000..9189a2e4 --- /dev/null +++ b/pixi-renderers/DebuggerPixiRenderer.js @@ -0,0 +1,2 @@ +var gdjs;(function(g){class R{constructor(d){this._debugDraw=null;this._debugDrawContainer=null;this._instanceContainer=d,this._debugDrawRenderedObjectsPoints={},this._debugDraw=null}getRendererObject(){return this._debugDrawContainer}renderDebugDraw(d,h,P,_){const p=this._instanceContainer.getRenderer().getRendererObject();(!this._debugDraw||!this._debugDrawContainer)&&(this._debugDrawContainer=new PIXI.Container,this._debugDraw=new PIXI.Graphics,this._debugDrawContainer.addChild(this._debugDraw),p&&p.addChild(this._debugDrawContainer));const t=this._debugDraw;for(let r in this._debugDrawRenderedObjectsPoints)this._debugDrawRenderedObjectsPoints[r].wasRendered=!1;const u=(r,e,n,c,i)=>{t.line.color=n,t.fill.color=n,t.drawCircle(c,i,3),P&&(r[e]||(r[e]=new PIXI.Text(e,{fill:n,fontSize:12}),this._debugDrawContainer.addChild(r[e])),r[e].position.set(c,i))};t.clear(),t.beginFill(),t.alpha=.8,t.lineStyle(2,255,1);const l=[0,0];for(let r=0;r{s=n.applyLayerTransformation(s[0],s[1],0,l),b.push(s[0]),b.push(s[1])}),t.fill.alpha=0,t.line.alpha=.5,t.line.color=16711680,t.drawPolygon(b)}t.fill.alpha=.3;const D=n.applyLayerTransformation(e.getCenterXInScene(),e.getCenterYInScene(),0,l);u(o.points,"Center",16776960,D[0],D[1]);const f=n.applyLayerTransformation(e.getX(),e.getY(),0,l);if(u(o.points,"Position",16711680,f[0],f[1]),e instanceof g.SpriteRuntimeObject){let a=e.getPointPosition("origin");(Math.abs(a[0]-f[0])>=1||Math.abs(a[1]-f[1])>=1)&&(a=n.applyLayerTransformation(a[0],a[1],0,l),u(o.points,"Origin",16711680,a[0],a[1]))}if(_&&e instanceof g.SpriteRuntimeObject){const a=e._animator.getCurrentFrame();if(!a)continue;for(const b in a.points.items){let s=e.getPointPosition(b);s=n.applyLayerTransformation(s[0],s[1],0,l),u(o.points,b,255,s[0],s[1])}}}for(const r in this._debugDrawRenderedObjectsPoints){const e=this._debugDrawRenderedObjectsPoints[r];if(e.wasRendered)continue;const n=e.points;for(const c in n)this._debugDrawContainer.removeChild(n[c])}t.endFill()}clearDebugDraw(){if(this._debugDraw&&this._debugDraw.clear(),this._debugDrawContainer){this._debugDrawContainer.destroy({children:!0});const d=this._instanceContainer.getRenderer().getRendererObject();d&&d.removeChild(this._debugDrawContainer)}this._debugDraw=null,this._debugDrawContainer=null,this._debugDrawRenderedObjectsPoints={}}}g.DebuggerPixiRenderer=R,g.DebuggerRenderer=g.DebuggerPixiRenderer})(gdjs||(gdjs={})); +//# sourceMappingURL=DebuggerPixiRenderer.js.map diff --git a/pixi-renderers/layer-pixi-renderer.js b/pixi-renderers/layer-pixi-renderer.js new file mode 100644 index 00000000..df5a1260 --- /dev/null +++ b/pixi-renderers/layer-pixi-renderer.js @@ -0,0 +1,15 @@ +var gdjs;(function(h){const p=new h.Logger("LayerPixiRenderer"),l=class{constructor(e,t,r){this._lightingSprite=null;this._renderTexture=null;this._oldWidth=null;this._oldHeight=null;this._threeGroup=null;this._threeScene=null;this._threeCamera=null;this._threeCameraDirty=!1;this._threeEffectComposer=null;this._threePlaneTexture=null;this._threePlaneGeometry=null;this._threePlaneMaterial=null;this._threePlaneMesh=null;this._pixiContainer=new PIXI.Container,this._pixiContainer.sortableChildren=!0,this._layer=e,this._isLightingLayer=e.isLightingLayer();const s=t.getRendererObject();s&&s.addChild(this._pixiContainer),this._pixiContainer.filters=[];const a=r.getPIXIRenderer();this._isLightingLayer?(this._clearColor=e.getClearColor(),this._setupLightingRendering(a,t)):(this._clearColor=[...h.hexNumberToRGBArray(this._layer.getRuntimeScene().getBackgroundColor()),0],this._setup3DRendering(a,t))}onCreated(){this._update3DCameraAspectAndPosition()}onGameResolutionResized(){this._update3DCameraAspectAndPosition()}_update3DCameraAspectAndPosition(){if(!!this._threeCamera){if(this._threeCamera instanceof THREE.OrthographicCamera){const e=this._layer.getWidth(),t=this._layer.getHeight();this._threeCamera.left=-e/2,this._threeCamera.right=e/2,this._threeCamera.top=t/2,this._threeCamera.bottom=-t/2}else this._threeCamera.aspect=this._layer.getWidth()/this._layer.getHeight();this._threeCamera.updateProjectionMatrix(),this.updatePosition()}}getRendererObject(){return this._pixiContainer}getThreeScene(){return this._threeScene}getThreeCamera(){return this._threeCamera}getThreeEffectComposer(){return this._threeEffectComposer}addPostProcessingPass(e){if(!this._threeEffectComposer)return;const t=this._layer.getRuntimeScene().getGame(),r=this._threeEffectComposer.passes.length-(t.getAntialiasingMode()==="none"?1:2);this._threeEffectComposer.insertPass(e,r)}removePostProcessingPass(e){!this._threeEffectComposer||this._threeEffectComposer.removePass(e)}hasPostProcessingPass(){if(!this._threeEffectComposer)return!1;const t=this._layer.getRuntimeScene().getGame().getAntialiasingMode()==="none"?2:3;return this._threeEffectComposer.passes.length>t}getLightingSprite(){return this._lightingSprite}_setup3DRendering(e,t){if(typeof THREE!="undefined")if(this._layer instanceof h.Layer){if(this._layer.getRenderingType()===h.RuntimeLayerRenderingType.THREE_D||this._layer.getRenderingType()===h.RuntimeLayerRenderingType.TWO_D_PLUS_THREE_D){if(this._threeScene||this._threeGroup||this._threeCamera)throw new Error("Tried to setup 3D rendering for a layer that is already set up.");if(this._threeScene=new THREE.Scene,this._threeScene.scale.y=-1,this._threeGroup=new THREE.Group,this._threeScene.add(this._threeGroup),this._layer.getCameraType()===h.RuntimeLayerCameraType.ORTHOGRAPHIC){const a=this._layer.getWidth(),n=this._layer.getHeight();this._threeCamera=new THREE.OrthographicCamera(-a/2,a/2,n/2,-n/2,this._layer.getInitialCamera3DNearPlaneDistance(),this._layer.getInitialCamera3DFarPlaneDistance())}else this._threeCamera=new THREE.PerspectiveCamera(this._layer.getInitialCamera3DFieldOfView(),1,this._layer.getInitialCamera3DNearPlaneDistance(),this._layer.getInitialCamera3DFarPlaneDistance());this._threeCamera.rotation.order="ZYX";const r=this._layer.getRuntimeScene().getGame(),s=r.getRenderer().getThreeRenderer();if(s&&(this._threeEffectComposer=new THREE_ADDONS.EffectComposer(s),this._threeEffectComposer.addPass(new THREE_ADDONS.RenderPass(this._threeScene,this._threeCamera)),r.getAntialiasingMode()!=="none"&&this._threeEffectComposer.addPass(new THREE_ADDONS.SMAAPass(r.getGameResolutionWidth(),r.getGameResolutionHeight())),this._threeEffectComposer.addPass(new THREE_ADDONS.OutputPass)),this._layer.getRenderingType()===h.RuntimeLayerRenderingType.TWO_D_PLUS_THREE_D){if(this._renderTexture||this._threePlaneGeometry||this._threePlaneMaterial||this._threePlaneTexture||this._threePlaneMesh)throw new Error("Tried to setup PixiJS plane for 2D rendering in 3D for a layer that is already set up.");this._createPixiRenderTexture(e),this._threePlaneGeometry=new THREE.PlaneGeometry(1,1);const a=1,n=1,u=a*n,g=new Uint8Array(4*u),_=new THREE.DataTexture(g,a,n);_.needsUpdate=!0,this._threePlaneTexture=_,this._threePlaneTexture.generateMipmaps=!1;const d=this._layer.getRuntimeScene().getGame().getScaleMode()==="nearest"?THREE.NearestFilter:THREE.LinearFilter;this._threePlaneTexture.minFilter=d,this._threePlaneTexture.magFilter=d,this._threePlaneTexture.wrapS=THREE.ClampToEdgeWrapping,this._threePlaneTexture.wrapT=THREE.ClampToEdgeWrapping;const i={vertexShader:` + varying vec2 vUv; + void main() { + vUv = uv; + gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0); + } + `,fragmentShader:` + uniform sampler2D map; + varying vec2 vUv; + void main() { + vec4 texel = texture2D(map, vUv); + gl_FragColor = texel; + } + `,uniforms:{map:{value:this._threePlaneTexture}},side:THREE.FrontSide,transparent:!0};this._threePlaneMaterial=new THREE.ShaderMaterial(i),this._threePlaneMaterial,this._threePlaneMesh=new THREE.Mesh(this._threePlaneGeometry,this._threePlaneMaterial),this._threePlaneMesh.renderOrder=Number.MAX_SAFE_INTEGER,this._threeScene.add(this._threePlaneMesh)}}}else{const r=t.get3DRendererObject();if(!r)return;this._threeGroup||(this._threeGroup=new THREE.Group,r.add(this._threeGroup))}}setThreeCameraDirty(e){this._threeCameraDirty=e}show2DRenderingPlane(e){!this._threePlaneMesh||this._threePlaneMesh.visible!==e&&(this._threePlaneMesh.visible=e)}updatePosition(){const e=-h.toRad(this._layer.getCameraRotation()),t=this._layer.getCameraZoom();this._pixiContainer.rotation=e,this._pixiContainer.scale.x=t,this._pixiContainer.scale.y=t;const r=Math.cos(e),s=Math.sin(e),a=this._layer.getCameraX()*t*r-this._layer.getCameraY()*t*s,n=this._layer.getCameraX()*t*s+this._layer.getCameraY()*t*r;this._pixiContainer.position.x=this._layer.getWidth()/2-a,this._pixiContainer.position.y=this._layer.getHeight()/2-n,this._layer.getRuntimeScene().getGame().getPixelsRounding()&&(r===0||s===0)&&Number.isInteger(t)&&(this._layer.getRuntimeScene().getGame().getRenderer().getPIXIRenderer()instanceof PIXI.Renderer?(this._pixiContainer.position.x=Math.round(this._pixiContainer.position.x),this._pixiContainer.position.y=Math.round(this._pixiContainer.position.y)):(this._pixiContainer.position.x=Math.ceil(this._pixiContainer.position.x),this._pixiContainer.position.y=Math.ceil(this._pixiContainer.position.y))),this._threeCamera&&(this._threeCamera.position.x=this._layer.getCameraX(),this._threeCamera.position.y=-this._layer.getCameraY(),this._threeCamera.rotation.z=e,this._threeCamera instanceof THREE.OrthographicCamera?(this._threeCamera.zoom=this._layer.getCameraZoom(),this._threeCamera.updateProjectionMatrix(),this._threeCamera.position.z=this._layer.getCameraZ(null)):this._threeCamera.position.z=this._layer.getCameraZ(this._threeCamera.fov),this._threePlaneMesh&&(this._threePlaneMesh.scale.x=this._layer.getWidth()/t,this._threePlaneMesh.scale.y=this._layer.getHeight()/t,this._threePlaneMesh.position.x=this._threeCamera.position.x,this._threePlaneMesh.position.y=-this._threeCamera.position.y,this._threePlaneMesh.rotation.z=-e))}updateResolution(){if(this._threeEffectComposer){const e=this._layer.getRuntimeScene().getGame();this._threeEffectComposer.setSize(e.getGameResolutionWidth(),e.getGameResolutionHeight())}}isCameraRotatedIn3D(){return this._threeCamera&&(this._threeCamera.rotation.x!==0||this._threeCamera.rotation.y!==0)}transformTo3DWorld(e,t,r,s,a){const n=this._threeCamera;if(!n)return a[0]=0,a[1]=0,a;const u=this._layer.getWidth(),g=this._layer.getHeight(),_=e/u*2-1,d=-(t/g)*2+1;let i=l.vectorForProjections;if(i||(i=new THREE.Vector3,l.vectorForProjections=i),n.updateMatrixWorld(),n instanceof THREE.OrthographicCamera){i.set(_,d,0),i.unproject(n);const o=new THREE.Vector3;n.getWorldDirection(o);const m=(r-i.z)/o.z;i.x+=m*o.x,i.y+=m*o.y}else{i.set(_,d,.5),i.unproject(n),i.sub(n.position).normalize();const o=(r-n.position.z)/i.z;i.x=o*i.x+n.position.x,i.y=o*i.y+n.position.y}return!Number.isFinite(i.x)||!Number.isFinite(i.y)?(a[0]=0,a[1]=0,a):(a[0]=i.x,a[1]=-i.y,a)}updateVisibility(e){this._pixiContainer.visible=!!e,this._threeGroup&&(this._threeGroup.visible=!!e)}updatePreRender(){if(this._threeCameraDirty){const e=this.getThreeCamera();e&&e.updateProjectionMatrix(),this._threeCameraDirty=!1}}addRendererObject(e,t){const r=e;r.zIndex=t||l.zeroZOrderForPixi,this._pixiContainer.addChild(r)}changeRendererObjectZOrder(e,t){const r=e;r.zIndex=t}removeRendererObject(e){this._pixiContainer.removeChild(e)}has3DObjects(){return!!this._threeGroup&&this._threeGroup.children.length>0}has2DObjects(){return this._pixiContainer.children.length>0}add3DRendererObject(e){!this._threeGroup||this._threeGroup.add(e)}remove3DRendererObject(e){!this._threeGroup||this._threeGroup.remove(e)}updateClearColor(){this._clearColor=this._layer.getClearColor()}_createPixiRenderTexture(e){if(!e||e.type!==PIXI.RENDERER_TYPE.WEBGL)return;if(this._renderTexture){p.error("Tried to create a PixiJS RenderTexture for a layer that already has one.");return}this._oldWidth=e.screen.width,this._oldHeight=e.screen.height;const t=this._oldWidth,r=this._oldHeight,s=e.resolution;this._renderTexture=PIXI.RenderTexture.create({width:t||100,height:r||100,resolution:s}),this._renderTexture.baseTexture.scaleMode=PIXI.SCALE_MODES.LINEAR,p.info(`RenderTexture created for layer ${this._layer.getName()}.`)}renderOnPixiRenderTexture(e){if(!this._renderTexture)return;(this._oldWidth!==e.screen.width||this._oldHeight!==e.screen.height)&&(this._renderTexture.resize(e.screen.width||100,e.screen.height||100),this._oldWidth=e.screen.width,this._oldHeight=e.screen.height);const t=e.renderTexture.current||void 0,r=e.renderTexture.sourceFrame;e.renderTexture.bind(this._renderTexture),this._clearColor[3]=this._isLightingLayer?1:0,e.renderTexture.clear(this._clearColor),e.render(this._pixiContainer,{renderTexture:this._renderTexture,clear:!1}),e.renderTexture.bind(t,r,void 0)}updateThreePlaneTextureFromPixiRenderTexture(e,t){if(!this._threePlaneTexture||!this._renderTexture)return;const r=this._renderTexture.baseTexture._glTextures[t.CONTEXT_UID];if(r){const s=e.properties.get(this._threePlaneTexture);s.__webglTexture=r.texture}}_setupLightingRendering(e,t){if(this._createPixiRenderTexture(e),!this._renderTexture)return;this._lightingSprite=new PIXI.Sprite(this._renderTexture),this._lightingSprite.blendMode=PIXI.BLEND_MODES.MULTIPLY;const r=t.getRendererObject();if(r){const s=r.getChildIndex(this._pixiContainer);r.addChildAt(this._lightingSprite,s),r.removeChild(this._pixiContainer)}}};let c=l;c.zeroZOrderForPixi=Math.pow(2,-24),c.vectorForProjections=null,h.LayerPixiRenderer=c,h.LayerRenderer=h.LayerPixiRenderer})(gdjs||(gdjs={})); +//# sourceMappingURL=layer-pixi-renderer.js.map diff --git a/pixi-renderers/loadingscreen-pixi-renderer.js b/pixi-renderers/loadingscreen-pixi-renderer.js new file mode 100644 index 00000000..a900f7b2 --- /dev/null +++ b/pixi-renderers/loadingscreen-pixi-renderer.js @@ -0,0 +1,2 @@ +var gdjs;(function(p){let n;(function(r){r[r.NOT_STARTED=0]="NOT_STARTED",r[r.STARTED=1]="STARTED",r[r.FINISHED=2]="FINISHED"})(n||(n={}));const d=(r,e,i)=>{!r||(e>0?(r.alpha+=1/e*i/1e3,r.alpha>1&&(r.alpha=1)):r.alpha=1)},_=r=>!r||r.alpha>=1;class c{constructor(e,i,a,t,s){this._backgroundSprite=null;this._gdevelopLogoSprite=null;this._progressBarGraphics=null;this._state=0;this._startTimeInMs=0;this._backgroundReadyTimeInMs=0;this._lastFrameTimeInMs=0;this._progressPercent=0;if(this._loadingScreenData=a,this._isWatermarkEnabled=t,this._isFirstLayout=s,this._loadingScreenContainer=new PIXI.Container,this._pixiRenderer=e.getPIXIRenderer(),!this._pixiRenderer)return;const o=i.getOrLoadPIXITexture(a.backgroundImageResourceName);o!==i.getInvalidPIXITexture()&&(this._backgroundSprite=PIXI.Sprite.from(o),this._backgroundSprite.alpha=0,this._backgroundSprite.anchor.x=.5,this._backgroundSprite.anchor.y=.5,this._loadingScreenContainer.addChild(this._backgroundSprite)),a.showGDevelopSplash&&s&&(this._gdevelopLogoSprite=PIXI.Sprite.from(p.gdevelopLogo),this._gdevelopLogoSprite.alpha=0,this._gdevelopLogoSprite.anchor.x=.5,this._gdevelopLogoSprite.anchor.y=.5,this._loadingScreenContainer.addChild(this._gdevelopLogoSprite)),a.showProgressBar&&(this._progressBarGraphics=new PIXI.Graphics,this._progressBarGraphics.alpha=0,this._loadingScreenContainer.addChild(this._progressBarGraphics)),this._render(performance.now())}setPercent(e){this._progressPercent=e}_startLoadingScreen(){!this._pixiRenderer||(this._state=1,this._startTimeInMs=performance.now())}_updatePositions(){if(!!this._pixiRenderer){if(this._backgroundSprite&&this._backgroundSprite.texture.valid){this._backgroundSprite.position.x=this._pixiRenderer.width/2,this._backgroundSprite.position.y=this._pixiRenderer.height/2;const e=Math.max(this._pixiRenderer.width/this._backgroundSprite.texture.width,this._pixiRenderer.height/this._backgroundSprite.texture.height);this._backgroundSprite.scale.x=e,this._backgroundSprite.scale.y=e}if(this._gdevelopLogoSprite){this._gdevelopLogoSprite.position.x=this._pixiRenderer.width/2,this._gdevelopLogoSprite.position.y=this._pixiRenderer.height/2;const e=680,i=this._pixiRenderer.width>this._pixiRenderer.height&&this._pixiRenderer.width>500?150:35,t=Math.min(e,Math.max(1,this._pixiRenderer.width-i*2))/e;this._gdevelopLogoSprite.scale.x=t,this._gdevelopLogoSprite.scale.y=t,this._gdevelopLogoSprite.visible=this._pixiRenderer.width>200&&this._pixiRenderer.height>200}}}_render(e){!this._pixiRenderer||this._state!==2&&(requestAnimationFrame(()=>this._render(performance.now())),this._renderIfNeeded(e))}renderIfNeeded(){return this._renderIfNeeded(performance.now())}_renderIfNeeded(e){if(e-this._lastFrameTimeInMs<1e3/60||!this._pixiRenderer)return!1;const i=this._lastFrameTimeInMs?e-this._lastFrameTimeInMs:0;if(this._lastFrameTimeInMs=e,this._updatePositions(),this._state===2)return!0;if(this._state==0)return this._pixiRenderer.background.color=this._loadingScreenData.backgroundColor,(!this._backgroundSprite||this._backgroundSprite.texture.valid)&&this._startLoadingScreen(),!0;const a=this._loadingScreenData.backgroundFadeInDuration;if(this._backgroundSprite||d(this._pixiRenderer.background,a,i),this._pixiRenderer.clear(),d(this._backgroundSprite,a,i),_(this._backgroundSprite)){this._backgroundReadyTimeInMs||(this._backgroundReadyTimeInMs=e);const t=this._loadingScreenData.logoAndProgressFadeInDuration,s=this._loadingScreenData.logoAndProgressLogoFadeInDelay;e-this._backgroundReadyTimeInMs>s*1e3&&(d(this._gdevelopLogoSprite,t,i),d(this._progressBarGraphics,t,i))}if(this._progressBarGraphics){const t=this._loadingScreenData.progressBarColor;let s=this._loadingScreenData.progressBarWidthPercent/100*this._pixiRenderer.width;this._loadingScreenData.progressBarMaxWidth>0&&s>this._loadingScreenData.progressBarMaxWidth&&(s=this._loadingScreenData.progressBarMaxWidth),this._loadingScreenData.progressBarMinWidth>0&&sthis._loadingScreenData.minDuration)return this._state=2,Promise.resolve();const a=this._loadingScreenData.minDuration-e;return this.setPercent(100),new Promise(t=>setTimeout(()=>{this._state=2,t()},a*1e3))}}p.LoadingScreenRenderer=c})(gdjs||(gdjs={})); +//# sourceMappingURL=loadingscreen-pixi-renderer.js.map diff --git a/pixi-renderers/pixi-bitmapfont-manager.js b/pixi-renderers/pixi-bitmapfont-manager.js new file mode 100644 index 00000000..690fed87 --- /dev/null +++ b/pixi-renderers/pixi-bitmapfont-manager.js @@ -0,0 +1,2 @@ +var gdjs;(function(a){const n=new a.Logger("Bitmap text"),l="GDJS-DEFAULT-BITMAP-FONT",d=5,p=(o,t)=>{const e=o.font;return o.font=t,PIXI.BitmapFont.available[t]=o,delete PIXI.BitmapFont.available[e],PIXI.BitmapFont.available[t]},m=["bitmapFont"];class c{constructor(t,e){this._pixiBitmapFontsInUse={};this._pixiBitmapFontsToUninstall=[];this._loadedFontsData=new a.ResourceCache;this._defaultSlugFontName=null;this._imageManager=e,this._resourceLoader=t}getResourceKinds(){return m}getDefaultBitmapFont(){if(this._defaultSlugFontName!==null)return PIXI.BitmapFont.available[this._defaultSlugFontName];const t="Arial",e=new PIXI.TextStyle({fontFamily:t,fontSize:20,padding:5,align:"left",fill:"#ffffff",wordWrap:!0,lineHeight:20}),i=p(PIXI.BitmapFont.from(t,e,{chars:[[" ","~"]]}),l);return this._defaultSlugFontName=i.font,i}_markBitmapFontAsUsed(t){this._pixiBitmapFontsInUse[t]=this._pixiBitmapFontsInUse[t]||{objectsUsingTheFont:0},this._pixiBitmapFontsInUse[t].objectsUsingTheFont++;for(let e=0;ed)){const e=this._pixiBitmapFontsToUninstall.shift();PIXI.BitmapFont.uninstall(e),n.log("Bitmap Text",'Uninstalled BitmapFont "'+e+'" from memory.')}}}obtainBitmapFont(t,e){const i=t+"@"+e;if(PIXI.BitmapFont.available[i])return this._markBitmapFontAsUsed(i),PIXI.BitmapFont.available[i];const s=this._loadedFontsData.getFromName(t);if(!s)return n.warn('Could not find Bitmap Font for resource named "'+t+'". The default font will be used.'),this.getDefaultBitmapFont();const u=this._imageManager.getPIXITexture(e);try{const r=p(PIXI.BitmapFont.install(s,u),i);return this._markBitmapFontAsUsed(i),r}catch(r){return n.error('Could not load the Bitmap Font for resource named "'+t+'". The default font will be used. Error is: '+r),this.getDefaultBitmapFont()}}async processResource(t){}async loadResource(t){const e=this._resourceLoader.getResource(t);if(!e){n.warn('Unable to find bitmap font for resource "'+t+'".');return}if(!this._loadedFontsData.get(e))try{const s=await(await fetch(this._resourceLoader.getFullUrl(e.file),{credentials:this._resourceLoader.checkIfCredentialsRequired(e.file)?"include":"same-origin"})).text();this._loadedFontsData.set(e,s)}catch(i){n.error("Can't fetch the bitmap font file "+e.file+", error: "+i)}}}a.PixiBitmapFontManager=c,a.BitmapFontManager=a.PixiBitmapFontManager})(gdjs||(gdjs={})); +//# sourceMappingURL=pixi-bitmapfont-manager.js.map diff --git a/pixi-renderers/pixi-effects-manager.js b/pixi-renderers/pixi-effects-manager.js new file mode 100644 index 00000000..bc29af19 --- /dev/null +++ b/pixi-renderers/pixi-effects-manager.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){class f{initializeEffect(e,t,n){const r=i.PixiFiltersTools.getFilterCreator(e.effectType);return r?(t[e.name]=r.makeFilter(n,e),!0):(console.warn(`Effect: "${e.name}", on layer: "${n.getName()}", has an unknown effect type: "${e.effectType}". Was it registered properly? Is the effect type correct?`),!1)}updatePreRender(e,t){for(const n in e)e[n].updatePreRender(t)}addEffect(e,t,n){let r=!0;return r=this.initializeEffect(e,t,n)&&r,r=this.updateAllEffectParameters(t,e)&&r,t[e.name]&&(r=t[e.name].applyEffect(n)&&r),r}removeEffect(e,t,n){const r=e[n];return r?(r.removeEffect(t),delete e[n],!0):!1}clearEffects(e){return e&&(e.filters=[]),!0}setEffectDoubleParameter(e,t,n,r){const a=e[t];return a?(a.updateDoubleParameter(n,r),!0):!1}setEffectStringParameter(e,t,n,r){const a=e[t];return a?(a.updateStringParameter(n,r),!0):!1}setEffectBooleanParameter(e,t,n,r){const a=e[t];return a?(a.updateBooleanParameter(n,r),!0):!1}updateAllEffectParameters(e,t){let n=!0,r=!0,a=!0;for(let s in t.doubleParameters)n=this.setEffectDoubleParameter(e,t.name,s,t.doubleParameters[s])&&n;for(let s in t.stringParameters)r=this.setEffectStringParameter(e,t.name,s,t.stringParameters[s])&&r;for(let s in t.booleanParameters)a=this.setEffectBooleanParameter(e,t.name,s,t.booleanParameters[s])&&a;return n&&r&&a}hasEffect(e,t){return!!e[t]}enableEffect(e,t,n,r){const a=e[n];!a||a.setEnabled(t,r)}isEffectEnabled(e,t,n){const r=e[n];return r?r.isEnabled(t):!1}}i.EffectsManager=f})(gdjs||(gdjs={})); +//# sourceMappingURL=pixi-effects-manager.js.map diff --git a/pixi-renderers/pixi-filters-tools.js b/pixi-renderers/pixi-filters-tools.js new file mode 100644 index 00000000..8677a193 --- /dev/null +++ b/pixi-renderers/pixi-filters-tools.js @@ -0,0 +1,2 @@ +var gdjs;(function(n){const f=new n.Logger("Filters");let u;(function(i){i.clampValue=function(t,e,r){return Math.max(e,Math.min(r,t))},i.clampKernelSize=function(t,e,r){const a=Math.round((r-e)/2+1),s=new Array(a);for(let o=0;oa!==this.pixiFilter),!0):!1}updatePreRender(e){this.filterCreator.updatePreRender(this.pixiFilter,e)}updateDoubleParameter(e,r){this.filterCreator.updateDoubleParameter(this.pixiFilter,e,r)}updateStringParameter(e,r){this.filterCreator.updateStringParameter(this.pixiFilter,e,r)}updateBooleanParameter(e,r){this.filterCreator.updateBooleanParameter(this.pixiFilter,e,r)}updateColorParameter(e,r){this.filterCreator.updateColorParameter(this.pixiFilter,e,r)}getDoubleParameter(e){return this.filterCreator.getDoubleParameter(this.pixiFilter,e)}getColorParameter(e){return this.filterCreator.getColorParameter(this.pixiFilter,e)}}i.PixiFilter=m;class F{isEnabled(e){return!1}setEnabled(e,r){return!1}applyEffect(e){return!1}removeEffect(e){return!1}updatePreRender(e){}updateDoubleParameter(e,r){}updateStringParameter(e,r){}updateBooleanParameter(e,r){}updateColorParameter(e,r){}getDoubleParameter(e){return 0}getColorParameter(e){return 0}}i.EmptyFilter=F})(u=n.PixiFiltersTools||(n.PixiFiltersTools={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=pixi-filters-tools.js.map diff --git a/pixi-renderers/pixi-image-manager.js b/pixi-renderers/pixi-image-manager.js new file mode 100644 index 00000000..7763ce2f --- /dev/null +++ b/pixi-renderers/pixi-image-manager.js @@ -0,0 +1,2 @@ +var gdjs;(function(l){const n=new l.Logger("PIXI Image manager"),c=(o,e)=>{n.error("Unable to load file "+o+" with error:",e||"(unknown error)")},d=(o,e)=>{!o||e.smoothed||(o.baseTexture.scaleMode=PIXI.SCALE_MODES.NEAREST)},g=(o,e)=>{e&&!e.smoothed&&(o.magFilter=THREE.NearestFilter,o.minFilter=THREE.NearestFilter)},x=["image","video"];class h{constructor(e){this._loadedTextures=new l.ResourceCache;this._diskTextures=new Map;this._rectangleTextures=new Map;this._scaledTextures=new Map;this._getImageResource=e=>{const r=this._resourceLoader.getResource(e);return r&&this.getResourceKinds().includes(r.kind)?r:null};this._resourceLoader=e,this._invalidTexture=PIXI.Texture.from("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAFElEQVQoU2P8z/D/PwMewDgyFAAApMMX8Zi0uXAAAAAASUVORK5CYIIA"),this._loadedThreeTextures=new Hashtable,this._loadedThreeMaterials=new Hashtable}getResourceKinds(){return x}getPIXITexture(e){const r=this._getImageResource(e);if(!r)return n.warn('Unable to find texture for resource "'+e+'".'),this._invalidTexture;const i=this._loadedTextures.get(r);return i?i.valid?i:(n.error("Texture for "+e+" is not valid anymore (or never was)."),this._invalidTexture):this._invalidTexture}getOrLoadPIXITexture(e){const r=this._getImageResource(e);if(!r)return n.warn('Unable to find texture for resource "'+e+'".'),this._invalidTexture;const i=this._loadedTextures.get(r);if(i)return i.valid?i:(n.error("Texture for "+e+" is not valid anymore (or never was)."),this._invalidTexture);n.log('Loading texture for resource "'+e+'"...');const s=r.file,a=this._resourceLoader.getFullUrl(s),t=PIXI.Texture.from(a,{resourceOptions:{crossorigin:this._resourceLoader.checkIfCredentialsRequired(s)?"use-credentials":"anonymous"}}).on("error",u=>{c(s,u)});if(!t)throw new Error("Texture loading by PIXI returned nothing for file "+s+" behind url "+a);return d(t,r),this._loadedTextures.set(r,t),t}getThreeTexture(e){const r=this._loadedThreeTextures.get(e);if(r)return r;const i=this.getPIXITexture(e);if(!this._resourceLoader._runtimeGame.getRenderer().getPIXIRenderer())throw new Error("No PIXI renderer was found.");const a=i.baseTexture.resource.source;if(!(a instanceof HTMLImageElement))throw new Error(`Can't load texture for resource "${e}" as it's not an image.`);const t=new THREE.Texture(a);t.magFilter=THREE.LinearFilter,t.minFilter=THREE.LinearFilter,t.wrapS=THREE.RepeatWrapping,t.wrapT=THREE.RepeatWrapping,t.colorSpace=THREE.SRGBColorSpace,t.needsUpdate=!0;const u=this._getImageResource(e);return g(t,u),this._loadedThreeTextures.put(e,t),t}getThreeMaterial(e,{useTransparentTexture:r,forceBasicMaterial:i}){const s=`${e}|${r?1:0}|${i?1:0}`,a=this._loadedThreeMaterials.get(s);if(a)return a;const t=i?new THREE.MeshBasicMaterial({map:this.getThreeTexture(e),side:r?THREE.DoubleSide:THREE.FrontSide,transparent:r}):new THREE.MeshStandardMaterial({map:this.getThreeTexture(e),side:r?THREE.DoubleSide:THREE.FrontSide,transparent:r,metalness:0});return this._loadedThreeMaterials.put(s,t),t}getPIXIVideoTexture(e){if(e==="")return this._invalidTexture;const r=this._getImageResource(e);if(!r)return n.warn('Unable to find video texture for resource "'+e+'".'),this._invalidTexture;const i=this._loadedTextures.get(r);return i||this._invalidTexture}getInvalidPIXITexture(){return this._invalidTexture}async loadResource(e){const r=this._resourceLoader.getResource(e);if(!r){n.warn('Unable to find texture for resource "'+e+'".');return}await this._loadTexture(r)}async processResource(e){}async _loadTexture(e){if(!this._loadedTextures.get(e))try{if(e.kind==="video")await new Promise((r,i)=>{const s=PIXI.Texture.from(this._resourceLoader.getFullUrl(e.file),{resourceOptions:{crossorigin:this._resourceLoader.checkIfCredentialsRequired(e.file)?"use-credentials":"anonymous",autoPlay:!1}}).on("error",t=>{i(t)});s.baseTexture.on("loaded",()=>{this._loadedTextures.set(e,s),d(s,e),r()}).on("error",t=>{i(t)})});else{const r=PIXI.Texture.from(this._resourceLoader.getFullUrl(e.file),{resourceOptions:{autoLoad:!1,crossorigin:this._resourceLoader.checkIfCredentialsRequired(e.file)?"use-credentials":"anonymous"}});await r.baseTexture.resource.load(),this._loadedTextures.set(e,r),d(r,e)}}catch(r){c(e.file,r)}}getOrCreateDiskTexture(e,r){let i=this._diskTextures.get(e);if(!i){const s=new PIXI.Graphics;s.lineStyle(0,0,0),s.beginFill(l.rgbToHexNumber(255,255,255),1),s.drawCircle(0,0,e),s.endFill(),i=r.generateTexture(s),s.destroy(),this._diskTextures.set(e,i)}return i}getOrCreateRectangleTexture(e,r,i){const s=`${e}_${r}`;let a=this._rectangleTextures.get(s);if(!a){const t=new PIXI.Graphics;t.lineStyle(0,0,0),t.beginFill(l.rgbToHexNumber(255,255,255),1),t.drawRect(0,0,e,r),t.endFill(),a=i.generateTexture(t),t.destroy(),this._rectangleTextures.set(s,a)}return a}getOrCreateScaledTexture(e,r,i,s){const a=`${e}_${r}_${i}`;let t=this._scaledTextures.get(a);if(!t){const u=new PIXI.Graphics,T=new PIXI.Sprite(this.getPIXITexture(e));T.width=r,T.height=i,u.addChild(T),t=s.generateTexture(u),u.destroy(),this._scaledTextures.set(a,t)}return t}}l.PixiImageManager=h,l.ImageManager=l.PixiImageManager})(gdjs||(gdjs={})); +//# sourceMappingURL=pixi-image-manager.js.map diff --git a/pixi-renderers/pixi.js b/pixi-renderers/pixi.js new file mode 100644 index 00000000..5f885b19 --- /dev/null +++ b/pixi-renderers/pixi.js @@ -0,0 +1,1163 @@ +/*! + * pixi.js-legacy - v7.3.0 + * Compiled Mon, 18 Sep 2023 15:35:01 UTC + * + * pixi.js-legacy is licensed under the MIT License. + * http://www.opensource.org/licenses/mit-license + */var PIXI=function(y){"use strict";var be=(i=>(i[i.WEBGL_LEGACY=0]="WEBGL_LEGACY",i[i.WEBGL=1]="WEBGL",i[i.WEBGL2=2]="WEBGL2",i))(be||{}),li=(i=>(i[i.UNKNOWN=0]="UNKNOWN",i[i.WEBGL=1]="WEBGL",i[i.CANVAS=2]="CANVAS",i))(li||{}),ui=(i=>(i[i.COLOR=16384]="COLOR",i[i.DEPTH=256]="DEPTH",i[i.STENCIL=1024]="STENCIL",i))(ui||{}),C=(i=>(i[i.NORMAL=0]="NORMAL",i[i.ADD=1]="ADD",i[i.MULTIPLY=2]="MULTIPLY",i[i.SCREEN=3]="SCREEN",i[i.OVERLAY=4]="OVERLAY",i[i.DARKEN=5]="DARKEN",i[i.LIGHTEN=6]="LIGHTEN",i[i.COLOR_DODGE=7]="COLOR_DODGE",i[i.COLOR_BURN=8]="COLOR_BURN",i[i.HARD_LIGHT=9]="HARD_LIGHT",i[i.SOFT_LIGHT=10]="SOFT_LIGHT",i[i.DIFFERENCE=11]="DIFFERENCE",i[i.EXCLUSION=12]="EXCLUSION",i[i.HUE=13]="HUE",i[i.SATURATION=14]="SATURATION",i[i.COLOR=15]="COLOR",i[i.LUMINOSITY=16]="LUMINOSITY",i[i.NORMAL_NPM=17]="NORMAL_NPM",i[i.ADD_NPM=18]="ADD_NPM",i[i.SCREEN_NPM=19]="SCREEN_NPM",i[i.NONE=20]="NONE",i[i.SRC_OVER=0]="SRC_OVER",i[i.SRC_IN=21]="SRC_IN",i[i.SRC_OUT=22]="SRC_OUT",i[i.SRC_ATOP=23]="SRC_ATOP",i[i.DST_OVER=24]="DST_OVER",i[i.DST_IN=25]="DST_IN",i[i.DST_OUT=26]="DST_OUT",i[i.DST_ATOP=27]="DST_ATOP",i[i.ERASE=26]="ERASE",i[i.SUBTRACT=28]="SUBTRACT",i[i.XOR=29]="XOR",i))(C||{}),Ot=(i=>(i[i.POINTS=0]="POINTS",i[i.LINES=1]="LINES",i[i.LINE_LOOP=2]="LINE_LOOP",i[i.LINE_STRIP=3]="LINE_STRIP",i[i.TRIANGLES=4]="TRIANGLES",i[i.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",i[i.TRIANGLE_FAN=6]="TRIANGLE_FAN",i))(Ot||{}),M=(i=>(i[i.RGBA=6408]="RGBA",i[i.RGB=6407]="RGB",i[i.RG=33319]="RG",i[i.RED=6403]="RED",i[i.RGBA_INTEGER=36249]="RGBA_INTEGER",i[i.RGB_INTEGER=36248]="RGB_INTEGER",i[i.RG_INTEGER=33320]="RG_INTEGER",i[i.RED_INTEGER=36244]="RED_INTEGER",i[i.ALPHA=6406]="ALPHA",i[i.LUMINANCE=6409]="LUMINANCE",i[i.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",i[i.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",i[i.DEPTH_STENCIL=34041]="DEPTH_STENCIL",i))(M||{}),Me=(i=>(i[i.TEXTURE_2D=3553]="TEXTURE_2D",i[i.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",i[i.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",i[i.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",i[i.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",i[i.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",i[i.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",i[i.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",i[i.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",i))(Me||{}),$=(i=>(i[i.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",i[i.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",i[i.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",i[i.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",i[i.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",i[i.UNSIGNED_INT=5125]="UNSIGNED_INT",i[i.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",i[i.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",i[i.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",i[i.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",i[i.BYTE=5120]="BYTE",i[i.SHORT=5122]="SHORT",i[i.INT=5124]="INT",i[i.FLOAT=5126]="FLOAT",i[i.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",i[i.HALF_FLOAT=36193]="HALF_FLOAT",i))($||{}),k=(i=>(i[i.FLOAT=0]="FLOAT",i[i.INT=1]="INT",i[i.UINT=2]="UINT",i))(k||{}),Bt=(i=>(i[i.NEAREST=0]="NEAREST",i[i.LINEAR=1]="LINEAR",i))(Bt||{}),Zt=(i=>(i[i.CLAMP=33071]="CLAMP",i[i.REPEAT=10497]="REPEAT",i[i.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",i))(Zt||{}),Ht=(i=>(i[i.OFF=0]="OFF",i[i.POW2=1]="POW2",i[i.ON=2]="ON",i[i.ON_MANUAL=3]="ON_MANUAL",i))(Ht||{}),At=(i=>(i[i.NPM=0]="NPM",i[i.UNPACK=1]="UNPACK",i[i.PMA=2]="PMA",i[i.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",i[i.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",i[i.PREMULTIPLIED_ALPHA=2]="PREMULTIPLIED_ALPHA",i))(At||{}),Vt=(i=>(i[i.NO=0]="NO",i[i.YES=1]="YES",i[i.AUTO=2]="AUTO",i[i.BLEND=0]="BLEND",i[i.CLEAR=1]="CLEAR",i[i.BLIT=2]="BLIT",i))(Vt||{}),ci=(i=>(i[i.AUTO=0]="AUTO",i[i.MANUAL=1]="MANUAL",i))(ci||{}),Rt=(i=>(i.LOW="lowp",i.MEDIUM="mediump",i.HIGH="highp",i))(Rt||{}),pt=(i=>(i[i.NONE=0]="NONE",i[i.SCISSOR=1]="SCISSOR",i[i.STENCIL=2]="STENCIL",i[i.SPRITE=3]="SPRITE",i[i.COLOR=4]="COLOR",i))(pt||{}),Pa=(i=>(i[i.RED=1]="RED",i[i.GREEN=2]="GREEN",i[i.BLUE=4]="BLUE",i[i.ALPHA=8]="ALPHA",i))(Pa||{}),ft=(i=>(i[i.NONE=0]="NONE",i[i.LOW=2]="LOW",i[i.MEDIUM=4]="MEDIUM",i[i.HIGH=8]="HIGH",i))(ft||{}),jt=(i=>(i[i.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",i[i.ARRAY_BUFFER=34962]="ARRAY_BUFFER",i[i.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",i))(jt||{});const Ma={createCanvas:(i,t)=>{const e=document.createElement("canvas");return e.width=i,e.height=t,e},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>{var i;return(i=document.baseURI)!=null?i:window.location.href},getFontFaceSet:()=>document.fonts,fetch:(i,t)=>fetch(i,t),parseXML:i=>new DOMParser().parseFromString(i,"text/xml")},N={ADAPTER:Ma,RESOLUTION:1,CREATE_IMAGE_BITMAP:!1,ROUND_PIXELS:!1};var Ar=/iPhone/i,Da=/iPod/i,Oa=/iPad/i,Ba=/\biOS-universal(?:.+)Mac\b/i,wr=/\bAndroid(?:.+)Mobile\b/i,Fa=/Android/i,ze=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,di=/Silk/i,he=/Windows Phone/i,Na=/\bWindows(?:.+)ARM\b/i,La=/BlackBerry/i,Ua=/BB10/i,ka=/Opera Mini/i,Ga=/\b(CriOS|Chrome)(?:.+)Mobile/i,$a=/Mobile(?:.+)Firefox\b/i,Ha=function(i){return typeof i!="undefined"&&i.platform==="MacIntel"&&typeof i.maxTouchPoints=="number"&&i.maxTouchPoints>1&&typeof MSStream=="undefined"};function Hu(i){return function(t){return t.test(i)}}function Va(i){var t={userAgent:"",platform:"",maxTouchPoints:0};!i&&typeof navigator!="undefined"?t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof i=="string"?t.userAgent=i:i&&i.userAgent&&(t={userAgent:i.userAgent,platform:i.platform,maxTouchPoints:i.maxTouchPoints||0});var e=t.userAgent,s=e.split("[FBAN");typeof s[1]!="undefined"&&(e=s[0]),s=e.split("Twitter"),typeof s[1]!="undefined"&&(e=s[0]);var r=Hu(e),n={apple:{phone:r(Ar)&&!r(he),ipod:r(Da),tablet:!r(Ar)&&(r(Oa)||Ha(t))&&!r(he),universal:r(Ba),device:(r(Ar)||r(Da)||r(Oa)||r(Ba)||Ha(t))&&!r(he)},amazon:{phone:r(ze),tablet:!r(ze)&&r(di),device:r(ze)||r(di)},android:{phone:!r(he)&&r(ze)||!r(he)&&r(wr),tablet:!r(he)&&!r(ze)&&!r(wr)&&(r(di)||r(Fa)),device:!r(he)&&(r(ze)||r(di)||r(wr)||r(Fa))||r(/\bokhttp\b/i)},windows:{phone:r(he),tablet:r(Na),device:r(he)||r(Na)},other:{blackberry:r(La),blackberry10:r(Ua),opera:r(ka),firefox:r($a),chrome:r(Ga),device:r(La)||r(Ua)||r(ka)||r($a)||r(Ga)},any:!1,phone:!1,tablet:!1};return n.any=n.apple.device||n.android.device||n.windows.device||n.other.device,n.phone=n.apple.phone||n.android.phone||n.windows.phone,n.tablet=n.apple.tablet||n.android.tablet||n.windows.tablet,n}var ja;const Xt=((ja=Va.default)!=null?ja:Va)(globalThis.navigator);N.RETINA_PREFIX=/@([0-9\.]+)x/,N.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT=!1;var Sr=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function We(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function dg(i){return i&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}function fg(i){return i&&Object.prototype.hasOwnProperty.call(i,"default")&&Object.keys(i).length===1?i.default:i}function pg(i){if(i.__esModule)return i;var t=i.default;if(typeof t=="function"){var e=function s(){if(this instanceof s){var r=[null];r.push.apply(r,arguments);var n=Function.bind.apply(t,r);return new n}return t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(i).forEach(function(s){var r=Object.getOwnPropertyDescriptor(i,s);Object.defineProperty(e,s,r.get?r:{enumerable:!0,get:function(){return i[s]}})}),e}var Cr={exports:{}},mg=Cr.exports;(function(i){"use strict";var t=Object.prototype.hasOwnProperty,e="~";function s(){}Object.create&&(s.prototype=Object.create(null),new s().__proto__||(e=!1));function r(h,l,u){this.fn=h,this.context=l,this.once=u||!1}function n(h,l,u,c,d){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new r(u,c||h,d),p=e?e+l:l;return h._events[p]?h._events[p].fn?h._events[p]=[h._events[p],f]:h._events[p].push(f):(h._events[p]=f,h._eventsCount++),h}function a(h,l){--h._eventsCount===0?h._events=new s:delete h._events[l]}function o(){this._events=new s,this._eventsCount=0}o.prototype.eventNames=function(){var l=[],u,c;if(this._eventsCount===0)return l;for(c in u=this._events)t.call(u,c)&&l.push(e?c.slice(1):c);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(u)):l},o.prototype.listeners=function(l){var u=e?e+l:l,c=this._events[u];if(!c)return[];if(c.fn)return[c.fn];for(var d=0,f=c.length,p=new Array(f);d80*e){o=l=i[0],h=u=i[1];for(var p=e;pl&&(l=c),d>u&&(u=d);f=Math.max(l-o,u-h),f=f!==0?32767/f:0}return ls(n,a,e,o,h,f,0),a}function Xa(i,t,e,s,r){var n,a;if(r===Pr(i,t,e,s)>0)for(n=t;n=t;n-=s)a=Ya(n,i[n],i[n+1],a);return a&&mi(a,a.next)&&(cs(a),a=a.next),a}function De(i,t){if(!i)return i;t||(t=i);var e=i,s;do if(s=!1,!e.steiner&&(mi(e,e.next)||ct(e.prev,e,e.next)===0)){if(cs(e),e=t=e.prev,e===e.next)break;s=!0}else e=e.next;while(s||e!==t);return t}function ls(i,t,e,s,r,n,a){if(i){!a&&n&&Ju(i,s,r,n);for(var o=i,h,l;i.prev!==i.next;){if(h=i.prev,l=i.next,n?Xu(i,s,r,n):ju(i)){t.push(h.i/e|0),t.push(i.i/e|0),t.push(l.i/e|0),cs(i),i=l.next,o=l.next;continue}if(i=l,i===o){a?a===1?(i=zu(De(i),t,e),ls(i,t,e,s,r,n,2)):a===2&&Wu(i,t,e,s,r,n):ls(De(i),t,e,s,r,n,1);break}}}}function ju(i){var t=i.prev,e=i,s=i.next;if(ct(t,e,s)>=0)return!1;for(var r=t.x,n=e.x,a=s.x,o=t.y,h=e.y,l=s.y,u=rn?r>a?r:a:n>a?n:a,f=o>h?o>l?o:l:h>l?h:l,p=s.next;p!==t;){if(p.x>=u&&p.x<=d&&p.y>=c&&p.y<=f&&qe(r,o,n,h,a,l,p.x,p.y)&&ct(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function Xu(i,t,e,s){var r=i.prev,n=i,a=i.next;if(ct(r,n,a)>=0)return!1;for(var o=r.x,h=n.x,l=a.x,u=r.y,c=n.y,d=a.y,f=oh?o>l?o:l:h>l?h:l,g=u>c?u>d?u:d:c>d?c:d,_=Rr(f,p,t,e,s),x=Rr(m,g,t,e,s),v=i.prevZ,b=i.nextZ;v&&v.z>=_&&b&&b.z<=x;){if(v.x>=f&&v.x<=m&&v.y>=p&&v.y<=g&&v!==r&&v!==a&&qe(o,u,h,c,l,d,v.x,v.y)&&ct(v.prev,v,v.next)>=0||(v=v.prevZ,b.x>=f&&b.x<=m&&b.y>=p&&b.y<=g&&b!==r&&b!==a&&qe(o,u,h,c,l,d,b.x,b.y)&&ct(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;v&&v.z>=_;){if(v.x>=f&&v.x<=m&&v.y>=p&&v.y<=g&&v!==r&&v!==a&&qe(o,u,h,c,l,d,v.x,v.y)&&ct(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;b&&b.z<=x;){if(b.x>=f&&b.x<=m&&b.y>=p&&b.y<=g&&b!==r&&b!==a&&qe(o,u,h,c,l,d,b.x,b.y)&&ct(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function zu(i,t,e){var s=i;do{var r=s.prev,n=s.next.next;!mi(r,n)&&za(r,s,s.next,n)&&us(r,n)&&us(n,r)&&(t.push(r.i/e|0),t.push(s.i/e|0),t.push(n.i/e|0),cs(s),cs(s.next),s=i=n),s=s.next}while(s!==i);return De(s)}function Wu(i,t,e,s,r,n){var a=i;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&sc(a,o)){var h=Wa(a,o);a=De(a,a.next),h=De(h,h.next),ls(a,t,e,s,r,n,0),ls(h,t,e,s,r,n,0);return}o=o.next}a=a.next}while(a!==i)}function Yu(i,t,e,s){var r=[],n,a,o,h,l;for(n=0,a=t.length;n=e.next.y&&e.next.y!==e.y){var o=e.x+(r-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(o<=s&&o>n&&(n=o,a=e.x=e.x&&e.x>=l&&s!==e.x&&qe(ra.x||e.x===a.x&&Qu(a,e)))&&(a=e,c=d)),e=e.next;while(e!==h);return a}function Qu(i,t){return ct(i.prev,i,t.prev)<0&&ct(t.next,i,i.next)<0}function Ju(i,t,e,s){var r=i;do r.z===0&&(r.z=Rr(r.x,r.y,t,e,s)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==i);r.prevZ.nextZ=null,r.prevZ=null,tc(r)}function tc(i){var t,e,s,r,n,a,o,h,l=1;do{for(e=i,i=null,n=null,a=0;e;){for(a++,s=e,o=0,t=0;t0||h>0&&s;)o!==0&&(h===0||!s||e.z<=s.z)?(r=e,e=e.nextZ,o--):(r=s,s=s.nextZ,h--),n?n.nextZ=r:i=r,r.prevZ=n,n=r;e=s}n.nextZ=null,l*=2}while(a>1);return i}function Rr(i,t,e,s,r){return i=(i-e)*r|0,t=(t-s)*r|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,i|t<<1}function ec(i){var t=i,e=i;do(t.x=(i-a)*(n-o)&&(i-a)*(s-o)>=(e-a)*(t-o)&&(e-a)*(n-o)>=(r-a)*(s-o)}function sc(i,t){return i.next.i!==t.i&&i.prev.i!==t.i&&!ic(i,t)&&(us(i,t)&&us(t,i)&&rc(i,t)&&(ct(i.prev,i,t.prev)||ct(i,t.prev,t))||mi(i,t)&&ct(i.prev,i,i.next)>0&&ct(t.prev,t,t.next)>0)}function ct(i,t,e){return(t.y-i.y)*(e.x-t.x)-(t.x-i.x)*(e.y-t.y)}function mi(i,t){return i.x===t.x&&i.y===t.y}function za(i,t,e,s){var r=_i(ct(i,t,e)),n=_i(ct(i,t,s)),a=_i(ct(e,s,i)),o=_i(ct(e,s,t));return!!(r!==n&&a!==o||r===0&&gi(i,e,t)||n===0&&gi(i,s,t)||a===0&&gi(e,i,s)||o===0&&gi(e,t,s))}function gi(i,t,e){return t.x<=Math.max(i.x,e.x)&&t.x>=Math.min(i.x,e.x)&&t.y<=Math.max(i.y,e.y)&&t.y>=Math.min(i.y,e.y)}function _i(i){return i>0?1:i<0?-1:0}function ic(i,t){var e=i;do{if(e.i!==i.i&&e.next.i!==i.i&&e.i!==t.i&&e.next.i!==t.i&&za(e,e.next,i,t))return!0;e=e.next}while(e!==i);return!1}function us(i,t){return ct(i.prev,i,i.next)<0?ct(i,t,i.next)>=0&&ct(i,i.prev,t)>=0:ct(i,t,i.prev)<0||ct(i,i.next,t)<0}function rc(i,t){var e=i,s=!1,r=(i.x+t.x)/2,n=(i.y+t.y)/2;do e.y>n!=e.next.y>n&&e.next.y!==e.y&&r<(e.next.x-e.x)*(n-e.y)/(e.next.y-e.y)+e.x&&(s=!s),e=e.next;while(e!==i);return s}function Wa(i,t){var e=new Ir(i.i,i.x,i.y),s=new Ir(t.i,t.x,t.y),r=i.next,n=t.prev;return i.next=t,t.prev=i,e.next=r,r.prev=e,s.next=e,e.prev=s,n.next=s,s.prev=n,s}function Ya(i,t,e,s){var r=new Ir(i,t,e);return s?(r.next=s.next,r.prev=s,s.next.prev=r,s.next=r):(r.prev=r,r.next=r),r}function cs(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function Ir(i,t,e){this.i=i,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}pi.deviation=function(i,t,e,s){var r=t&&t.length,n=r?t[0]*e:i.length,a=Math.abs(Pr(i,0,n,e));if(r)for(var o=0,h=t.length;o0&&(s+=i[r-1].length,e.holes.push(s))}return e};var nc=fi.exports,qa=We(nc),ds={},vi={exports:{}};/*! https://mths.be/punycode v1.3.2 by @mathias */var vg=vi.exports;(function(i,t){(function(e){var s=t&&!t.nodeType&&t,r=i&&!i.nodeType&&i,n=typeof Sr=="object"&&Sr;(n.global===n||n.window===n||n.self===n)&&(e=n);var a,o=2147483647,h=36,l=1,u=26,c=38,d=700,f=72,p=128,m="-",g=/^xn--/,_=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,v={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},b=h-l,T=Math.floor,R=String.fromCharCode,w;function A(F){throw RangeError(v[F])}function S(F,O){for(var Z=F.length,Q=[];Z--;)Q[Z]=O(F[Z]);return Q}function I(F,O){var Z=F.split("@"),Q="";Z.length>1&&(Q=Z[0]+"@",F=Z[1]),F=F.replace(x,".");var J=F.split("."),st=S(J,O).join(".");return Q+st}function H(F){for(var O=[],Z=0,Q=F.length,J,st;Z=55296&&J<=56319&&Z65535&&(O-=65536,Z+=R(O>>>10&1023|55296),O=56320|O&1023),Z+=R(O),Z}).join("")}function E(F){return F-48<10?F-22:F-65<26?F-65:F-97<26?F-97:h}function P(F,O){return F+22+75*(F<26)-((O!=0)<<5)}function V(F,O,Z){var Q=0;for(F=Z?T(F/d):F>>1,F+=T(F/O);F>b*u>>1;Q+=h)F=T(F/b);return T(Q+(b+1)*F/(F+c))}function q(F){var O=[],Z=F.length,Q,J=0,st=p,et=f,rt,lt,_t,nt,ut,mt,vt,ne,ae;for(rt=F.lastIndexOf(m),rt<0&&(rt=0),lt=0;lt=128&&A("not-basic"),O.push(F.charCodeAt(lt));for(_t=rt>0?rt+1:0;_t=Z&&A("invalid-input"),vt=E(F.charCodeAt(_t++)),(vt>=h||vt>T((o-J)/ut))&&A("overflow"),J+=vt*ut,ne=mt<=et?l:mt>=et+u?u:mt-et,!(vtT(o/ae)&&A("overflow"),ut*=ae;Q=O.length+1,et=V(J-nt,Q,nt==0),T(J/Q)>o-st&&A("overflow"),st+=T(J/Q),J%=Q,O.splice(J++,0,st)}return B(O)}function j(F){var O,Z,Q,J,st,et,rt,lt,_t,nt,ut,mt=[],vt,ne,ae,ii;for(F=H(F),vt=F.length,O=p,Z=0,st=f,et=0;et=O&&utT((o-Z)/ne)&&A("overflow"),Z+=(rt-O)*ne,O=rt,et=0;eto&&A("overflow"),ut==O){for(lt=Z,_t=h;nt=_t<=st?l:_t>=st+u?u:_t-st,!(lt0&&o>a&&(o=a);for(var h=0;h=0?(c=l.substr(0,u),d=l.substr(u+1)):(c=l,d=""),f=decodeURIComponent(c),p=decodeURIComponent(d),ac(r,f)?Array.isArray(r[f])?r[f].push(p):r[f]=[r[f],p]:r[f]=p}return r},bg=We(Qa),ps=function(i){switch(typeof i){case"string":return i;case"boolean":return i?"true":"false";case"number":return isFinite(i)?i:"";default:return""}},Ja=function(i,t,e,s){return t=t||"&",e=e||"=",i===null&&(i=void 0),typeof i=="object"?Object.keys(i).map(function(r){var n=encodeURIComponent(ps(r))+e;return Array.isArray(i[r])?i[r].map(function(a){return n+encodeURIComponent(ps(a))}).join(t):n+encodeURIComponent(ps(i[r]))}).join(t):s?encodeURIComponent(ps(s))+e+encodeURIComponent(ps(i)):""},Tg=We(Ja),oc,hc,Eg=fs.decode=hc=fs.parse=Qa,Ag=fs.encode=oc=fs.stringify=Ja,lc=Ka,Qt=Za,uc=ds.parse=ms,cc=ds.resolve=Tc,wg=ds.resolveObject=Ec,dc=ds.format=bc,Sg=ds.Url=Ft;function Ft(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var fc=/^([a-z0-9.+-]+:)/i,pc=/:[0-9]*$/,mc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,gc=["<",">",'"',"`"," ","\r",` +`," "],_c=["{","}","|","\\","^","`"].concat(gc),Mr=["'"].concat(_c),to=["%","/","?",";","#"].concat(Mr),eo=["/","?","#"],vc=255,so=/^[+a-z0-9A-Z_-]{0,63}$/,yc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,xc={javascript:!0,"javascript:":!0},Dr={javascript:!0,"javascript:":!0},Ke={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},Or=fs;function ms(i,t,e){if(i&&Qt.isObject(i)&&i instanceof Ft)return i;var s=new Ft;return s.parse(i,t,e),s}Ft.prototype.parse=function(i,t,e){if(!Qt.isString(i))throw new TypeError("Parameter 'url' must be a string, not "+typeof i);var s=i.indexOf("?"),r=s!==-1&&s127?T+="x":T+=b[R];if(!T.match(so)){var A=x.slice(0,f),S=x.slice(f+1),I=b.match(yc);I&&(A.push(I[1]),S.unshift(I[2])),S.length&&(o="/"+S.join(".")+o),this.hostname=A.join(".");break}}}this.hostname.length>vc?this.hostname="":this.hostname=this.hostname.toLowerCase(),_||(this.hostname=lc.toASCII(this.hostname));var H=this.port?":"+this.port:"",B=this.hostname||"";this.host=B+H,this.href+=this.host,_&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),o[0]!=="/"&&(o="/"+o))}if(!xc[u])for(var f=0,v=Mr.length;f0?e.host.split("@"):!1;T&&(e.auth=T.shift(),e.host=e.hostname=T.shift())}return e.search=i.search,e.query=i.query,(!Qt.isNull(e.pathname)||!Qt.isNull(e.search))&&(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.href=e.format(),e}if(!x.length)return e.pathname=null,e.search?e.path="/"+e.search:e.path=null,e.href=e.format(),e;for(var R=x.slice(-1)[0],w=(e.host||i.host||x.length>1)&&(R==="."||R==="..")||R==="",A=0,S=x.length;S>=0;S--)R=x[S],R==="."?x.splice(S,1):R===".."?(x.splice(S,1),A++):A&&(x.splice(S,1),A--);if(!g&&!_)for(;A--;A)x.unshift("..");g&&x[0]!==""&&(!x[0]||x[0].charAt(0)!=="/")&&x.unshift(""),w&&x.join("/").substr(-1)!=="/"&&x.push("");var I=x[0]===""||x[0]&&x[0].charAt(0)==="/";if(b){e.hostname=e.host=I?"":x.length?x.shift():"";var T=e.host&&e.host.indexOf("@")>0?e.host.split("@"):!1;T&&(e.auth=T.shift(),e.host=e.hostname=T.shift())}return g=g||e.host&&x.length,g&&!I&&x.unshift(""),x.length?e.pathname=x.join("/"):(e.pathname=null,e.path=null),(!Qt.isNull(e.pathname)||!Qt.isNull(e.search))&&(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.auth=i.auth||e.auth,e.slashes=e.slashes||i.slashes,e.href=e.format(),e},Ft.prototype.parseHost=function(){var i=this.host,t=pc.exec(i);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),i=i.substr(0,i.length-t.length)),i&&(this.hostname=i)};const io={};function ro(i,t,e=3){if(io[t])return;let s=new Error().stack;typeof s=="undefined"?console.warn("PixiJS Deprecation Warning: ",`${t} +Deprecated since v${i}`):(s=s.split(` +`).splice(e).join(` +`),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${t} +Deprecated since v${i}`),console.warn(s),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${t} +Deprecated since v${i}`),console.warn(s))),io[t]=!0}const Ac={get parse(){return uc},get format(){return dc},get resolve(){return cc}};function zt(i){if(typeof i!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(i)}`)}function gs(i){return i.split("?")[0].split("#")[0]}function wc(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Sc(i,t,e){return i.replace(new RegExp(wc(t),"g"),e)}function Cc(i,t){let e="",s=0,r=-1,n=0,a=-1;for(let o=0;o<=i.length;++o){if(o2){const h=e.lastIndexOf("/");if(h!==e.length-1){h===-1?(e="",s=0):(e=e.slice(0,h),s=e.length-1-e.lastIndexOf("/")),r=o,n=0;continue}}else if(e.length===2||e.length===1){e="",s=0,r=o,n=0;continue}}t&&(e.length>0?e+="/..":e="..",s=2)}else e.length>0?e+=`/${i.slice(r+1,o)}`:e=i.slice(r+1,o),s=o-r-1;r=o,n=0}else a===46&&n!==-1?++n:n=-1}return e}const bt={toPosix(i){return Sc(i,"\\","/")},isUrl(i){return/^https?:/.test(this.toPosix(i))},isDataUrl(i){return/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(i)},isBlobUrl(i){return i.startsWith("blob:")},hasProtocol(i){return/^[^/:]+:/.test(this.toPosix(i))},getProtocol(i){zt(i),i=this.toPosix(i);const t=/^file:\/\/\//.exec(i);if(t)return t[0];const e=/^[^/:]+:\/{0,2}/.exec(i);return e?e[0]:""},toAbsolute(i,t,e){if(zt(i),this.isDataUrl(i)||this.isBlobUrl(i))return i;const s=gs(this.toPosix(t!=null?t:N.ADAPTER.getBaseUrl())),r=gs(this.toPosix(e!=null?e:this.rootname(s)));return i=this.toPosix(i),i.startsWith("/")?bt.join(r,i.slice(1)):this.isAbsolute(i)?i:this.join(s,i)},normalize(i){if(zt(i),i.length===0)return".";if(this.isDataUrl(i)||this.isBlobUrl(i))return i;i=this.toPosix(i);let t="";const e=i.startsWith("/");this.hasProtocol(i)&&(t=this.rootname(i),i=i.slice(t.length));const s=i.endsWith("/");return i=Cc(i,!1),i.length>0&&s&&(i+="/"),e?`/${i}`:t+i},isAbsolute(i){return zt(i),i=this.toPosix(i),this.hasProtocol(i)?!0:i.startsWith("/")},join(...i){var t;if(i.length===0)return".";let e;for(let s=0;s0)if(e===void 0)e=r;else{const n=(t=i[s-1])!=null?t:"";this.extname(n)?e+=`/../${r}`:e+=`/${r}`}}return e===void 0?".":this.normalize(e)},dirname(i){if(zt(i),i.length===0)return".";i=this.toPosix(i);let t=i.charCodeAt(0);const e=t===47;let s=-1,r=!0;const n=this.getProtocol(i),a=i;i=i.slice(n.length);for(let o=i.length-1;o>=1;--o)if(t=i.charCodeAt(o),t===47){if(!r){s=o;break}}else r=!1;return s===-1?e?"/":this.isUrl(a)?n+i:n:e&&s===1?"//":n+i.slice(0,s)},rootname(i){zt(i),i=this.toPosix(i);let t="";if(i.startsWith("/")?t="/":t=this.getProtocol(i),this.isUrl(i)){const e=i.indexOf("/",t.length);e!==-1?t=i.slice(0,e):t=i,t.endsWith("/")||(t+="/")}return t},basename(i,t){zt(i),t&&zt(t),i=gs(this.toPosix(i));let e=0,s=-1,r=!0,n;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t.length===i.length&&t===i)return"";let a=t.length-1,o=-1;for(n=i.length-1;n>=0;--n){const h=i.charCodeAt(n);if(h===47){if(!r){e=n+1;break}}else o===-1&&(r=!1,o=n+1),a>=0&&(h===t.charCodeAt(a)?--a===-1&&(s=n):(a=-1,s=o))}return e===s?s=o:s===-1&&(s=i.length),i.slice(e,s)}for(n=i.length-1;n>=0;--n)if(i.charCodeAt(n)===47){if(!r){e=n+1;break}}else s===-1&&(r=!1,s=n+1);return s===-1?"":i.slice(e,s)},extname(i){zt(i),i=gs(this.toPosix(i));let t=-1,e=0,s=-1,r=!0,n=0;for(let a=i.length-1;a>=0;--a){const o=i.charCodeAt(a);if(o===47){if(!r){e=a+1;break}continue}s===-1&&(r=!1,s=a+1),o===46?t===-1?t=a:n!==1&&(n=1):t!==-1&&(n=-1)}return t===-1||s===-1||n===0||n===1&&t===s-1&&t===e+1?"":i.slice(t,s)},parse(i){zt(i);const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;i=gs(this.toPosix(i));let e=i.charCodeAt(0);const s=this.isAbsolute(i);let r;const n="";t.root=this.rootname(i),s||this.hasProtocol(i)?r=1:r=0;let a=-1,o=0,h=-1,l=!0,u=i.length-1,c=0;for(;u>=r;--u){if(e=i.charCodeAt(u),e===47){if(!l){o=u+1;break}continue}h===-1&&(l=!1,h=u+1),e===46?a===-1?a=u:c!==1&&(c=1):a!==-1&&(c=-1)}return a===-1||h===-1||c===0||c===1&&a===h-1&&a===o+1?h!==-1&&(o===0&&s?t.base=t.name=i.slice(1,h):t.base=t.name=i.slice(o,h)):(o===0&&s?(t.name=i.slice(1,a),t.base=i.slice(1,h)):(t.name=i.slice(o,a),t.base=i.slice(o,h)),t.ext=i.slice(a,h)),t.dir=this.dirname(i),n&&(t.dir=n+t.dir),t},sep:"/",delimiter:":"};let Br;async function no(){return Br!=null||(Br=(async()=>{var i;const t=document.createElement("canvas").getContext("webgl");if(!t)return At.UNPACK;const e=await new Promise(a=>{const o=document.createElement("video");o.onloadeddata=()=>a(o),o.onerror=()=>a(null),o.autoplay=!1,o.crossOrigin="anonymous",o.preload="auto",o.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",o.load()});if(!e)return At.UNPACK;const s=t.createTexture();t.bindTexture(t.TEXTURE_2D,s);const r=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,s,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e);const n=new Uint8Array(4);return t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,n),t.deleteFramebuffer(r),t.deleteTexture(s),(i=t.getExtension("WEBGL_lose_context"))==null||i.loseContext(),n[0]<=n[3]?At.PMA:At.UNPACK})()),Br}function Rc(){}function Ic(){}let Fr;function ao(){return typeof Fr=="undefined"&&(Fr=function(){var i;const t={stencil:!0,failIfMajorPerformanceCaveat:N.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT};try{if(!N.ADAPTER.getWebGLRenderingContext())return!1;const e=N.ADAPTER.createCanvas();let s=e.getContext("webgl",t)||e.getContext("experimental-webgl",t);const r=!!((i=s==null?void 0:s.getContextAttributes())!=null&&i.stencil);if(s){const n=s.getExtension("WEBGL_lose_context");n&&n.loseContext()}return s=null,r}catch(e){return!1}}()),Fr}var Pc={grad:.9,turn:360,rad:360/(2*Math.PI)},le=function(i){return typeof i=="string"?i.length>0:typeof i=="number"},yt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=Math.pow(10,t)),Math.round(e*i)/e+0},Nt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=1),i>e?e:i>t?i:t},oo=function(i){return(i=isFinite(i)?i%360:0)>0?i:i+360},ho=function(i){return{r:Nt(i.r,0,255),g:Nt(i.g,0,255),b:Nt(i.b,0,255),a:Nt(i.a)}},Nr=function(i){return{r:yt(i.r),g:yt(i.g),b:yt(i.b),a:yt(i.a,3)}},Mc=/^#([0-9a-f]{3,8})$/i,yi=function(i){var t=i.toString(16);return t.length<2?"0"+t:t},lo=function(i){var t=i.r,e=i.g,s=i.b,r=i.a,n=Math.max(t,e,s),a=n-Math.min(t,e,s),o=a?n===t?(e-s)/a:n===e?2+(s-t)/a:4+(t-e)/a:0;return{h:60*(o<0?o+6:o),s:n?a/n*100:0,v:n/255*100,a:r}},uo=function(i){var t=i.h,e=i.s,s=i.v,r=i.a;t=t/360*6,e/=100,s/=100;var n=Math.floor(t),a=s*(1-e),o=s*(1-(t-n)*e),h=s*(1-(1-t+n)*e),l=n%6;return{r:255*[s,o,a,a,h,s][l],g:255*[h,s,s,o,a,a][l],b:255*[a,a,h,s,s,o][l],a:r}},co=function(i){return{h:oo(i.h),s:Nt(i.s,0,100),l:Nt(i.l,0,100),a:Nt(i.a)}},fo=function(i){return{h:yt(i.h),s:yt(i.s),l:yt(i.l),a:yt(i.a,3)}},po=function(i){return uo((e=(t=i).s,{h:t.h,s:(e*=((s=t.l)<50?s:100-s)/100)>0?2*e/(s+e)*100:0,v:s+e,a:t.a}));var t,e,s},_s=function(i){return{h:(t=lo(i)).h,s:(r=(200-(e=t.s))*(s=t.v)/100)>0&&r<200?e*s/100/(r<=100?r:200-r)*100:0,l:r/2,a:t.a};var t,e,s,r},Dc=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Oc=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Bc=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Fc=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Lr={string:[[function(i){var t=Mc.exec(i);return t?(i=t[1]).length<=4?{r:parseInt(i[0]+i[0],16),g:parseInt(i[1]+i[1],16),b:parseInt(i[2]+i[2],16),a:i.length===4?yt(parseInt(i[3]+i[3],16)/255,2):1}:i.length===6||i.length===8?{r:parseInt(i.substr(0,2),16),g:parseInt(i.substr(2,2),16),b:parseInt(i.substr(4,2),16),a:i.length===8?yt(parseInt(i.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(i){var t=Bc.exec(i)||Fc.exec(i);return t?t[2]!==t[4]||t[4]!==t[6]?null:ho({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(i){var t=Dc.exec(i)||Oc.exec(i);if(!t)return null;var e,s,r=co({h:(e=t[1],s=t[2],s===void 0&&(s="deg"),Number(e)*(Pc[s]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return po(r)},"hsl"]],object:[[function(i){var t=i.r,e=i.g,s=i.b,r=i.a,n=r===void 0?1:r;return le(t)&&le(e)&&le(s)?ho({r:Number(t),g:Number(e),b:Number(s),a:Number(n)}):null},"rgb"],[function(i){var t=i.h,e=i.s,s=i.l,r=i.a,n=r===void 0?1:r;if(!le(t)||!le(e)||!le(s))return null;var a=co({h:Number(t),s:Number(e),l:Number(s),a:Number(n)});return po(a)},"hsl"],[function(i){var t=i.h,e=i.s,s=i.v,r=i.a,n=r===void 0?1:r;if(!le(t)||!le(e)||!le(s))return null;var a=function(o){return{h:oo(o.h),s:Nt(o.s,0,100),v:Nt(o.v,0,100),a:Nt(o.a)}}({h:Number(t),s:Number(e),v:Number(s),a:Number(n)});return uo(a)},"hsv"]]},mo=function(i,t){for(var e=0;e=.5},i.prototype.toHex=function(){return t=Nr(this.rgba),e=t.r,s=t.g,r=t.b,a=(n=t.a)<1?yi(yt(255*n)):"","#"+yi(e)+yi(s)+yi(r)+a;var t,e,s,r,n,a},i.prototype.toRgb=function(){return Nr(this.rgba)},i.prototype.toRgbString=function(){return t=Nr(this.rgba),e=t.r,s=t.g,r=t.b,(n=t.a)<1?"rgba("+e+", "+s+", "+r+", "+n+")":"rgb("+e+", "+s+", "+r+")";var t,e,s,r,n},i.prototype.toHsl=function(){return fo(_s(this.rgba))},i.prototype.toHslString=function(){return t=fo(_s(this.rgba)),e=t.h,s=t.s,r=t.l,(n=t.a)<1?"hsla("+e+", "+s+"%, "+r+"%, "+n+")":"hsl("+e+", "+s+"%, "+r+"%)";var t,e,s,r,n},i.prototype.toHsv=function(){return t=lo(this.rgba),{h:yt(t.h),s:yt(t.s),v:yt(t.v),a:yt(t.a,3)};var t},i.prototype.invert=function(){return Jt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},i.prototype.saturate=function(t){return t===void 0&&(t=.1),Jt(Ur(this.rgba,t))},i.prototype.desaturate=function(t){return t===void 0&&(t=.1),Jt(Ur(this.rgba,-t))},i.prototype.grayscale=function(){return Jt(Ur(this.rgba,-1))},i.prototype.lighten=function(t){return t===void 0&&(t=.1),Jt(_o(this.rgba,t))},i.prototype.darken=function(t){return t===void 0&&(t=.1),Jt(_o(this.rgba,-t))},i.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},i.prototype.alpha=function(t){return typeof t=="number"?Jt({r:(e=this.rgba).r,g:e.g,b:e.b,a:t}):yt(this.rgba.a,3);var e},i.prototype.hue=function(t){var e=_s(this.rgba);return typeof t=="number"?Jt({h:t,s:e.s,l:e.l,a:e.a}):yt(e.h)},i.prototype.isEqual=function(t){return this.toHex()===Jt(t).toHex()},i}(),Jt=function(i){return i instanceof xi?i:new xi(i)},vo=[],Nc=function(i){i.forEach(function(t){vo.indexOf(t)<0&&(t(xi,Lr),vo.push(t))})},Rg=function(){return new xi({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()})};function Lc(i,t){var e={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},s={};for(var r in e)s[e[r]]=r;var n={};i.prototype.toName=function(a){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var o,h,l=s[this.toHex()];if(l)return l;if(a!=null&&a.closest){var u=this.toRgb(),c=1/0,d="black";if(!n.length)for(var f in e)n[f]=new i(e[f]).toRgb();for(var p in e){var m=(o=u,h=n[p],Math.pow(o.r-h.r,2)+Math.pow(o.g-h.g,2)+Math.pow(o.b-h.b,2));mt in i?Uc(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,$c=(i,t)=>{for(var e in t||(t={}))kc.call(t,e)&&xo(i,e,t[e]);if(yo)for(var e of yo(t))Gc.call(t,e)&&xo(i,e,t[e]);return i};Nc([Lc]);const Ze=class yr{constructor(t=16777215){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=16777215,this.value=t}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(t){return this.value=t,this}set value(t){if(t instanceof yr)this._value=this.cloneSource(t._value),this._int=t._int,this._components.set(t._components);else{if(t===null)throw new Error("Cannot set PIXI.Color#value to null");(this._value===null||!this.isSourceEqual(this._value,t))&&(this.normalize(t),this._value=this.cloneSource(t))}}get value(){return this._value}cloneSource(t){return typeof t=="string"||typeof t=="number"||t instanceof Number||t===null?t:Array.isArray(t)||ArrayBuffer.isView(t)?t.slice(0):typeof t=="object"&&t!==null?$c({},t):t}isSourceEqual(t,e){const s=typeof t;if(s!==typeof e)return!1;if(s==="number"||s==="string"||t instanceof Number)return t===e;if(Array.isArray(t)&&Array.isArray(e)||ArrayBuffer.isView(t)&&ArrayBuffer.isView(e))return t.length!==e.length?!1:t.every((r,n)=>r===e[n]);if(t!==null&&e!==null){const r=Object.keys(t),n=Object.keys(e);return r.length!==n.length?!1:r.every(a=>t[a]===e[a])}return t===e}toRgba(){const[t,e,s,r]=this._components;return{r:t,g:e,b:s,a:r}}toRgb(){const[t,e,s]=this._components;return{r:t,g:e,b:s}}toRgbaString(){const[t,e,s]=this.toUint8RgbArray();return`rgba(${t},${e},${s},${this.alpha})`}toUint8RgbArray(t){const[e,s,r]=this._components;return t=t!=null?t:[],t[0]=Math.round(e*255),t[1]=Math.round(s*255),t[2]=Math.round(r*255),t}toRgbArray(t){t=t!=null?t:[];const[e,s,r]=this._components;return t[0]=e,t[1]=s,t[2]=r,t}toNumber(){return this._int}toLittleEndianNumber(){const t=this._int;return(t>>16)+(t&65280)+((t&255)<<16)}multiply(t){const[e,s,r,n]=yr.temp.setValue(t)._components;return this._components[0]*=e,this._components[1]*=s,this._components[2]*=r,this._components[3]*=n,this.refreshInt(),this._value=null,this}premultiply(t,e=!0){return e&&(this._components[0]*=t,this._components[1]*=t,this._components[2]*=t),this._components[3]=t,this.refreshInt(),this._value=null,this}toPremultiplied(t,e=!0){if(t===1)return(255<<24)+this._int;if(t===0)return e?0:this._int;let s=this._int>>16&255,r=this._int>>8&255,n=this._int&255;return e&&(s=s*t+.5|0,r=r*t+.5|0,n=n*t+.5|0),(t*255<<24)+(s<<16)+(r<<8)+n}toHex(){const t=this._int.toString(16);return`#${"000000".substring(0,6-t.length)+t}`}toHexa(){const t=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-t.length)+t}setAlpha(t){return this._components[3]=this._clamp(t),this}round(t){const[e,s,r]=this._components;return this._components[0]=Math.round(e*t)/t,this._components[1]=Math.round(s*t)/t,this._components[2]=Math.round(r*t)/t,this.refreshInt(),this._value=null,this}toArray(t){t=t!=null?t:[];const[e,s,r,n]=this._components;return t[0]=e,t[1]=s,t[2]=r,t[3]=n,t}normalize(t){let e,s,r,n;if((typeof t=="number"||t instanceof Number)&&t>=0&&t<=16777215){const a=t;e=(a>>16&255)/255,s=(a>>8&255)/255,r=(a&255)/255,n=1}else if((Array.isArray(t)||t instanceof Float32Array)&&t.length>=3&&t.length<=4)t=this._clamp(t),[e,s,r,n=1]=t;else if((t instanceof Uint8Array||t instanceof Uint8ClampedArray)&&t.length>=3&&t.length<=4)t=this._clamp(t,0,255),[e,s,r,n=255]=t,e/=255,s/=255,r/=255,n/=255;else if(typeof t=="string"||typeof t=="object"){if(typeof t=="string"){const o=yr.HEX_PATTERN.exec(t);o&&(t=`#${o[2]}`)}const a=Jt(t);a.isValid()&&({r:e,g:s,b:r,a:n}=a.rgba,e/=255,s/=255,r/=255)}if(e!==void 0)this._components[0]=e,this._components[1]=s,this._components[2]=r,this._components[3]=n,this.refreshInt();else throw new Error(`Unable to convert color ${t}`)}refreshInt(){this._clamp(this._components);const[t,e,s]=this._components;this._int=(t*255<<16)+(e*255<<8)+(s*255|0)}_clamp(t,e=0,s=1){return typeof t=="number"?Math.min(Math.max(t,e),s):(t.forEach((r,n)=>{t[n]=Math.min(Math.max(r,e),s)}),t)}};Ze.shared=new Ze,Ze.temp=new Ze,Ze.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;let Y=Ze;function Hc(i,t=[]){return Y.shared.setValue(i).toRgbArray(t)}function bo(i){return Y.shared.setValue(i).toHex()}function Vc(i){return Y.shared.setValue(i).toNumber()}function To(i){return Y.shared.setValue(i).toNumber()}function jc(){const i=[],t=[];for(let s=0;s<32;s++)i[s]=s,t[s]=s;i[C.NORMAL_NPM]=C.NORMAL,i[C.ADD_NPM]=C.ADD,i[C.SCREEN_NPM]=C.SCREEN,t[C.NORMAL]=C.NORMAL_NPM,t[C.ADD]=C.ADD_NPM,t[C.SCREEN]=C.SCREEN_NPM;const e=[];return e.push(t),e.push(i),e}const Gr=jc();function $r(i,t){return Gr[t?1:0][i]}function Xc(i,t,e,s=!0){return Y.shared.setValue(i).premultiply(t,s).toArray(e!=null?e:new Float32Array(4))}function zc(i,t){return Y.shared.setValue(i).toPremultiplied(t)}function Wc(i,t,e,s=!0){return Y.shared.setValue(i).premultiply(t,s).toArray(e!=null?e:new Float32Array(4))}const Eo=/^\s*data:(?:([\w-]+)\/([\w+.-]+))?(?:;charset=([\w-]+))?(?:;(base64))?,(.*)/i;function Ao(i,t=null){const e=i*6;if(t=t||new Uint16Array(e),t.length!==e)throw new Error(`Out buffer length is incorrect, got ${t.length} and expected ${e}`);for(let s=0,r=0;s>>1,i|=i>>>2,i|=i>>>4,i|=i>>>8,i|=i>>>16,i+1}function Hr(i){return!(i&i-1)&&!!i}function Vr(i){let t=(i>65535?1:0)<<4;i>>>=t;let e=(i>255?1:0)<<3;return i>>>=e,t|=e,e=(i>15?1:0)<<2,i>>>=e,t|=e,e=(i>3?1:0)<<1,i>>>=e,t|=e,t|i>>1}function Oe(i,t,e){const s=i.length;let r;if(t>=s||e===0)return;e=t+e>s?s-t:e;const n=s-e;for(r=t;rt in i?td(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,Oo=(i,t)=>{for(var e in t||(t={}))id.call(t,e)&&Do(i,e,t[e]);if(Mo)for(var e of Mo(t))rd.call(t,e)&&Do(i,e,t[e]);return i},nd=(i,t)=>ed(i,sd(t)),D=(i=>(i.Renderer="renderer",i.Application="application",i.RendererSystem="renderer-webgl-system",i.RendererPlugin="renderer-webgl-plugin",i.CanvasRendererSystem="renderer-canvas-system",i.CanvasRendererPlugin="renderer-canvas-plugin",i.Asset="asset",i.LoadParser="load-parser",i.ResolveParser="resolve-parser",i.CacheParser="cache-parser",i.DetectionParser="detection-parser",i))(D||{});const Wr=i=>{if(typeof i=="function"||typeof i=="object"&&i.extension){const t=typeof i.extension!="object"?{type:i.extension}:i.extension;i=nd(Oo({},t),{ref:i})}if(typeof i=="object")i=Oo({},i);else throw new Error("Invalid extension type");return typeof i.type=="string"&&(i.type=[i.type]),i},Bo=(i,t)=>{var e;return(e=Wr(i).priority)!=null?e:t},U={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...i){return i.map(Wr).forEach(t=>{t.type.forEach(e=>{var s,r;return(r=(s=this._removeHandlers)[e])==null?void 0:r.call(s,t)})}),this},add(...i){return i.map(Wr).forEach(t=>{t.type.forEach(e=>{const s=this._addHandlers,r=this._queue;s[e]?s[e](t):(r[e]=r[e]||[],r[e].push(t))})}),this},handle(i,t,e){const s=this._addHandlers,r=this._removeHandlers;s[i]=t,r[i]=e;const n=this._queue;return n[i]&&(n[i].forEach(a=>t(a)),delete n[i]),this},handleByMap(i,t){return this.handle(i,e=>{t[e.name]=e.ref},e=>{delete t[e.name]})},handleByList(i,t,e=-1){return this.handle(i,s=>{t.includes(s.ref)||(t.push(s.ref),t.sort((r,n)=>Bo(n,e)-Bo(r,e)))},s=>{const r=t.indexOf(s.ref);r!==-1&&t.splice(r,1)})}};class Ti{constructor(t){typeof t=="number"?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData)}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get uint16View(){return this._uint16View||(this._uint16View=new Uint16Array(this.rawBinaryData)),this._uint16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this._uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null}static sizeOf(t){switch(t){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw new Error(`${t} isn't a valid view type`)}}}const ad=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(` +`);function od(i){let t="";for(let e=0;e0&&(t+=` +else `),e=0;--s){const r=Ei[s];if(r.test&&r.test(i,e))return new r(i,t)}throw new Error("Unrecognized source type to auto-detect Resource")}class Pt{constructor(t){this.items=[],this._name=t,this._aliasCount=0}emit(t,e,s,r,n,a,o,h){if(arguments.length>8)throw new Error("max arguments reached");const{name:l,items:u}=this;this._aliasCount++;for(let c=0,d=u.length;c0&&this.items.length>1&&(this._aliasCount=0,this.items=this.items.slice(0))}add(t){return t[this._name]&&(this.ensureNonAliasedItems(),this.remove(t),this.items.push(t)),this}remove(t){const e=this.items.indexOf(t);return e!==-1&&(this.ensureNonAliasedItems(),this.items.splice(e,1)),this}contains(t){return this.items.includes(t)}removeAll(){return this.ensureNonAliasedItems(),this.items.length=0,this}destroy(){this.removeAll(),this.items=null,this._name=null}get empty(){return this.items.length===0}get name(){return this._name}}Object.defineProperties(Pt.prototype,{dispatch:{value:Pt.prototype.emit},run:{value:Pt.prototype.emit}});class Qe{constructor(t=0,e=0){this._width=t,this._height=e,this.destroyed=!1,this.internal=!1,this.onResize=new Pt("setRealSize"),this.onUpdate=new Pt("update"),this.onError=new Pt("onError")}bind(t){this.onResize.add(t),this.onUpdate.add(t),this.onError.add(t),(this._width||this._height)&&this.onResize.emit(this._width,this._height)}unbind(t){this.onResize.remove(t),this.onUpdate.remove(t),this.onError.remove(t)}resize(t,e){(t!==this._width||e!==this._height)&&(this._width=t,this._height=e,this.onResize.emit(t,e))}get valid(){return!!this._width&&!!this._height}update(){this.destroyed||this.onUpdate.emit()}load(){return Promise.resolve(this)}get width(){return this._width}get height(){return this._height}style(t,e,s){return!1}dispose(){}destroy(){this.destroyed||(this.destroyed=!0,this.dispose(),this.onError.removeAll(),this.onError=null,this.onResize.removeAll(),this.onResize=null,this.onUpdate.removeAll(),this.onUpdate=null)}static test(t,e){return!1}}class xs extends Qe{constructor(t,e){var s;const{width:r,height:n}=e||{};if(!r||!n)throw new Error("BufferResource width or height invalid");super(r,n),this.data=t,this.unpackAlignment=(s=e.unpackAlignment)!=null?s:4}upload(t,e,s){const r=t.gl;r.pixelStorei(r.UNPACK_ALIGNMENT,this.unpackAlignment),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.alphaMode===At.UNPACK);const n=e.realWidth,a=e.realHeight;return s.width===n&&s.height===a?r.texSubImage2D(e.target,0,0,0,n,a,e.format,s.type,this.data):(s.width=n,s.height=a,r.texImage2D(e.target,0,s.internalFormat,n,a,0,e.format,s.type,this.data)),!0}dispose(){this.data=null}static test(t){return t===null||t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array}}var hd=Object.defineProperty,No=Object.getOwnPropertySymbols,ld=Object.prototype.hasOwnProperty,ud=Object.prototype.propertyIsEnumerable,Lo=(i,t,e)=>t in i?hd(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,cd=(i,t)=>{for(var e in t||(t={}))ld.call(t,e)&&Lo(i,e,t[e]);if(No)for(var e of No(t))ud.call(t,e)&&Lo(i,e,t[e]);return i};const dd={scaleMode:Bt.NEAREST,alphaMode:At.NPM},en=class ns extends Ye{constructor(t=null,e=null){super(),e=Object.assign({},ns.defaultOptions,e);const{alphaMode:s,mipmap:r,anisotropicLevel:n,scaleMode:a,width:o,height:h,wrapMode:l,format:u,type:c,target:d,resolution:f,resourceOptions:p}=e;t&&!(t instanceof Qe)&&(t=tn(t,p),t.internal=!0),this.resolution=f||N.RESOLUTION,this.width=Math.round((o||0)*this.resolution)/this.resolution,this.height=Math.round((h||0)*this.resolution)/this.resolution,this._mipmap=r,this.anisotropicLevel=n,this._wrapMode=l,this._scaleMode=a,this.format=u,this.type=c,this.target=d,this.alphaMode=s,this.uid=Te(),this.touched=0,this.isPowerOfTwo=!1,this._refreshPOT(),this._glTextures={},this.dirtyId=0,this.dirtyStyleId=0,this.cacheId=null,this.valid=o>0&&h>0,this.textureCacheIds=[],this.destroyed=!1,this.resource=null,this._batchEnabled=0,this._batchLocation=0,this.parentTextureArray=null,this.setResource(t)}get realWidth(){return Math.round(this.width*this.resolution)}get realHeight(){return Math.round(this.height*this.resolution)}get mipmap(){return this._mipmap}set mipmap(t){this._mipmap!==t&&(this._mipmap=t,this.dirtyStyleId++)}get scaleMode(){return this._scaleMode}set scaleMode(t){this._scaleMode!==t&&(this._scaleMode=t,this.dirtyStyleId++)}get wrapMode(){return this._wrapMode}set wrapMode(t){this._wrapMode!==t&&(this._wrapMode=t,this.dirtyStyleId++)}setStyle(t,e){let s;return t!==void 0&&t!==this.scaleMode&&(this.scaleMode=t,s=!0),e!==void 0&&e!==this.mipmap&&(this.mipmap=e,s=!0),s&&this.dirtyStyleId++,this}setSize(t,e,s){return s=s||this.resolution,this.setRealSize(t*s,e*s,s)}setRealSize(t,e,s){return this.resolution=s||this.resolution,this.width=Math.round(t)/this.resolution,this.height=Math.round(e)/this.resolution,this._refreshPOT(),this.update(),this}_refreshPOT(){this.isPowerOfTwo=Hr(this.realWidth)&&Hr(this.realHeight)}setResolution(t){const e=this.resolution;return e===t?this:(this.resolution=t,this.valid&&(this.width=Math.round(this.width*e)/t,this.height=Math.round(this.height*e)/t,this.emit("update",this)),this._refreshPOT(),this)}setResource(t){if(this.resource===t)return this;if(this.resource)throw new Error("Resource can be set only once");return t.bind(this),this.resource=t,this}update(){this.valid?(this.dirtyId++,this.dirtyStyleId++,this.emit("update",this)):this.width>0&&this.height>0&&(this.valid=!0,this.emit("loaded",this),this.emit("update",this))}onError(t){this.emit("error",this,t)}destroy(){this.resource&&(this.resource.unbind(this),this.resource.internal&&this.resource.destroy(),this.resource=null),this.cacheId&&(delete It[this.cacheId],delete wt[this.cacheId],this.cacheId=null),this.valid=!1,this.dispose(),ns.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0,this.emit("destroyed",this),this.removeAllListeners()}dispose(){this.emit("dispose",this)}castToBaseTexture(){return this}static from(t,e,s=N.STRICT_TEXTURE_CACHE){const r=typeof t=="string";let n=null;if(r)n=t;else{if(!t._pixiId){const o=(e==null?void 0:e.pixiIdPrefix)||"pixiid";t._pixiId=`${o}_${Te()}`}n=t._pixiId}let a=It[n];if(r&&s&&!a)throw new Error(`The cacheId "${n}" does not exist in BaseTextureCache.`);return a||(a=new ns(t,e),a.cacheId=n,ns.addToCache(a,n)),a}static fromBuffer(t,e,s,r){t=t||new Float32Array(e*s*4);const n=new xs(t,cd({width:e,height:s},r==null?void 0:r.resourceOptions));let a,o;return t instanceof Float32Array?(a=M.RGBA,o=$.FLOAT):t instanceof Int32Array?(a=M.RGBA_INTEGER,o=$.INT):t instanceof Uint32Array?(a=M.RGBA_INTEGER,o=$.UNSIGNED_INT):t instanceof Int16Array?(a=M.RGBA_INTEGER,o=$.SHORT):t instanceof Uint16Array?(a=M.RGBA_INTEGER,o=$.UNSIGNED_SHORT):t instanceof Int8Array?(a=M.RGBA,o=$.BYTE):(a=M.RGBA,o=$.UNSIGNED_BYTE),n.internal=!0,new ns(n,Object.assign({},dd,{type:o,format:a},r))}static addToCache(t,e){e&&(t.textureCacheIds.includes(e)||t.textureCacheIds.push(e),It[e]&&It[e]!==t&&console.warn(`BaseTexture added to the cache with an id [${e}] that already had an entry`),It[e]=t)}static removeFromCache(t){if(typeof t=="string"){const e=It[t];if(e){const s=e.textureCacheIds.indexOf(t);return s>-1&&e.textureCacheIds.splice(s,1),delete It[t],e}}else if(t!=null&&t.textureCacheIds){for(let e=0;e1){for(let c=0;c(i[i.POLY=0]="POLY",i[i.RECT=1]="RECT",i[i.CIRC=2]="CIRC",i[i.ELIP=3]="ELIP",i[i.RREC=4]="RREC",i))(it||{});class K{constructor(t=0,e=0){this.x=0,this.y=0,this.x=t,this.y=e}clone(){return new K(this.x,this.y)}copyFrom(t){return this.set(t.x,t.y),this}copyTo(t){return t.set(this.x,this.y),t}equals(t){return t.x===this.x&&t.y===this.y}set(t=0,e=t){return this.x=t,this.y=e,this}}const wi=[new K,new K,new K,new K];class z{constructor(t=0,e=0,s=0,r=0){this.x=Number(t),this.y=Number(e),this.width=Number(s),this.height=Number(r),this.type=it.RECT}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}static get EMPTY(){return new z(0,0,0,0)}clone(){return new z(this.x,this.y,this.width,this.height)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}contains(t,e){return this.width<=0||this.height<=0?!1:t>=this.x&&t=this.y&&et.right?t.right:this.right)<=A)return!1;const S=this.yt.bottom?t.bottom:this.bottom)>S}const s=this.left,r=this.right,n=this.top,a=this.bottom;if(r<=s||a<=n)return!1;const o=wi[0].set(t.left,t.top),h=wi[1].set(t.left,t.bottom),l=wi[2].set(t.right,t.top),u=wi[3].set(t.right,t.bottom);if(l.x<=o.x||h.y<=o.y)return!1;const c=Math.sign(e.a*e.d-e.b*e.c);if(c===0||(e.apply(o,o),e.apply(h,h),e.apply(l,l),e.apply(u,u),Math.max(o.x,h.x,l.x,u.x)<=s||Math.min(o.x,h.x,l.x,u.x)>=r||Math.max(o.y,h.y,l.y,u.y)<=n||Math.min(o.y,h.y,l.y,u.y)>=a))return!1;const d=c*(h.y-o.y),f=c*(o.x-h.x),p=d*s+f*n,m=d*r+f*n,g=d*s+f*a,_=d*r+f*a;if(Math.max(p,m,g,_)<=d*o.x+f*o.y||Math.min(p,m,g,_)>=d*u.x+f*u.y)return!1;const x=c*(o.y-l.y),v=c*(l.x-o.x),b=x*s+v*n,T=x*r+v*n,R=x*s+v*a,w=x*r+v*a;return!(Math.max(b,T,R,w)<=x*o.x+v*o.y||Math.min(b,T,R,w)>=x*u.x+v*u.y)}pad(t=0,e=t){return this.x-=t,this.y-=e,this.width+=t*2,this.height+=e*2,this}fit(t){const e=Math.max(this.x,t.x),s=Math.min(this.x+this.width,t.x+t.width),r=Math.max(this.y,t.y),n=Math.min(this.y+this.height,t.y+t.height);return this.x=e,this.width=Math.max(s-e,0),this.y=r,this.height=Math.max(n-r,0),this}ceil(t=1,e=.001){const s=Math.ceil((this.x+this.width-e)*t)/t,r=Math.ceil((this.y+this.height-e)*t)/t;return this.x=Math.floor((this.x+e)*t)/t,this.y=Math.floor((this.y+e)*t)/t,this.width=s-this.x,this.height=r-this.y,this}enlarge(t){const e=Math.min(this.x,t.x),s=Math.max(this.x+this.width,t.x+t.width),r=Math.min(this.y,t.y),n=Math.max(this.y+this.height,t.y+t.height);return this.x=e,this.width=s-e,this.y=r,this.height=n-r,this}}class Si{constructor(t=0,e=0,s=0){this.x=t,this.y=e,this.radius=s,this.type=it.CIRC}clone(){return new Si(this.x,this.y,this.radius)}contains(t,e){if(this.radius<=0)return!1;const s=this.radius*this.radius;let r=this.x-t,n=this.y-e;return r*=r,n*=n,r+n<=s}getBounds(){return new z(this.x-this.radius,this.y-this.radius,this.radius*2,this.radius*2)}}class Ci{constructor(t=0,e=0,s=0,r=0){this.x=t,this.y=e,this.width=s,this.height=r,this.type=it.ELIP}clone(){return new Ci(this.x,this.y,this.width,this.height)}contains(t,e){if(this.width<=0||this.height<=0)return!1;let s=(t-this.x)/this.width,r=(e-this.y)/this.height;return s*=s,r*=r,s+r<=1}getBounds(){return new z(this.x-this.width,this.y-this.height,this.width,this.height)}}class Be{constructor(...t){let e=Array.isArray(t[0])?t[0]:t;if(typeof e[0]!="number"){const s=[];for(let r=0,n=e.length;re!=u>e&&t<(l-o)*((e-h)/(u-h))+o&&(s=!s)}return s}}class Ri{constructor(t=0,e=0,s=0,r=0,n=20){this.x=t,this.y=e,this.width=s,this.height=r,this.radius=n,this.type=it.RREC}clone(){return new Ri(this.x,this.y,this.width,this.height,this.radius)}contains(t,e){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){const s=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(e>=this.y+s&&e<=this.y+this.height-s||t>=this.x+s&&t<=this.x+this.width-s)return!0;let r=t-(this.x+s),n=e-(this.y+s);const a=s*s;if(r*r+n*n<=a||(r=t-(this.x+this.width-s),r*r+n*n<=a)||(n=e-(this.y+this.height-s),r*r+n*n<=a)||(r=t-(this.x+s),r*r+n*n<=a))return!0}return!1}}class tt{constructor(t=1,e=0,s=0,r=1,n=0,a=0){this.array=null,this.a=t,this.b=e,this.c=s,this.d=r,this.tx=n,this.ty=a}fromArray(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]}set(t,e,s,r,n,a){return this.a=t,this.b=e,this.c=s,this.d=r,this.tx=n,this.ty=a,this}toArray(t,e){this.array||(this.array=new Float32Array(9));const s=e||this.array;return t?(s[0]=this.a,s[1]=this.b,s[2]=0,s[3]=this.c,s[4]=this.d,s[5]=0,s[6]=this.tx,s[7]=this.ty,s[8]=1):(s[0]=this.a,s[1]=this.c,s[2]=this.tx,s[3]=this.b,s[4]=this.d,s[5]=this.ty,s[6]=0,s[7]=0,s[8]=1),s}apply(t,e){e=e||new K;const s=t.x,r=t.y;return e.x=this.a*s+this.c*r+this.tx,e.y=this.b*s+this.d*r+this.ty,e}applyInverse(t,e){e=e||new K;const s=1/(this.a*this.d+this.c*-this.b),r=t.x,n=t.y;return e.x=this.d*s*r+-this.c*s*n+(this.ty*this.c-this.tx*this.d)*s,e.y=this.a*s*n+-this.b*s*r+(-this.ty*this.a+this.tx*this.b)*s,e}translate(t,e){return this.tx+=t,this.ty+=e,this}scale(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this}rotate(t){const e=Math.cos(t),s=Math.sin(t),r=this.a,n=this.c,a=this.tx;return this.a=r*e-this.b*s,this.b=r*s+this.b*e,this.c=n*e-this.d*s,this.d=n*s+this.d*e,this.tx=a*e-this.ty*s,this.ty=a*s+this.ty*e,this}append(t){const e=this.a,s=this.b,r=this.c,n=this.d;return this.a=t.a*e+t.b*r,this.b=t.a*s+t.b*n,this.c=t.c*e+t.d*r,this.d=t.c*s+t.d*n,this.tx=t.tx*e+t.ty*r+this.tx,this.ty=t.tx*s+t.ty*n+this.ty,this}setTransform(t,e,s,r,n,a,o,h,l){return this.a=Math.cos(o+l)*n,this.b=Math.sin(o+l)*n,this.c=-Math.sin(o-h)*a,this.d=Math.cos(o-h)*a,this.tx=t-(s*this.a+r*this.c),this.ty=e-(s*this.b+r*this.d),this}prepend(t){const e=this.tx;if(t.a!==1||t.b!==0||t.c!==0||t.d!==1){const s=this.a,r=this.c;this.a=s*t.a+this.b*t.c,this.b=s*t.b+this.b*t.d,this.c=r*t.a+this.d*t.c,this.d=r*t.b+this.d*t.d}return this.tx=e*t.a+this.ty*t.c+t.tx,this.ty=e*t.b+this.ty*t.d+t.ty,this}decompose(t){const e=this.a,s=this.b,r=this.c,n=this.d,a=t.pivot,o=-Math.atan2(-r,n),h=Math.atan2(s,e),l=Math.abs(o+h);return l<1e-5||Math.abs(Ts-l)<1e-5?(t.rotation=h,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=o,t.skew.y=h),t.scale.x=Math.sqrt(e*e+s*s),t.scale.y=Math.sqrt(r*r+n*n),t.position.x=this.tx+(a.x*e+a.y*r),t.position.y=this.ty+(a.x*s+a.y*n),t}invert(){const t=this.a,e=this.b,s=this.c,r=this.d,n=this.tx,a=t*r-e*s;return this.a=r/a,this.b=-e/a,this.c=-s/a,this.d=t/a,this.tx=(s*this.ty-r*n)/a,this.ty=-(t*this.ty-e*n)/a,this}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){const t=new tt;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyTo(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyFrom(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this}static get IDENTITY(){return new tt}static get TEMP_MATRIX(){return new tt}}const Fe=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Ne=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Le=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],Ue=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],rn=[],$o=[],Ii=Math.sign;function vd(){for(let i=0;i<16;i++){const t=[];rn.push(t);for(let e=0;e<16;e++){const s=Ii(Fe[i]*Fe[e]+Le[i]*Ne[e]),r=Ii(Ne[i]*Fe[e]+Ue[i]*Ne[e]),n=Ii(Fe[i]*Le[e]+Le[i]*Ue[e]),a=Ii(Ne[i]*Le[e]+Ue[i]*Ue[e]);for(let o=0;o<16;o++)if(Fe[o]===s&&Ne[o]===r&&Le[o]===n&&Ue[o]===a){t.push(o);break}}}for(let i=0;i<16;i++){const t=new tt;t.set(Fe[i],Ne[i],Le[i],Ue[i],0,0),$o.push(t)}}vd();const at={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:i=>Fe[i],uY:i=>Ne[i],vX:i=>Le[i],vY:i=>Ue[i],inv:i=>i&8?i&15:-i&7,add:(i,t)=>rn[i][t],sub:(i,t)=>rn[i][at.inv(t)],rotate180:i=>i^4,isVertical:i=>(i&3)===2,byDirection:(i,t)=>Math.abs(i)*2<=Math.abs(t)?t>=0?at.S:at.N:Math.abs(t)*2<=Math.abs(i)?i>0?at.E:at.W:t>0?i>0?at.SE:at.SW:i>0?at.NE:at.NW,matrixAppendRotationInv:(i,t,e=0,s=0)=>{const r=$o[at.inv(t)];r.tx=e,r.ty=s,i.append(r)}};class de{constructor(t,e,s=0,r=0){this._x=s,this._y=r,this.cb=t,this.scope=e}clone(t=this.cb,e=this.scope){return new de(t,e,this._x,this._y)}set(t=0,e=t){return(this._x!==t||this._y!==e)&&(this._x=t,this._y=e,this.cb.call(this.scope)),this}copyFrom(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this.cb.call(this.scope)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this.cb.call(this.scope))}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this.cb.call(this.scope))}}const nn=class{constructor(){this.worldTransform=new tt,this.localTransform=new tt,this.position=new de(this.onChange,this,0,0),this.scale=new de(this.onChange,this,1,1),this.pivot=new de(this.onChange,this,0,0),this.skew=new de(this.updateSkew,this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._localID=0,this._currentLocalID=0,this._worldID=0,this._parentID=0}onChange(){this._localID++}updateSkew(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this._localID++}updateLocalTransform(){const t=this.localTransform;this._localID!==this._currentLocalID&&(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this._currentLocalID=this._localID,this._parentID=-1)}updateTransform(t){const e=this.localTransform;if(this._localID!==this._currentLocalID&&(e.a=this._cx*this.scale.x,e.b=this._sx*this.scale.x,e.c=this._cy*this.scale.y,e.d=this._sy*this.scale.y,e.tx=this.position.x-(this.pivot.x*e.a+this.pivot.y*e.c),e.ty=this.position.y-(this.pivot.x*e.b+this.pivot.y*e.d),this._currentLocalID=this._localID,this._parentID=-1),this._parentID!==t._worldID){const s=t.worldTransform,r=this.worldTransform;r.a=e.a*s.a+e.b*s.c,r.b=e.a*s.b+e.b*s.d,r.c=e.c*s.a+e.d*s.c,r.d=e.c*s.b+e.d*s.d,r.tx=e.tx*s.a+e.ty*s.c+s.tx,r.ty=e.tx*s.b+e.ty*s.d+s.ty,this._parentID=t._worldID,this._worldID++}}setFromMatrix(t){t.decompose(this),this._localID++}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this.updateSkew())}};nn.IDENTITY=new nn;let Pi=nn;var yd=`varying vec2 vTextureCoord; + +uniform sampler2D uSampler; + +void main(void){ + gl_FragColor *= texture2D(uSampler, vTextureCoord); +}`,xd=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void){ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +} +`;function Ho(i,t,e){const s=i.createShader(t);return i.shaderSource(s,e),i.compileShader(s),s}function an(i){const t=new Array(i);for(let e=0;ei.type==="float"&&i.size===1&&!i.isArray,code:i=>` + if(uv["${i}"] !== ud["${i}"].value) + { + ud["${i}"].value = uv["${i}"] + gl.uniform1f(ud["${i}"].location, uv["${i}"]) + } + `},{test:(i,t)=>(i.type==="sampler2D"||i.type==="samplerCube"||i.type==="sampler2DArray")&&i.size===1&&!i.isArray&&(t==null||t.castToBaseTexture!==void 0),code:i=>`t = syncData.textureCount++; + + renderer.texture.bind(uv["${i}"], t); + + if(ud["${i}"].value !== t) + { + ud["${i}"].value = t; + gl.uniform1i(ud["${i}"].location, t); +; // eslint-disable-line max-len + }`},{test:(i,t)=>i.type==="mat3"&&i.size===1&&!i.isArray&&t.a!==void 0,code:i=>` + gl.uniformMatrix3fv(ud["${i}"].location, false, uv["${i}"].toArray(true)); + `,codeUbo:i=>` + var ${i}_matrix = uv.${i}.toArray(true); + + data[offset] = ${i}_matrix[0]; + data[offset+1] = ${i}_matrix[1]; + data[offset+2] = ${i}_matrix[2]; + + data[offset + 4] = ${i}_matrix[3]; + data[offset + 5] = ${i}_matrix[4]; + data[offset + 6] = ${i}_matrix[5]; + + data[offset + 8] = ${i}_matrix[6]; + data[offset + 9] = ${i}_matrix[7]; + data[offset + 10] = ${i}_matrix[8]; + `},{test:(i,t)=>i.type==="vec2"&&i.size===1&&!i.isArray&&t.x!==void 0,code:i=>` + cv = ud["${i}"].value; + v = uv["${i}"]; + + if(cv[0] !== v.x || cv[1] !== v.y) + { + cv[0] = v.x; + cv[1] = v.y; + gl.uniform2f(ud["${i}"].location, v.x, v.y); + }`,codeUbo:i=>` + v = uv.${i}; + + data[offset] = v.x; + data[offset+1] = v.y; + `},{test:i=>i.type==="vec2"&&i.size===1&&!i.isArray,code:i=>` + cv = ud["${i}"].value; + v = uv["${i}"]; + + if(cv[0] !== v[0] || cv[1] !== v[1]) + { + cv[0] = v[0]; + cv[1] = v[1]; + gl.uniform2f(ud["${i}"].location, v[0], v[1]); + } + `},{test:(i,t)=>i.type==="vec4"&&i.size===1&&!i.isArray&&t.width!==void 0,code:i=>` + cv = ud["${i}"].value; + v = uv["${i}"]; + + if(cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) + { + cv[0] = v.x; + cv[1] = v.y; + cv[2] = v.width; + cv[3] = v.height; + gl.uniform4f(ud["${i}"].location, v.x, v.y, v.width, v.height) + }`,codeUbo:i=>` + v = uv.${i}; + + data[offset] = v.x; + data[offset+1] = v.y; + data[offset+2] = v.width; + data[offset+3] = v.height; + `},{test:(i,t)=>i.type==="vec4"&&i.size===1&&!i.isArray&&t.red!==void 0,code:i=>` + cv = ud["${i}"].value; + v = uv["${i}"]; + + if(cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) + { + cv[0] = v.red; + cv[1] = v.green; + cv[2] = v.blue; + cv[3] = v.alpha; + gl.uniform4f(ud["${i}"].location, v.red, v.green, v.blue, v.alpha) + }`,codeUbo:i=>` + v = uv.${i}; + + data[offset] = v.red; + data[offset+1] = v.green; + data[offset+2] = v.blue; + data[offset+3] = v.alpha; + `},{test:(i,t)=>i.type==="vec3"&&i.size===1&&!i.isArray&&t.red!==void 0,code:i=>` + cv = ud["${i}"].value; + v = uv["${i}"]; + + if(cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.a) + { + cv[0] = v.red; + cv[1] = v.green; + cv[2] = v.blue; + + gl.uniform3f(ud["${i}"].location, v.red, v.green, v.blue) + }`,codeUbo:i=>` + v = uv.${i}; + + data[offset] = v.red; + data[offset+1] = v.green; + data[offset+2] = v.blue; + `},{test:i=>i.type==="vec4"&&i.size===1&&!i.isArray,code:i=>` + cv = ud["${i}"].value; + v = uv["${i}"]; + + if(cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) + { + cv[0] = v[0]; + cv[1] = v[1]; + cv[2] = v[2]; + cv[3] = v[3]; + + gl.uniform4f(ud["${i}"].location, v[0], v[1], v[2], v[3]) + }`}],bd={float:` + if (cv !== v) + { + cu.value = v; + gl.uniform1f(location, v); + }`,vec2:` + if (cv[0] !== v[0] || cv[1] !== v[1]) + { + cv[0] = v[0]; + cv[1] = v[1]; + + gl.uniform2f(location, v[0], v[1]) + }`,vec3:` + if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) + { + cv[0] = v[0]; + cv[1] = v[1]; + cv[2] = v[2]; + + gl.uniform3f(location, v[0], v[1], v[2]) + }`,vec4:` + if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) + { + cv[0] = v[0]; + cv[1] = v[1]; + cv[2] = v[2]; + cv[3] = v[3]; + + gl.uniform4f(location, v[0], v[1], v[2], v[3]); + }`,int:` + if (cv !== v) + { + cu.value = v; + + gl.uniform1i(location, v); + }`,ivec2:` + if (cv[0] !== v[0] || cv[1] !== v[1]) + { + cv[0] = v[0]; + cv[1] = v[1]; + + gl.uniform2i(location, v[0], v[1]); + }`,ivec3:` + if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) + { + cv[0] = v[0]; + cv[1] = v[1]; + cv[2] = v[2]; + + gl.uniform3i(location, v[0], v[1], v[2]); + }`,ivec4:` + if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) + { + cv[0] = v[0]; + cv[1] = v[1]; + cv[2] = v[2]; + cv[3] = v[3]; + + gl.uniform4i(location, v[0], v[1], v[2], v[3]); + }`,uint:` + if (cv !== v) + { + cu.value = v; + + gl.uniform1ui(location, v); + }`,uvec2:` + if (cv[0] !== v[0] || cv[1] !== v[1]) + { + cv[0] = v[0]; + cv[1] = v[1]; + + gl.uniform2ui(location, v[0], v[1]); + }`,uvec3:` + if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) + { + cv[0] = v[0]; + cv[1] = v[1]; + cv[2] = v[2]; + + gl.uniform3ui(location, v[0], v[1], v[2]); + }`,uvec4:` + if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) + { + cv[0] = v[0]; + cv[1] = v[1]; + cv[2] = v[2]; + cv[3] = v[3]; + + gl.uniform4ui(location, v[0], v[1], v[2], v[3]); + }`,bool:` + if (cv !== v) + { + cu.value = v; + gl.uniform1i(location, v); + }`,bvec2:` + if (cv[0] != v[0] || cv[1] != v[1]) + { + cv[0] = v[0]; + cv[1] = v[1]; + + gl.uniform2i(location, v[0], v[1]); + }`,bvec3:` + if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) + { + cv[0] = v[0]; + cv[1] = v[1]; + cv[2] = v[2]; + + gl.uniform3i(location, v[0], v[1], v[2]); + }`,bvec4:` + if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) + { + cv[0] = v[0]; + cv[1] = v[1]; + cv[2] = v[2]; + cv[3] = v[3]; + + gl.uniform4i(location, v[0], v[1], v[2], v[3]); + }`,mat2:"gl.uniformMatrix2fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",sampler2D:` + if (cv !== v) + { + cu.value = v; + + gl.uniform1i(location, v); + }`,samplerCube:` + if (cv !== v) + { + cu.value = v; + + gl.uniform1i(location, v); + }`,sampler2DArray:` + if (cv !== v) + { + cu.value = v; + + gl.uniform1i(location, v); + }`},Td={float:"gl.uniform1fv(location, v)",vec2:"gl.uniform2fv(location, v)",vec3:"gl.uniform3fv(location, v)",vec4:"gl.uniform4fv(location, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat2:"gl.uniformMatrix2fv(location, false, v)",int:"gl.uniform1iv(location, v)",ivec2:"gl.uniform2iv(location, v)",ivec3:"gl.uniform3iv(location, v)",ivec4:"gl.uniform4iv(location, v)",uint:"gl.uniform1uiv(location, v)",uvec2:"gl.uniform2uiv(location, v)",uvec3:"gl.uniform3uiv(location, v)",uvec4:"gl.uniform4uiv(location, v)",bool:"gl.uniform1iv(location, v)",bvec2:"gl.uniform2iv(location, v)",bvec3:"gl.uniform3iv(location, v)",bvec4:"gl.uniform4iv(location, v)",sampler2D:"gl.uniform1iv(location, v)",samplerCube:"gl.uniform1iv(location, v)",sampler2DArray:"gl.uniform1iv(location, v)"};function Ed(i,t){var e;const s=[` + var v = null; + var cv = null; + var cu = null; + var t = 0; + var gl = renderer.gl; + `];for(const r in i.uniforms){const n=t[r];if(!n){((e=i.uniforms[r])==null?void 0:e.group)===!0&&(i.uniforms[r].ubo?s.push(` + renderer.shader.syncUniformBufferGroup(uv.${r}, '${r}'); + `):s.push(` + renderer.shader.syncUniformGroup(uv.${r}, syncData); + `));continue}const a=i.uniforms[r];let o=!1;for(let h=0;h=be.WEBGL2&&(t=i.getContext("webgl2",{})),t||(t=i.getContext("webgl",{})||i.getContext("experimental-webgl",{}),t?t.getExtension("WEBGL_draw_buffers"):t=null),Es=t}return Es}let Mi;function Ad(){if(!Mi){Mi=Rt.MEDIUM;const i=Xo();i&&i.getShaderPrecisionFormat&&(Mi=i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision?Rt.HIGH:Rt.MEDIUM)}return Mi}function zo(i,t){const e=i.getShaderSource(t).split(` +`).map((l,u)=>`${u}: ${l}`),s=i.getShaderInfoLog(t),r=s.split(` +`),n={},a=r.map(l=>parseFloat(l.replace(/^ERROR\: 0\:([\d]+)\:.*$/,"$1"))).filter(l=>l&&!n[l]?(n[l]=!0,!0):!1),o=[""];a.forEach(l=>{e[l-1]=`%c${e[l-1]}%c`,o.push("background: #FF0000; color:#FFFFFF; font-size: 10px","font-size: 10px")});const h=e.join(` +`);o[0]=h,console.error(s),console.groupCollapsed("click to view full shader code"),console.warn(...o),console.groupEnd()}function wd(i,t,e,s){i.getProgramParameter(t,i.LINK_STATUS)||(i.getShaderParameter(e,i.COMPILE_STATUS)||zo(i,e),i.getShaderParameter(s,i.COMPILE_STATUS)||zo(i,s),console.error("PixiJS Error: Could not initialize shader."),i.getProgramInfoLog(t)!==""&&console.warn("PixiJS Warning: gl.getProgramInfoLog()",i.getProgramInfoLog(t)))}const Sd={float:1,vec2:2,vec3:3,vec4:4,int:1,ivec2:2,ivec3:3,ivec4:4,uint:1,uvec2:2,uvec3:3,uvec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1};function Wo(i){return Sd[i]}let Di=null;const Yo={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",UNSIGNED_INT:"uint",UNSIGNED_INT_VEC2:"uvec2",UNSIGNED_INT_VEC3:"uvec3",UNSIGNED_INT_VEC4:"uvec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",INT_SAMPLER_2D:"sampler2D",UNSIGNED_INT_SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube",INT_SAMPLER_CUBE:"samplerCube",UNSIGNED_INT_SAMPLER_CUBE:"samplerCube",SAMPLER_2D_ARRAY:"sampler2DArray",INT_SAMPLER_2D_ARRAY:"sampler2DArray",UNSIGNED_INT_SAMPLER_2D_ARRAY:"sampler2DArray"};function qo(i,t){if(!Di){const e=Object.keys(Yo);Di={};for(let s=0;s0&&(e+=` +else `),sthis.size&&this.flush(),this._vertexCount+=t.vertexData.length/2,this._indexCount+=t.indices.length,this._bufferedTextures[this._bufferSize]=t._texture.baseTexture,this._bufferedElements[this._bufferSize++]=t)}buildTexturesAndDrawCalls(){const{_bufferedTextures:t,maxTextures:e}=this,s=Kt._textureArrayPool,r=this.renderer.batch,n=this._tempBoundTextures,a=this.renderer.textureGC.count;let o=++X._globalBatch,h=0,l=s[0],u=0;r.copyBoundTextures(n,e);for(let c=0;c=e&&(r.boundArray(l,n,o,e),this.buildDrawCalls(l,u,c),u=c,l=s[++h],++o),d._batchEnabled=o,d.touched=a,l.elements[l.count++]=d)}l.count>0&&(r.boundArray(l,n,o,e),this.buildDrawCalls(l,u,this._bufferSize),++h,++o);for(let c=0;c0);for(let m=0;m=0;--r)t[r]=s[r]||null,t[r]&&(t[r]._batchLocation=r)}boundArray(t,e,s,r){const{elements:n,ids:a,count:o}=t;let h=0;for(let l=0;l=0&&c=be.WEBGL2&&(s=t.getContext("webgl2",e)),s)this.webGLVersion=2;else if(this.webGLVersion=1,s=t.getContext("webgl",e)||t.getContext("experimental-webgl",e),!s)throw new Error("This browser does not support WebGL. Try using the canvas renderer");return this.gl=s,this.getExtensions(),this.gl}getExtensions(){const{gl:t}=this,e={loseContext:t.getExtension("WEBGL_lose_context"),anisotropicFiltering:t.getExtension("EXT_texture_filter_anisotropic"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),s3tc:t.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:t.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:t.getExtension("WEBGL_compressed_texture_etc"),etc1:t.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:t.getExtension("WEBGL_compressed_texture_atc"),astc:t.getExtension("WEBGL_compressed_texture_astc")};this.webGLVersion===1?Object.assign(this.extensions,e,{drawBuffers:t.getExtension("WEBGL_draw_buffers"),depthTexture:t.getExtension("WEBGL_depth_texture"),vertexArrayObject:t.getExtension("OES_vertex_array_object")||t.getExtension("MOZ_OES_vertex_array_object")||t.getExtension("WEBKIT_OES_vertex_array_object"),uint32ElementIndex:t.getExtension("OES_element_index_uint"),floatTexture:t.getExtension("OES_texture_float"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),textureHalfFloat:t.getExtension("OES_texture_half_float"),textureHalfFloatLinear:t.getExtension("OES_texture_half_float_linear")}):this.webGLVersion===2&&Object.assign(this.extensions,e,{colorBufferFloat:t.getExtension("EXT_color_buffer_float")})}handleContextLost(t){t.preventDefault(),setTimeout(()=>{this.gl.isContextLost()&&this.extensions.loseContext&&this.extensions.loseContext.restoreContext()},0)}handleContextRestored(){this.renderer.runners.contextChange.emit(this.gl)}destroy(){const t=this.renderer.view;this.renderer=null,t.removeEventListener!==void 0&&(t.removeEventListener("webglcontextlost",this.handleContextLost),t.removeEventListener("webglcontextrestored",this.handleContextRestored)),this.gl.useProgram(null),this.extensions.loseContext&&this.extensions.loseContext.loseContext()}postrender(){this.renderer.objectRenderer.renderingToScreen&&this.gl.flush()}validateContext(t){const e=t.getContextAttributes(),s="WebGL2RenderingContext"in globalThis&&t instanceof globalThis.WebGL2RenderingContext;s&&(this.webGLVersion=2),e&&!e.stencil&&console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly");const r=s||!!t.getExtension("OES_element_index_uint");this.supports.uint32Indices=r,r||console.warn("Provided WebGL context does not support 32 index buffer, complex graphics may not render correctly")}}Rs.defaultOptions={context:null,antialias:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:"default"},Rs.extension={type:D.RendererSystem,name:"context"},U.add(Rs);class Fi{constructor(t,e){if(this.width=Math.round(t),this.height=Math.round(e),!this.width||!this.height)throw new Error("Framebuffer width or height is zero");this.stencil=!1,this.depth=!1,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.depthTexture=null,this.colorTextures=[],this.glFramebuffers={},this.disposeRunner=new Pt("disposeFramebuffer"),this.multisample=ft.NONE}get colorTexture(){return this.colorTextures[0]}addColorTexture(t=0,e){return this.colorTextures[t]=e||new X(null,{scaleMode:Bt.NEAREST,resolution:1,mipmap:Ht.OFF,width:this.width,height:this.height}),this.dirtyId++,this.dirtyFormat++,this}addDepthTexture(t){return this.depthTexture=t||new X(null,{scaleMode:Bt.NEAREST,resolution:1,width:this.width,height:this.height,mipmap:Ht.OFF,format:M.DEPTH_COMPONENT,type:$.UNSIGNED_SHORT}),this.dirtyId++,this.dirtyFormat++,this}enableDepth(){return this.depth=!0,this.dirtyId++,this.dirtyFormat++,this}enableStencil(){return this.stencil=!0,this.dirtyId++,this.dirtyFormat++,this}resize(t,e){if(t=Math.round(t),e=Math.round(e),!t||!e)throw new Error("Framebuffer width and height must not be zero");if(!(t===this.width&&e===this.height)){this.width=t,this.height=e,this.dirtyId++,this.dirtySize++;for(let s=0;s{const r=this.source;this.url=r.src;const n=()=>{this.destroyed||(r.onload=null,r.onerror=null,this.update(),this._load=null,this.createBitmap?e(this.process()):e(this))};r.complete&&r.src?n():(r.onload=n,r.onerror=a=>{s(a),this.onError.emit(a)})}),this._load)}process(){const t=this.source;if(this._process!==null)return this._process;if(this.bitmap!==null||!globalThis.createImageBitmap)return Promise.resolve(this);const e=globalThis.createImageBitmap,s=!t.crossOrigin||t.crossOrigin==="anonymous";return this._process=fetch(t.src,{mode:s?"cors":"no-cors"}).then(r=>r.blob()).then(r=>e(r,0,0,t.width,t.height,{premultiplyAlpha:this.alphaMode===null||this.alphaMode===At.UNPACK?"premultiply":"none"})).then(r=>this.destroyed?Promise.reject():(this.bitmap=r,this.update(),this._process=null,Promise.resolve(this))),this._process}upload(t,e,s){if(typeof this.alphaMode=="number"&&(e.alphaMode=this.alphaMode),!this.createBitmap)return super.upload(t,e,s);if(!this.bitmap&&(this.process(),!this.bitmap))return!1;if(super.upload(t,e,s,this.bitmap),!this.preserveBitmap){let r=!0;const n=e._glTextures;for(const a in n){const o=n[a];if(o!==s&&o.dirtyId!==e.dirtyId){r=!1;break}}r&&(this.bitmap.close&&this.bitmap.close(),this.bitmap=null)}return!0}dispose(){this.source.onload=null,this.source.onerror=null,super.dispose(),this.bitmap&&(this.bitmap.close(),this.bitmap=null),this._process=null,this._load=null}static test(t){return typeof HTMLImageElement!="undefined"&&(typeof t=="string"||t instanceof HTMLImageElement)}}class cn{constructor(){this.x0=0,this.y0=0,this.x1=1,this.y1=0,this.x2=1,this.y2=1,this.x3=0,this.y3=1,this.uvsFloat32=new Float32Array(8)}set(t,e,s){const r=e.width,n=e.height;if(s){const a=t.width/2/r,o=t.height/2/n,h=t.x/r+a,l=t.y/n+o;s=at.add(s,at.NW),this.x0=h+a*at.uX(s),this.y0=l+o*at.uY(s),s=at.add(s,2),this.x1=h+a*at.uX(s),this.y1=l+o*at.uY(s),s=at.add(s,2),this.x2=h+a*at.uX(s),this.y2=l+o*at.uY(s),s=at.add(s,2),this.x3=h+a*at.uX(s),this.y3=l+o*at.uY(s)}else this.x0=t.x/r,this.y0=t.y/n,this.x1=(t.x+t.width)/r,this.y1=t.y/n,this.x2=(t.x+t.width)/r,this.y2=(t.y+t.height)/n,this.x3=t.x/r,this.y3=(t.y+t.height)/n;this.uvsFloat32[0]=this.x0,this.uvsFloat32[1]=this.y0,this.uvsFloat32[2]=this.x1,this.uvsFloat32[3]=this.y1,this.uvsFloat32[4]=this.x2,this.uvsFloat32[5]=this.y2,this.uvsFloat32[6]=this.x3,this.uvsFloat32[7]=this.y3}}const th=new cn;function Li(i){i.destroy=function(){},i.on=function(){},i.once=function(){},i.emit=function(){}}class L extends Ye{constructor(t,e,s,r,n,a,o){if(super(),this.noFrame=!1,e||(this.noFrame=!0,e=new z(0,0,1,1)),t instanceof L&&(t=t.baseTexture),this.baseTexture=t,this._frame=e,this.trim=r,this.valid=!1,this.destroyed=!1,this._uvs=th,this.uvMatrix=null,this.orig=s||e,this._rotate=Number(n||0),n===!0)this._rotate=2;else if(this._rotate%2!==0)throw new Error("attempt to use diamond-shaped UVs. If you are sure, set rotation manually");this.defaultAnchor=a?new K(a.x,a.y):new K(0,0),this.defaultBorders=o,this._updateID=0,this.textureCacheIds=[],t.valid?this.noFrame?t.valid&&this.onBaseTextureUpdated(t):this.frame=e:t.once("loaded",this.onBaseTextureUpdated,this),this.noFrame&&t.on("update",this.onBaseTextureUpdated,this)}update(){this.baseTexture.resource&&this.baseTexture.resource.update()}onBaseTextureUpdated(t){if(this.noFrame){if(!this.baseTexture.valid)return;this._frame.width=t.width,this._frame.height=t.height,this.valid=!0,this.updateUvs()}else this.frame=this._frame;this.emit("update",this)}destroy(t){if(this.baseTexture){if(t){const{resource:e}=this.baseTexture;e!=null&&e.url&&wt[e.url]&&L.removeFromCache(e.url),this.baseTexture.destroy()}this.baseTexture.off("loaded",this.onBaseTextureUpdated,this),this.baseTexture.off("update",this.onBaseTextureUpdated,this),this.baseTexture=null}this._frame=null,this._uvs=null,this.trim=null,this.orig=null,this.valid=!1,L.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0,this.emit("destroyed",this),this.removeAllListeners()}clone(){var t;const e=this._frame.clone(),s=this._frame===this.orig?e:this.orig.clone(),r=new L(this.baseTexture,!this.noFrame&&e,s,(t=this.trim)==null?void 0:t.clone(),this.rotate,this.defaultAnchor,this.defaultBorders);return this.noFrame&&(r._frame=e),r}updateUvs(){this._uvs===th&&(this._uvs=new cn),this._uvs.set(this._frame,this.baseTexture,this.rotate),this._updateID++}static from(t,e={},s=N.STRICT_TEXTURE_CACHE){const r=typeof t=="string";let n=null;if(r)n=t;else if(t instanceof X){if(!t.cacheId){const o=(e==null?void 0:e.pixiIdPrefix)||"pixiid";t.cacheId=`${o}-${Te()}`,X.addToCache(t,t.cacheId)}n=t.cacheId}else{if(!t._pixiId){const o=(e==null?void 0:e.pixiIdPrefix)||"pixiid";t._pixiId=`${o}_${Te()}`}n=t._pixiId}let a=wt[n];if(r&&s&&!a)throw new Error(`The cacheId "${n}" does not exist in TextureCache.`);return!a&&!(t instanceof X)?(e.resolution||(e.resolution=te(t)),a=new L(new X(t,e)),a.baseTexture.cacheId=n,X.addToCache(a.baseTexture,n),L.addToCache(a,n)):!a&&t instanceof X&&(a=new L(t),L.addToCache(a,n)),a}static fromURL(t,e){const s=Object.assign({autoLoad:!1},e==null?void 0:e.resourceOptions),r=L.from(t,Object.assign({resourceOptions:s},e),!1),n=r.baseTexture.resource;return r.baseTexture.valid?Promise.resolve(r):n.load().then(()=>Promise.resolve(r))}static fromBuffer(t,e,s,r){return new L(X.fromBuffer(t,e,s,r))}static fromLoader(t,e,s,r){const n=new X(t,Object.assign({scaleMode:X.defaultOptions.scaleMode,resolution:te(e)},r)),{resource:a}=n;a instanceof un&&(a.url=e);const o=new L(n);return s||(s=e),X.addToCache(o.baseTexture,s),L.addToCache(o,s),s!==e&&(X.addToCache(o.baseTexture,e),L.addToCache(o,e)),o.baseTexture.valid?Promise.resolve(o):new Promise(h=>{o.baseTexture.once("loaded",()=>h(o))})}static addToCache(t,e){e&&(t.textureCacheIds.includes(e)||t.textureCacheIds.push(e),wt[e]&&wt[e]!==t&&console.warn(`Texture added to the cache with an id [${e}] that already had an entry`),wt[e]=t)}static removeFromCache(t){if(typeof t=="string"){const e=wt[t];if(e){const s=e.textureCacheIds.indexOf(t);return s>-1&&e.textureCacheIds.splice(s,1),delete wt[t],e}}else if(t!=null&&t.textureCacheIds){for(let e=0;ethis.baseTexture.width,o=s+n>this.baseTexture.height;if(a||o){const h=a&&o?"and":"or",l=`X: ${e} + ${r} = ${e+r} > ${this.baseTexture.width}`,u=`Y: ${s} + ${n} = ${s+n} > ${this.baseTexture.height}`;throw new Error(`Texture Error: frame does not fit inside the base Texture dimensions: ${l} ${h} ${u}`)}this.valid=r&&n&&this.baseTexture.valid,!this.trim&&!this.rotate&&(this.orig=t),this.valid&&this.updateUvs()}get rotate(){return this._rotate}set rotate(t){this._rotate=t,this.valid&&this.updateUvs()}get width(){return this.orig.width}get height(){return this.orig.height}castToBaseTexture(){return this.baseTexture}static get EMPTY(){return L._EMPTY||(L._EMPTY=new L(new X),Li(L._EMPTY),Li(L._EMPTY.baseTexture)),L._EMPTY}static get WHITE(){if(!L._WHITE){const t=N.ADAPTER.createCanvas(16,16),e=t.getContext("2d");t.width=16,t.height=16,e.fillStyle="white",e.fillRect(0,0,16,16),L._WHITE=new L(X.from(t)),Li(L._WHITE),Li(L._WHITE.baseTexture)}return L._WHITE}}class Yt extends L{constructor(t,e){super(t,e),this.valid=!0,this.filterFrame=null,this.filterPoolKey=null,this.updateUvs()}get framebuffer(){return this.baseTexture.framebuffer}get multisample(){return this.framebuffer.multisample}set multisample(t){this.framebuffer.multisample=t}resize(t,e,s=!0){const r=this.baseTexture.resolution,n=Math.round(t*r)/r,a=Math.round(e*r)/r;this.valid=n>0&&a>0,this._frame.width=this.orig.width=n,this._frame.height=this.orig.height=a,s&&this.baseTexture.resize(n,a),this.updateUvs()}setResolution(t){const{baseTexture:e}=this;e.resolution!==t&&(e.setResolution(t),this.resize(e.width,e.height,!1))}static create(t){return new Yt(new Ni(t))}}class dn{constructor(t){this.texturePool={},this.textureOptions=t||{},this.enableFullScreen=!1,this._pixelsWidth=0,this._pixelsHeight=0}createTexture(t,e,s=ft.NONE){const r=new Ni(Object.assign({width:t,height:e,resolution:1,multisample:s},this.textureOptions));return new Yt(r)}getOptimalTexture(t,e,s=1,r=ft.NONE){let n;t=Math.max(Math.ceil(t*s-1e-6),1),e=Math.max(Math.ceil(e*s-1e-6),1),!this.enableFullScreen||t!==this._pixelsWidth||e!==this._pixelsHeight?(t=vs(t),e=vs(e),n=((t&65535)<<16|e&65535)>>>0,r>1&&(n+=r*4294967296)):n=r>1?-r:-1,this.texturePool[n]||(this.texturePool[n]=[]);let a=this.texturePool[n].pop();return a||(a=this.createTexture(t,e,r)),a.filterPoolKey=n,a.setResolution(s),a}getFilterTexture(t,e,s){const r=this.getOptimalTexture(t.width,t.height,e||t.resolution,s||ft.NONE);return r.filterFrame=t.filterFrame,r}returnTexture(t){const e=t.filterPoolKey;t.filterFrame=null,this.texturePool[e].push(t)}returnFilterTexture(t){this.returnTexture(t)}clear(t){if(t=t!==!1,t)for(const e in this.texturePool){const s=this.texturePool[e];if(s)for(let r=0;r0&&t.height>0;for(const e in this.texturePool){if(!(Number(e)<0))continue;const s=this.texturePool[e];if(s)for(let r=0;r1&&(u=this.getOptimalFilterTexture(l.width,l.height,e.resolution),u.filterFrame=l.filterFrame),s[c].apply(this,l,u,Vt.CLEAR,e);const d=l;l=u,u=d}s[c].apply(this,l,h.renderTexture,Vt.BLEND,e),c>1&&e.multisample>1&&this.returnFilterTexture(e.renderTexture),this.returnFilterTexture(l),this.returnFilterTexture(u)}e.clear(),this.statePool.push(e)}bindAndClear(t,e=Vt.CLEAR){const{renderTexture:s,state:r}=this.renderer;if(t===this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?this.renderer.projection.transform=this.activeState.transform:this.renderer.projection.transform=null,t!=null&&t.filterFrame){const a=this.tempRect;a.x=0,a.y=0,a.width=t.filterFrame.width,a.height=t.filterFrame.height,s.bind(t,t.filterFrame,a)}else t!==this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?s.bind(t):this.renderer.renderTexture.bind(t,this.activeState.bindingSourceFrame,this.activeState.bindingDestinationFrame);const n=r.stateId&1||this.forceClear;(e===Vt.CLEAR||e===Vt.BLIT&&n)&&this.renderer.framebuffer.clear(0,0,0,0)}applyFilter(t,e,s,r){const n=this.renderer;n.state.set(t.state),this.bindAndClear(s,r),t.uniforms.uSampler=e,t.uniforms.filterGlobals=this.globalUniforms,n.shader.bind(t),t.legacy=!!t.program.attributeData.aTextureCoord,t.legacy?(this.quadUv.map(e._frame,e.filterFrame),n.geometry.bind(this.quadUv),n.geometry.draw(Ot.TRIANGLES)):(n.geometry.bind(this.quad),n.geometry.draw(Ot.TRIANGLE_STRIP))}calculateSpriteMatrix(t,e){const{sourceFrame:s,destinationFrame:r}=this.activeState,{orig:n}=e._texture,a=t.set(r.width,0,0,r.height,s.x,s.y),o=e.worldTransform.copyTo(tt.TEMP_MATRIX);return o.invert(),a.prepend(o),a.scale(1/n.width,1/n.height),a.translate(e.anchor.x,e.anchor.y),a}destroy(){this.renderer=null,this.texturePool.clear(!1)}getOptimalFilterTexture(t,e,s=1,r=ft.NONE){return this.texturePool.getOptimalTexture(t,e,s,r)}getFilterTexture(t,e,s){if(typeof t=="number"){const n=t;t=e,e=n}t=t||this.activeState.renderTexture;const r=this.texturePool.getOptimalTexture(t.width,t.height,e||t.resolution,s||ft.NONE);return r.filterFrame=t.filterFrame,r}returnFilterTexture(t){this.texturePool.returnTexture(t)}emptyPool(){this.texturePool.clear(!0)}resize(){this.texturePool.setScreenSize(this.renderer.view)}transformAABB(t,e){const s=Ui[0],r=Ui[1],n=Ui[2],a=Ui[3];s.set(e.left,e.top),r.set(e.left,e.bottom),n.set(e.right,e.top),a.set(e.right,e.bottom),t.apply(s,s),t.apply(r,r),t.apply(n,n),t.apply(a,a);const o=Math.min(s.x,r.x,n.x,a.x),h=Math.min(s.y,r.y,n.y,a.y),l=Math.max(s.x,r.x,n.x,a.x),u=Math.max(s.y,r.y,n.y,a.y);e.x=o,e.y=h,e.width=l-o,e.height=u-h}roundFrame(t,e,s,r,n){if(!(t.width<=0||t.height<=0||s.width<=0||s.height<=0)){if(n){const{a,b:o,c:h,d:l}=n;if((Math.abs(o)>1e-4||Math.abs(h)>1e-4)&&(Math.abs(a)>1e-4||Math.abs(l)>1e-4))return}n=n?pn.copyFrom(n):pn.identity(),n.translate(-s.x,-s.y).scale(r.width/s.width,r.height/s.height).translate(r.x,r.y),this.transformAABB(n,t),t.ceil(e),this.transformAABB(n.invert(),t)}}}mn.extension={type:D.RendererSystem,name:"filter"},U.add(mn);class ih{constructor(t){this.framebuffer=t,this.stencil=null,this.dirtyId=-1,this.dirtyFormat=-1,this.dirtySize=-1,this.multisample=ft.NONE,this.msaaBuffer=null,this.blitFramebuffer=null,this.mipLevel=0}}const Fd=new z;class gn{constructor(t){this.renderer=t,this.managedFramebuffers=[],this.unknownFramebuffer=new Fi(10,10),this.msaaSamples=null}contextChange(){this.disposeAll(!0);const t=this.gl=this.renderer.gl;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.current=this.unknownFramebuffer,this.viewport=new z,this.hasMRT=!0,this.writeDepthTexture=!0,this.renderer.context.webGLVersion===1){let e=this.renderer.context.extensions.drawBuffers,s=this.renderer.context.extensions.depthTexture;N.PREFER_ENV===be.WEBGL_LEGACY&&(e=null,s=null),e?t.drawBuffers=r=>e.drawBuffersWEBGL(r):(this.hasMRT=!1,t.drawBuffers=()=>{}),s||(this.writeDepthTexture=!1)}else this.msaaSamples=t.getInternalformatParameter(t.RENDERBUFFER,t.RGBA8,t.SAMPLES)}bind(t,e,s=0){const{gl:r}=this;if(t){const n=t.glFramebuffers[this.CONTEXT_UID]||this.initFramebuffer(t);this.current!==t&&(this.current=t,r.bindFramebuffer(r.FRAMEBUFFER,n.framebuffer)),n.mipLevel!==s&&(t.dirtyId++,t.dirtyFormat++,n.mipLevel=s),n.dirtyId!==t.dirtyId&&(n.dirtyId=t.dirtyId,n.dirtyFormat!==t.dirtyFormat?(n.dirtyFormat=t.dirtyFormat,n.dirtySize=t.dirtySize,this.updateFramebuffer(t,s)):n.dirtySize!==t.dirtySize&&(n.dirtySize=t.dirtySize,this.resizeFramebuffer(t)));for(let a=0;a>s,o=e.height>>s,h=a/e.width;this.setViewport(e.x*h,e.y*h,a,o)}else{const a=t.width>>s,o=t.height>>s;this.setViewport(0,0,a,o)}}else this.current&&(this.current=null,r.bindFramebuffer(r.FRAMEBUFFER,null)),e?this.setViewport(e.x,e.y,e.width,e.height):this.setViewport(0,0,this.renderer.width,this.renderer.height)}setViewport(t,e,s,r){const n=this.viewport;t=Math.round(t),e=Math.round(e),s=Math.round(s),r=Math.round(r),(n.width!==s||n.height!==r||n.x!==t||n.y!==e)&&(n.x=t,n.y=e,n.width=s,n.height=r,this.gl.viewport(t,e,s,r))}get size(){return this.current?{x:0,y:0,width:this.current.width,height:this.current.height}:{x:0,y:0,width:this.renderer.width,height:this.renderer.height}}clear(t,e,s,r,n=ui.COLOR|ui.DEPTH){const{gl:a}=this;a.clearColor(t,e,s,r),a.clear(n)}initFramebuffer(t){const{gl:e}=this,s=new ih(e.createFramebuffer());return s.multisample=this.detectSamples(t.multisample),t.glFramebuffers[this.CONTEXT_UID]=s,this.managedFramebuffers.push(t),t.disposeRunner.add(this),s}resizeFramebuffer(t){const{gl:e}=this,s=t.glFramebuffers[this.CONTEXT_UID];if(s.stencil){e.bindRenderbuffer(e.RENDERBUFFER,s.stencil);let a;this.renderer.context.webGLVersion===1?a=e.DEPTH_STENCIL:t.depth&&t.stencil?a=e.DEPTH24_STENCIL8:t.depth?a=e.DEPTH_COMPONENT24:a=e.STENCIL_INDEX8,s.msaaBuffer?e.renderbufferStorageMultisample(e.RENDERBUFFER,s.multisample,a,t.width,t.height):e.renderbufferStorage(e.RENDERBUFFER,a,t.width,t.height)}const r=t.colorTextures;let n=r.length;e.drawBuffers||(n=Math.min(n,1));for(let a=0;a1&&this.canMultisampleFramebuffer(t)?r.msaaBuffer=r.msaaBuffer||s.createRenderbuffer():r.msaaBuffer&&(s.deleteRenderbuffer(r.msaaBuffer),r.msaaBuffer=null,r.blitFramebuffer&&(r.blitFramebuffer.dispose(),r.blitFramebuffer=null));const o=[];for(let h=0;h1&&s.drawBuffers(o),t.depthTexture&&this.writeDepthTexture){const h=t.depthTexture;this.renderer.texture.bind(h,0),s.framebufferTexture2D(s.FRAMEBUFFER,s.DEPTH_ATTACHMENT,s.TEXTURE_2D,h._glTextures[this.CONTEXT_UID].texture,e)}if((t.stencil||t.depth)&&!(t.depthTexture&&this.writeDepthTexture)){r.stencil=r.stencil||s.createRenderbuffer();let h,l;this.renderer.context.webGLVersion===1?(h=s.DEPTH_STENCIL_ATTACHMENT,l=s.DEPTH_STENCIL):t.depth&&t.stencil?(h=s.DEPTH_STENCIL_ATTACHMENT,l=s.DEPTH24_STENCIL8):t.depth?(h=s.DEPTH_ATTACHMENT,l=s.DEPTH_COMPONENT24):(h=s.STENCIL_ATTACHMENT,l=s.STENCIL_INDEX8),s.bindRenderbuffer(s.RENDERBUFFER,r.stencil),r.msaaBuffer?s.renderbufferStorageMultisample(s.RENDERBUFFER,r.multisample,l,t.width,t.height):s.renderbufferStorage(s.RENDERBUFFER,l,t.width,t.height),s.framebufferRenderbuffer(s.FRAMEBUFFER,h,s.RENDERBUFFER,r.stencil)}else r.stencil&&(s.deleteRenderbuffer(r.stencil),r.stencil=null)}canMultisampleFramebuffer(t){return this.renderer.context.webGLVersion!==1&&t.colorTextures.length<=1&&!t.depthTexture}detectSamples(t){const{msaaSamples:e}=this;let s=ft.NONE;if(t<=1||e===null)return s;for(let r=0;r=0&&this.managedFramebuffers.splice(n,1),t.disposeRunner.remove(this),e||(r.deleteFramebuffer(s.framebuffer),s.msaaBuffer&&r.deleteRenderbuffer(s.msaaBuffer),s.stencil&&r.deleteRenderbuffer(s.stencil)),s.blitFramebuffer&&this.disposeFramebuffer(s.blitFramebuffer,e)}disposeAll(t){const e=this.managedFramebuffers;this.managedFramebuffers=[];for(let s=0;ss.createVertexArrayOES(),t.bindVertexArray=r=>s.bindVertexArrayOES(r),t.deleteVertexArray=r=>s.deleteVertexArrayOES(r)):(this.hasVao=!1,t.createVertexArray=()=>null,t.bindVertexArray=()=>null,t.deleteVertexArray=()=>null)}if(e.webGLVersion!==2){const s=t.getExtension("ANGLE_instanced_arrays");s?(t.vertexAttribDivisor=(r,n)=>s.vertexAttribDivisorANGLE(r,n),t.drawElementsInstanced=(r,n,a,o,h)=>s.drawElementsInstancedANGLE(r,n,a,o,h),t.drawArraysInstanced=(r,n,a,o)=>s.drawArraysInstancedANGLE(r,n,a,o)):this.hasInstance=!1}this.canUseUInt32ElementIndex=e.webGLVersion===2||!!e.extensions.uint32ElementIndex}bind(t,e){e=e||this.renderer.shader.shader;const{gl:s}=this;let r=t.glVertexArrayObjects[this.CONTEXT_UID],n=!1;r||(this.managedGeometries[t.id]=t,t.disposeRunner.add(this),t.glVertexArrayObjects[this.CONTEXT_UID]=r={},n=!0);const a=r[e.program.id]||this.initGeometryVao(t,e,n);this._activeGeometry=t,this._activeVao!==a&&(this._activeVao=a,this.hasVao?s.bindVertexArray(a):this.activateVao(t,e.program)),this.updateBuffers()}reset(){this.unbind()}updateBuffers(){const t=this._activeGeometry,e=this.renderer.buffer;for(let s=0;s0?this.maskStack[this.maskStack.length-1]._colorMask:15;s!==e&&this.renderer.gl.colorMask((s&1)!==0,(s&2)!==0,(s&4)!==0,(s&8)!==0)}destroy(){this.renderer=null}}yn.extension={type:D.RendererSystem,name:"mask"},U.add(yn);class oh{constructor(t){this.renderer=t,this.maskStack=[],this.glConst=0}getStackLength(){return this.maskStack.length}setMaskStack(t){const{gl:e}=this.renderer,s=this.getStackLength();this.maskStack=t;const r=this.getStackLength();r!==s&&(r===0?e.disable(this.glConst):(e.enable(this.glConst),this._useCurrent()))}_useCurrent(){}destroy(){this.renderer=null,this.maskStack=null}}const hh=new tt,lh=[],uh=class xr extends oh{constructor(t){super(t),this.glConst=N.ADAPTER.getWebGLRenderingContext().SCISSOR_TEST}getStackLength(){const t=this.maskStack[this.maskStack.length-1];return t?t._scissorCounter:0}calcScissorRect(t){var e;if(t._scissorRectLocal)return;const s=t._scissorRect,{maskObject:r}=t,{renderer:n}=this,a=n.renderTexture,o=r.getBounds(!0,(e=lh.pop())!=null?e:new z);this.roundFrameToPixels(o,a.current?a.current.resolution:n.resolution,a.sourceFrame,a.destinationFrame,n.projection.transform),s&&o.fit(s),t._scissorRectLocal=o}static isMatrixRotated(t){if(!t)return!1;const{a:e,b:s,c:r,d:n}=t;return(Math.abs(s)>1e-4||Math.abs(r)>1e-4)&&(Math.abs(e)>1e-4||Math.abs(n)>1e-4)}testScissor(t){const{maskObject:e}=t;if(!e.isFastRect||!e.isFastRect()||xr.isMatrixRotated(e.worldTransform)||xr.isMatrixRotated(this.renderer.projection.transform))return!1;this.calcScissorRect(t);const s=t._scissorRectLocal;return s.width>0&&s.height>0}roundFrameToPixels(t,e,s,r,n){xr.isMatrixRotated(n)||(n=n?hh.copyFrom(n):hh.identity(),n.translate(-s.x,-s.y).scale(r.width/s.width,r.height/s.height).translate(r.x,r.y),this.renderer.filter.transformAABB(n,t),t.fit(r),t.x=Math.round(t.x*e),t.y=Math.round(t.y*e),t.width=Math.round(t.width*e),t.height=Math.round(t.height*e))}push(t){t._scissorRectLocal||this.calcScissorRect(t);const{gl:e}=this.renderer;t._scissorRect||e.enable(e.SCISSOR_TEST),t._scissorCounter++,t._scissorRect=t._scissorRectLocal,this._useCurrent()}pop(t){const{gl:e}=this.renderer;t&&lh.push(t._scissorRectLocal),this.getStackLength()>0?this._useCurrent():e.disable(e.SCISSOR_TEST)}_useCurrent(){const t=this.maskStack[this.maskStack.length-1]._scissorRect;let e;this.renderer.renderTexture.current?e=t.y:e=this.renderer.height-t.height-t.y,this.renderer.gl.scissor(t.x,e,t.width,t.height)}};uh.extension={type:D.RendererSystem,name:"scissor"};let ch=uh;U.add(ch);class xn extends oh{constructor(t){super(t),this.glConst=N.ADAPTER.getWebGLRenderingContext().STENCIL_TEST}getStackLength(){const t=this.maskStack[this.maskStack.length-1];return t?t._stencilCounter:0}push(t){const e=t.maskObject,{gl:s}=this.renderer,r=t._stencilCounter;r===0&&(this.renderer.framebuffer.forceStencil(),s.clearStencil(0),s.clear(s.STENCIL_BUFFER_BIT),s.enable(s.STENCIL_TEST)),t._stencilCounter++;const n=t._colorMask;n!==0&&(t._colorMask=0,s.colorMask(!1,!1,!1,!1)),s.stencilFunc(s.EQUAL,r,4294967295),s.stencilOp(s.KEEP,s.KEEP,s.INCR),e.renderable=!0,e.render(this.renderer),this.renderer.batch.flush(),e.renderable=!1,n!==0&&(t._colorMask=n,s.colorMask((n&1)!==0,(n&2)!==0,(n&4)!==0,(n&8)!==0)),this._useCurrent()}pop(t){const e=this.renderer.gl;if(this.getStackLength()===0)e.disable(e.STENCIL_TEST);else{const s=this.maskStack.length!==0?this.maskStack[this.maskStack.length-1]:null,r=s?s._colorMask:15;r!==0&&(s._colorMask=0,e.colorMask(!1,!1,!1,!1)),e.stencilOp(e.KEEP,e.KEEP,e.DECR),t.renderable=!0,t.render(this.renderer),this.renderer.batch.flush(),t.renderable=!1,r!==0&&(s._colorMask=r,e.colorMask((r&1)!==0,(r&2)!==0,(r&4)!==0,(r&8)!==0)),this._useCurrent()}}_useCurrent(){const t=this.renderer.gl;t.stencilFunc(t.EQUAL,this.getStackLength(),4294967295),t.stencilOp(t.KEEP,t.KEEP,t.KEEP)}}xn.extension={type:D.RendererSystem,name:"stencil"},U.add(xn);class bn{constructor(t){this.renderer=t,this.plugins={}}init(){const t=this.rendererPlugins;for(const e in t)this.plugins[e]=new t[e](this.renderer)}destroy(){for(const t in this.plugins)this.plugins[t].destroy(),this.plugins[t]=null}}bn.extension={type:[D.RendererSystem,D.CanvasRendererSystem],name:"_plugin"},U.add(bn);class Tn{constructor(t){this.renderer=t,this.destinationFrame=null,this.sourceFrame=null,this.defaultFrame=null,this.projectionMatrix=new tt,this.transform=null}update(t,e,s,r){this.destinationFrame=t||this.destinationFrame||this.defaultFrame,this.sourceFrame=e||this.sourceFrame||t,this.calculateProjection(this.destinationFrame,this.sourceFrame,s,r),this.transform&&this.projectionMatrix.append(this.transform);const n=this.renderer;n.globalUniforms.uniforms.projectionMatrix=this.projectionMatrix,n.globalUniforms.update(),n.shader.shader&&n.shader.syncUniformGroup(n.shader.shader.uniforms.globals)}calculateProjection(t,e,s,r){const n=this.projectionMatrix,a=r?-1:1;n.identity(),n.a=1/e.width*2,n.d=a*(1/e.height*2),n.tx=-1-e.x*n.a,n.ty=-a-e.y*n.d}setTransform(t){}destroy(){this.renderer=null}}Tn.extension={type:D.RendererSystem,name:"projection"},U.add(Tn);var dh=Object.getOwnPropertySymbols,Ud=Object.prototype.hasOwnProperty,kd=Object.prototype.propertyIsEnumerable,Gd=(i,t)=>{var e={};for(var s in i)Ud.call(i,s)&&t.indexOf(s)<0&&(e[s]=i[s]);if(i!=null&&dh)for(var s of dh(i))t.indexOf(s)<0&&kd.call(i,s)&&(e[s]=i[s]);return e};const $d=new Pi,fh=new z;class En{constructor(t){this.renderer=t,this._tempMatrix=new tt}generateTexture(t,e){var s;const r=e||{},{region:n}=r,a=Gd(r,["region"]),o=(n==null?void 0:n.copyTo(fh))||t.getLocalBounds(fh,!0),h=a.resolution||this.renderer.resolution;o.width=Math.max(o.width,1/h),o.height=Math.max(o.height,1/h),a.width=o.width,a.height=o.height,a.resolution=h,(s=a.multisample)!=null||(a.multisample=this.renderer.multisample);const l=Yt.create(a);this._tempMatrix.tx=-o.x,this._tempMatrix.ty=-o.y;const u=t.transform;return t.transform=$d,this.renderer.render(t,{renderTexture:l,transform:this._tempMatrix,skipUpdateTransform:!!t.parent,blit:!0}),t.transform=u,l}destroy(){}}En.extension={type:[D.RendererSystem,D.CanvasRendererSystem],name:"textureGenerator"},U.add(En);const Ge=new z,Is=new z;class An{constructor(t){this.renderer=t,this.defaultMaskStack=[],this.current=null,this.sourceFrame=new z,this.destinationFrame=new z,this.viewportFrame=new z}contextChange(){var t;const e=(t=this.renderer)==null?void 0:t.gl.getContextAttributes();this._rendererPremultipliedAlpha=!!(e&&e.alpha&&e.premultipliedAlpha)}bind(t=null,e,s){const r=this.renderer;this.current=t;let n,a,o;t?(n=t.baseTexture,o=n.resolution,e||(Ge.width=t.frame.width,Ge.height=t.frame.height,e=Ge),s||(Is.x=t.frame.x,Is.y=t.frame.y,Is.width=e.width,Is.height=e.height,s=Is),a=n.framebuffer):(o=r.resolution,e||(Ge.width=r._view.screen.width,Ge.height=r._view.screen.height,e=Ge),s||(s=Ge,s.width=e.width,s.height=e.height));const h=this.viewportFrame;h.x=s.x*o,h.y=s.y*o,h.width=s.width*o,h.height=s.height*o,t||(h.y=r.view.height-(h.y+h.height)),h.ceil(),this.renderer.framebuffer.bind(a,h),this.renderer.projection.update(s,e,o,!a),t?this.renderer.mask.setMaskStack(n.maskStack):this.renderer.mask.setMaskStack(this.defaultMaskStack),this.sourceFrame.copyFrom(e),this.destinationFrame.copyFrom(s)}clear(t,e){const s=this.current?this.current.baseTexture.clear:this.renderer.background.backgroundColor,r=Y.shared.setValue(t||s);(this.current&&this.current.baseTexture.alphaMode>0||!this.current&&this._rendererPremultipliedAlpha)&&r.premultiply(r.alpha);const n=this.destinationFrame,a=this.current?this.current.baseTexture:this.renderer._view.screen,o=n.width!==a.width||n.height!==a.height;if(o){let{x:h,y:l,width:u,height:c}=this.viewportFrame;h=Math.round(h),l=Math.round(l),u=Math.round(u),c=Math.round(c),this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST),this.renderer.gl.scissor(h,l,u,c)}this.renderer.framebuffer.clear(r.red,r.green,r.blue,r.alpha,e),o&&this.renderer.scissor.pop()}resize(){this.bind(null)}reset(){this.bind(null)}destroy(){this.renderer=null}}An.extension={type:D.RendererSystem,name:"renderTexture"},U.add(An);class Hd{}class ph{constructor(t,e){this.program=t,this.uniformData=e,this.uniformGroups={},this.uniformDirtyGroups={},this.uniformBufferBindings={}}destroy(){this.uniformData=null,this.uniformGroups=null,this.uniformDirtyGroups=null,this.uniformBufferBindings=null,this.program=null}}function Vd(i,t){const e={},s=t.getProgramParameter(i,t.ACTIVE_ATTRIBUTES);for(let r=0;rl>u?1:-1);for(let l=0;l({data:n,offset:0,dataLen:0,dirty:0}));let e=0,s=0,r=0;for(let n=0;n1&&(e=Math.max(e,16)*a.data.size),a.dataLen=e,s%e!==0&&s<16){const o=s%e%16;s+=o,r+=o}s+e>16?(r=Math.ceil(r/16)*16,a.offset=r,r+=e,s=e):(a.offset=r,s+=e,r+=e)}return r=Math.ceil(r/16)*16,{uboElements:t,size:r}}function vh(i,t){const e=[];for(const s in i)t[s]&&e.push(t[s]);return e.sort((s,r)=>s.index-r.index),e}function yh(i,t){if(!i.autoManage)return{size:0,syncFunc:Xd};const e=vh(i.uniforms,t),{uboElements:s,size:r}=_h(e),n=[` + var v = null; + var v2 = null; + var cv = null; + var t = 0; + var gl = renderer.gl + var index = 0; + var data = buffer.data; + `];for(let a=0;a1){const c=Wo(o.data.type),d=Math.max(gh[o.data.type]/16,1),f=c/d,p=(4-f%4)%4;n.push(` + cv = ud.${l}.value; + v = uv.${l}; + offset = ${o.offset/4}; + + t = 0; + + for(var i=0; i < ${o.data.size*d}; i++) + { + for(var j = 0; j < ${f}; j++) + { + data[offset++] = v[t++]; + } + offset += ${p}; + } + + `)}else{const c=zd[o.data.type];n.push(` + cv = ud.${l}.value; + v = uv.${l}; + offset = ${o.offset/4}; + ${c}; + `)}}return n.push(` + renderer.buffer.update(buffer); + `),{size:r,syncFunc:new Function("ud","uv","renderer","syncData","buffer",n.join(` +`))}}let Wd=0;const Gi={textureCount:0,uboCount:0};class wn{constructor(t){this.destroyed=!1,this.renderer=t,this.systemCheck(),this.gl=null,this.shader=null,this.program=null,this.cache={},this._uboCache={},this.id=Wd++}systemCheck(){if(!Zo())throw new Error("Current environment does not allow unsafe-eval, please use @pixi/unsafe-eval module to enable support.")}contextChange(t){this.gl=t,this.reset()}bind(t,e){t.disposeRunner.add(this),t.uniforms.globals=this.renderer.globalUniforms;const s=t.program,r=s.glPrograms[this.renderer.CONTEXT_UID]||this.generateProgram(t);return this.shader=t,this.program!==s&&(this.program=s,this.gl.useProgram(r.program)),e||(Gi.textureCount=0,Gi.uboCount=0,this.syncUniformGroup(t.uniformGroup,Gi)),r}setUniforms(t){const e=this.shader.program,s=e.glPrograms[this.renderer.CONTEXT_UID];e.syncUniforms(s.uniformData,t,this.renderer)}syncUniformGroup(t,e){const s=this.getGlProgram();(!t.static||t.dirtyId!==s.uniformDirtyGroups[t.id])&&(s.uniformDirtyGroups[t.id]=t.dirtyId,this.syncUniforms(t,s,e))}syncUniforms(t,e,s){(t.syncUniforms[this.shader.program.id]||this.createSyncGroups(t))(e.uniformData,t.uniforms,this.renderer,s)}createSyncGroups(t){const e=this.getSignature(t,this.shader.program.uniformData,"u");return this.cache[e]||(this.cache[e]=Ed(t,this.shader.program.uniformData)),t.syncUniforms[this.shader.program.id]=this.cache[e],t.syncUniforms[this.shader.program.id]}syncUniformBufferGroup(t,e){const s=this.getGlProgram();if(!t.static||t.dirtyId!==0||!s.uniformGroups[t.id]){t.dirtyId=0;const r=s.uniformGroups[t.id]||this.createSyncBufferGroup(t,s,e);t.buffer.update(),r(s.uniformData,t.uniforms,this.renderer,Gi,t.buffer)}this.renderer.buffer.bindBufferBase(t.buffer,s.uniformBufferBindings[e])}createSyncBufferGroup(t,e,s){const{gl:r}=this.renderer;this.renderer.buffer.bind(t.buffer);const n=this.gl.getUniformBlockIndex(e.program,s);e.uniformBufferBindings[s]=this.shader.uniformBindCount,r.uniformBlockBinding(e.program,n,this.shader.uniformBindCount),this.shader.uniformBindCount++;const a=this.getSignature(t,this.shader.program.uniformData,"ubo");let o=this._uboCache[a];if(o||(o=this._uboCache[a]=yh(t,this.shader.program.uniformData)),t.autoManage){const h=new Float32Array(o.size/4);t.buffer.update(h)}return e.uniformGroups[t.id]=o.syncFunc,e.uniformGroups[t.id]}getSignature(t,e,s){const r=t.uniforms,n=[`${s}-`];for(const a in r)n.push(a),e[a]&&n.push(e[a].type);return n.join("-")}getGlProgram(){return this.shader?this.shader.program.glPrograms[this.renderer.CONTEXT_UID]:null}generateProgram(t){const e=this.gl,s=t.program,r=mh(e,s);return s.glPrograms[this.renderer.CONTEXT_UID]=r,r}reset(){this.program=null,this.shader=null}disposeShader(t){this.shader===t&&(this.shader=null)}destroy(){this.renderer=null,this.destroyed=!0}}wn.extension={type:D.RendererSystem,name:"shader"},U.add(wn);class Ps{constructor(t){this.renderer=t}run(t){const{renderer:e}=this;e.runners.init.emit(e.options),t.hello&&console.log(`PixiJS 7.3.0 - ${e.rendererLogId} - https://pixijs.com`),e.resize(e.screen.width,e.screen.height)}destroy(){}}Ps.defaultOptions={hello:!1},Ps.extension={type:[D.RendererSystem,D.CanvasRendererSystem],name:"startup"},U.add(Ps);function Yd(i,t=[]){return t[C.NORMAL]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.ADD]=[i.ONE,i.ONE],t[C.MULTIPLY]=[i.DST_COLOR,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.SCREEN]=[i.ONE,i.ONE_MINUS_SRC_COLOR,i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.OVERLAY]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.DARKEN]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.LIGHTEN]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.COLOR_DODGE]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.COLOR_BURN]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.HARD_LIGHT]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.SOFT_LIGHT]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.DIFFERENCE]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.EXCLUSION]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.HUE]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.SATURATION]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.COLOR]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.LUMINOSITY]=[i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.NONE]=[0,0],t[C.NORMAL_NPM]=[i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.ADD_NPM]=[i.SRC_ALPHA,i.ONE,i.ONE,i.ONE],t[C.SCREEN_NPM]=[i.SRC_ALPHA,i.ONE_MINUS_SRC_COLOR,i.ONE,i.ONE_MINUS_SRC_ALPHA],t[C.SRC_IN]=[i.DST_ALPHA,i.ZERO],t[C.SRC_OUT]=[i.ONE_MINUS_DST_ALPHA,i.ZERO],t[C.SRC_ATOP]=[i.DST_ALPHA,i.ONE_MINUS_SRC_ALPHA],t[C.DST_OVER]=[i.ONE_MINUS_DST_ALPHA,i.ONE],t[C.DST_IN]=[i.ZERO,i.SRC_ALPHA],t[C.DST_OUT]=[i.ZERO,i.ONE_MINUS_SRC_ALPHA],t[C.DST_ATOP]=[i.ONE_MINUS_DST_ALPHA,i.SRC_ALPHA],t[C.XOR]=[i.ONE_MINUS_DST_ALPHA,i.ONE_MINUS_SRC_ALPHA],t[C.SUBTRACT]=[i.ONE,i.ONE,i.ONE,i.ONE,i.FUNC_REVERSE_SUBTRACT,i.FUNC_ADD],t}const qd=0,Kd=1,Zd=2,Qd=3,Jd=4,tf=5,xh=class Ta{constructor(){this.gl=null,this.stateId=0,this.polygonOffset=0,this.blendMode=C.NONE,this._blendEq=!1,this.map=[],this.map[qd]=this.setBlend,this.map[Kd]=this.setOffset,this.map[Zd]=this.setCullFace,this.map[Qd]=this.setDepthTest,this.map[Jd]=this.setFrontFace,this.map[tf]=this.setDepthMask,this.checks=[],this.defaultState=new ee,this.defaultState.blend=!0}contextChange(t){this.gl=t,this.blendModes=Yd(t),this.set(this.defaultState),this.reset()}set(t){if(t=t||this.defaultState,this.stateId!==t.data){let e=this.stateId^t.data,s=0;for(;e;)e&1&&this.map[s].call(this,!!(t.data&1<>1,s++;this.stateId=t.data}for(let e=0;et.systems[n]),r=[...s,...Object.keys(t.systems).filter(n=>!s.includes(n))];for(const n of r)this.addSystem(t.systems[n],n)}addRunners(...t){t.forEach(e=>{this.runners[e]=new Pt(e)})}addSystem(t,e){const s=new t(this);if(this[e])throw new Error(`Whoops! The name "${e}" is already in use`);this[e]=s,this._systemsHash[e]=s;for(const r in this.runners)this.runners[r].add(s);return this}emitWithCustomOptions(t,e){const s=Object.keys(this._systemsHash);t.items.forEach(r=>{const n=s.find(a=>this._systemsHash[a]===r);r[t.name](e[n])})}destroy(){Object.values(this.runners).forEach(t=>{t.destroy()}),this._systemsHash={}}}const Ms=class br{constructor(t){this.renderer=t,this.count=0,this.checkCount=0,this.maxIdle=br.defaultMaxIdle,this.checkCountMax=br.defaultCheckCountMax,this.mode=br.defaultMode}postrender(){this.renderer.objectRenderer.renderingToScreen&&(this.count++,this.mode!==ci.MANUAL&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())))}run(){const t=this.renderer.texture,e=t.managedTextures;let s=!1;for(let r=0;rthis.maxIdle&&(t.destroyTexture(n,!0),e[r]=null,s=!0)}if(s){let r=0;for(let n=0;n=0;r--)this.unload(t.children[r])}destroy(){this.renderer=null}};Ms.defaultMode=ci.AUTO,Ms.defaultMaxIdle=3600,Ms.defaultCheckCountMax=600,Ms.extension={type:D.RendererSystem,name:"textureGC"};let Ae=Ms;U.add(Ae);class $i{constructor(t){this.texture=t,this.width=-1,this.height=-1,this.dirtyId=-1,this.dirtyStyleId=-1,this.mipmap=!1,this.wrapMode=33071,this.type=$.UNSIGNED_BYTE,this.internalFormat=M.RGBA,this.samplerType=0}}function ef(i){let t;return"WebGL2RenderingContext"in globalThis&&i instanceof globalThis.WebGL2RenderingContext?t={[i.RGB]:k.FLOAT,[i.RGBA]:k.FLOAT,[i.ALPHA]:k.FLOAT,[i.LUMINANCE]:k.FLOAT,[i.LUMINANCE_ALPHA]:k.FLOAT,[i.R8]:k.FLOAT,[i.R8_SNORM]:k.FLOAT,[i.RG8]:k.FLOAT,[i.RG8_SNORM]:k.FLOAT,[i.RGB8]:k.FLOAT,[i.RGB8_SNORM]:k.FLOAT,[i.RGB565]:k.FLOAT,[i.RGBA4]:k.FLOAT,[i.RGB5_A1]:k.FLOAT,[i.RGBA8]:k.FLOAT,[i.RGBA8_SNORM]:k.FLOAT,[i.RGB10_A2]:k.FLOAT,[i.RGB10_A2UI]:k.FLOAT,[i.SRGB8]:k.FLOAT,[i.SRGB8_ALPHA8]:k.FLOAT,[i.R16F]:k.FLOAT,[i.RG16F]:k.FLOAT,[i.RGB16F]:k.FLOAT,[i.RGBA16F]:k.FLOAT,[i.R32F]:k.FLOAT,[i.RG32F]:k.FLOAT,[i.RGB32F]:k.FLOAT,[i.RGBA32F]:k.FLOAT,[i.R11F_G11F_B10F]:k.FLOAT,[i.RGB9_E5]:k.FLOAT,[i.R8I]:k.INT,[i.R8UI]:k.UINT,[i.R16I]:k.INT,[i.R16UI]:k.UINT,[i.R32I]:k.INT,[i.R32UI]:k.UINT,[i.RG8I]:k.INT,[i.RG8UI]:k.UINT,[i.RG16I]:k.INT,[i.RG16UI]:k.UINT,[i.RG32I]:k.INT,[i.RG32UI]:k.UINT,[i.RGB8I]:k.INT,[i.RGB8UI]:k.UINT,[i.RGB16I]:k.INT,[i.RGB16UI]:k.UINT,[i.RGB32I]:k.INT,[i.RGB32UI]:k.UINT,[i.RGBA8I]:k.INT,[i.RGBA8UI]:k.UINT,[i.RGBA16I]:k.INT,[i.RGBA16UI]:k.UINT,[i.RGBA32I]:k.INT,[i.RGBA32UI]:k.UINT,[i.DEPTH_COMPONENT16]:k.FLOAT,[i.DEPTH_COMPONENT24]:k.FLOAT,[i.DEPTH_COMPONENT32F]:k.FLOAT,[i.DEPTH_STENCIL]:k.FLOAT,[i.DEPTH24_STENCIL8]:k.FLOAT,[i.DEPTH32F_STENCIL8]:k.FLOAT}:t={[i.RGB]:k.FLOAT,[i.RGBA]:k.FLOAT,[i.ALPHA]:k.FLOAT,[i.LUMINANCE]:k.FLOAT,[i.LUMINANCE_ALPHA]:k.FLOAT,[i.DEPTH_STENCIL]:k.FLOAT},t}function sf(i){let t;return"WebGL2RenderingContext"in globalThis&&i instanceof globalThis.WebGL2RenderingContext?t={[$.UNSIGNED_BYTE]:{[M.RGBA]:i.RGBA8,[M.RGB]:i.RGB8,[M.RG]:i.RG8,[M.RED]:i.R8,[M.RGBA_INTEGER]:i.RGBA8UI,[M.RGB_INTEGER]:i.RGB8UI,[M.RG_INTEGER]:i.RG8UI,[M.RED_INTEGER]:i.R8UI,[M.ALPHA]:i.ALPHA,[M.LUMINANCE]:i.LUMINANCE,[M.LUMINANCE_ALPHA]:i.LUMINANCE_ALPHA},[$.BYTE]:{[M.RGBA]:i.RGBA8_SNORM,[M.RGB]:i.RGB8_SNORM,[M.RG]:i.RG8_SNORM,[M.RED]:i.R8_SNORM,[M.RGBA_INTEGER]:i.RGBA8I,[M.RGB_INTEGER]:i.RGB8I,[M.RG_INTEGER]:i.RG8I,[M.RED_INTEGER]:i.R8I},[$.UNSIGNED_SHORT]:{[M.RGBA_INTEGER]:i.RGBA16UI,[M.RGB_INTEGER]:i.RGB16UI,[M.RG_INTEGER]:i.RG16UI,[M.RED_INTEGER]:i.R16UI,[M.DEPTH_COMPONENT]:i.DEPTH_COMPONENT16},[$.SHORT]:{[M.RGBA_INTEGER]:i.RGBA16I,[M.RGB_INTEGER]:i.RGB16I,[M.RG_INTEGER]:i.RG16I,[M.RED_INTEGER]:i.R16I},[$.UNSIGNED_INT]:{[M.RGBA_INTEGER]:i.RGBA32UI,[M.RGB_INTEGER]:i.RGB32UI,[M.RG_INTEGER]:i.RG32UI,[M.RED_INTEGER]:i.R32UI,[M.DEPTH_COMPONENT]:i.DEPTH_COMPONENT24},[$.INT]:{[M.RGBA_INTEGER]:i.RGBA32I,[M.RGB_INTEGER]:i.RGB32I,[M.RG_INTEGER]:i.RG32I,[M.RED_INTEGER]:i.R32I},[$.FLOAT]:{[M.RGBA]:i.RGBA32F,[M.RGB]:i.RGB32F,[M.RG]:i.RG32F,[M.RED]:i.R32F,[M.DEPTH_COMPONENT]:i.DEPTH_COMPONENT32F},[$.HALF_FLOAT]:{[M.RGBA]:i.RGBA16F,[M.RGB]:i.RGB16F,[M.RG]:i.RG16F,[M.RED]:i.R16F},[$.UNSIGNED_SHORT_5_6_5]:{[M.RGB]:i.RGB565},[$.UNSIGNED_SHORT_4_4_4_4]:{[M.RGBA]:i.RGBA4},[$.UNSIGNED_SHORT_5_5_5_1]:{[M.RGBA]:i.RGB5_A1},[$.UNSIGNED_INT_2_10_10_10_REV]:{[M.RGBA]:i.RGB10_A2,[M.RGBA_INTEGER]:i.RGB10_A2UI},[$.UNSIGNED_INT_10F_11F_11F_REV]:{[M.RGB]:i.R11F_G11F_B10F},[$.UNSIGNED_INT_5_9_9_9_REV]:{[M.RGB]:i.RGB9_E5},[$.UNSIGNED_INT_24_8]:{[M.DEPTH_STENCIL]:i.DEPTH24_STENCIL8},[$.FLOAT_32_UNSIGNED_INT_24_8_REV]:{[M.DEPTH_STENCIL]:i.DEPTH32F_STENCIL8}}:t={[$.UNSIGNED_BYTE]:{[M.RGBA]:i.RGBA,[M.RGB]:i.RGB,[M.ALPHA]:i.ALPHA,[M.LUMINANCE]:i.LUMINANCE,[M.LUMINANCE_ALPHA]:i.LUMINANCE_ALPHA},[$.UNSIGNED_SHORT_5_6_5]:{[M.RGB]:i.RGB},[$.UNSIGNED_SHORT_4_4_4_4]:{[M.RGBA]:i.RGBA},[$.UNSIGNED_SHORT_5_5_5_1]:{[M.RGBA]:i.RGBA}},t}class Cn{constructor(t){this.renderer=t,this.boundTextures=[],this.currentLocation=-1,this.managedTextures=[],this._unknownBoundTextures=!1,this.unknownTexture=new X,this.hasIntegerTextures=!1}contextChange(){const t=this.gl=this.renderer.gl;this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.webGLVersion=this.renderer.context.webGLVersion,this.internalFormats=sf(t),this.samplerTypes=ef(t);const e=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);this.boundTextures.length=e;for(let r=0;r=0;--n){const a=e[n];a&&a._glTextures[r].samplerType!==k.FLOAT&&this.renderer.texture.unbind(a)}}initTexture(t){const e=new $i(this.gl.createTexture());return e.dirtyId=-1,t._glTextures[this.CONTEXT_UID]=e,this.managedTextures.push(t),t.on("dispose",this.destroyTexture,this),e}initTextureType(t,e){var s,r,n;e.internalFormat=(r=(s=this.internalFormats[t.type])==null?void 0:s[t.format])!=null?r:t.format,e.samplerType=(n=this.samplerTypes[e.internalFormat])!=null?n:k.FLOAT,this.webGLVersion===2&&t.type===$.HALF_FLOAT?e.type=this.gl.HALF_FLOAT:e.type=t.type}updateTexture(t){var e;const s=t._glTextures[this.CONTEXT_UID];if(!s)return;const r=this.renderer;if(this.initTextureType(t,s),(e=t.resource)!=null&&e.upload(r,t,s))s.samplerType!==k.FLOAT&&(this.hasIntegerTextures=!0);else{const n=t.realWidth,a=t.realHeight,o=r.gl;(s.width!==n||s.height!==a||s.dirtyId<0)&&(s.width=n,s.height=a,o.texImage2D(t.target,0,s.internalFormat,n,a,0,t.format,s.type,null))}t.dirtyStyleId!==s.dirtyStyleId&&this.updateTextureStyle(t),s.dirtyId=t.dirtyId}destroyTexture(t,e){const{gl:s}=this;if(t=t.castToBaseTexture(),t._glTextures[this.CONTEXT_UID]&&(this.unbind(t),s.deleteTexture(t._glTextures[this.CONTEXT_UID].texture),t.off("dispose",this.destroyTexture,this),delete t._glTextures[this.CONTEXT_UID],!e)){const r=this.managedTextures.indexOf(t);r!==-1&&Oe(this.managedTextures,r,1)}}updateTextureStyle(t){var e;const s=t._glTextures[this.CONTEXT_UID];s&&((t.mipmap===Ht.POW2||this.webGLVersion!==2)&&!t.isPowerOfTwo?s.mipmap=!1:s.mipmap=t.mipmap>=1,this.webGLVersion!==2&&!t.isPowerOfTwo?s.wrapMode=Zt.CLAMP:s.wrapMode=t.wrapMode,(e=t.resource)!=null&&e.style(this.renderer,t,s)||this.setStyle(t,s),s.dirtyStyleId=t.dirtyStyleId)}setStyle(t,e){const s=this.gl;if(e.mipmap&&t.mipmap!==Ht.ON_MANUAL&&s.generateMipmap(t.target),s.texParameteri(t.target,s.TEXTURE_WRAP_S,e.wrapMode),s.texParameteri(t.target,s.TEXTURE_WRAP_T,e.wrapMode),e.mipmap){s.texParameteri(t.target,s.TEXTURE_MIN_FILTER,t.scaleMode===Bt.LINEAR?s.LINEAR_MIPMAP_LINEAR:s.NEAREST_MIPMAP_NEAREST);const r=this.renderer.context.extensions.anisotropicFiltering;if(r&&t.anisotropicLevel>0&&t.scaleMode===Bt.LINEAR){const n=Math.min(t.anisotropicLevel,s.getParameter(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT));s.texParameterf(t.target,r.TEXTURE_MAX_ANISOTROPY_EXT,n)}}else s.texParameteri(t.target,s.TEXTURE_MIN_FILTER,t.scaleMode===Bt.LINEAR?s.LINEAR:s.NEAREST);s.texParameteri(t.target,s.TEXTURE_MAG_FILTER,t.scaleMode===Bt.LINEAR?s.LINEAR:s.NEAREST)}destroy(){this.renderer=null}}Cn.extension={type:D.RendererSystem,name:"texture"},U.add(Cn);class Rn{constructor(t){this.renderer=t}contextChange(){this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID}bind(t){const{gl:e,CONTEXT_UID:s}=this,r=t._glTransformFeedbacks[s]||this.createGLTransformFeedback(t);e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,r)}unbind(){const{gl:t}=this;t.bindTransformFeedback(t.TRANSFORM_FEEDBACK,null)}beginTransformFeedback(t,e){const{gl:s,renderer:r}=this;e&&r.shader.bind(e),s.beginTransformFeedback(t)}endTransformFeedback(){const{gl:t}=this;t.endTransformFeedback()}createGLTransformFeedback(t){const{gl:e,renderer:s,CONTEXT_UID:r}=this,n=e.createTransformFeedback();t._glTransformFeedbacks[r]=n,e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,n);for(let a=0;at in i?rf(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,Hi=(i,t)=>{for(var e in t||(t={}))nf.call(t,e)&&Eh(i,e,t[e]);if(Th)for(var e of Th(t))af.call(t,e)&&Eh(i,e,t[e]);return i};N.PREFER_ENV=be.WEBGL2,N.STRICT_TEXTURE_CACHE=!1,N.RENDER_OPTIONS=Hi(Hi(Hi(Hi({},Rs.defaultOptions),Cs.defaultOptions),Ds.defaultOptions),Ps.defaultOptions),Object.defineProperties(N,{WRAP_MODE:{get(){return X.defaultOptions.wrapMode},set(i){X.defaultOptions.wrapMode=i}},SCALE_MODE:{get(){return X.defaultOptions.scaleMode},set(i){X.defaultOptions.scaleMode=i}},MIPMAP_TEXTURES:{get(){return X.defaultOptions.mipmap},set(i){X.defaultOptions.mipmap=i}},ANISOTROPIC_LEVEL:{get(){return X.defaultOptions.anisotropicLevel},set(i){X.defaultOptions.anisotropicLevel=i}},FILTER_RESOLUTION:{get(){return Tt.defaultResolution},set(i){Tt.defaultResolution=i}},FILTER_MULTISAMPLE:{get(){return Tt.defaultMultisample},set(i){Tt.defaultMultisample=i}},SPRITE_MAX_TEXTURES:{get(){return Ee.defaultMaxTextures},set(i){Ee.defaultMaxTextures=i}},SPRITE_BATCH_SIZE:{get(){return Ee.defaultBatchSize},set(i){Ee.defaultBatchSize=i}},CAN_UPLOAD_SAME_BUFFER:{get(){return Ee.canUploadSameBuffer},set(i){Ee.canUploadSameBuffer=i}},GC_MODE:{get(){return Ae.defaultMode},set(i){Ae.defaultMode=i}},GC_MAX_IDLE:{get(){return Ae.defaultMaxIdle},set(i){Ae.defaultMaxIdle=i}},GC_MAX_CHECK_COUNT:{get(){return Ae.defaultCheckCountMax},set(i){Ae.defaultCheckCountMax=i}},PRECISION_VERTEX:{get(){return se.defaultVertexPrecision},set(i){se.defaultVertexPrecision=i}},PRECISION_FRAGMENT:{get(){return se.defaultFragmentPrecision},set(i){se.defaultFragmentPrecision=i}}});var pe=(i=>(i[i.INTERACTION=50]="INTERACTION",i[i.HIGH=25]="HIGH",i[i.NORMAL=0]="NORMAL",i[i.LOW=-25]="LOW",i[i.UTILITY=-50]="UTILITY",i))(pe||{});class In{constructor(t,e=null,s=0,r=!1){this.next=null,this.previous=null,this._destroyed=!1,this.fn=t,this.context=e,this.priority=s,this.once=r}match(t,e=null){return this.fn===t&&this.context===e}emit(t){this.fn&&(this.context?this.fn.call(this.context,t):this.fn(t));const e=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),e}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this}destroy(t=!1){this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);const e=this.next;return this.next=t?null:e,this.previous=null,e}}const Ah=class Dt{constructor(){this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new In(null,null,1/0),this.deltaMS=1/Dt.targetFPMS,this.elapsedMS=1/Dt.targetFPMS,this._tick=t=>{this._requestId=null,this.started&&(this.update(t),this.started&&this._requestId===null&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)))}}_requestIfNeeded(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))}_cancelIfNeeded(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null)}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start()}add(t,e,s=pe.NORMAL){return this._addListener(new In(t,e,s))}addOnce(t,e,s=pe.NORMAL){return this._addListener(new In(t,e,s,!0))}_addListener(t){let e=this._head.next,s=this._head;if(!e)t.connect(s);else{for(;e;){if(t.priority>e.priority){t.connect(s);break}s=e,e=e.next}t.previous||t.connect(s)}return this._startIfPossible(),this}remove(t,e){let s=this._head.next;for(;s;)s.match(t,e)?s=s.destroy():s=s.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let t=0,e=this._head;for(;e=e.next;)t++;return t}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}}update(t=performance.now()){let e;if(t>this.lastTime){if(e=this.elapsedMS=t-this.lastTime,e>this._maxElapsedMS&&(e=this._maxElapsedMS),e*=this.speed,this._minElapsedMS){const n=t-this._lastFrame|0;if(n{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=t.sharedTicker?xt.shared:new xt,t.autoStart&&this.start()}static destroy(){if(this._ticker){const t=this._ticker;this.ticker=null,t.destroy()}}}Pn.extension=D.Application,U.add(Pn);const wh=[];U.handleByList(D.Renderer,wh);function Sh(i){for(const t of wh)if(t.test(i))return new t(i);throw new Error("Unable to auto-detect a suitable renderer.")}var of=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,hf=`attribute vec2 aVertexPosition; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +uniform vec4 inputSize; +uniform vec4 outputFrame; + +vec4 filterVertexPosition( void ) +{ + vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy; + + return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); +} + +vec2 filterTextureCoord( void ) +{ + return aVertexPosition * (outputFrame.zw * inputSize.zw); +} + +void main(void) +{ + gl_Position = filterVertexPosition(); + vTextureCoord = filterTextureCoord(); +} +`;const Ch=of,Mn=hf;class Dn{constructor(t){this.renderer=t}contextChange(t){let e;if(this.renderer.context.webGLVersion===1){const s=t.getParameter(t.FRAMEBUFFER_BINDING);t.bindFramebuffer(t.FRAMEBUFFER,null),e=t.getParameter(t.SAMPLES),t.bindFramebuffer(t.FRAMEBUFFER,s)}else{const s=t.getParameter(t.DRAW_FRAMEBUFFER_BINDING);t.bindFramebuffer(t.DRAW_FRAMEBUFFER,null),e=t.getParameter(t.SAMPLES),t.bindFramebuffer(t.DRAW_FRAMEBUFFER,s)}e>=ft.HIGH?this.multisample=ft.HIGH:e>=ft.MEDIUM?this.multisample=ft.MEDIUM:e>=ft.LOW?this.multisample=ft.LOW:this.multisample=ft.NONE}destroy(){}}Dn.extension={type:D.RendererSystem,name:"_multisample"},U.add(Dn);class lf{constructor(t){this.buffer=t||null,this.updateID=-1,this.byteLength=-1,this.refCount=0}}class On{constructor(t){this.renderer=t,this.managedBuffers={},this.boundBufferBases={}}destroy(){this.renderer=null}contextChange(){this.disposeAll(!0),this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID}bind(t){const{gl:e,CONTEXT_UID:s}=this,r=t._glBuffers[s]||this.createGLBuffer(t);e.bindBuffer(t.type,r.buffer)}unbind(t){const{gl:e}=this;e.bindBuffer(t,null)}bindBufferBase(t,e){const{gl:s,CONTEXT_UID:r}=this;if(this.boundBufferBases[e]!==t){const n=t._glBuffers[r]||this.createGLBuffer(t);this.boundBufferBases[e]=t,s.bindBufferBase(s.UNIFORM_BUFFER,e,n.buffer)}}bindBufferRange(t,e,s){const{gl:r,CONTEXT_UID:n}=this;s=s||0;const a=t._glBuffers[n]||this.createGLBuffer(t);r.bindBufferRange(r.UNIFORM_BUFFER,e||0,a.buffer,s*256,256)}update(t){const{gl:e,CONTEXT_UID:s}=this,r=t._glBuffers[s]||this.createGLBuffer(t);if(t._updateID!==r.updateID)if(r.updateID=t._updateID,e.bindBuffer(t.type,r.buffer),r.byteLength>=t.data.byteLength)e.bufferSubData(t.type,0,t.data);else{const n=t.static?e.STATIC_DRAW:e.DYNAMIC_DRAW;r.byteLength=t.data.byteLength,e.bufferData(t.type,t.data,n)}}dispose(t,e){if(!this.managedBuffers[t.id])return;delete this.managedBuffers[t.id];const s=t._glBuffers[this.CONTEXT_UID],r=this.gl;t.disposeRunner.remove(this),s&&(e||r.deleteBuffer(s.buffer),delete t._glBuffers[this.CONTEXT_UID])}disposeAll(t){const e=Object.keys(this.managedBuffers);for(let s=0;se.resource).filter(e=>e).map(e=>e.load());return this._load=Promise.all(t).then(()=>{const{realWidth:e,realHeight:s}=this.items[0];return this.resize(e,s),this.update(),Promise.resolve(this)}),this._load}}class Rh extends Fn{constructor(t,e){const{width:s,height:r}=e||{};let n,a;Array.isArray(t)?(n=t,a=t.length):a=t,super(a,{width:s,height:r}),n&&this.initFromArray(n,e)}addBaseTextureAt(t,e){if(t.resource)this.addResourceAt(t.resource,e);else throw new Error("ArrayResource does not support RenderTexture");return this}bind(t){super.bind(t),t.target=Me.TEXTURE_2D_ARRAY}upload(t,e,s){const{length:r,itemDirtyIds:n,items:a}=this,{gl:o}=t;s.dirtyId<0&&o.texImage3D(o.TEXTURE_2D_ARRAY,0,s.internalFormat,this._width,this._height,r,0,e.format,s.type,null);for(let h=0;h0)if(t.resource)this.addResourceAt(t.resource,e);else throw new Error("CubeResource does not support copying of renderTexture.");else t.target=Me.TEXTURE_CUBE_MAP_POSITIVE_X+e,t.parentTextureArray=this.baseTexture,this.items[e]=t;return t.valid&&!this.valid&&this.resize(t.realWidth,t.realHeight),this.items[e]=t,this}upload(t,e,s){const r=this.itemDirtyIds;for(let n=0;n{if(this.url===null){t(this);return}try{const s=await N.ADAPTER.fetch(this.url,{mode:this.crossOrigin?"cors":"no-cors"});if(this.destroyed)return;const r=await s.blob();if(this.destroyed)return;const n=await createImageBitmap(r,{premultiplyAlpha:this.alphaMode===null||this.alphaMode===At.UNPACK?"premultiply":"none"});if(this.destroyed){n.close();return}this.source=n,this.update(),t(this)}catch(s){if(this.destroyed)return;e(s),this.onError.emit(s)}}),this._load)}upload(t,e,s){return this.source instanceof ImageBitmap?(typeof this.alphaMode=="number"&&(e.alphaMode=this.alphaMode),super.upload(t,e,s)):(this.load(),!1)}dispose(){this.ownsImageBitmap&&this.source instanceof ImageBitmap&&this.source.close(),super.dispose(),this._load=null}static test(t){return!!globalThis.createImageBitmap&&typeof ImageBitmap!="undefined"&&(typeof t=="string"||t instanceof ImageBitmap)}static get EMPTY(){var t;return $e._EMPTY=(t=$e._EMPTY)!=null?t:N.ADAPTER.createCanvas(0,0),$e._EMPTY}}const Ln=class Tr extends fe{constructor(t,e){e=e||{},super(N.ADAPTER.createCanvas()),this._width=0,this._height=0,this.svg=t,this.scale=e.scale||1,this._overrideWidth=e.width,this._overrideHeight=e.height,this._resolve=null,this._crossorigin=e.crossorigin,this._load=null,e.autoLoad!==!1&&this.load()}load(){return this._load?this._load:(this._load=new Promise(t=>{if(this._resolve=()=>{this.update(),t(this)},Tr.SVG_XML.test(this.svg.trim())){if(!btoa)throw new Error("Your browser doesn't support base64 conversions.");this.svg=`data:image/svg+xml;base64,${btoa(unescape(encodeURIComponent(this.svg)))}`}this._loadSvg()}),this._load)}_loadSvg(){const t=new Image;fe.crossOrigin(t,this.svg,this._crossorigin),t.src=this.svg,t.onerror=e=>{this._resolve&&(t.onerror=null,this.onError.emit(e))},t.onload=()=>{if(!this._resolve)return;const e=t.width,s=t.height;if(!e||!s)throw new Error("The SVG image must have width and height defined (in pixels), canvas API needs them.");let r=e*this.scale,n=s*this.scale;(this._overrideWidth||this._overrideHeight)&&(r=this._overrideWidth||this._overrideHeight/s*e,n=this._overrideHeight||this._overrideWidth/e*s),r=Math.round(r),n=Math.round(n);const a=this.source;a.width=r,a.height=n,a._pixiId=`canvas_${Te()}`,a.getContext("2d").drawImage(t,0,0,e,s,0,0,r,n),this._resolve(),this._resolve=null}}static getSize(t){const e=Tr.SVG_SIZE.exec(t),s={};return e&&(s[e[1]]=Math.round(parseFloat(e[3])),s[e[5]]=Math.round(parseFloat(e[7]))),s}dispose(){super.dispose(),this._resolve=null,this._crossorigin=null}static test(t,e){return e==="svg"||typeof t=="string"&&t.startsWith("data:image/svg+xml")||typeof t=="string"&&Tr.SVG_XML.test(t)}};Ln.SVG_XML=/^(<\?xml[^?]+\?>)?\s*()]*-->)?\s*\]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i;let Xi=Ln;const Un=class Aa extends fe{constructor(t,e){if(e=e||{},!(t instanceof HTMLVideoElement)){const s=document.createElement("video");e.autoLoad!==!1&&s.setAttribute("preload","auto"),e.playsinline!==!1&&(s.setAttribute("webkit-playsinline",""),s.setAttribute("playsinline","")),e.muted===!0&&(s.setAttribute("muted",""),s.muted=!0),e.loop===!0&&s.setAttribute("loop",""),e.autoPlay!==!1&&s.setAttribute("autoplay",""),typeof t=="string"&&(t=[t]);const r=t[0].src||t[0];fe.crossOrigin(s,r,e.crossorigin);for(let n=0;n{this.valid?e(this):(this._resolve=e,this._reject=s,t.load())}),this._load}_onError(t){this.source.removeEventListener("error",this._onError,!0),this.onError.emit(t),this._reject&&(this._reject(t),this._reject=null,this._resolve=null)}_isSourcePlaying(){const t=this.source;return!t.paused&&!t.ended&&this._isSourceReady()}_isSourceReady(){return this.source.readyState>2}_onPlayStart(){this.valid||this._onCanPlay(),this._configureAutoUpdate()}_onPlayStop(){this._configureAutoUpdate()}_onSeeked(){this._autoUpdate&&!this._isSourcePlaying()&&(this._msToNextUpdate=0,this.update(),this._msToNextUpdate=0)}_onCanPlay(){const t=this.source;t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlay);const e=this.valid;this._msToNextUpdate=0,this.update(),this._msToNextUpdate=0,!e&&this._resolve&&(this._resolve(this),this._resolve=null,this._reject=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&t.play()}dispose(){this._configureAutoUpdate();const t=this.source;t&&(t.removeEventListener("play",this._onPlayStart),t.removeEventListener("pause",this._onPlayStop),t.removeEventListener("seeked",this._onSeeked),t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlay),t.removeEventListener("error",this._onError,!0),t.pause(),t.src="",t.load()),super.dispose()}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,this._configureAutoUpdate())}get updateFPS(){return this._updateFPS}set updateFPS(t){t!==this._updateFPS&&(this._updateFPS=t,this._configureAutoUpdate())}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.source.requestVideoFrameCallback?(this._isConnectedToTicker&&(xt.shared.remove(this.update,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0),this._videoFrameRequestCallbackHandle===null&&(this._videoFrameRequestCallbackHandle=this.source.requestVideoFrameCallback(this._videoFrameRequestCallback))):(this._videoFrameRequestCallbackHandle!==null&&(this.source.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker||(xt.shared.add(this.update,this),this._isConnectedToTicker=!0,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.source.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(xt.shared.remove(this.update,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0))}static test(t,e){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement||Aa.TYPES.includes(e)}};Un.TYPES=["mp4","m4v","webm","ogg","ogv","h264","avi","mov"],Un.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};let kn=Un;Ei.push($e,un,Nn,kn,Xi,xs,Ph,Rh);class uf{constructor(){this._glTransformFeedbacks={},this.buffers=[],this.disposeRunner=new Pt("disposeTransformFeedback")}bindBuffer(t,e){this.buffers[t]=e}destroy(){this.disposeRunner.emit(this,!1)}}const cf="7.3.0";X.prototype.getDrawableSource=function(){const i=this.resource;return i?i.bitmap||i.source:null},Ni.prototype._canvasRenderTarget=null,L.prototype.patternCache=null,L.prototype.tintCache=null;let Os;function Mh(i){const t=N.ADAPTER.createCanvas(6,1),e=t.getContext("2d");return e.fillStyle=i,e.fillRect(0,0,6,1),t}function Gn(){if(typeof document=="undefined")return!1;if(Os!==void 0)return Os;const i=Mh("#ff00ff"),t=Mh("#ffff00"),e=N.ADAPTER.createCanvas(6,1).getContext("2d");e.globalCompositeOperation="multiply",e.drawImage(i,0,0),e.drawImage(t,2,0);const s=e.getImageData(2,0,1,1);if(!s)Os=!1;else{const r=s.data;Os=r[0]===255&&r[1]===0&&r[2]===0}return Os}function df(i=[]){return Gn()?(i[C.NORMAL]="source-over",i[C.ADD]="lighter",i[C.MULTIPLY]="multiply",i[C.SCREEN]="screen",i[C.OVERLAY]="overlay",i[C.DARKEN]="darken",i[C.LIGHTEN]="lighten",i[C.COLOR_DODGE]="color-dodge",i[C.COLOR_BURN]="color-burn",i[C.HARD_LIGHT]="hard-light",i[C.SOFT_LIGHT]="soft-light",i[C.DIFFERENCE]="difference",i[C.EXCLUSION]="exclusion",i[C.HUE]="hue",i[C.SATURATION]="saturation",i[C.COLOR]="color",i[C.LUMINOSITY]="luminosity"):(i[C.NORMAL]="source-over",i[C.ADD]="lighter",i[C.MULTIPLY]="source-over",i[C.SCREEN]="source-over",i[C.OVERLAY]="source-over",i[C.DARKEN]="source-over",i[C.LIGHTEN]="source-over",i[C.COLOR_DODGE]="source-over",i[C.COLOR_BURN]="source-over",i[C.HARD_LIGHT]="source-over",i[C.SOFT_LIGHT]="source-over",i[C.DIFFERENCE]="source-over",i[C.EXCLUSION]="source-over",i[C.HUE]="source-over",i[C.SATURATION]="source-over",i[C.COLOR]="source-over",i[C.LUMINOSITY]="source-over"),i[C.NORMAL_NPM]=i[C.NORMAL],i[C.ADD_NPM]=i[C.ADD],i[C.SCREEN_NPM]=i[C.SCREEN],i[C.SRC_IN]="source-in",i[C.SRC_OUT]="source-out",i[C.SRC_ATOP]="source-atop",i[C.DST_OVER]="destination-over",i[C.DST_IN]="destination-in",i[C.DST_OUT]="destination-out",i[C.DST_ATOP]="destination-atop",i[C.XOR]="xor",i[C.SUBTRACT]="source-over",i}const ff=new tt;class $n{constructor(t){this.activeResolution=1,this.smoothProperty="imageSmoothingEnabled",this.blendModes=df(),this._activeBlendMode=null,this._projTransform=null,this._outerBlend=!1,this.renderer=t}init(){const t=this.renderer.background.alpha<1;if(this.rootContext=this.renderer.view.getContext("2d",{alpha:t}),this.activeContext=this.rootContext,!this.rootContext.imageSmoothingEnabled){const e=this.rootContext;e.webkitImageSmoothingEnabled?this.smoothProperty="webkitImageSmoothingEnabled":e.mozImageSmoothingEnabled?this.smoothProperty="mozImageSmoothingEnabled":e.oImageSmoothingEnabled?this.smoothProperty="oImageSmoothingEnabled":e.msImageSmoothingEnabled&&(this.smoothProperty="msImageSmoothingEnabled")}}setContextTransform(t,e,s){let r=t;const n=this._projTransform,a=this.activeResolution;s=s||a,n&&(r=ff,r.copyFrom(t),r.prepend(n)),e?this.activeContext.setTransform(r.a*s,r.b*s,r.c*s,r.d*s,r.tx*a|0,r.ty*a|0):this.activeContext.setTransform(r.a*s,r.b*s,r.c*s,r.d*s,r.tx*a,r.ty*a)}clear(t,e){const{activeContext:s,renderer:r}=this,n=t?Y.shared.setValue(t):this.renderer.background.backgroundColor;s.clearRect(0,0,r.width,r.height),t&&(s.globalAlpha=e!=null?e:this.renderer.background.alpha,s.fillStyle=n.toHex(),s.fillRect(0,0,r.width,r.height),s.globalAlpha=1)}setBlendMode(t,e){const s=t===C.SRC_IN||t===C.SRC_OUT||t===C.DST_IN||t===C.DST_ATOP;!e&&s&&(t=C.NORMAL),this._activeBlendMode!==t&&(this._activeBlendMode=t,this._outerBlend=s,this.activeContext.globalCompositeOperation=this.blendModes[t])}resize(){this.smoothProperty&&(this.rootContext[this.smoothProperty]=X.defaultOptions.scaleMode===Bt.LINEAR)}invalidateBlendMode(){this._activeBlendMode=this.blendModes.indexOf(this.activeContext.globalCompositeOperation)}destroy(){this.renderer=null,this.rootContext=null,this.activeContext=null,this.smoothProperty=null}}$n.extension={type:D.CanvasRendererSystem,name:"canvasContext"},U.add($n);class Hn{constructor(t){this._foundShapes=[],this.renderer=t}pushMask(t){const e=this.renderer,s=t.maskObject||t;e.canvasContext.activeContext.save();const r=this._foundShapes;if(this.recursiveFindShapes(s,r),r.length>0){const n=e.canvasContext.activeContext;n.beginPath();for(let a=0;a0){u=0,d=h[0],f=h[1];for(let p=2;p+2=0;m-=2)e.lineTo(h[m],h[m+1])}l[p].shape.closeStroke&&e.closePath()}}h[0]===h[h.length-2]&&h[1]===h[h.length-1]&&e.closePath()}else if(o.type===it.RECT)e.rect(o.x,o.y,o.width,o.height),e.closePath();else if(o.type===it.CIRC)e.arc(o.x,o.y,o.radius,0,2*Math.PI),e.closePath();else if(o.type===it.ELIP){const h=o.width*2,l=o.height*2,u=o.x-h/2,c=o.y-l/2,d=.5522848,f=h/2*d,p=l/2*d,m=u+h,g=c+l,_=u+h/2,x=c+l/2;e.moveTo(u,x),e.bezierCurveTo(u,x-p,_-f,c,_,c),e.bezierCurveTo(_+f,c,m,x-p,m,x),e.bezierCurveTo(m,x+p,_+f,g,_,g),e.bezierCurveTo(_-f,g,u,x+p,u,x),e.closePath()}else if(o.type===it.RREC){const h=o.x,l=o.y,u=o.width,c=o.height;let d=o.radius;const f=Math.min(u,c)/2;d=d>f?f:d,e.moveTo(h,l+d),e.lineTo(h,l+c-d),e.quadraticCurveTo(h,l+c,h+d,l+c),e.lineTo(h+u-d,l+c),e.quadraticCurveTo(h+u,l+c,h+u,l+c-d),e.lineTo(h+u,l+d),e.quadraticCurveTo(h+u,l,h+u-d,l),e.lineTo(h+d,l),e.quadraticCurveTo(h,l,h,l+d),e.closePath()}}}popMask(t){t.canvasContext.activeContext.restore(),t.canvasContext.invalidateBlendMode()}destroy(){}}Hn.extension={type:D.CanvasRendererSystem,name:"mask"},U.add(Hn);class Vn{constructor(t){this.renderer=t}render(t,e){const s=this.renderer;if(!s.view)return;const r=s.canvasContext;let n,a,o,h;e&&(n=e.renderTexture,a=e.clear,o=e.transform,h=e.skipUpdateTransform),this.renderingToScreen=!n,s.emit("prerender");const l=s.resolution;n?(n=n.castToBaseTexture(),n._canvasRenderTarget||(n._canvasRenderTarget=new ys(n.width,n.height,n.resolution),n.resource=new Nn(n._canvasRenderTarget.canvas),n.valid=!0),r.activeContext=n._canvasRenderTarget.context,s.canvasContext.activeResolution=n._canvasRenderTarget.resolution):(r.activeContext=r.rootContext,r.activeResolution=l);const u=r.activeContext;if(r._projTransform=o||null,n||(this.lastObjectRendered=t),!h){const d=t.enableTempParent();t.updateTransform(),t.disableTempParent(d)}if(u.save(),u.setTransform(1,0,0,1,0,0),u.globalAlpha=1,r._activeBlendMode=C.NORMAL,r._outerBlend=!1,u.globalCompositeOperation=r.blendModes[C.NORMAL],a!=null?a:s.background.clearBeforeRender)if(this.renderingToScreen){u.clearRect(0,0,s.width,s.height);const d=s.background;d.alpha>0&&(u.globalAlpha=d.backgroundColor.alpha,u.fillStyle=d.backgroundColor.toHex(),u.fillRect(0,0,s.width,s.height),u.globalAlpha=1)}else n=n,n._canvasRenderTarget.clear(),n.clear.alpha>0&&(u.globalAlpha=n.clear.alpha,u.fillStyle=n.clear.toHex(),u.fillRect(0,0,n.realWidth,n.realHeight),u.globalAlpha=1);const c=r.activeContext;r.activeContext=u,t.renderCanvas(s),r.activeContext=c,u.restore(),r.activeResolution=l,r._projTransform=null,s.emit("postrender")}destroy(){this.lastObjectRendered=null,this.render=null}}Vn.extension={type:D.CanvasRendererSystem,name:"objectRenderer"},U.add(Vn);const{deprecation:pf}=Po,zi=class wa extends Sn{constructor(t){super(),this.type=li.CANVAS,this.rendererLogId="Canvas",t=Object.assign({},N.RENDER_OPTIONS,t);const e={runners:["init","destroy","contextChange","resolutionChange","reset","update","postrender","prerender","resize"],systems:wa.__systems,priority:["textureGenerator","background","_view","_plugin","startup","mask","canvasContext","objectRenderer"]};this.setup(e),"useContextAlpha"in t&&(t.backgroundAlpha=t.useContextAlpha===!1?1:t.backgroundAlpha),this._plugin.rendererPlugins=wa.__plugins,this.options=t,this.startup.run(this.options)}static test(){return!0}generateTexture(t,e){return this.textureGenerator.generateTexture(t,e)}reset(){}render(t,e){this.objectRenderer.render(t,e)}clear(){this.canvasContext.clear()}destroy(t){this.runners.destroy.items.reverse(),this.emitWithCustomOptions(this.runners.destroy,{_view:t}),super.destroy()}get plugins(){return this._plugin.plugins}resize(t,e){this._view.resizeView(t,e)}get width(){return this._view.element.width}get height(){return this._view.element.height}get resolution(){return this._view.resolution}set resolution(t){this._view.resolution=t,this.runners.resolutionChange.emit(t)}get autoDensity(){return this._view.autoDensity}get view(){return this._view.element}get screen(){return this._view.screen}get lastObjectRendered(){return this.objectRenderer.lastObjectRendered}get renderingToScreen(){return this.objectRenderer.renderingToScreen}get clearBeforeRender(){return this.background.clearBeforeRender}get blendModes(){return this.canvasContext.blendModes}get maskManager(){return pf("7.0.0","renderer.maskManager has been deprecated, please use renderer.mask instead"),this.mask}get refresh(){return!0}get rootContext(){return this.canvasContext.rootContext}get context(){return this.canvasContext.activeContext}get smoothProperty(){return this.canvasContext.smoothProperty}setBlendMode(t,e){this.canvasContext.setBlendMode(t,e)}invalidateBlendMode(){this.canvasContext.invalidateBlendMode()}setContextTransform(t,e,s){this.canvasContext.setContextTransform(t,e,s)}get backgroundColor(){return this.background.color}set backgroundColor(t){this.background.color=t}get backgroundAlpha(){return this.background.alpha}set backgroundAlpha(t){this.background.alpha=t}get preserveDrawingBuffer(){return!1}get useContextAlpha(){return!1}};zi.extension={type:D.Renderer,priority:0},zi.__plugins={},zi.__systems={};let Bs=zi;U.handleByMap(D.CanvasRendererPlugin,Bs.__plugins),U.handleByMap(D.CanvasRendererSystem,Bs.__systems),U.add(Bs);const gt={canvas:null,getTintedCanvas:(i,t)=>{const e=i.texture,s=Y.shared.setValue(t).toHex();e.tintCache=e.tintCache||{};const r=e.tintCache[s];let n;if(r){if(r.tintId===e._updateID)return e.tintCache[s];n=e.tintCache[s]}else n=N.ADAPTER.createCanvas();if(gt.tintMethod(e,t,n),n.tintId=e._updateID,gt.convertTintToImage&&n.toDataURL!==void 0){const a=new Image;a.src=n.toDataURL(),e.tintCache[s]=a}else e.tintCache[s]=n;return n},getTintedPattern:(i,t)=>{const e=Y.shared.setValue(t).toHex();i.patternCache=i.patternCache||{};let s=i.patternCache[e];return(s==null?void 0:s.tintId)===i._updateID||(gt.canvas||(gt.canvas=N.ADAPTER.createCanvas()),gt.tintMethod(i,t,gt.canvas),s=gt.canvas.getContext("2d").createPattern(gt.canvas,"repeat"),s.tintId=i._updateID,i.patternCache[e]=s),s},tintWithMultiply:(i,t,e)=>{const s=e.getContext("2d"),r=i._frame.clone(),n=i.baseTexture.resolution;r.x*=n,r.y*=n,r.width*=n,r.height*=n,e.width=Math.ceil(r.width),e.height=Math.ceil(r.height),s.save(),s.fillStyle=Y.shared.setValue(t).toHex(),s.fillRect(0,0,r.width,r.height),s.globalCompositeOperation="multiply";const a=i.baseTexture.getDrawableSource();s.drawImage(a,r.x,r.y,r.width,r.height,0,0,r.width,r.height),s.globalCompositeOperation="destination-atop",s.drawImage(a,r.x,r.y,r.width,r.height,0,0,r.width,r.height),s.restore()},tintWithOverlay:(i,t,e)=>{const s=e.getContext("2d"),r=i._frame.clone(),n=i.baseTexture.resolution;r.x*=n,r.y*=n,r.width*=n,r.height*=n,e.width=Math.ceil(r.width),e.height=Math.ceil(r.height),s.save(),s.globalCompositeOperation="copy",s.fillStyle=`#${`00000${(t|0).toString(16)}`.slice(-6)}`,s.fillRect(0,0,r.width,r.height),s.globalCompositeOperation="destination-atop",s.drawImage(i.baseTexture.getDrawableSource(),r.x,r.y,r.width,r.height,0,0,r.width,r.height),s.restore()},tintWithPerPixel:(i,t,e)=>{const s=e.getContext("2d"),r=i._frame.clone(),n=i.baseTexture.resolution;r.x*=n,r.y*=n,r.width*=n,r.height*=n,e.width=Math.ceil(r.width),e.height=Math.ceil(r.height),s.save(),s.globalCompositeOperation="copy",s.drawImage(i.baseTexture.getDrawableSource(),r.x,r.y,r.width,r.height,0,0,r.width,r.height),s.restore();const[a,o,h]=Y.shared.setValue(t).toArray(),l=s.getImageData(0,0,r.width,r.height),u=l.data;for(let c=0;cY.shared.setValue(i).round(gt.cacheStepsPerColorChannel).toNumber(),cacheStepsPerColorChannel:8,convertTintToImage:!1,canUseMultiply:Gn(),tintMethod:null};gt.tintMethod=gt.canUseMultiply?gt.tintWithMultiply:gt.tintWithPerPixel;class Fs{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.rect=null,this.updateID=-1}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}clear(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}getRectangle(t){return this.minX>this.maxX||this.minY>this.maxY?z.EMPTY:(t=t||new z(0,0,1,1),t.x=this.minX,t.y=this.minY,t.width=this.maxX-this.minX,t.height=this.maxY-this.minY,t)}addPoint(t){this.minX=Math.min(this.minX,t.x),this.maxX=Math.max(this.maxX,t.x),this.minY=Math.min(this.minY,t.y),this.maxY=Math.max(this.maxY,t.y)}addPointMatrix(t,e){const{a:s,b:r,c:n,d:a,tx:o,ty:h}=t,l=s*e.x+n*e.y+o,u=r*e.x+a*e.y+h;this.minX=Math.min(this.minX,l),this.maxX=Math.max(this.maxX,l),this.minY=Math.min(this.minY,u),this.maxY=Math.max(this.maxY,u)}addQuad(t){let e=this.minX,s=this.minY,r=this.maxX,n=this.maxY,a=t[0],o=t[1];e=ar?a:r,n=o>n?o:n,a=t[2],o=t[3],e=ar?a:r,n=o>n?o:n,a=t[4],o=t[5],e=ar?a:r,n=o>n?o:n,a=t[6],o=t[7],e=ar?a:r,n=o>n?o:n,this.minX=e,this.minY=s,this.maxX=r,this.maxY=n}addFrame(t,e,s,r,n){this.addFrameMatrix(t.worldTransform,e,s,r,n)}addFrameMatrix(t,e,s,r,n){const a=t.a,o=t.b,h=t.c,l=t.d,u=t.tx,c=t.ty;let d=this.minX,f=this.minY,p=this.maxX,m=this.maxY,g=a*e+h*s+u,_=o*e+l*s+c;d=gp?g:p,m=_>m?_:m,g=a*r+h*s+u,_=o*r+l*s+c,d=gp?g:p,m=_>m?_:m,g=a*e+h*n+u,_=o*e+l*n+c,d=gp?g:p,m=_>m?_:m,g=a*r+h*n+u,_=o*r+l*n+c,d=gp?g:p,m=_>m?_:m,this.minX=d,this.minY=f,this.maxX=p,this.maxY=m}addVertexData(t,e,s){let r=this.minX,n=this.minY,a=this.maxX,o=this.maxY;for(let h=e;ha?l:a,o=u>o?u:o}this.minX=r,this.minY=n,this.maxX=a,this.maxY=o}addVertices(t,e,s,r){this.addVerticesMatrix(t.worldTransform,e,s,r)}addVerticesMatrix(t,e,s,r,n=0,a=n){const o=t.a,h=t.b,l=t.c,u=t.d,c=t.tx,d=t.ty;let f=this.minX,p=this.minY,m=this.maxX,g=this.maxY;for(let _=s;_r?t.maxX:r,this.maxY=t.maxY>n?t.maxY:n}addBoundsMask(t,e){const s=t.minX>e.minX?t.minX:e.minX,r=t.minY>e.minY?t.minY:e.minY,n=t.maxXl?n:l,this.maxY=a>u?a:u}}addBoundsMatrix(t,e){this.addFrameMatrix(e,t.minX,t.minY,t.maxX,t.maxY)}addBoundsArea(t,e){const s=t.minX>e.x?t.minX:e.x,r=t.minY>e.y?t.minY:e.y,n=t.maxXl?n:l,this.maxY=a>u?a:u}}pad(t=0,e=t){this.isEmpty()||(this.minX-=t,this.maxX+=t,this.minY-=e,this.maxY+=e)}addFramePad(t,e,s,r,n,a){t-=n,e-=a,s+=n,r+=a,this.minX=this.minXs?this.maxX:s,this.minY=this.minYr?this.maxY:r}}class ot extends Ye{constructor(){super(),this.tempDisplayObjectParent=null,this.transform=new Pi,this.alpha=1,this.visible=!0,this.renderable=!0,this.cullable=!1,this.cullArea=null,this.parent=null,this.worldAlpha=1,this._lastSortedIndex=0,this._zIndex=0,this.filterArea=null,this.filters=null,this._enabledFilters=null,this._bounds=new Fs,this._localBounds=null,this._boundsID=0,this._boundsRect=null,this._localBoundsRect=null,this._mask=null,this._maskRefCount=0,this._destroyed=!1,this.isSprite=!1,this.isMask=!1}static mixin(t){const e=Object.keys(t);for(let s=0;s1)for(let e=0;ethis.children.length)throw new Error(`${t}addChildAt: The index ${e} supplied is out of bounds ${this.children.length}`);return t.parent&&t.parent.removeChild(t),t.parent=this,this.sortDirty=!0,t.transform._parentID=-1,this.children.splice(e,0,t),this._boundsID++,this.onChildrenChange(e),t.emit("added",this),this.emit("childAdded",t,this,e),t}swapChildren(t,e){if(t===e)return;const s=this.getChildIndex(t),r=this.getChildIndex(e);this.children[s]=e,this.children[r]=t,this.onChildrenChange(s=this.children.length)throw new Error(`The index ${e} supplied is out of bounds ${this.children.length}`);const s=this.getChildIndex(t);Oe(this.children,s,1),this.children.splice(e,0,t),this.onChildrenChange(e)}getChildAt(t){if(t<0||t>=this.children.length)throw new Error(`getChildAt: Index (${t}) does not exist.`);return this.children[t]}removeChild(...t){if(t.length>1)for(let e=0;e0&&n<=r){a=this.children.splice(s,n);for(let o=0;o1&&this.children.sort(gf),this.sortDirty=!1}updateTransform(){this.sortableChildren&&this.sortDirty&&this.sortChildren(),this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha;for(let t=0,e=this.children.length;t0&&e.height>0))return;let s,r;this.cullArea?(s=this.cullArea,r=this.worldTransform):this._render!==Sa.prototype._render&&(s=this.getBounds(!0));const n=t.projection.transform;if(n&&(r?(r=mf.copyFrom(r),r.prepend(n)):r=n),s&&e.intersects(s,r))this._render(t);else if(this.cullArea)return;for(let a=0,o=this.children.length;a=r&&Ns.x=n&&Ns.y=r&&Ls.x=n&&Ls.y1?Wt.from(yf,vf,e):Wt.from(Bh,xf,e)}render(t){const e=this.renderer,s=this.quad;let r=s.vertices;r[0]=r[6]=t._width*-t.anchor.x,r[1]=r[3]=t._height*-t.anchor.y,r[2]=r[4]=t._width*(1-t.anchor.x),r[5]=r[7]=t._height*(1-t.anchor.y);const n=t.uvRespectAnchor?t.anchor.x:0,a=t.uvRespectAnchor?t.anchor.y:0;r=s.uvs,r[0]=r[6]=-n,r[1]=r[3]=-a,r[2]=r[4]=1-n,r[5]=r[7]=1-a,s.invalidate();const o=t._texture,h=o.baseTexture,l=h.alphaMode>0,u=t.tileTransform.localTransform,c=t.uvMatrix;let d=h.isPowerOfTwo&&o.frame.width===h.width&&o.frame.height===h.height;d&&(h._glTextures[e.CONTEXT_UID]?d=h.wrapMode!==Zt.CLAMP:h.wrapMode===Zt.CLAMP&&(h.wrapMode=Zt.REPEAT));const f=d?this.simpleShader:this.shader,p=o.width,m=o.height,g=t._width,_=t._height;Yi.set(u.a*p/g,u.b*p/_,u.c*m/g,u.d*m/_,u.tx/g,u.ty/_),Yi.invert(),d?Yi.prepend(c.mapCoord):(f.uniforms.uMapCoord=c.mapCoord.toArray(!0),f.uniforms.uClampFrame=c.uClampFrame,f.uniforms.uClampOffset=c.uClampOffset),f.uniforms.uTransform=Yi.toArray(!0),f.uniforms.uColor=Y.shared.setValue(t.tint).premultiply(t.worldAlpha,l).toArray(f.uniforms.uColor),f.uniforms.translationMatrix=t.transform.worldTransform.toArray(!0),f.uniforms.uSampler=o,e.shader.bind(f),e.geometry.bind(s),this.state.blendMode=$r(t.blendMode,l),e.state.set(this.state),e.geometry.draw(this.renderer.gl.TRIANGLES,6,0)}}jn.extension={name:"tilingSprite",type:D.RendererPlugin},U.add(jn);const qi=new tt,Us=new tt,ie=[new K,new K,new K,new K];Wi.prototype._renderCanvas=function(i){const t=this._texture;if(!t.baseTexture.valid)return;const e=i.canvasContext.activeContext,s=this.worldTransform,r=t.baseTexture,n=r.getDrawableSource(),a=r.resolution;if(this._textureID!==this._texture._updateID||this._cachedTint!==this.tintValue){this._textureID=this._texture._updateID;const d=new ys(t._frame.width,t._frame.height,a);this.tintValue!==16777215?(this._tintedCanvas=gt.getTintedCanvas(this,this.tintValue),d.context.drawImage(this._tintedCanvas,0,0)):d.context.drawImage(n,-t._frame.x*a,-t._frame.y*a),this._cachedTint=this.tintValue,this._canvasPattern=d.context.createPattern(d.canvas,"repeat")}e.globalAlpha=this.worldAlpha,i.canvasContext.setBlendMode(this.blendMode),this.tileTransform.updateLocalTransform();const o=this.tileTransform.localTransform,h=this._width,l=this._height;qi.identity(),Us.copyFrom(o),this.uvRespectAnchor||Us.translate(-this.anchor.x*h,-this.anchor.y*l),Us.scale(1/a,1/a),qi.prepend(Us),qi.prepend(s),i.canvasContext.setContextTransform(qi),e.fillStyle=this._canvasPattern;const u=this.anchor.x*-h,c=this.anchor.y*-l;ie[0].set(u,c),ie[1].set(u+h,c),ie[2].set(u+h,c+l),ie[3].set(u,c+l);for(let d=0;d<4;d++)Us.applyInverse(ie[d],ie[d]);e.beginPath(),e.moveTo(ie[0].x,ie[0].y);for(let d=1;d<4;d++)e.lineTo(ie[d].x,ie[d].y);e.closePath(),e.fill()};class Fh extends St{constructor(t=1500,e,s=16384,r=!1){super();const n=16384;s>n&&(s=n),this._properties=[!1,!0,!1,!1,!1],this._maxSize=t,this._batchSize=s,this._buffers=null,this._bufferUpdateIDs=[],this._updateID=0,this.interactiveChildren=!1,this.blendMode=C.NORMAL,this.autoResize=r,this.roundPixels=!0,this.baseTexture=null,this.setProperties(e),this._tintColor=new Y(0),this.tintRgb=new Float32Array(3),this.tint=16777215}setProperties(t){t&&(this._properties[0]="vertices"in t||"scale"in t?!!t.vertices||!!t.scale:this._properties[0],this._properties[1]="position"in t?!!t.position:this._properties[1],this._properties[2]="rotation"in t?!!t.rotation:this._properties[2],this._properties[3]="uvs"in t?!!t.uvs:this._properties[3],this._properties[4]="tint"in t||"alpha"in t?!!t.tint||!!t.alpha:this._properties[4])}updateTransform(){this.displayObjectUpdateTransform()}get tint(){return this._tintColor.value}set tint(t){this._tintColor.setValue(t),this._tintColor.toRgbArray(this.tintRgb)}render(t){!this.visible||this.worldAlpha<=0||!this.children.length||!this.renderable||(this.baseTexture||(this.baseTexture=this.children[0]._texture.baseTexture,this.baseTexture.valid||this.baseTexture.once("update",()=>this.onChildrenChange(0))),t.batch.setObjectRenderer(t.plugins.particle),t.plugins.particle.render(this))}onChildrenChange(t){const e=Math.floor(t/this._batchSize);for(;this._bufferUpdateIDs.lengths&&!t.autoResize&&(a=s);let o=t._buffers;o||(o=t._buffers=this.generateBuffers(t));const h=e[0]._texture.baseTexture,l=h.alphaMode>0;this.state.blendMode=$r(t.blendMode,l),n.state.set(this.state);const u=n.gl,c=t.worldTransform.copyTo(this.tempMatrix);c.prepend(n.globalUniforms.uniforms.projectionMatrix),this.shader.uniforms.translationMatrix=c.toArray(!0),this.shader.uniforms.uColor=Y.shared.setValue(t.tintRgb).premultiply(t.worldAlpha,l).toArray(this.shader.uniforms.uColor),this.shader.uniforms.uSampler=h,this.renderer.shader.bind(this.shader);let d=!1;for(let f=0,p=0;fr&&(m=r),p>=o.length&&o.push(this._generateOneMoreBuffer(t));const g=o[p];g.uploadDynamic(e,f,m);const _=t._bufferUpdateIDs[p]||0;d=d||g._updateID<_,d&&(g._updateID=t._updateID,g.uploadStatic(e,f,m)),n.geometry.bind(g.geometry),u.drawElements(u.TRIANGLES,m*6,u.UNSIGNED_SHORT,0)}}generateBuffers(t){const e=[],s=t._maxSize,r=t._batchSize,n=t._properties;for(let a=0;a0);r[a]=l,r[a+n]=l,r[a+n*2]=l,r[a+n*3]=l,a+=n*4}}destroy(){super.destroy(),this.shader&&(this.shader.destroy(),this.shader=null),this.tempMatrix=null}}Xn.extension={name:"particle",type:D.RendererPlugin},U.add(Xn),Fh.prototype.renderCanvas=function(i){if(!this.visible||this.worldAlpha<=0||!this.children.length||!this.renderable)return;const t=i.canvasContext.activeContext,e=this.worldTransform;let s=!0,r=0,n=0,a=0,o=0;i.canvasContext.setBlendMode(this.blendMode),t.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(let h=0;h(i[i.LINEAR_VERTICAL=0]="LINEAR_VERTICAL",i[i.LINEAR_HORIZONTAL=1]="LINEAR_HORIZONTAL",i))(ks||{});const Ki={willReadFrequently:!0},re=class G{static get experimentalLetterSpacingSupported(){let t=G._experimentalLetterSpacingSupported;if(t!==void 0){const e=N.ADAPTER.getCanvasRenderingContext2D().prototype;t=G._experimentalLetterSpacingSupported="letterSpacing"in e||"textLetterSpacing"in e}return t}constructor(t,e,s,r,n,a,o,h,l){this.text=t,this.style=e,this.width=s,this.height=r,this.lines=n,this.lineWidths=a,this.lineHeight=o,this.maxLineWidth=h,this.fontProperties=l}static measureText(t,e,s,r=G._canvas){s=s==null?e.wordWrap:s;const n=e.toFontString(),a=G.measureFont(n);a.fontSize===0&&(a.fontSize=e.fontSize,a.ascent=e.fontSize);const o=r.getContext("2d",Ki);o.font=n;const h=(s?G.wordWrap(t,e,r):t).split(/(?:\r\n|\r|\n)/),l=new Array(h.length);let u=0;for(let p=0;p0&&(r?n-=e:n+=(G.graphemeSegmenter(t).length-1)*e),n}static wordWrap(t,e,s=G._canvas){const r=s.getContext("2d",Ki);let n=0,a="",o="";const h=Object.create(null),{letterSpacing:l,whiteSpace:u}=e,c=G.collapseSpaces(u),d=G.collapseNewlines(u);let f=!c;const p=e.wordWrapWidth+l,m=G.tokenize(t);for(let g=0;gp)if(a!==""&&(o+=G.addLine(a),a="",n=0),G.canBreakWords(_,e.breakWords)){const v=G.wordWrapSplit(_);for(let b=0;bp&&(o+=G.addLine(a),f=!1,a="",n=0),a+=T,n+=A}}else{a.length>0&&(o+=G.addLine(a),a="",n=0);const v=g===m.length-1;o+=G.addLine(_,!v),f=!1,a="",n=0}else x+n>p&&(f=!1,o+=G.addLine(a),a="",n=0),(a.length>0||!G.isBreakingSpace(_)||f)&&(a+=_,n+=x)}return o+=G.addLine(a,!1),o}static addLine(t,e=!0){return t=G.trimRight(t),t=e?`${t} +`:t,t}static getFromCache(t,e,s,r){let n=s[t];return typeof n!="number"&&(n=G._measureText(t,e,r)+e,s[t]=n),n}static collapseSpaces(t){return t==="normal"||t==="pre-line"}static collapseNewlines(t){return t==="normal"}static trimRight(t){if(typeof t!="string")return"";for(let e=t.length-1;e>=0;e--){const s=t[e];if(!G.isBreakingSpace(s))break;t=t.slice(0,-1)}return t}static isNewline(t){return typeof t!="string"?!1:G._newlines.includes(t.charCodeAt(0))}static isBreakingSpace(t,e){return typeof t!="string"?!1:G._breakingSpaces.includes(t.charCodeAt(0))}static tokenize(t){const e=[];let s="";if(typeof t!="string")return e;for(let r=0;ro;--d){for(let m=0;m{if(typeof(Intl==null?void 0:Intl.Segmenter)=="function"){const i=new Intl.Segmenter;return t=>[...i.segment(t)].map(e=>e.segment)}return i=>[...i]})(),re.experimentalLetterSpacing=!1,re._fonts={},re._newlines=[10,13],re._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];let me=re;const Af=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],Lh=class ai{constructor(t){this.styleID=0,this.reset(),Wn(this,t,t)}clone(){const t={};return Wn(t,this,ai.defaultStyle),new ai(t)}reset(){Wn(this,ai.defaultStyle,ai.defaultStyle)}get align(){return this._align}set align(t){this._align!==t&&(this._align=t,this.styleID++)}get breakWords(){return this._breakWords}set breakWords(t){this._breakWords!==t&&(this._breakWords=t,this.styleID++)}get dropShadow(){return this._dropShadow}set dropShadow(t){this._dropShadow!==t&&(this._dropShadow=t,this.styleID++)}get dropShadowAlpha(){return this._dropShadowAlpha}set dropShadowAlpha(t){this._dropShadowAlpha!==t&&(this._dropShadowAlpha=t,this.styleID++)}get dropShadowAngle(){return this._dropShadowAngle}set dropShadowAngle(t){this._dropShadowAngle!==t&&(this._dropShadowAngle=t,this.styleID++)}get dropShadowBlur(){return this._dropShadowBlur}set dropShadowBlur(t){this._dropShadowBlur!==t&&(this._dropShadowBlur=t,this.styleID++)}get dropShadowColor(){return this._dropShadowColor}set dropShadowColor(t){const e=zn(t);this._dropShadowColor!==e&&(this._dropShadowColor=e,this.styleID++)}get dropShadowDistance(){return this._dropShadowDistance}set dropShadowDistance(t){this._dropShadowDistance!==t&&(this._dropShadowDistance=t,this.styleID++)}get fill(){return this._fill}set fill(t){const e=zn(t);this._fill!==e&&(this._fill=e,this.styleID++)}get fillGradientType(){return this._fillGradientType}set fillGradientType(t){this._fillGradientType!==t&&(this._fillGradientType=t,this.styleID++)}get fillGradientStops(){return this._fillGradientStops}set fillGradientStops(t){wf(this._fillGradientStops,t)||(this._fillGradientStops=t,this.styleID++)}get fontFamily(){return this._fontFamily}set fontFamily(t){this.fontFamily!==t&&(this._fontFamily=t,this.styleID++)}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize!==t&&(this._fontSize=t,this.styleID++)}get fontStyle(){return this._fontStyle}set fontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.styleID++)}get fontVariant(){return this._fontVariant}set fontVariant(t){this._fontVariant!==t&&(this._fontVariant=t,this.styleID++)}get fontWeight(){return this._fontWeight}set fontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.styleID++)}get letterSpacing(){return this._letterSpacing}set letterSpacing(t){this._letterSpacing!==t&&(this._letterSpacing=t,this.styleID++)}get lineHeight(){return this._lineHeight}set lineHeight(t){this._lineHeight!==t&&(this._lineHeight=t,this.styleID++)}get leading(){return this._leading}set leading(t){this._leading!==t&&(this._leading=t,this.styleID++)}get lineJoin(){return this._lineJoin}set lineJoin(t){this._lineJoin!==t&&(this._lineJoin=t,this.styleID++)}get miterLimit(){return this._miterLimit}set miterLimit(t){this._miterLimit!==t&&(this._miterLimit=t,this.styleID++)}get padding(){return this._padding}set padding(t){this._padding!==t&&(this._padding=t,this.styleID++)}get stroke(){return this._stroke}set stroke(t){const e=zn(t);this._stroke!==e&&(this._stroke=e,this.styleID++)}get strokeThickness(){return this._strokeThickness}set strokeThickness(t){this._strokeThickness!==t&&(this._strokeThickness=t,this.styleID++)}get textBaseline(){return this._textBaseline}set textBaseline(t){this._textBaseline!==t&&(this._textBaseline=t,this.styleID++)}get trim(){return this._trim}set trim(t){this._trim!==t&&(this._trim=t,this.styleID++)}get whiteSpace(){return this._whiteSpace}set whiteSpace(t){this._whiteSpace!==t&&(this._whiteSpace=t,this.styleID++)}get wordWrap(){return this._wordWrap}set wordWrap(t){this._wordWrap!==t&&(this._wordWrap=t,this.styleID++)}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(t){this._wordWrapWidth!==t&&(this._wordWrapWidth=t,this.styleID++)}toFontString(){const t=typeof this.fontSize=="number"?`${this.fontSize}px`:this.fontSize;let e=this.fontFamily;Array.isArray(this.fontFamily)||(e=this.fontFamily.split(","));for(let s=e.length-1;s>=0;s--){let r=e[s].trim();!/([\"\'])[^\'\"]+\1/.test(r)&&!Af.includes(r)&&(r=`"${r}"`),e[s]=r}return`${this.fontStyle} ${this.fontVariant} ${this.fontWeight} ${t} ${e.join(",")}`}};Lh.defaultStyle={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fillGradientType:ks.LINEAR_VERTICAL,fillGradientStops:[],fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",leading:0,letterSpacing:0,lineHeight:0,lineJoin:"miter",miterLimit:10,padding:0,stroke:"black",strokeThickness:0,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100};let ge=Lh;function zn(i){const t=Y.shared,e=s=>{const r=t.setValue(s);return r.alpha===1?r.toHex():r.toRgbaString()};return Array.isArray(i)?i.map(e):e(i)}function wf(i,t){if(!Array.isArray(i)||!Array.isArray(t)||i.length!==t.length)return!1;for(let e=0;e0&&p>m&&(g=(m+p)/2);const _=m+d,x=s.lineHeight*(f+1);let v=_;f+1=e&&(a=i-o-1),h=h.replace("%value%",t[a].toString()),r+=h,r+=` +`}return s=s.replace("%blur%",r),s=s.replace("%size%",i.toString()),s}const Df=` + attribute vec2 aVertexPosition; + + uniform mat3 projectionMatrix; + + uniform float strength; + + varying vec2 vBlurTexCoords[%size%]; + + uniform vec4 inputSize; + uniform vec4 outputFrame; + + vec4 filterVertexPosition( void ) + { + vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy; + + return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); + } + + vec2 filterTextureCoord( void ) + { + return aVertexPosition * (outputFrame.zw * inputSize.zw); + } + + void main(void) + { + gl_Position = filterVertexPosition(); + + vec2 textureCoord = filterTextureCoord(); + %blur% + }`;function Of(i,t){const e=Math.ceil(i/2);let s=Df,r="",n;t?n="vBlurTexCoords[%index%] = textureCoord + vec2(%sampleIndex% * strength, 0.0);":n="vBlurTexCoords[%index%] = textureCoord + vec2(0.0, %sampleIndex% * strength);";for(let a=0;a 0.0) { + c.rgb /= c.a; + } + + vec4 result; + + result.r = (m[0] * c.r); + result.r += (m[1] * c.g); + result.r += (m[2] * c.b); + result.r += (m[3] * c.a); + result.r += m[4]; + + result.g = (m[5] * c.r); + result.g += (m[6] * c.g); + result.g += (m[7] * c.b); + result.g += (m[8] * c.a); + result.g += m[9]; + + result.b = (m[10] * c.r); + result.b += (m[11] * c.g); + result.b += (m[12] * c.b); + result.b += (m[13] * c.a); + result.b += m[14]; + + result.a = (m[15] * c.r); + result.a += (m[16] * c.g); + result.a += (m[17] * c.b); + result.a += (m[18] * c.a); + result.a += m[19]; + + vec3 rgb = mix(c.rgb, result.rgb, uAlpha); + + // Premultiply alpha again. + rgb *= result.a; + + gl_FragColor = vec4(rgb, result.a); +} +`;class Ji extends Tt{constructor(){const t={m:new Float32Array([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]),uAlpha:1};super(Mn,Bf,t),this.alpha=1}_loadMatrix(t,e=!1){let s=t;e&&(this._multiply(s,this.uniforms.m,t),s=this._colorMatrix(s)),this.uniforms.m=s}_multiply(t,e,s){return t[0]=e[0]*s[0]+e[1]*s[5]+e[2]*s[10]+e[3]*s[15],t[1]=e[0]*s[1]+e[1]*s[6]+e[2]*s[11]+e[3]*s[16],t[2]=e[0]*s[2]+e[1]*s[7]+e[2]*s[12]+e[3]*s[17],t[3]=e[0]*s[3]+e[1]*s[8]+e[2]*s[13]+e[3]*s[18],t[4]=e[0]*s[4]+e[1]*s[9]+e[2]*s[14]+e[3]*s[19]+e[4],t[5]=e[5]*s[0]+e[6]*s[5]+e[7]*s[10]+e[8]*s[15],t[6]=e[5]*s[1]+e[6]*s[6]+e[7]*s[11]+e[8]*s[16],t[7]=e[5]*s[2]+e[6]*s[7]+e[7]*s[12]+e[8]*s[17],t[8]=e[5]*s[3]+e[6]*s[8]+e[7]*s[13]+e[8]*s[18],t[9]=e[5]*s[4]+e[6]*s[9]+e[7]*s[14]+e[8]*s[19]+e[9],t[10]=e[10]*s[0]+e[11]*s[5]+e[12]*s[10]+e[13]*s[15],t[11]=e[10]*s[1]+e[11]*s[6]+e[12]*s[11]+e[13]*s[16],t[12]=e[10]*s[2]+e[11]*s[7]+e[12]*s[12]+e[13]*s[17],t[13]=e[10]*s[3]+e[11]*s[8]+e[12]*s[13]+e[13]*s[18],t[14]=e[10]*s[4]+e[11]*s[9]+e[12]*s[14]+e[13]*s[19]+e[14],t[15]=e[15]*s[0]+e[16]*s[5]+e[17]*s[10]+e[18]*s[15],t[16]=e[15]*s[1]+e[16]*s[6]+e[17]*s[11]+e[18]*s[16],t[17]=e[15]*s[2]+e[16]*s[7]+e[17]*s[12]+e[18]*s[17],t[18]=e[15]*s[3]+e[16]*s[8]+e[17]*s[13]+e[18]*s[18],t[19]=e[15]*s[4]+e[16]*s[9]+e[17]*s[14]+e[18]*s[19]+e[19],t}_colorMatrix(t){const e=new Float32Array(t);return e[4]/=255,e[9]/=255,e[14]/=255,e[19]/=255,e}brightness(t,e){const s=[t,0,0,0,0,0,t,0,0,0,0,0,t,0,0,0,0,0,1,0];this._loadMatrix(s,e)}tint(t,e){const[s,r,n]=Y.shared.setValue(t).toArray(),a=[s,0,0,0,0,0,r,0,0,0,0,0,n,0,0,0,0,0,1,0];this._loadMatrix(a,e)}greyscale(t,e){const s=[t,t,t,0,0,t,t,t,0,0,t,t,t,0,0,0,0,0,1,0];this._loadMatrix(s,e)}blackAndWhite(t){const e=[.3,.6,.1,0,0,.3,.6,.1,0,0,.3,.6,.1,0,0,0,0,0,1,0];this._loadMatrix(e,t)}hue(t,e){t=(t||0)/180*Math.PI;const s=Math.cos(t),r=Math.sin(t),n=Math.sqrt,a=1/3,o=n(a),h=s+(1-s)*a,l=a*(1-s)-o*r,u=a*(1-s)+o*r,c=a*(1-s)+o*r,d=s+a*(1-s),f=a*(1-s)-o*r,p=a*(1-s)-o*r,m=a*(1-s)+o*r,g=s+a*(1-s),_=[h,l,u,0,0,c,d,f,0,0,p,m,g,0,0,0,0,0,1,0];this._loadMatrix(_,e)}contrast(t,e){const s=(t||0)+1,r=-.5*(s-1),n=[s,0,0,0,r,0,s,0,0,r,0,0,s,0,r,0,0,0,1,0];this._loadMatrix(n,e)}saturate(t=0,e){const s=t*2/3+1,r=(s-1)*-.5,n=[s,r,r,0,0,r,s,r,0,0,r,r,s,0,0,0,0,0,1,0];this._loadMatrix(n,e)}desaturate(){this.saturate(-1)}negative(t){const e=[-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,0];this._loadMatrix(e,t)}sepia(t){const e=[.393,.7689999,.18899999,0,0,.349,.6859999,.16799999,0,0,.272,.5339999,.13099999,0,0,0,0,0,1,0];this._loadMatrix(e,t)}technicolor(t){const e=[1.9125277891456083,-.8545344976951645,-.09155508482755585,0,11.793603434377337,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-70.35205161461398,-.231103377548616,-.7501899197440212,1.847597816108189,0,30.950940869491138,0,0,0,1,0];this._loadMatrix(e,t)}polaroid(t){const e=[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0];this._loadMatrix(e,t)}toBGR(t){const e=[0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0];this._loadMatrix(e,t)}kodachrome(t){const e=[1.1285582396593525,-.3967382283601348,-.03992559172921793,0,63.72958762196502,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,24.732407896706203,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,35.62982807460946,0,0,0,1,0];this._loadMatrix(e,t)}browni(t){const e=[.5997023498159715,.34553243048391263,-.2708298674538042,0,47.43192855600873,-.037703249837783157,.8609577587992641,.15059552388459913,0,-36.96841498319127,.24113635128153335,-.07441037908422492,.44972182064877153,0,-7.562075277591283,0,0,0,1,0];this._loadMatrix(e,t)}vintage(t){const e=[.6279345635605994,.3202183420819367,-.03965408211312453,0,9.651285835294123,.02578397704808868,.6441188644374771,.03259127616149294,0,7.462829176470591,.0466055556782719,-.0851232987247891,.5241648018700465,0,5.159190588235296,0,0,0,1,0];this._loadMatrix(e,t)}colorTone(t,e,s,r,n){t=t||.2,e=e||.15,s=s||16770432,r=r||3375104;const a=Y.shared,[o,h,l]=a.setValue(s).toArray(),[u,c,d]=a.setValue(r).toArray(),f=[.3,.59,.11,0,0,o,h,l,t,0,u,c,d,e,0,o-u,h-c,l-d,0,0];this._loadMatrix(f,n)}night(t,e){t=t||.1;const s=[t*-2,-t,0,0,0,-t,0,t,0,0,0,t,t*2,0,0,0,0,0,1,0];this._loadMatrix(s,e)}predator(t,e){const s=[11.224130630493164*t,-4.794486999511719*t,-2.8746118545532227*t,0*t,.40342438220977783*t,-3.6330697536468506*t,9.193157196044922*t,-2.951810836791992*t,0*t,-1.316135048866272*t,-3.2184197902679443*t,-4.2375030517578125*t,7.476448059082031*t,0*t,.8044459223747253*t,0,0,0,1,0];this._loadMatrix(s,e)}lsd(t){const e=[2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0];this._loadMatrix(e,t)}reset(){const t=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0];this._loadMatrix(t,!1)}get matrix(){return this.uniforms.m}set matrix(t){this.uniforms.m=t}get alpha(){return this.uniforms.uAlpha}set alpha(t){this.uniforms.uAlpha=t}}Ji.prototype.grayscale=Ji.prototype.greyscale;var Ff=`varying vec2 vFilterCoord; +varying vec2 vTextureCoord; + +uniform vec2 scale; +uniform mat2 rotation; +uniform sampler2D uSampler; +uniform sampler2D mapSampler; + +uniform highp vec4 inputSize; +uniform vec4 inputClamp; + +void main(void) +{ + vec4 map = texture2D(mapSampler, vFilterCoord); + + map -= 0.5; + map.xy = scale * inputSize.zw * (rotation * map.xy); + + gl_FragColor = texture2D(uSampler, clamp(vec2(vTextureCoord.x + map.x, vTextureCoord.y + map.y), inputClamp.xy, inputClamp.zw)); +} +`,Nf=`attribute vec2 aVertexPosition; + +uniform mat3 projectionMatrix; +uniform mat3 filterMatrix; + +varying vec2 vTextureCoord; +varying vec2 vFilterCoord; + +uniform vec4 inputSize; +uniform vec4 outputFrame; + +vec4 filterVertexPosition( void ) +{ + vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy; + + return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); +} + +vec2 filterTextureCoord( void ) +{ + return aVertexPosition * (outputFrame.zw * inputSize.zw); +} + +void main(void) +{ + gl_Position = filterVertexPosition(); + vTextureCoord = filterTextureCoord(); + vFilterCoord = ( filterMatrix * vec3( vTextureCoord, 1.0) ).xy; +} +`;class Hh extends Tt{constructor(t,e){const s=new tt;t.renderable=!1,super(Nf,Ff,{mapSampler:t._texture,filterMatrix:s,scale:{x:1,y:1},rotation:new Float32Array([1,0,0,1])}),this.maskSprite=t,this.maskMatrix=s,e==null&&(e=20),this.scale=new K(e,e)}apply(t,e,s,r){this.uniforms.filterMatrix=t.calculateSpriteMatrix(this.maskMatrix,this.maskSprite),this.uniforms.scale.x=this.scale.x,this.uniforms.scale.y=this.scale.y;const n=this.maskSprite.worldTransform,a=Math.sqrt(n.a*n.a+n.b*n.b),o=Math.sqrt(n.c*n.c+n.d*n.d);a!==0&&o!==0&&(this.uniforms.rotation[0]=n.a/a,this.uniforms.rotation[1]=n.b/a,this.uniforms.rotation[2]=n.c/o,this.uniforms.rotation[3]=n.d/o),t.applyFilter(this,e,s,r)}get map(){return this.uniforms.mapSampler}set map(t){this.uniforms.mapSampler=t}}var Lf=`varying vec2 v_rgbNW; +varying vec2 v_rgbNE; +varying vec2 v_rgbSW; +varying vec2 v_rgbSE; +varying vec2 v_rgbM; + +varying vec2 vFragCoord; +uniform sampler2D uSampler; +uniform highp vec4 inputSize; + + +/** + Basic FXAA implementation based on the code on geeks3d.com with the + modification that the texture2DLod stuff was removed since it's + unsupported by WebGL. + + -- + + From: + https://github.com/mitsuhiko/webgl-meincraft + + Copyright (c) 2011 by Armin Ronacher. + + Some rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * The names of the contributors may not be used to endorse or + promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef FXAA_REDUCE_MIN +#define FXAA_REDUCE_MIN (1.0/ 128.0) +#endif +#ifndef FXAA_REDUCE_MUL +#define FXAA_REDUCE_MUL (1.0 / 8.0) +#endif +#ifndef FXAA_SPAN_MAX +#define FXAA_SPAN_MAX 8.0 +#endif + +//optimized version for mobile, where dependent +//texture reads can be a bottleneck +vec4 fxaa(sampler2D tex, vec2 fragCoord, vec2 inverseVP, + vec2 v_rgbNW, vec2 v_rgbNE, + vec2 v_rgbSW, vec2 v_rgbSE, + vec2 v_rgbM) { + vec4 color; + vec3 rgbNW = texture2D(tex, v_rgbNW).xyz; + vec3 rgbNE = texture2D(tex, v_rgbNE).xyz; + vec3 rgbSW = texture2D(tex, v_rgbSW).xyz; + vec3 rgbSE = texture2D(tex, v_rgbSE).xyz; + vec4 texColor = texture2D(tex, v_rgbM); + vec3 rgbM = texColor.xyz; + vec3 luma = vec3(0.299, 0.587, 0.114); + float lumaNW = dot(rgbNW, luma); + float lumaNE = dot(rgbNE, luma); + float lumaSW = dot(rgbSW, luma); + float lumaSE = dot(rgbSE, luma); + float lumaM = dot(rgbM, luma); + float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE))); + float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE))); + + mediump vec2 dir; + dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE)); + dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE)); + + float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * + (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN); + + float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce); + dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX), + max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), + dir * rcpDirMin)) * inverseVP; + + vec3 rgbA = 0.5 * ( + texture2D(tex, fragCoord * inverseVP + dir * (1.0 / 3.0 - 0.5)).xyz + + texture2D(tex, fragCoord * inverseVP + dir * (2.0 / 3.0 - 0.5)).xyz); + vec3 rgbB = rgbA * 0.5 + 0.25 * ( + texture2D(tex, fragCoord * inverseVP + dir * -0.5).xyz + + texture2D(tex, fragCoord * inverseVP + dir * 0.5).xyz); + + float lumaB = dot(rgbB, luma); + if ((lumaB < lumaMin) || (lumaB > lumaMax)) + color = vec4(rgbA, texColor.a); + else + color = vec4(rgbB, texColor.a); + return color; +} + +void main() { + + vec4 color; + + color = fxaa(uSampler, vFragCoord, inputSize.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM); + + gl_FragColor = color; +} +`,Uf=` +attribute vec2 aVertexPosition; + +uniform mat3 projectionMatrix; + +varying vec2 v_rgbNW; +varying vec2 v_rgbNE; +varying vec2 v_rgbSW; +varying vec2 v_rgbSE; +varying vec2 v_rgbM; + +varying vec2 vFragCoord; + +uniform vec4 inputSize; +uniform vec4 outputFrame; + +vec4 filterVertexPosition( void ) +{ + vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy; + + return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); +} + +void texcoords(vec2 fragCoord, vec2 inverseVP, + out vec2 v_rgbNW, out vec2 v_rgbNE, + out vec2 v_rgbSW, out vec2 v_rgbSE, + out vec2 v_rgbM) { + v_rgbNW = (fragCoord + vec2(-1.0, -1.0)) * inverseVP; + v_rgbNE = (fragCoord + vec2(1.0, -1.0)) * inverseVP; + v_rgbSW = (fragCoord + vec2(-1.0, 1.0)) * inverseVP; + v_rgbSE = (fragCoord + vec2(1.0, 1.0)) * inverseVP; + v_rgbM = vec2(fragCoord * inverseVP); +} + +void main(void) { + + gl_Position = filterVertexPosition(); + + vFragCoord = aVertexPosition * outputFrame.zw; + + texcoords(vFragCoord, inputSize.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM); +} +`;class Vh extends Tt{constructor(){super(Uf,Lf)}}var kf=`precision highp float; + +varying vec2 vTextureCoord; +varying vec4 vColor; + +uniform float uNoise; +uniform float uSeed; +uniform sampler2D uSampler; + +float rand(vec2 co) +{ + return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453); +} + +void main() +{ + vec4 color = texture2D(uSampler, vTextureCoord); + float randomValue = rand(gl_FragCoord.xy * uSeed); + float diff = (randomValue - 0.5) * uNoise; + + // Un-premultiply alpha before applying the color matrix. See issue #3539. + if (color.a > 0.0) { + color.rgb /= color.a; + } + + color.r += diff; + color.g += diff; + color.b += diff; + + // Premultiply alpha again. + color.rgb *= color.a; + + gl_FragColor = color; +} +`;class jh extends Tt{constructor(t=.5,e=Math.random()){super(Mn,kf,{uNoise:0,uSeed:0}),this.noise=t,this.seed=e}get noise(){return this.uniforms.uNoise}set noise(t){this.uniforms.uNoise=t}get seed(){return this.uniforms.uSeed}set seed(t){this.uniforms.uSeed=t}}const Yn={AlphaFilter:Gh,BlurFilter:$h,BlurFilterPass:Qi,ColorMatrixFilter:Ji,DisplacementFilter:Hh,FXAAFilter:Vh,NoiseFilter:jh};Object.entries(Yn).forEach(([i,t])=>{Object.defineProperty(Yn,i,{get(){return ro("7.1.0",`filters.${i} has moved to ${i}`),t}})});let Gf=class{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this.tickerAdded=!1,this._pauseUpdate=!0}init(t){this.removeTickerListener(),this.events=t,this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this.tickerAdded=!1,this._pauseUpdate=!0}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(t){this._pauseUpdate=t}addTickerListener(){this.tickerAdded||!this.domElement||(xt.system.add(this.tickerUpdate,this,pe.INTERACTION),this.tickerAdded=!0)}removeTickerListener(){this.tickerAdded&&(xt.system.remove(this.tickerUpdate,this),this.tickerAdded=!1)}pointerMoved(){this._didMove=!0}update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove){this._didMove=!1;return}const t=this.events.rootPointerEvent;this.events.supportsTouchEvents&&t.pointerType==="touch"||globalThis.document.dispatchEvent(new PointerEvent("pointermove",{clientX:t.clientX,clientY:t.clientY}))}tickerUpdate(t){this._deltaTime+=t,!(this._deltaTimes.priority-r.priority)}dispatchEvent(t,e){t.propagationStopped=!1,t.propagationImmediatelyStopped=!1,this.propagate(t,e),this.dispatch.emit(e||t.type,t)}mapEvent(t){if(!this.rootTarget)return;const e=this.mappingTable[t.type];if(e)for(let s=0,r=e.length;s=0;r--)if(t.currentTarget=s[r],this.notifyTarget(t,e),t.propagationStopped||t.propagationImmediatelyStopped)return}}all(t,e,s=this._allInteractiveElements){if(s.length===0)return;t.eventPhase=t.BUBBLING_PHASE;const r=Array.isArray(e)?e:[e];for(let n=s.length-1;n>=0;n--)r.forEach(a=>{t.currentTarget=s[n],this.notifyTarget(t,a)})}propagationPath(t){const e=[t];for(let s=0;s<$f&&t!==this.rootTarget;s++){if(!t.parent)throw new Error("Cannot find propagation path to disconnected target");e.push(t.parent),t=t.parent}return e.reverse(),e}hitTestMoveRecursive(t,e,s,r,n,a=!1){let o=!1;if(this._interactivePrune(t))return null;if((t.eventMode==="dynamic"||e==="dynamic")&&(we.pauseUpdate=!1),t.interactiveChildren&&t.children){const u=t.children;for(let c=u.length-1;c>=0;c--){const d=u[c],f=this.hitTestMoveRecursive(d,this._isInteractive(e)?e:d.eventMode,s,r,n,a||n(t,s));if(f){if(f.length>0&&!f[f.length-1].parent)continue;const p=t.isInteractive();(f.length>0||p)&&(p&&this._allInteractiveElements.push(t),f.push(t)),this._hitElements.length===0&&(this._hitElements=f),o=!0}}}const h=this._isInteractive(e),l=t.isInteractive();return l&&l&&this._allInteractiveElements.push(t),a||this._hitElements.length>0?null:o?this._hitElements:h&&!n(t,s)&&r(t,s)?l?[t]:[]:null}hitTestRecursive(t,e,s,r,n){if(this._interactivePrune(t)||n(t,s))return null;if((t.eventMode==="dynamic"||e==="dynamic")&&(we.pauseUpdate=!1),t.interactiveChildren&&t.children){const h=t.children;for(let l=h.length-1;l>=0;l--){const u=h[l],c=this.hitTestRecursive(u,this._isInteractive(e)?e:u.eventMode,s,r,n);if(c){if(c.length>0&&!c[c.length-1].parent)continue;const d=t.isInteractive();return(c.length>0||d)&&c.push(t),c}}}const a=this._isInteractive(e),o=t.isInteractive();return a&&r(t,s)?o?[t]:[]:null}_isInteractive(t){return t==="static"||t==="dynamic"}_interactivePrune(t){return!!(!t||t.isMask||!t.visible||!t.renderable||t.eventMode==="none"||t.eventMode==="passive"&&!t.interactiveChildren||t.isMask)}hitPruneFn(t,e){var s;if(t.hitArea&&(t.worldTransform.applyInverse(e,qn),!t.hitArea.contains(qn.x,qn.y)))return!0;if(t._mask){const r=t._mask.isMaskData?t._mask.maskObject:t._mask;if(r&&!((s=r.containsPoint)!=null&&s.call(r,e)))return!0}return!1}hitTestFn(t,e){return t.eventMode==="passive"?!1:t.hitArea?!0:t.containsPoint?t.containsPoint(e):!1}notifyTarget(t,e){var s,r;e=e!=null?e:t.type;const n=`on${e}`;(r=(s=t.currentTarget)[n])==null||r.call(s,t);const a=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?`${e}capture`:e;this.notifyListeners(t,a),t.eventPhase===t.AT_TARGET&&this.notifyListeners(t,e)}mapPointerDown(t){if(!(t instanceof kt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const e=this.createPointerEvent(t);if(this.dispatchEvent(e,"pointerdown"),e.pointerType==="touch")this.dispatchEvent(e,"touchstart");else if(e.pointerType==="mouse"||e.pointerType==="pen"){const r=e.button===2;this.dispatchEvent(e,r?"rightdown":"mousedown")}const s=this.trackingData(t.pointerId);s.pressTargetsByButton[t.button]=e.composedPath(),this.freeEvent(e)}mapPointerMove(t){var e,s,r;if(!(t instanceof kt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=!0;const n=this.createPointerEvent(t);this._isPointerMoveEvent=!1;const a=n.pointerType==="mouse"||n.pointerType==="pen",o=this.trackingData(t.pointerId),h=this.findMountedTarget(o.overTargets);if(((e=o.overTargets)==null?void 0:e.length)>0&&h!==n.target){const c=t.type==="mousemove"?"mouseout":"pointerout",d=this.createPointerEvent(t,c,h);if(this.dispatchEvent(d,"pointerout"),a&&this.dispatchEvent(d,"mouseout"),!n.composedPath().includes(h)){const f=this.createPointerEvent(t,"pointerleave",h);for(f.eventPhase=f.AT_TARGET;f.target&&!n.composedPath().includes(f.target);)f.currentTarget=f.target,this.notifyTarget(f),a&&this.notifyTarget(f,"mouseleave"),f.target=f.target.parent;this.freeEvent(f)}this.freeEvent(d)}if(h!==n.target){const c=t.type==="mousemove"?"mouseover":"pointerover",d=this.clonePointerEvent(n,c);this.dispatchEvent(d,"pointerover"),a&&this.dispatchEvent(d,"mouseover");let f=h==null?void 0:h.parent;for(;f&&f!==this.rootTarget.parent&&f!==n.target;)f=f.parent;if(!f||f===this.rootTarget.parent){const p=this.clonePointerEvent(n,"pointerenter");for(p.eventPhase=p.AT_TARGET;p.target&&p.target!==h&&p.target!==this.rootTarget.parent;)p.currentTarget=p.target,this.notifyTarget(p),a&&this.notifyTarget(p,"mouseenter"),p.target=p.target.parent;this.freeEvent(p)}this.freeEvent(d)}const l=[],u=(s=this.enableGlobalMoveEvents)!=null?s:!0;this.moveOnAll?l.push("pointermove"):this.dispatchEvent(n,"pointermove"),u&&l.push("globalpointermove"),n.pointerType==="touch"&&(this.moveOnAll?l.splice(1,0,"touchmove"):this.dispatchEvent(n,"touchmove"),u&&l.push("globaltouchmove")),a&&(this.moveOnAll?l.splice(1,0,"mousemove"):this.dispatchEvent(n,"mousemove"),u&&l.push("globalmousemove"),this.cursor=(r=n.target)==null?void 0:r.cursor),l.length>0&&this.all(n,l),this._allInteractiveElements.length=0,this._hitElements.length=0,o.overTargets=n.composedPath(),this.freeEvent(n)}mapPointerOver(t){var e;if(!(t instanceof kt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const s=this.trackingData(t.pointerId),r=this.createPointerEvent(t),n=r.pointerType==="mouse"||r.pointerType==="pen";this.dispatchEvent(r,"pointerover"),n&&this.dispatchEvent(r,"mouseover"),r.pointerType==="mouse"&&(this.cursor=(e=r.target)==null?void 0:e.cursor);const a=this.clonePointerEvent(r,"pointerenter");for(a.eventPhase=a.AT_TARGET;a.target&&a.target!==this.rootTarget.parent;)a.currentTarget=a.target,this.notifyTarget(a),n&&this.notifyTarget(a,"mouseenter"),a.target=a.target.parent;s.overTargets=r.composedPath(),this.freeEvent(r),this.freeEvent(a)}mapPointerOut(t){if(!(t instanceof kt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const e=this.trackingData(t.pointerId);if(e.overTargets){const s=t.pointerType==="mouse"||t.pointerType==="pen",r=this.findMountedTarget(e.overTargets),n=this.createPointerEvent(t,"pointerout",r);this.dispatchEvent(n),s&&this.dispatchEvent(n,"mouseout");const a=this.createPointerEvent(t,"pointerleave",r);for(a.eventPhase=a.AT_TARGET;a.target&&a.target!==this.rootTarget.parent;)a.currentTarget=a.target,this.notifyTarget(a),s&&this.notifyTarget(a,"mouseleave"),a.target=a.target.parent;e.overTargets=null,this.freeEvent(n),this.freeEvent(a)}this.cursor=null}mapPointerUp(t){if(!(t instanceof kt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const e=performance.now(),s=this.createPointerEvent(t);if(this.dispatchEvent(s,"pointerup"),s.pointerType==="touch")this.dispatchEvent(s,"touchend");else if(s.pointerType==="mouse"||s.pointerType==="pen"){const o=s.button===2;this.dispatchEvent(s,o?"rightup":"mouseup")}const r=this.trackingData(t.pointerId),n=this.findMountedTarget(r.pressTargetsByButton[t.button]);let a=n;if(n&&!s.composedPath().includes(n)){let o=n;for(;o&&!s.composedPath().includes(o);){if(s.currentTarget=o,this.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch")this.notifyTarget(s,"touchendoutside");else if(s.pointerType==="mouse"||s.pointerType==="pen"){const h=s.button===2;this.notifyTarget(s,h?"rightupoutside":"mouseupoutside")}o=o.parent}delete r.pressTargetsByButton[t.button],a=o}if(a){const o=this.clonePointerEvent(s,"click");o.target=a,o.path=null,r.clicksByButton[t.button]||(r.clicksByButton[t.button]={clickCount:0,target:o.target,timeStamp:e});const h=r.clicksByButton[t.button];if(h.target===o.target&&e-h.timeStamp<200?++h.clickCount:h.clickCount=1,h.target=o.target,h.timeStamp=e,o.detail=h.clickCount,o.pointerType==="mouse"){const l=o.button===2;this.dispatchEvent(o,l?"rightclick":"click")}else o.pointerType==="touch"&&this.dispatchEvent(o,"tap");this.dispatchEvent(o,"pointertap"),this.freeEvent(o)}this.freeEvent(s)}mapPointerUpOutside(t){if(!(t instanceof kt)){console.warn("EventBoundary cannot map a non-pointer event as a pointer event");return}const e=this.trackingData(t.pointerId),s=this.findMountedTarget(e.pressTargetsByButton[t.button]),r=this.createPointerEvent(t);if(s){let n=s;for(;n;)r.currentTarget=n,this.notifyTarget(r,"pointerupoutside"),r.pointerType==="touch"?this.notifyTarget(r,"touchendoutside"):(r.pointerType==="mouse"||r.pointerType==="pen")&&this.notifyTarget(r,r.button===2?"rightupoutside":"mouseupoutside"),n=n.parent;delete e.pressTargetsByButton[t.button]}this.freeEvent(r)}mapWheel(t){if(!(t instanceof He)){console.warn("EventBoundary cannot map a non-wheel event as a wheel event");return}const e=this.createWheelEvent(t);this.dispatchEvent(e),this.freeEvent(e)}findMountedTarget(t){if(!t)return null;let e=t[0];for(let s=1;st in i?Vf(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,zf=(i,t)=>{for(var e in t||(t={}))jf.call(t,e)&&Wh(i,e,t[e]);if(zh)for(var e of zh(t))Xf.call(t,e)&&Wh(i,e,t[e]);return i};const Wf=1,Yf={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Kn=class Ra{constructor(t){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=t,this.rootBoundary=new Xh(null),we.init(this),this.autoPreventDefault=!0,this.eventsAdded=!1,this.rootPointerEvent=new kt(null),this.rootWheelEvent=new He(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy(zf({},Ra.defaultEventFeatures),{set:(e,s,r)=>(s==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=r),e[s]=r,!0)}),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onPointerOverOut=this.onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this)}static get defaultEventMode(){return this._defaultEventMode}init(t){var e,s;const{view:r,resolution:n}=this.renderer;this.setTargetElement(r),this.resolution=n,Ra._defaultEventMode=(e=t.eventMode)!=null?e:"auto",Object.assign(this.features,(s=t.eventFeatures)!=null?s:{}),this.rootBoundary.enableGlobalMoveEvents=this.features.globalMove}resolutionChange(t){this.resolution=t}destroy(){this.setTargetElement(null),this.renderer=null}setCursor(t){t=t||"default";let e=!0;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(e=!1),this.currentCursor===t)return;this.currentCursor=t;const s=this.cursorStyles[t];if(s)switch(typeof s){case"string":e&&(this.domElement.style.cursor=s);break;case"function":s(t);break;case"object":e&&Object.assign(this.domElement.style,s);break}else e&&typeof t=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,t)&&(this.domElement.style.cursor=t)}get pointer(){return this.rootPointerEvent}onPointerDown(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;const e=this.normalizeToPointerData(t);this.autoPreventDefault&&e[0].isNormalized&&(t.cancelable||!("cancelable"in t))&&t.preventDefault();for(let s=0,r=e.length;s0&&(e=t.composedPath()[0]);const s=e!==this.domElement?"outside":"",r=this.normalizeToPointerData(t);for(let n=0,a=r.length;n{this._isMobileAccessibility=!0,this.activate(),this.destroyTouchHook()}),document.body.appendChild(t),this._hookDiv=t}destroyTouchHook(){this._hookDiv&&(document.body.removeChild(this._hookDiv),this._hookDiv=null)}activate(){var t;this._isActive||(this._isActive=!0,globalThis.document.addEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown,!1),this.renderer.on("postrender",this.update,this),(t=this.renderer.view.parentNode)==null||t.appendChild(this.div))}deactivate(){var t;!this._isActive||this._isMobileAccessibility||(this._isActive=!1,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.addEventListener("keydown",this._onKeyDown,!1),this.renderer.off("postrender",this.update),(t=this.div.parentNode)==null||t.removeChild(this.div))}updateAccessibleObjects(t){if(!t.visible||!t.accessibleChildren)return;t.accessible&&t.isInteractive()&&(t._accessibleActive||this.addChild(t),t.renderId=this.renderId);const e=t.children;if(e)for(let s=0;s title : ${t.title}
tabIndex: ${t.tabIndex}`}capHitArea(t){t.x<0&&(t.width+=t.x,t.x=0),t.y<0&&(t.height+=t.y,t.y=0);const{width:e,height:s}=this.renderer;t.x+t.width>e&&(t.width=e-t.x),t.y+t.height>s&&(t.height=s-t.y)}addChild(t){let e=this.pool.pop();e||(e=document.createElement("button"),e.style.width=`${er}px`,e.style.height=`${er}px`,e.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",e.style.position="absolute",e.style.zIndex=Zh.toString(),e.style.borderStyle="none",navigator.userAgent.toLowerCase().includes("chrome")?e.setAttribute("aria-live","off"):e.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?e.setAttribute("aria-relevant","additions"):e.setAttribute("aria-relevant","text"),e.addEventListener("click",this._onClick.bind(this)),e.addEventListener("focus",this._onFocus.bind(this)),e.addEventListener("focusout",this._onFocusOut.bind(this))),e.style.pointerEvents=t.accessiblePointerEvents,e.type=t.accessibleType,t.accessibleTitle&&t.accessibleTitle!==null?e.title=t.accessibleTitle:(!t.accessibleHint||t.accessibleHint===null)&&(e.title=`displayObject ${t.tabIndex}`),t.accessibleHint&&t.accessibleHint!==null&&e.setAttribute("aria-label",t.accessibleHint),this.debug&&this.updateDebugHTML(e),t._accessibleActive=!0,t._accessibleDiv=e,e.displayObject=t,this.children.push(t),this.div.appendChild(t._accessibleDiv),t._accessibleDiv.tabIndex=t.tabIndex}_dispatchEvent(t,e){const{displayObject:s}=t.target,r=this.renderer.events.rootBoundary,n=Object.assign(new Je(r),{target:s});r.rootTarget=this.renderer.lastObjectRendered,e.forEach(a=>r.dispatchEvent(n,a))}_onClick(t){this._dispatchEvent(t,["click","pointertap","tap"])}_onFocus(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","assertive"),this._dispatchEvent(t,["mouseover"])}_onFocusOut(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","polite"),this._dispatchEvent(t,["mouseout"])}_onKeyDown(t){t.keyCode===qf&&this.activate()}_onMouseMove(t){t.movementX===0&&t.movementY===0||this.deactivate()}destroy(){this.destroyTouchHook(),this.div=null,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown),this.pool=null,this.children=null,this.renderer=null}}Zn.extension={name:"accessibility",type:[D.RendererPlugin,D.CanvasRendererPlugin]},U.add(Zn);const Jh=class Ia{constructor(t){this.stage=new St,t=Object.assign({forceCanvas:!1},t),this.renderer=Sh(t),Ia._plugins.forEach(e=>{e.init.call(this,t)})}render(){this.renderer.render(this.stage)}get view(){var t;return(t=this.renderer)==null?void 0:t.view}get screen(){var t;return(t=this.renderer)==null?void 0:t.screen}destroy(t,e){const s=Ia._plugins.slice(0);s.reverse(),s.forEach(r=>{r.destroy.call(this)}),this.stage.destroy(e),this.stage=null,this.renderer.destroy(t),this.renderer=null}};Jh._plugins=[];let tl=Jh;U.handleByList(D.Application,tl._plugins);class Qn{static init(t){Object.defineProperty(this,"resizeTo",{set(e){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=e,e&&(globalThis.addEventListener("resize",this.queueResize),this.resize())},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this.cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()))},this.cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null)},this.resize=()=>{if(!this._resizeTo)return;this.cancelResize();let e,s;if(this._resizeTo===globalThis.window)e=globalThis.innerWidth,s=globalThis.innerHeight;else{const{clientWidth:r,clientHeight:n}=this._resizeTo;e=r,s=n}this.renderer.resize(e,s),this.render()},this._resizeId=null,this._resizeTo=null,this.resizeTo=t.resizeTo||null}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this.cancelResize(),this.cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null}}Qn.extension=D.Application,U.add(Qn);const el={loader:D.LoadParser,resolver:D.ResolveParser,cache:D.CacheParser,detection:D.DetectionParser};U.handle(D.Asset,i=>{const t=i.ref;Object.entries(el).filter(([e])=>!!t[e]).forEach(([e,s])=>{var r;return U.add(Object.assign(t[e],{extension:(r=t[e].extension)!=null?r:s}))})},i=>{const t=i.ref;Object.keys(el).filter(e=>!!t[e]).forEach(e=>U.remove(t[e]))});class ep{constructor(t,e=!1){this._loader=t,this._assetList=[],this._isLoading=!1,this._maxConcurrent=1,this.verbose=e}add(t){t.forEach(e=>{this._assetList.push(e)}),this.verbose&&console.log("[BackgroundLoader] assets: ",this._assetList),this._isActive&&!this._isLoading&&this._next()}async _next(){if(this._assetList.length&&this._isActive){this._isLoading=!0;const t=[],e=Math.min(this._assetList.length,this._maxConcurrent);for(let s=0;s(Array.isArray(i)||(i=[i]),t?i.map(e=>typeof e=="string"?t(e):e):i),sr=(i,t)=>{const e=t.split("?")[1];return e&&(i+=`?${e}`),i};function sl(i,t,e,s,r){const n=t[e];for(let a=0;a{const a=n.substring(1,n.length-1).split(",");r.push(a)}),sl(i,r,0,e,s)}else s.push(i);return s}const $s=i=>!Array.isArray(i);let sp=class{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(t){return this._cache.has(t)}get(t){return this._cache.get(t)}set(t,e){const s=Gt(t);let r;for(let o=0;o{r[o]=e}));const n=Object.keys(r),a={cacheKeys:n,keys:s};if(s.forEach(o=>{this._cacheMap.set(o,a)}),n.forEach(o=>{this._cache.has(o)&&this._cache.get(o),this._cache.set(o,r[o])}),e instanceof L){const o=e;s.forEach(h=>{o.baseTexture!==L.EMPTY.baseTexture&&X.addToCache(o.baseTexture,h),L.addToCache(o,h)})}}remove(t){if(!this._cacheMap.has(t))return;const e=this._cacheMap.get(t);e.cacheKeys.forEach(s=>{this._cache.delete(s)}),e.keys.forEach(s=>{this._cacheMap.delete(s)})}get parsers(){return this._parsers}};const Se=new sp;var ip=Object.defineProperty,rp=Object.defineProperties,np=Object.getOwnPropertyDescriptors,rl=Object.getOwnPropertySymbols,ap=Object.prototype.hasOwnProperty,op=Object.prototype.propertyIsEnumerable,nl=(i,t,e)=>t in i?ip(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,hp=(i,t)=>{for(var e in t||(t={}))ap.call(t,e)&&nl(i,e,t[e]);if(rl)for(var e of rl(t))op.call(t,e)&&nl(i,e,t[e]);return i},lp=(i,t)=>rp(i,np(t));class up{constructor(){this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(t,e,s)=>(this._parsersValidated=!1,t[e]=s,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(t,e){const s={promise:null,parser:null};return s.promise=(async()=>{var r,n;let a=null,o=null;if(e.loadParser&&(o=this._parserHash[e.loadParser]),!o){for(let h=0;h({alias:[l],src:l})),o=a.length,h=a.map(async l=>{const u=bt.toAbsolute(l.src);if(!r[l.src])try{this.promiseCache[u]||(this.promiseCache[u]=this._getLoadPromiseAndParser(u,l)),r[l.src]=await this.promiseCache[u].promise,e&&e(++s/o)}catch(c){throw delete this.promiseCache[u],delete r[l.src],new Error(`[Loader.load] Failed to load ${u}. +${c}`)}});return await Promise.all(h),n?r[a[0].src]:r}async unload(t){const e=Gt(t,s=>({alias:[s],src:s})).map(async s=>{var r,n;const a=bt.toAbsolute(s.src),o=this.promiseCache[a];if(o){const h=await o.promise;delete this.promiseCache[a],(n=(r=o.parser)==null?void 0:r.unload)==null||n.call(r,h,s,this)}});await Promise.all(e)}_validateParsers(){this._parsersValidated=!0,this._parserHash=this._parsers.filter(t=>t.name).reduce((t,e)=>(t[e.name],lp(hp({},t),{[e.name]:e})),{})}}var $t=(i=>(i[i.Low=0]="Low",i[i.Normal=1]="Normal",i[i.High=2]="High",i))($t||{});const cp=".json",dp="application/json",al={extension:{type:D.LoadParser,priority:$t.Low},name:"loadJson",test(i){return Ve(i,dp)||_e(i,cp)},async load(i){return await(await N.ADAPTER.fetch(i)).json()}};U.add(al);const fp=".txt",pp="text/plain",ol={name:"loadTxt",extension:{type:D.LoadParser,priority:$t.Low},test(i){return Ve(i,pp)||_e(i,fp)},async load(i){return await(await N.ADAPTER.fetch(i)).text()}};U.add(ol);var mp=Object.defineProperty,gp=Object.defineProperties,_p=Object.getOwnPropertyDescriptors,hl=Object.getOwnPropertySymbols,vp=Object.prototype.hasOwnProperty,yp=Object.prototype.propertyIsEnumerable,ll=(i,t,e)=>t in i?mp(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,xp=(i,t)=>{for(var e in t||(t={}))vp.call(t,e)&&ll(i,e,t[e]);if(hl)for(var e of hl(t))yp.call(t,e)&&ll(i,e,t[e]);return i},bp=(i,t)=>gp(i,_p(t));const Tp=["normal","bold","100","200","300","400","500","600","700","800","900"],Ep=[".ttf",".otf",".woff",".woff2"],Ap=["font/ttf","font/otf","font/woff","font/woff2"],wp=/^(--|-?[A-Z_])[0-9A-Z_-]*$/i;function ul(i){const t=bt.extname(i),e=bt.basename(i,t).replace(/(-|_)/g," ").toLowerCase().split(" ").map(n=>n.charAt(0).toUpperCase()+n.slice(1));let s=e.length>0;for(const n of e)if(!n.match(wp)){s=!1;break}let r=e.join(" ");return s||(r=`"${r.replace(/[\\"]/g,"\\$&")}"`),r}const cl={extension:{type:D.LoadParser,priority:$t.Low},name:"loadWebFont",test(i){return Ve(i,Ap)||_e(i,Ep)},async load(i,t){var e,s,r,n,a,o;const h=N.ADAPTER.getFontFaceSet();if(h){const l=[],u=(s=(e=t.data)==null?void 0:e.family)!=null?s:ul(i),c=(a=(n=(r=t.data)==null?void 0:r.weights)==null?void 0:n.filter(f=>Tp.includes(f)))!=null?a:["normal"],d=(o=t.data)!=null?o:{};for(let f=0;fN.ADAPTER.getFontFaceSet().delete(t))}};U.add(cl);let dl=0,Jn;const Sp="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=",Cp={id:"checkImageBitmap",code:` + async function checkImageBitmap() + { + try + { + if (typeof createImageBitmap !== 'function') return false; + + const response = await fetch('${Sp}'); + const imageBlob = await response.blob(); + const imageBitmap = await createImageBitmap(imageBlob); + + return imageBitmap.width === 1 && imageBitmap.height === 1; + } + catch (e) + { + return false; + } + } + checkImageBitmap().then((result) => { self.postMessage(result); }); + `},Rp={id:"loadImageBitmap",code:` + async function loadImageBitmap(url) + { + const response = await fetch(url); + + if (!response.ok) + { + throw new Error(\`[WorkerManager.loadImageBitmap] Failed to fetch \${url}: \` + + \`\${response.status} \${response.statusText}\`); + } + + const imageBlob = await response.blob(); + const imageBitmap = await createImageBitmap(imageBlob); + + return imageBitmap; + } + self.onmessage = async (event) => + { + try + { + const imageBitmap = await loadImageBitmap(event.data.data[0]); + + self.postMessage({ + data: imageBitmap, + uuid: event.data.uuid, + id: event.data.id, + }, [imageBitmap]); + } + catch(e) + { + self.postMessage({ + error: e, + uuid: event.data.uuid, + id: event.data.id, + }); + } + };`};let ta,Ip=class{constructor(){this._initialized=!1,this._createdWorkers=0,this.workerPool=[],this.queue=[],this.resolveHash={}}isImageBitmapSupported(){return this._isImageBitmapSupported!==void 0?this._isImageBitmapSupported:(this._isImageBitmapSupported=new Promise(t=>{const e=URL.createObjectURL(new Blob([Cp.code],{type:"application/javascript"})),s=new Worker(e);s.addEventListener("message",r=>{s.terminate(),URL.revokeObjectURL(e),t(r.data)})}),this._isImageBitmapSupported)}loadImageBitmap(t){return this._run("loadImageBitmap",[t])}async _initWorkers(){this._initialized||(this._initialized=!0)}getWorker(){Jn===void 0&&(Jn=navigator.hardwareConcurrency||4);let t=this.workerPool.pop();return!t&&this._createdWorkers{this.complete(e.data),this.returnWorker(e.target),this.next()})),t}returnWorker(t){this.workerPool.push(t)}complete(t){t.error!==void 0?this.resolveHash[t.uuid].reject(t.error):this.resolveHash[t.uuid].resolve(t.data),this.resolveHash[t.uuid]=null}async _run(t,e){await this._initWorkers();const s=new Promise((r,n)=>{this.queue.push({id:t,arguments:e,resolve:r,reject:n})});return this.next(),s}next(){if(!this.queue.length)return;const t=this.getWorker();if(!t)return;const e=this.queue.pop(),s=e.id;this.resolveHash[dl]={resolve:e.resolve,reject:e.reject},t.postMessage({data:e.arguments,uuid:dl++,id:s})}};const fl=new Ip;function ts(i,t,e){i.resource.internal=!0;const s=new L(i),r=()=>{delete t.promiseCache[e],Se.has(e)&&Se.remove(e)};return s.baseTexture.once("destroyed",()=>{e in t.promiseCache&&(console.warn("[Assets] A BaseTexture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the BaseTexture."),r())}),s.once("destroyed",()=>{i.destroyed||(console.warn("[Assets] A Texture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the Texture."),r())}),s}var Pp=Object.defineProperty,pl=Object.getOwnPropertySymbols,Mp=Object.prototype.hasOwnProperty,Dp=Object.prototype.propertyIsEnumerable,ml=(i,t,e)=>t in i?Pp(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,gl=(i,t)=>{for(var e in t||(t={}))Mp.call(t,e)&&ml(i,e,t[e]);if(pl)for(var e of pl(t))Dp.call(t,e)&&ml(i,e,t[e]);return i};const Op=[".jpeg",".jpg",".png",".webp",".avif"],Bp=["image/jpeg","image/png","image/webp","image/avif"];async function _l(i){const t=await N.ADAPTER.fetch(i);if(!t.ok)throw new Error(`[loadImageBitmap] Failed to fetch ${i}: ${t.status} ${t.statusText}`);const e=await t.blob();return await createImageBitmap(e)}const Hs={name:"loadTextures",extension:{type:D.LoadParser,priority:$t.High},config:{preferWorkers:!0,preferCreateImageBitmap:!0,crossOrigin:"anonymous"},test(i){return Ve(i,Bp)||_e(i,Op)},async load(i,t,e){var s,r;const n=globalThis.createImageBitmap&&this.config.preferCreateImageBitmap;let a;n?this.config.preferWorkers&&await fl.isImageBitmapSupported()?a=await fl.loadImageBitmap(i):a=await _l(i):a=await new Promise((l,u)=>{const c=new Image;c.crossOrigin=this.config.crossOrigin,c.src=i,c.complete?l(c):(c.onload=()=>l(c),c.onerror=d=>u(d))});const o=gl({},t.data);(s=o.resolution)!=null||(o.resolution=te(i)),n&&((r=o.resourceOptions)==null?void 0:r.ownsImageBitmap)===void 0&&(o.resourceOptions=gl({},o.resourceOptions),o.resourceOptions.ownsImageBitmap=!0);const h=new X(a,o);return h.resource.src=i,ts(h,e,i)},unload(i){i.destroy(!0)}};U.add(Hs);var Fp=Object.defineProperty,vl=Object.getOwnPropertySymbols,Np=Object.prototype.hasOwnProperty,Lp=Object.prototype.propertyIsEnumerable,yl=(i,t,e)=>t in i?Fp(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,Up=(i,t)=>{for(var e in t||(t={}))Np.call(t,e)&&yl(i,e,t[e]);if(vl)for(var e of vl(t))Lp.call(t,e)&&yl(i,e,t[e]);return i};const kp=".svg",Gp="image/svg+xml",xl={extension:{type:D.LoadParser,priority:$t.High},name:"loadSVG",test(i){return Ve(i,Gp)||_e(i,kp)},async testParse(i){return Xi.test(i)},async parse(i,t,e){var s;const r=new Xi(i,(s=t==null?void 0:t.data)==null?void 0:s.resourceOptions);await r.load();const n=new X(r,Up({resolution:te(i)},t==null?void 0:t.data));return n.resource.src=t.src,ts(n,e,t.src)},async load(i,t){return(await N.ADAPTER.fetch(i)).text()},unload:Hs.unload};U.add(xl);var $p=Object.defineProperty,bl=Object.getOwnPropertySymbols,Hp=Object.prototype.hasOwnProperty,Vp=Object.prototype.propertyIsEnumerable,Tl=(i,t,e)=>t in i?$p(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,El=(i,t)=>{for(var e in t||(t={}))Hp.call(t,e)&&Tl(i,e,t[e]);if(bl)for(var e of bl(t))Vp.call(t,e)&&Tl(i,e,t[e]);return i};const jp=[".mp4",".m4v",".webm",".ogv"],Xp=["video/mp4","video/webm","video/ogg"],Al={name:"loadVideo",extension:{type:D.LoadParser,priority:$t.High},config:{defaultAutoPlay:!0},test(i){return Ve(i,Xp)||_e(i,jp)},async load(i,t,e){var s;let r;const n=await(await N.ADAPTER.fetch(i)).blob(),a=URL.createObjectURL(n);try{const o=El({autoPlay:this.config.defaultAutoPlay},(s=t==null?void 0:t.data)==null?void 0:s.resourceOptions),h=new kn(a,o);await h.load();const l=new X(h,El({alphaMode:await no(),resolution:te(i)},t==null?void 0:t.data));l.resource.src=i,r=ts(l,e,i),r.baseTexture.once("destroyed",()=>{URL.revokeObjectURL(a)})}catch(o){throw URL.revokeObjectURL(a),o}return r},unload(i){i.destroy(!0)}};U.add(Al);var zp=Object.defineProperty,Wp=Object.defineProperties,Yp=Object.getOwnPropertyDescriptors,wl=Object.getOwnPropertySymbols,qp=Object.prototype.hasOwnProperty,Kp=Object.prototype.propertyIsEnumerable,Sl=(i,t,e)=>t in i?zp(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,es=(i,t)=>{for(var e in t||(t={}))qp.call(t,e)&&Sl(i,e,t[e]);if(wl)for(var e of wl(t))Kp.call(t,e)&&Sl(i,e,t[e]);return i},Cl=(i,t)=>Wp(i,Yp(t));class Zp{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(t,e)=>`${t}${this._bundleIdConnector}${e}`,extractAssetIdFromBundle:(t,e)=>e.replace(`${t}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={}}setBundleIdentifier(t){var e,s,r;if(this._bundleIdConnector=(e=t.connector)!=null?e:this._bundleIdConnector,this._createBundleAssetId=(s=t.createBundleAssetId)!=null?s:this._createBundleAssetId,this._extractAssetIdFromBundle=(r=t.extractAssetIdFromBundle)!=null?r:this._extractAssetIdFromBundle,this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar"))!=="bar")throw new Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...t){t.forEach(e=>{this._preferredOrder.push(e),e.priority||(e.priority=Object.keys(e.params))}),this._resolverHash={}}set basePath(t){this._basePath=t}get basePath(){return this._basePath}set rootPath(t){this._rootPath=t}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null}setDefaultSearchParams(t){if(typeof t=="string")this._defaultSearchParams=t;else{const e=t;this._defaultSearchParams=Object.keys(e).map(s=>`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`).join("&")}}addManifest(t){this._manifest,this._manifest=t,t.bundles.forEach(e=>{this.addBundle(e.name,e.assets)})}addBundle(t,e){const s=[];Array.isArray(e)?e.forEach(r=>{var n,a;const o=(n=r.src)!=null?n:r.srcs,h=(a=r.alias)!=null?a:r.name;let l;if(typeof h=="string"){const u=this._createBundleAssetId(t,h);s.push(u),l=[h,u]}else{const u=h.map(c=>this._createBundleAssetId(t,c));s.push(...u),l=[...h,...u]}this.add(Cl(es({},r),{alias:l,src:o}))}):Object.keys(e).forEach(r=>{var n;const a=[r,this._createBundleAssetId(t,r)];if(typeof e[r]=="string")this.add({alias:a,src:e[r]});else if(Array.isArray(e[r]))this.add({alias:a,src:e[r]});else{const o=e[r],h=(n=o.src)!=null?n:o.srcs;this.add(Cl(es({},o),{alias:a,src:Array.isArray(h)?h:[h]}))}s.push(...a)}),this._bundles[t]=s}add(t,e,s,r,n){const a=[];typeof t=="string"||Array.isArray(t)&&typeof t[0]=="string"?a.push({alias:t,src:e,data:s,format:r,loadParser:n}):Array.isArray(t)?a.push(...t):a.push(t);let o;Gt(a).forEach(h=>{const{alias:l,name:u,src:c,srcs:d}=h;let{data:f,format:p,loadParser:m}=h;const g=Gt(c||d).map(v=>typeof v=="string"?il(v):Array.isArray(v)?v:[v]),_=Gt(l||u),x=[];g.forEach(v=>{v.forEach(b=>{var T,R,w;let A={};if(typeof b!="object"){A.src=b;for(let S=0;S{this._assetMap[v]=x})})}resolveBundle(t){const e=$s(t);t=Gt(t);const s={};return t.forEach(r=>{const n=this._bundles[r];if(n){const a=this.resolve(n),o={};for(const h in a){const l=a[h];o[this._extractAssetIdFromBundle(r,h)]=l}s[r]=o}}),e?s[t[0]]:s}resolveUrl(t){const e=this.resolve(t);if(typeof t!="string"){const s={};for(const r in e)s[r]=e[r].src;return s}return e.src}resolve(t){const e=$s(t);t=Gt(t);const s={};return t.forEach(r=>{var n;if(!this._resolverHash[r])if(this._assetMap[r]){let a=this._assetMap[r];const o=a[0],h=this._getPreferredOrder(a);h==null||h.priority.forEach(l=>{h.params[l].forEach(u=>{const c=a.filter(d=>d[l]?d[l]===u:!1);c.length&&(a=c)})}),this._resolverHash[r]=(n=a[0])!=null?n:o}else this._resolverHash[r]=this.buildResolvedAsset({alias:[r],src:r},{});s[r]=this._resolverHash[r]}),e?s[t[0]]:s}hasKey(t){return!!this._assetMap[t]}hasBundle(t){return!!this._bundles[t]}_getPreferredOrder(t){for(let e=0;en.params.format.includes(s.format));if(r)return r}return this._preferredOrder[0]}_appendDefaultSearchParams(t){if(!this._defaultSearchParams)return t;const e=/\?/.test(t)?"&":"?";return`${t}${e}${this._defaultSearchParams}`}buildResolvedAsset(t,e){var s;const{aliases:r,data:n,loadParser:a,format:o}=e;return(this._basePath||this._rootPath)&&(t.src=bt.toAbsolute(t.src,this._basePath,this._rootPath)),t.alias=(s=r!=null?r:t.alias)!=null?s:[t.src],t.src=this._appendDefaultSearchParams(t.src),t.data=es(es({},n||{}),t.data),t.loadParser=a!=null?a:t.loadParser,t.format=o!=null?o:t.src.split(".").pop(),t.srcs=t.src,t.name=t.alias,t}}class Rl{constructor(){this._detections=[],this._initialized=!1,this.resolver=new Zp,this.loader=new up,this.cache=Se,this._backgroundLoader=new ep(this.loader),this._backgroundLoader.active=!0,this.reset()}async init(t={}){var e,s,r;if(this._initialized)return;if(this._initialized=!0,t.defaultSearchParams&&this.resolver.setDefaultSearchParams(t.defaultSearchParams),t.basePath&&(this.resolver.basePath=t.basePath),t.bundleIdentifier&&this.resolver.setBundleIdentifier(t.bundleIdentifier),t.manifest){let h=t.manifest;typeof h=="string"&&(h=await this.load(h)),this.resolver.addManifest(h)}const n=(s=(e=t.texturePreference)==null?void 0:e.resolution)!=null?s:1,a=typeof n=="number"?[n]:n,o=await this._detectFormats({preferredFormats:(r=t.texturePreference)==null?void 0:r.format,skipDetections:t.skipDetections,detections:this._detections});this.resolver.prefer({params:{format:o,resolution:a}}),t.preferences&&this.setPreferences(t.preferences)}add(t,e,s,r,n){this.resolver.add(t,e,s,r,n)}async load(t,e){this._initialized||await this.init();const s=$s(t),r=Gt(t).map(o=>{if(typeof o!="string"){this.add(o);const h=o.src||o.srcs,l=o.alias||o.name;return l&&Array.isArray(l)?l[0]:h&&Array.isArray(h)?h[0]:l||h}return this.resolver.hasKey(o)||this.add({alias:o,src:o}),o}),n=this.resolver.resolve(r),a=await this._mapLoadToResolve(n,e);return s?a[r[0]]:a}addBundle(t,e){this.resolver.addBundle(t,e)}async loadBundle(t,e){this._initialized||await this.init();let s=!1;typeof t=="string"&&(s=!0,t=[t]);const r=this.resolver.resolveBundle(t),n={},a=Object.keys(r);let o=0,h=0;const l=()=>{e==null||e(++o/h)},u=a.map(c=>{const d=r[c];return h+=Object.keys(d).length,this._mapLoadToResolve(d,l).then(f=>{n[c]=f})});return await Promise.all(u),s?n[t[0]]:n}async backgroundLoad(t){this._initialized||await this.init(),typeof t=="string"&&(t=[t]);const e=this.resolver.resolve(t);this._backgroundLoader.add(Object.values(e))}async backgroundLoadBundle(t){this._initialized||await this.init(),typeof t=="string"&&(t=[t]);const e=this.resolver.resolveBundle(t);Object.values(e).forEach(s=>{this._backgroundLoader.add(Object.values(s))})}reset(){this.resolver.reset(),this.loader.reset(),this.cache.reset(),this._initialized=!1}get(t){if(typeof t=="string")return Se.get(t);const e={};for(let s=0;s{const l=n[o.src],u=[o.src];o.alias&&u.push(...o.alias),a[r[h]]=l,Se.set(u,l)}),a}async unload(t){this._initialized||await this.init();const e=Gt(t).map(r=>typeof r!="string"?r.src:r),s=this.resolver.resolve(e);await this._unloadFromResolved(s)}async unloadBundle(t){this._initialized||await this.init(),t=Gt(t);const e=this.resolver.resolveBundle(t),s=Object.keys(e).map(r=>this._unloadFromResolved(e[r]));await Promise.all(s)}async _unloadFromResolved(t){const e=Object.values(t);e.forEach(s=>{Se.remove(s.src)}),await this.loader.unload(e)}async _detectFormats(t){let e=[];t.preferredFormats&&(e=Array.isArray(t.preferredFormats)?t.preferredFormats:[t.preferredFormats]);for(const s of t.detections)t.skipDetections||await s.test()?e=await s.add(e):t.skipDetections||(e=await s.remove(e));return e=e.filter((s,r)=>e.indexOf(s)===r),e}get detections(){return this._detections}get preferWorkers(){return Hs.config.preferWorkers}set preferWorkers(t){this.setPreferences({preferWorkers:t})}setPreferences(t){this.loader.parsers.forEach(e=>{e.config&&Object.keys(e.config).filter(s=>s in t).forEach(s=>{e.config[s]=t[s]})})}}const Vs=new Rl;U.handleByList(D.LoadParser,Vs.loader.parsers).handleByList(D.ResolveParser,Vs.resolver.parsers).handleByList(D.CacheParser,Vs.cache.parsers).handleByList(D.DetectionParser,Vs.detections);const Il={extension:D.CacheParser,test:i=>Array.isArray(i)&&i.every(t=>t instanceof L),getCacheableAssets:(i,t)=>{const e={};return i.forEach(s=>{t.forEach((r,n)=>{e[s+(n===0?"":n+1)]=r})}),e}};U.add(Il);const Pl={extension:{type:D.DetectionParser,priority:1},test:async()=>{const i="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=";return new Promise(t=>{const e=new Image;e.onload=()=>{t(!0)},e.onerror=()=>{t(!1)},e.src=i})},add:async i=>[...i,"avif"],remove:async i=>i.filter(t=>t!=="avif")};U.add(Pl);const Ml={extension:{type:D.DetectionParser,priority:0},test:async()=>{const i="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=";return new Promise(t=>{const e=new Image;e.onload=()=>{t(!0)},e.onerror=()=>{t(!1)},e.src=i})},add:async i=>[...i,"webp"],remove:async i=>i.filter(t=>t!=="webp")};U.add(Ml);const Dl=["png","jpg","jpeg"],Ol={extension:{type:D.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async i=>[...i,...Dl],remove:async i=>i.filter(t=>!Dl.includes(t))};U.add(Ol);const Qp="WorkerGlobalScope"in globalThis&&globalThis instanceof globalThis.WorkerGlobalScope;function ea(i){return Qp?!1:document.createElement("video").canPlayType(i)!==""}const Bl={extension:{type:D.DetectionParser,priority:0},test:async()=>ea("video/webm"),add:async i=>[...i,"webm"],remove:async i=>i.filter(t=>t!=="webm")};U.add(Bl);const Fl={extension:{type:D.DetectionParser,priority:0},test:async()=>ea("video/mp4"),add:async i=>[...i,"mp4","m4v"],remove:async i=>i.filter(t=>t!=="mp4"&&t!=="m4v")};U.add(Fl);const Nl={extension:{type:D.DetectionParser,priority:0},test:async()=>ea("video/ogg"),add:async i=>[...i,"ogv"],remove:async i=>i.filter(t=>t!=="ogv")};U.add(Nl);const Ll={extension:D.ResolveParser,test:Hs.test,parse:i=>{var t,e;return{resolution:parseFloat((e=(t=N.RETINA_PREFIX.exec(i))==null?void 0:t[1])!=null?e:"1"),format:i.split(".").pop(),src:i}}};U.add(Ll);var Ct=(i=>(i[i.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",i[i.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",i[i.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",i[i.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",i[i.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",i[i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",i[i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",i[i.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",i[i.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",i[i.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",i[i.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",i[i.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",i[i.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",i[i.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",i[i.COMPRESSED_SRGB8_ETC2=37493]="COMPRESSED_SRGB8_ETC2",i[i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37497]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",i[i.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37494]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",i[i.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37495]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",i[i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",i[i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",i[i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",i[i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",i[i.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",i[i.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",i[i.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",i[i.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",i[i.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",i))(Ct||{});const js={33776:.5,33777:.5,33778:1,33779:1,35916:.5,35917:.5,35918:1,35919:1,37488:.5,37489:.5,37490:1,37491:1,37492:.5,37496:1,37493:.5,37497:1,37494:.5,37495:.5,35840:.5,35842:.5,35841:.25,35843:.25,36196:.5,35986:.5,35986:1,34798:1,37808:1};let ve,ss;function Ul(){ss={s3tc:ve.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:ve.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:ve.getExtension("WEBGL_compressed_texture_etc"),etc1:ve.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:ve.getExtension("WEBGL_compressed_texture_pvrtc")||ve.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:ve.getExtension("WEBGL_compressed_texture_atc"),astc:ve.getExtension("WEBGL_compressed_texture_astc")}}const kl={extension:{type:D.DetectionParser,priority:2},test:async()=>{const i=N.ADAPTER.createCanvas().getContext("webgl");return i?(ve=i,!0):!1},add:async i=>{ss||Ul();const t=[];for(const e in ss)ss[e]&&t.push(e);return[...t,...i]},remove:async i=>(ss||Ul(),i.filter(t=>!(t in ss)))};U.add(kl);class Gl extends xs{constructor(t,e={width:1,height:1,autoLoad:!0}){let s,r;typeof t=="string"?(s=t,r=new Uint8Array):(s=null,r=t),super(r,e),this.origin=s,this.buffer=r?new Ti(r):null,this._load=null,this.loaded=!1,this.origin!==null&&e.autoLoad!==!1&&this.load(),this.origin===null&&this.buffer&&(this._load=Promise.resolve(this),this.loaded=!0,this.onBlobLoaded(this.buffer.rawBinaryData))}onBlobLoaded(t){}load(){return this._load?this._load:(this._load=fetch(this.origin).then(t=>t.blob()).then(t=>t.arrayBuffer()).then(t=>(this.data=new Uint32Array(t),this.buffer=new Ti(t),this.loaded=!0,this.onBlobLoaded(t),this.update(),this)),this._load)}}class Ce extends Gl{constructor(t,e){super(t,e),this.format=e.format,this.levels=e.levels||1,this._width=e.width,this._height=e.height,this._extension=Ce._formatToExtension(this.format),(e.levelBuffers||this.buffer)&&(this._levelBuffers=e.levelBuffers||Ce._createLevelBuffers(t instanceof Uint8Array?t:this.buffer.uint8View,this.format,this.levels,4,4,this.width,this.height))}upload(t,e,s){const r=t.gl;if(!t.context.extensions[this._extension])throw new Error(`${this._extension} textures are not supported on the current machine`);if(!this._levelBuffers)return!1;r.pixelStorei(r.UNPACK_ALIGNMENT,4);for(let n=0,a=this.levels;n=33776&&t<=33779)return"s3tc";if(t>=37488&&t<=37497)return"etc";if(t>=35840&&t<=35843)return"pvrtc";if(t>=36196)return"etc1";if(t>=35986&&t<=34798)return"atc";throw new Error("Invalid (compressed) texture format given!")}static _createLevelBuffers(t,e,s,r,n,a,o){const h=new Array(s);let l=t.byteOffset,u=a,c=o,d=u+r-1&~(r-1),f=c+n-1&~(n-1),p=d*f*js[e];for(let m=0;m1?u:d,levelHeight:s>1?c:f,levelBuffer:new Uint8Array(t.buffer,l,p)},l+=p,u=u>>1||1,c=c>>1||1,d=u+r-1&~(r-1),f=c+n-1&~(n-1),p=d*f*js[e];return h}}const sa=4,ir=124,Jp=32,$l=20,tm=542327876,rr={SIZE:1,FLAGS:2,HEIGHT:3,WIDTH:4,MIPMAP_COUNT:7,PIXEL_FORMAT:19},em={SIZE:0,FLAGS:1,FOURCC:2,RGB_BITCOUNT:3,R_BIT_MASK:4,G_BIT_MASK:5,B_BIT_MASK:6,A_BIT_MASK:7},nr={DXGI_FORMAT:0,RESOURCE_DIMENSION:1,MISC_FLAG:2,ARRAY_SIZE:3,MISC_FLAGS2:4},sm=1,im=2,rm=4,nm=64,am=512,om=131072,hm=827611204,lm=861165636,um=894720068,cm=808540228,dm=4,fm={[hm]:Ct.COMPRESSED_RGBA_S3TC_DXT1_EXT,[lm]:Ct.COMPRESSED_RGBA_S3TC_DXT3_EXT,[um]:Ct.COMPRESSED_RGBA_S3TC_DXT5_EXT},pm={70:Ct.COMPRESSED_RGBA_S3TC_DXT1_EXT,71:Ct.COMPRESSED_RGBA_S3TC_DXT1_EXT,73:Ct.COMPRESSED_RGBA_S3TC_DXT3_EXT,74:Ct.COMPRESSED_RGBA_S3TC_DXT3_EXT,76:Ct.COMPRESSED_RGBA_S3TC_DXT5_EXT,77:Ct.COMPRESSED_RGBA_S3TC_DXT5_EXT,72:Ct.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,75:Ct.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,78:Ct.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT};function Hl(i){const t=new Uint32Array(i);if(t[0]!==tm)throw new Error("Invalid DDS file magic word");const e=new Uint32Array(i,0,ir/Uint32Array.BYTES_PER_ELEMENT),s=e[rr.HEIGHT],r=e[rr.WIDTH],n=e[rr.MIPMAP_COUNT],a=new Uint32Array(i,rr.PIXEL_FORMAT*Uint32Array.BYTES_PER_ELEMENT,Jp/Uint32Array.BYTES_PER_ELEMENT),o=a[sm];if(o&rm){const h=a[em.FOURCC];if(h!==cm){const x=fm[h],v=sa+ir,b=new Uint8Array(i,v);return[new Ce(b,{format:x,width:r,height:s,levels:n})]}const l=sa+ir,u=new Uint32Array(t.buffer,l,$l/Uint32Array.BYTES_PER_ELEMENT),c=u[nr.DXGI_FORMAT],d=u[nr.RESOURCE_DIMENSION],f=u[nr.MISC_FLAG],p=u[nr.ARRAY_SIZE],m=pm[c];if(m===void 0)throw new Error(`DDSParser cannot parse texture data with DXGI format ${c}`);if(f===dm)throw new Error("DDSParser does not support cubemap textures");if(d===6)throw new Error("DDSParser does not supported 3D texture data");const g=new Array,_=sa+ir+$l;if(p===1)g.push(new Uint8Array(i,_));else{const x=js[m];let v=0,b=r,T=s;for(let w=0;w>>1,T=T>>>1}let R=_;for(let w=0;wnew Ce(x,{format:m,width:r,height:s,levels:n}))}throw o&nm?new Error("DDSParser does not support uncompressed texture data."):o&am?new Error("DDSParser does not supported YUV uncompressed texture data."):o&om?new Error("DDSParser does not support single-channel (lumninance) texture data!"):o&im?new Error("DDSParser does not support single-channel (alpha) texture data!"):new Error("DDSParser failed to load a texture file due to an unknown reason!")}const Vl=[171,75,84,88,32,49,49,187,13,10,26,10],mm=67305985,qt={FILE_IDENTIFIER:0,ENDIANNESS:12,GL_TYPE:16,GL_TYPE_SIZE:20,GL_FORMAT:24,GL_INTERNAL_FORMAT:28,GL_BASE_INTERNAL_FORMAT:32,PIXEL_WIDTH:36,PIXEL_HEIGHT:40,PIXEL_DEPTH:44,NUMBER_OF_ARRAY_ELEMENTS:48,NUMBER_OF_FACES:52,NUMBER_OF_MIPMAP_LEVELS:56,BYTES_OF_KEY_VALUE_DATA:60},ia=64,ra={[$.UNSIGNED_BYTE]:1,[$.UNSIGNED_SHORT]:2,[$.INT]:4,[$.UNSIGNED_INT]:4,[$.FLOAT]:4,[$.HALF_FLOAT]:8},jl={[M.RGBA]:4,[M.RGB]:3,[M.RG]:2,[M.RED]:1,[M.LUMINANCE]:1,[M.LUMINANCE_ALPHA]:2,[M.ALPHA]:1},Xl={[$.UNSIGNED_SHORT_4_4_4_4]:2,[$.UNSIGNED_SHORT_5_5_5_1]:2,[$.UNSIGNED_SHORT_5_6_5]:2};function zl(i,t,e=!1){const s=new DataView(t);if(!gm(i,s))return null;const r=s.getUint32(qt.ENDIANNESS,!0)===mm,n=s.getUint32(qt.GL_TYPE,r),a=s.getUint32(qt.GL_FORMAT,r),o=s.getUint32(qt.GL_INTERNAL_FORMAT,r),h=s.getUint32(qt.PIXEL_WIDTH,r),l=s.getUint32(qt.PIXEL_HEIGHT,r)||1,u=s.getUint32(qt.PIXEL_DEPTH,r)||1,c=s.getUint32(qt.NUMBER_OF_ARRAY_ELEMENTS,r)||1,d=s.getUint32(qt.NUMBER_OF_FACES,r),f=s.getUint32(qt.NUMBER_OF_MIPMAP_LEVELS,r),p=s.getUint32(qt.BYTES_OF_KEY_VALUE_DATA,r);if(l===0||u!==1)throw new Error("Only 2D textures are supported");if(d!==1)throw new Error("CubeTextures are not supported by KTXLoader yet!");if(c!==1)throw new Error("WebGL does not support array textures");const m=4,g=4,_=h+3&-4,x=l+3&-4,v=new Array(c);let b=h*l;n===0&&(b=_*x);let T;if(n!==0?ra[n]?T=ra[n]*jl[a]:T=Xl[n]:T=js[o],T===void 0)throw new Error("Unable to resolve the pixel format stored in the *.ktx file!");const R=e?vm(s,p,r):null;let w=b*T,A=h,S=l,I=_,H=x,B=ia+p;for(let E=0;E1||n!==0?A:I,levelHeight:f>1||n!==0?S:H,levelBuffer:new Uint8Array(t,V,w)},V+=w}B+=P+4,B=B%4!==0?B+4-B%4:B,A=A>>1||1,S=S>>1||1,I=A+m-1&~(m-1),H=S+g-1&~(g-1),w=I*H*T}return n!==0?{uncompressed:v.map(E=>{let P=E[0].levelBuffer,V=!1;return n===$.FLOAT?P=new Float32Array(E[0].levelBuffer.buffer,E[0].levelBuffer.byteOffset,E[0].levelBuffer.byteLength/4):n===$.UNSIGNED_INT?(V=!0,P=new Uint32Array(E[0].levelBuffer.buffer,E[0].levelBuffer.byteOffset,E[0].levelBuffer.byteLength/4)):n===$.INT&&(V=!0,P=new Int32Array(E[0].levelBuffer.buffer,E[0].levelBuffer.byteOffset,E[0].levelBuffer.byteLength/4)),{resource:new xs(P,{width:E[0].levelWidth,height:E[0].levelHeight}),type:n,format:V?_m(a):a}}),kvData:R}:{compressed:v.map(E=>new Ce(null,{format:o,width:h,height:l,levels:f,levelBuffers:E})),kvData:R}}function gm(i,t){for(let e=0;et-r){console.error("KTXLoader: keyAndValueByteSize out of bounds");break}let h=0;for(;ht in i?ym(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,Tm=(i,t)=>{for(var e in t||(t={}))xm.call(t,e)&&Yl(i,e,t[e]);if(Wl)for(var e of Wl(t))bm.call(t,e)&&Yl(i,e,t[e]);return i};const ql={extension:{type:D.LoadParser,priority:$t.High},name:"loadDDS",test(i){return _e(i,".dds")},async load(i,t,e){const s=await(await N.ADAPTER.fetch(i)).arrayBuffer(),r=Hl(s).map(n=>{const a=new X(n,Tm({mipmap:Ht.OFF,alphaMode:At.NO_PREMULTIPLIED_ALPHA,resolution:te(i)},t.data));return ts(a,e,i)});return r.length===1?r[0]:r},unload(i){Array.isArray(i)?i.forEach(t=>t.destroy(!0)):i.destroy(!0)}};U.add(ql);var Em=Object.defineProperty,Kl=Object.getOwnPropertySymbols,Am=Object.prototype.hasOwnProperty,wm=Object.prototype.propertyIsEnumerable,Zl=(i,t,e)=>t in i?Em(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,Sm=(i,t)=>{for(var e in t||(t={}))Am.call(t,e)&&Zl(i,e,t[e]);if(Kl)for(var e of Kl(t))wm.call(t,e)&&Zl(i,e,t[e]);return i};const Ql={extension:{type:D.LoadParser,priority:$t.High},name:"loadKTX",test(i){return _e(i,".ktx")},async load(i,t,e){const s=await(await N.ADAPTER.fetch(i)).arrayBuffer(),{compressed:r,uncompressed:n,kvData:a}=zl(i,s),o=r!=null?r:n,h=Sm({mipmap:Ht.OFF,alphaMode:At.NO_PREMULTIPLIED_ALPHA,resolution:te(i)},t.data),l=o.map(u=>{var c;o===n&&Object.assign(h,{type:u.type,format:u.format});const d=(c=u.resource)!=null?c:u,f=new X(d,h);return f.ktxKeyValueData=a,ts(f,e,i)});return l.length===1?l[0]:l},unload(i){Array.isArray(i)?i.forEach(t=>t.destroy(!0)):i.destroy(!0)}};U.add(Ql);const Jl={extension:D.ResolveParser,test:i=>{const t=i.split("?")[0].split(".").pop();return["basis","ktx","dds"].includes(t)},parse:i=>{var t,e,s,r;if(i.split("?")[0].split(".").pop()==="ktx"){const n=[".s3tc.ktx",".s3tc_sRGB.ktx",".etc.ktx",".etc1.ktx",".pvrt.ktx",".atc.ktx",".astc.ktx"];if(n.some(a=>i.endsWith(a)))return{resolution:parseFloat((e=(t=N.RETINA_PREFIX.exec(i))==null?void 0:t[1])!=null?e:"1"),format:n.find(a=>i.endsWith(a)),src:i}}return{resolution:parseFloat((r=(s=N.RETINA_PREFIX.exec(i))==null?void 0:s[1])!=null?r:"1"),format:i.split(".").pop(),src:i}}};U.add(Jl);const ar=new z,Cm=4,tu=class oi{constructor(t){this.renderer=t,this._rendererPremultipliedAlpha=!1}contextChange(){var t;const e=(t=this.renderer)==null?void 0:t.gl.getContextAttributes();this._rendererPremultipliedAlpha=!!(e&&e.alpha&&e.premultipliedAlpha)}async image(t,e,s,r){const n=new Image;return n.src=await this.base64(t,e,s,r),n}async base64(t,e,s,r){const n=this.canvas(t,r);if(n.toBlob!==void 0)return new Promise((a,o)=>{n.toBlob(h=>{if(!h){o(new Error("ICanvas.toBlob failed!"));return}const l=new FileReader;l.onload=()=>a(l.result),l.onerror=o,l.readAsDataURL(h)},e,s)});if(n.toDataURL!==void 0)return n.toDataURL(e,s);if(n.convertToBlob!==void 0){const a=await n.convertToBlob({type:e,quality:s});return new Promise((o,h)=>{const l=new FileReader;l.onload=()=>o(l.result),l.onerror=h,l.readAsDataURL(a)})}throw new Error("Extract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(t,e){const{pixels:s,width:r,height:n,flipY:a,premultipliedAlpha:o}=this._rawPixels(t,e);a&&oi._flipY(s,r,n),o&&oi._unpremultiplyAlpha(s);const h=new ys(r,n,1),l=new ImageData(new Uint8ClampedArray(s.buffer),r,n);return h.context.putImageData(l,0,0),h.canvas}pixels(t,e){const{pixels:s,width:r,height:n,flipY:a,premultipliedAlpha:o}=this._rawPixels(t,e);return a&&oi._flipY(s,r,n),o&&oi._unpremultiplyAlpha(s),s}_rawPixels(t,e){const s=this.renderer;if(!s)throw new Error("The Extract has already been destroyed");let r,n=!1,a=!1,o,h=!1;t&&(t instanceof Yt?o=t:(o=s.generateTexture(t,{region:e,resolution:s.resolution,multisample:s.multisample}),h=!0,e&&(ar.width=e.width,ar.height=e.height,e=ar)));const l=s.gl;if(o){if(r=o.baseTexture.resolution,e=e!=null?e:o.frame,n=!1,a=o.baseTexture.alphaMode>0&&o.baseTexture.format===M.RGBA,!h){s.renderTexture.bind(o);const f=o.framebuffer.glFramebuffers[s.CONTEXT_UID];f.blitFramebuffer&&s.framebuffer.bind(f.blitFramebuffer)}}else r=s.resolution,e||(e=ar,e.width=s.width/r,e.height=s.height/r),n=!0,a=this._rendererPremultipliedAlpha,s.renderTexture.bind();const u=Math.max(Math.round(e.width*r),1),c=Math.max(Math.round(e.height*r),1),d=new Uint8Array(Cm*u*c);return l.readPixels(Math.round(e.x*r),Math.round(e.y*r),u,c,l.RGBA,l.UNSIGNED_BYTE,d),h&&(o==null||o.destroy(!0)),{pixels:d,width:u,height:c,flipY:n,premultipliedAlpha:a}}destroy(){this.renderer=null}static _flipY(t,e,s){const r=e<<2,n=s>>1,a=new Uint8Array(r);for(let o=0;o=0&&o>=0&&r>=0&&n>=0)){t.length=0;return}const h=Math.ceil(2.3*Math.sqrt(a+o)),l=h*8+(r?4:0)+(n?4:0);if(t.length=l,l===0)return;if(h===0){t.length=8,t[0]=t[6]=e+r,t[1]=t[3]=s+n,t[2]=t[4]=e-r,t[5]=t[7]=s-n;return}let u=0,c=h*4+(r?2:0)+2,d=c,f=l;{const p=r+a,m=n,g=e+p,_=e-p,x=s+m;if(t[u++]=g,t[u++]=x,t[--c]=x,t[--c]=_,n){const v=s-m;t[d++]=_,t[d++]=v,t[--f]=v,t[--f]=g}}for(let p=1;p0||t&&s<=0){const r=e/2;for(let n=r+r%2;n=6){su(e,!1);const a=[];for(let l=0;l=0&&n>=0&&a.push(e,s,e+r,s,e+r,s+n,e,s+n)},triangulate(i,t){const e=i.points,s=t.points;if(e.length===0)return;const r=s.length/2;s.push(e[0],e[1],e[2],e[3],e[6],e[7],e[4],e[5]),t.indices.push(r,r+1,r+2,r+1,r+2,r+3)}},ru={build(i){Xs.build(i)},triangulate(i,t){Xs.triangulate(i,t)}};var Mt=(i=>(i.MITER="miter",i.BEVEL="bevel",i.ROUND="round",i))(Mt||{}),ye=(i=>(i.BUTT="butt",i.ROUND="round",i.SQUARE="square",i))(ye||{});const Re={adaptive:!0,maxLength:10,minSegments:8,maxSegments:2048,epsilon:1e-4,_segmentsCount(i,t=20){if(!this.adaptive||!i||isNaN(i))return t;let e=Math.ceil(i/this.maxLength);return ethis.maxSegments&&(e=this.maxSegments),e}},Rm=Re;class aa{static curveTo(t,e,s,r,n,a){const o=a[a.length-2],h=a[a.length-1]-e,l=o-t,u=r-e,c=s-t,d=Math.abs(h*c-l*u);if(d<1e-8||n===0)return(a[a.length-2]!==t||a[a.length-1]!==e)&&a.push(t,e),null;const f=h*h+l*l,p=u*u+c*c,m=h*u+l*c,g=n*Math.sqrt(f)/d,_=n*Math.sqrt(p)/d,x=g*m/f,v=_*m/p,b=g*c+_*l,T=g*u+_*h,R=l*(_+x),w=h*(_+x),A=c*(g+v),S=u*(g+v),I=Math.atan2(w-T,R-b),H=Math.atan2(S-T,A-b);return{cx:b+t,cy:T+e,radius:n,startAngle:I,endAngle:H,anticlockwise:l*u>c*h}}static arc(t,e,s,r,n,a,o,h,l){const u=o-a,c=Re._segmentsCount(Math.abs(u)*n,Math.ceil(Math.abs(u)/Ts)*40),d=u/(c*2),f=d*2,p=Math.cos(d),m=Math.sin(d),g=c-1,_=g%1/g;for(let x=0;x<=g;++x){const v=x+_*x,b=d+a+f*v,T=Math.cos(b),R=-Math.sin(b);l.push((p*T+m*R)*n+s,(p*-R+m*T)*n+r)}}}class nu{constructor(){this.reset()}begin(t,e,s){this.reset(),this.style=t,this.start=e,this.attribStart=s}end(t,e){this.attribSize=e-this.attribStart,this.size=t-this.start}reset(){this.style=null,this.size=0,this.start=0,this.attribStart=0,this.attribSize=0}}class or{static curveLength(t,e,s,r,n,a,o,h){let l=0,u=0,c=0,d=0,f=0,p=0,m=0,g=0,_=0,x=0,v=0,b=t,T=e;for(let R=1;R<=10;++R)u=R/10,c=u*u,d=c*u,f=1-u,p=f*f,m=p*f,g=m*t+3*p*u*s+3*f*c*n+d*o,_=m*e+3*p*u*r+3*f*c*a+d*h,x=b-g,v=T-_,b=g,T=_,l+=Math.sqrt(x*x+v*v);return l}static curveTo(t,e,s,r,n,a,o){const h=o[o.length-2],l=o[o.length-1];o.length-=2;const u=Re._segmentsCount(or.curveLength(h,l,t,e,s,r,n,a));let c=0,d=0,f=0,p=0,m=0;o.push(h,l);for(let g=1,_=0;g<=u;++g)_=g/u,c=1-_,d=c*c,f=d*c,p=_*_,m=p*_,o.push(f*h+3*d*_*t+3*c*p*s+m*n,f*l+3*d*_*e+3*c*p*r+m*a)}}function au(i,t,e,s,r,n,a,o){const h=i-e*r,l=t-s*r,u=i+e*n,c=t+s*n;let d,f;a?(d=s,f=-e):(d=-s,f=e);const p=h+d,m=l+f,g=u+d,_=c+f;return o.push(p,m,g,_),2}function je(i,t,e,s,r,n,a,o){const h=e-i,l=s-t;let u=Math.atan2(h,l),c=Math.atan2(r-i,n-t);o&&uc&&(c+=Math.PI*2);let d=u;const f=c-u,p=Math.abs(f),m=Math.sqrt(h*h+l*l),g=(15*p*Math.sqrt(m)/Math.PI>>0)+1,_=f/g;if(d+=_,o){a.push(i,t,e,s);for(let x=1,v=d;x=0&&(n.join===Mt.ROUND?d+=je(v,b,v-w*E,b-A*E,v-S*E,b-I*E,u,!1)+4:d+=2,u.push(v-S*P,b-I*P,v+S*E,b+I*E));continue}const st=(-w+_)*(-A+b)-(-w+v)*(-A+x),et=(-S+T)*(-I+b)-(-S+v)*(-I+R),rt=(W*et-F*st)/Q,lt=(O*st-ht*et)/Q,_t=(rt-v)*(rt-v)+(lt-b)*(lt-b),nt=v+(rt-v)*E,ut=b+(lt-b)*E,mt=v-(rt-v)*P,vt=b-(lt-b)*P,ne=Math.min(W*W+ht*ht,F*F+O*O),ae=J?E:P,ii=ne+ae*ae*m,ug=_t<=ii;let vr=n.join;if(vr===Mt.MITER&&_t/m>g&&(vr=Mt.BEVEL),ug)switch(vr){case Mt.MITER:{u.push(nt,ut,mt,vt);break}case Mt.BEVEL:{J?u.push(nt,ut,v+w*P,b+A*P,nt,ut,v+S*P,b+I*P):u.push(v-w*E,b-A*E,mt,vt,v-S*E,b-I*E,mt,vt),d+=2;break}case Mt.ROUND:{J?(u.push(nt,ut,v+w*P,b+A*P),d+=je(v,b,v+w*P,b+A*P,v+S*P,b+I*P,u,!0)+4,u.push(nt,ut,v+S*P,b+I*P)):(u.push(v-w*E,b-A*E,mt,vt),d+=je(v,b,v-w*E,b-A*E,v-S*E,b-I*E,u,!1)+4,u.push(v-S*E,b-I*E,mt,vt));break}}else{switch(u.push(v-w*E,b-A*E,v+w*P,b+A*P),vr){case Mt.MITER:{J?u.push(mt,vt,mt,vt):u.push(nt,ut,nt,ut),d+=2;break}case Mt.ROUND:{J?d+=je(v,b,v+w*P,b+A*P,v+S*P,b+I*P,u,!0)+2:d+=je(v,b,v-w*E,b-A*E,v-S*E,b-I*E,u,!1)+2;break}}u.push(v-S*E,b-I*E,v+S*P,b+I*P),d+=2}}_=s[(c-2)*2],x=s[(c-2)*2+1],v=s[(c-1)*2],b=s[(c-1)*2+1],w=-(x-b),A=_-v,H=Math.sqrt(w*w+A*A),w/=H,A/=H,w*=p,A*=p,u.push(v-w*E,b-A*E,v+w*P,b+A*P),h||(n.cap===ye.ROUND?d+=je(v-w*(E-P)*.5,b-A*(E-P)*.5,v-w*E,b-A*E,v+w*P,b+A*P,u,!1)+2:n.cap===ye.SQUARE&&(d+=au(v,b,w,A,E,P,!1,u)));const V=t.indices,q=Re.epsilon*Re.epsilon;for(let j=f;j0&&(this.invalidate(),this.clearDirty++,this.graphicsData.length=0),this}drawShape(t,e=null,s=null,r=null){const n=new Ws(t,e,s,r);return this.graphicsData.push(n),this.dirty++,this}drawHole(t,e=null){if(!this.graphicsData.length)return null;const s=new Ws(t,null,null,e),r=this.graphicsData[this.graphicsData.length-1];return s.lineStyle=r.lineStyle,r.holes.push(s),this.dirty++,this}destroy(){super.destroy();for(let t=0;t0&&(s=this.batches[this.batches.length-1],r=s.style);for(let h=this.shapeIndex;h65535;this.indicesUint16&&this.indices.length===this.indicesUint16.length&&o===this.indicesUint16.BYTES_PER_ELEMENT>2?this.indicesUint16.set(this.indices):this.indicesUint16=o?new Uint32Array(this.indices):new Uint16Array(this.indices),this.batchable=this.isBatchable(),this.batchable?this.packBatches():this.buildDrawCalls()}_compareStyles(t,e){return!(!t||!e||t.texture.baseTexture!==e.texture.baseTexture||t.color+t.alpha!==e.color+e.alpha||!!t.native!=!!e.native)}validateBatching(){if(this.dirty===this.cacheDirty||!this.graphicsData.length)return!1;for(let t=0,e=this.graphicsData.length;t65535*2)return!1;const t=this.batches;for(let e=0;e0&&(r=zs.pop(),r||(r=new Ai,r.texArray=new Bi),this.drawCalls.push(r)),r.start=u,r.size=0,r.texArray.count=0,r.type=l),m.touched=1,m._batchEnabled=t,m._batchLocation=n,m.wrapMode=Zt.REPEAT,r.texArray.elements[r.texArray.count++]=m,n++)),r.size+=d.size,u+=d.size,o=m._batchLocation,this.addColors(e,p.color,p.alpha,d.attribSize,d.attribStart),this.addTextureIds(s,o,d.attribSize,d.attribStart)}X._globalBatch=t,this.packAttributes()}packAttributes(){const t=this.points,e=this.uvs,s=this.colors,r=this.textureIds,n=new ArrayBuffer(t.length*3*4),a=new Float32Array(n),o=new Uint32Array(n);let h=0;for(let l=0;l0&&t.alpha>0;return s?(t.matrix&&(t.matrix=t.matrix.clone(),t.matrix.invert()),Object.assign(this._lineStyle,{visible:s},t)):this._lineStyle.reset(),this}startPoly(){if(this.currentPath){const t=this.currentPath.points,e=this.currentPath.points.length;e>2&&(this.drawShape(this.currentPath),this.currentPath=new Be,this.currentPath.closeStroke=!1,this.currentPath.points.push(t[e-2],t[e-1]))}else this.currentPath=new Be,this.currentPath.closeStroke=!1}finishPoly(){this.currentPath&&(this.currentPath.points.length>2?(this.drawShape(this.currentPath),this.currentPath=null):this.currentPath.points.length=0)}moveTo(t,e){return this.startPoly(),this.currentPath.points[0]=t,this.currentPath.points[1]=e,this}lineTo(t,e){this.currentPath||this.moveTo(0,0);const s=this.currentPath.points,r=s[s.length-2],n=s[s.length-1];return(r!==t||n!==e)&&s.push(t,e),this}_initCurve(t=0,e=0){this.currentPath?this.currentPath.points.length===0&&(this.currentPath.points=[t,e]):this.moveTo(t,e)}quadraticCurveTo(t,e,s,r){this._initCurve();const n=this.currentPath.points;return n.length===0&&this.moveTo(0,0),hr.curveTo(t,e,s,r,n),this}bezierCurveTo(t,e,s,r,n,a){return this._initCurve(),or.curveTo(t,e,s,r,n,a,this.currentPath.points),this}arcTo(t,e,s,r,n){this._initCurve(t,e);const a=this.currentPath.points,o=aa.curveTo(t,e,s,r,n,a);if(o){const{cx:h,cy:l,radius:u,startAngle:c,endAngle:d,anticlockwise:f}=o;this.arc(h,l,u,c,d,f)}return this}arc(t,e,s,r,n,a=!1){if(r===n)return this;if(!a&&n<=r?n+=Ts:a&&r<=n&&(r+=Ts),n-r===0)return this;const o=t+Math.cos(r)*s,h=e+Math.sin(r)*s,l=this._geometry.closePointEps;let u=this.currentPath?this.currentPath.points:null;if(u){const c=Math.abs(u[u.length-2]-o),d=Math.abs(u[u.length-1]-h);c0;return s?(t.matrix&&(t.matrix=t.matrix.clone(),t.matrix.invert()),Object.assign(this._fillStyle,{visible:s},t)):this._fillStyle.reset(),this}endFill(){return this.finishPoly(),this._fillStyle.reset(),this}drawRect(t,e,s,r){return this.drawShape(new z(t,e,s,r))}drawRoundedRect(t,e,s,r,n){return this.drawShape(new Ri(t,e,s,r,n))}drawCircle(t,e,s){return this.drawShape(new Si(t,e,s))}drawEllipse(t,e,s,r){return this.drawShape(new Ci(t,e,s,r))}drawPolygon(...t){let e,s=!0;const r=t[0];r.points?(s=r.closeStroke,e=r.points):Array.isArray(t[0])?e=t[0]:e=t;const n=new Be(e);return n.closeStroke=s,this.drawShape(n),this}drawShape(t){return this._holeMode?this._geometry.drawHole(t,this._matrix):this._geometry.drawShape(t,this._fillStyle.clone(),this._lineStyle.clone(),this._matrix),this}clear(){return this._geometry.clear(),this._lineStyle.reset(),this._fillStyle.reset(),this._boundsID++,this._matrix=null,this._holeMode=!1,this.currentPath=null,this}isFastRect(){const t=this._geometry.graphicsData;return t.length===1&&t[0].shape.type===it.RECT&&!t[0].matrix&&!t[0].holes.length&&!(t[0].lineStyle.visible&&t[0].lineStyle.width)}_render(t){this.finishPoly();const e=this._geometry;e.updateBatches(),e.batchable?(this.batchDirty!==e.batchDirty&&this._populateBatches(),this._renderBatched(t)):(t.batch.flush(),this._renderDirect(t))}_populateBatches(){const t=this._geometry,e=this.blendMode,s=t.batches.length;this.batchTint=-1,this._transformID=-1,this.batchDirty=t.batchDirty,this.batches.length=s,this.vertexData=new Float32Array(t.points);for(let r=0;r0){const p=h.x-t[d].x,m=h.y-t[d].y,g=Math.sqrt(p*p+m*m);h=t[d],o+=g/l}else o=d/(u-1);n[f]=o,n[f+1]=0,n[f+2]=o,n[f+3]=1}let c=0;for(let d=0;d0?this.textureScale*this._width/2:this._width/2;for(let l=0;l1&&(d=1);const f=Math.sqrt(r*r+n*n);f<1e-6?(r=0,n=0):(r/=f,n/=f,r*=h,n*=h),a[c]=u.x+r,a[c+1]=u.y+n,a[c+2]=u.x-r,a[c+3]=u.y-n,e=u}this.buffers[0].update()}update(){this.textureScale>0?this.build():this.updateVertices()}}class pu extends Et{constructor(t,e,s){const r=new du(t.width,t.height,e,s),n=new Xe(L.WHITE);super(r,n),this.texture=t,this.autoResize=!0}textureUpdated(){this._textureID=this.shader.texture._updateID;const t=this.geometry,{width:e,height:s}=this.shader.texture;this.autoResize&&(t.width!==e||t.height!==s)&&(t.width=this.shader.texture.width,t.height=this.shader.texture.height,t.build())}set texture(t){this.shader.texture!==t&&(this.shader.texture=t,this._textureID=-1,t.baseTexture.valid?this.textureUpdated():t.once("update",this.textureUpdated,this))}get texture(){return this.shader.texture}_render(t){this._textureID!==this.shader.texture._updateID&&this.textureUpdated(),super._render(t)}destroy(t){this.shader.texture.off("update",this.textureUpdated,this),super.destroy(t)}}const cr=10;class Ks extends pu{constructor(t,e,s,r,n){var a,o,h,l,u,c,d,f;super(L.WHITE,4,4),this._origWidth=t.orig.width,this._origHeight=t.orig.height,this._width=this._origWidth,this._height=this._origHeight,this._leftWidth=(o=e!=null?e:(a=t.defaultBorders)==null?void 0:a.left)!=null?o:cr,this._rightWidth=(l=r!=null?r:(h=t.defaultBorders)==null?void 0:h.right)!=null?l:cr,this._topHeight=(c=s!=null?s:(u=t.defaultBorders)==null?void 0:u.top)!=null?c:cr,this._bottomHeight=(f=n!=null?n:(d=t.defaultBorders)==null?void 0:d.bottom)!=null?f:cr,this.texture=t}textureUpdated(){this._textureID=this.shader.texture._updateID,this._refresh()}get vertices(){return this.geometry.getBuffer("aVertexPosition").data}set vertices(t){this.geometry.getBuffer("aVertexPosition").data=t}updateHorizontalVertices(){const t=this.vertices,e=this._getMinScale();t[9]=t[11]=t[13]=t[15]=this._topHeight*e,t[17]=t[19]=t[21]=t[23]=this._height-this._bottomHeight*e,t[25]=t[27]=t[29]=t[31]=this._height}updateVerticalVertices(){const t=this.vertices,e=this._getMinScale();t[2]=t[10]=t[18]=t[26]=this._leftWidth*e,t[4]=t[12]=t[20]=t[28]=this._width-this._rightWidth*e,t[6]=t[14]=t[22]=t[30]=this._width}_getMinScale(){const t=this._leftWidth+this._rightWidth,e=this._width>t?1:this._width/t,s=this._topHeight+this._bottomHeight,r=this._height>s?1:this._height/s;return Math.min(e,r)}get width(){return this._width}set width(t){this._width=t,this._refresh()}get height(){return this._height}set height(t){this._height=t,this._refresh()}get leftWidth(){return this._leftWidth}set leftWidth(t){this._leftWidth=t,this._refresh()}get rightWidth(){return this._rightWidth}set rightWidth(t){this._rightWidth=t,this._refresh()}get topHeight(){return this._topHeight}set topHeight(t){this._topHeight=t,this._refresh()}get bottomHeight(){return this._bottomHeight}set bottomHeight(t){this._bottomHeight=t,this._refresh()}_refresh(){const t=this.texture,e=this.geometry.buffers[1].data;this._origWidth=t.orig.width,this._origHeight=t.orig.height;const s=1/this._origWidth,r=1/this._origHeight;e[0]=e[8]=e[16]=e[24]=0,e[1]=e[3]=e[5]=e[7]=0,e[6]=e[14]=e[22]=e[30]=1,e[25]=e[27]=e[29]=e[31]=1,e[2]=e[10]=e[18]=e[26]=s*this._leftWidth,e[4]=e[12]=e[20]=e[28]=1-s*this._rightWidth,e[9]=e[11]=e[13]=e[15]=r*this._topHeight,e[17]=e[19]=e[21]=e[23]=1-r*this._bottomHeight,this.updateHorizontalVertices(),this.updateVerticalVertices(),this.geometry.buffers[0].update(),this.geometry.buffers[1].update()}}class mu extends Et{constructor(t=L.EMPTY,e,s,r,n){const a=new qs(e,s,r);a.getBuffer("aVertexPosition").static=!1;const o=new Xe(t);super(a,o,null,n),this.autoUpdate=!0}get vertices(){return this.geometry.getBuffer("aVertexPosition").data}set vertices(t){this.geometry.getBuffer("aVertexPosition").data=t}_render(t){this.autoUpdate&&this.geometry.getBuffer("aVertexPosition").update(),super._render(t)}}class gu extends Et{constructor(t,e,s=0){const r=new fu(t.height,e,s),n=new Xe(t);s>0&&(t.baseTexture.wrapMode=Zt.REPEAT),super(r,n),this.autoUpdate=!0}_render(t){const e=this.geometry;(this.autoUpdate||e._width!==this.shader.texture.height)&&(e._width=this.shader.texture.height,e.update()),super._render(t)}}class _u{constructor(t){this.maxItemsPerFrame=t,this.itemsLeft=0}beginFrame(){this.itemsLeft=this.maxItemsPerFrame}allowedToUpload(){return this.itemsLeft-- >0}}function Bm(i,t){var e;let s=!1;if((e=i==null?void 0:i._textures)!=null&&e.length){for(let r=0;r{this.queue&&this.prepareItems()},this.registerFindHook(km),this.registerFindHook(Gm),this.registerFindHook(Bm),this.registerFindHook(Fm),this.registerFindHook(Nm),this.registerUploadHook(Lm),this.registerUploadHook(Um)}upload(t){return new Promise(e=>{t&&this.add(t),this.queue.length?(this.completes.push(e),this.ticking||(this.ticking=!0,xt.system.addOnce(this.tick,this,pe.UTILITY))):e()})}tick(){setTimeout(this.delayedTick,0)}prepareItems(){for(this.limiter.beginFrame();this.queue.length&&this.limiter.allowedToUpload();){const t=this.queue[0];let e=!1;if(t&&!t._destroyed){for(let s=0,r=this.uploadHooks.length;s=0;e--)this.add(t.children[e]);return this}destroy(){this.ticking&&xt.system.remove(this.tick,this),this.ticking=!1,this.addHooks=null,this.uploadHooks=null,this.renderer=null,this.completes=null,this.queue=null,this.limiter=null,this.uploadHookHelper=null}};vu.uploadsPerFrame=4;let Zs=vu;Object.defineProperties(N,{UPLOADS_PER_FRAME:{get(){return Zs.uploadsPerFrame},set(i){Zs.uploadsPerFrame=i}}});function yu(i,t){return t instanceof X?(t._glTextures[i.CONTEXT_UID]||i.texture.bind(t),!0):!1}function $m(i,t){if(!(t instanceof rs))return!1;const{geometry:e}=t;t.finishPoly(),e.updateBatches();const{batches:s}=e;for(let r=0;r=this._durations[this.currentFrame];)r-=this._durations[this.currentFrame]*n,this._currentTime+=n;this._currentTime+=r/this._durations[this.currentFrame]}else this._currentTime+=e;this._currentTime<0&&!this.loop?(this.gotoAndStop(0),this.onComplete&&this.onComplete()):this._currentTime>=this._textures.length&&!this.loop?(this.gotoAndStop(this._textures.length-1),this.onComplete&&this.onComplete()):s!==this.currentFrame&&(this.loop&&this.onLoop&&(this.animationSpeed>0&&this.currentFrames)&&this.onLoop(),this.updateTexture())}updateTexture(){const t=this.currentFrame;this._previousFrame!==t&&(this._previousFrame=t,this._texture=this._textures[t],this._textureID=-1,this._textureTrimmedID=-1,this._cachedTint=16777215,this.uvs=this._texture._uvs.uvsFloat32,this.updateAnchor&&this._anchor.copyFrom(this._texture.defaultAnchor),this.onFrameChange&&this.onFrameChange(this.currentFrame))}destroy(t){this.stop(),super.destroy(t),this.onComplete=null,this.onFrameChange=null,this.onLoop=null}static fromFrames(t){const e=[];for(let s=0;sthis.totalFrames-1)throw new Error(`[AnimatedSprite]: Invalid frame index value ${t}, expected to be between 0 and totalFrames ${this.totalFrames}.`);const e=this.currentFrame;this._currentTime=t,e!==this.currentFrame&&this.updateTexture()}get playing(){return this._playing}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,!this._autoUpdate&&this._isConnectedToTicker?(xt.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._playing&&(xt.shared.add(this.update,this),this._isConnectedToTicker=!0))}}const xu=class hi{constructor(t,e,s=null){this.linkedSheets=[],this._texture=t instanceof L?t:null,this.baseTexture=t instanceof X?t:this._texture.baseTexture,this.textures={},this.animations={},this.data=e;const r=this.baseTexture.resource;this.resolution=this._updateResolution(s||(r?r.url:null)),this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null}_updateResolution(t=null){const{scale:e}=this.data.meta;let s=te(t,null);return s===null&&(s=parseFloat(e!=null?e:"1")),s!==1&&this.baseTexture.setResolution(s),s}parse(){return new Promise(t=>{this._callback=t,this._batchIndex=0,this._frameKeys.length<=hi.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()})}_processFrames(t){let e=t;const s=hi.BATCH_SIZE;for(;e-t{this._batchIndex*hi.BATCH_SIZE{s[r]=t}),Object.keys(t.textures).forEach(r=>{s[r]=t.textures[r]}),!e){const r=bt.dirname(i[0]);t.linkedSheets.forEach((n,a)=>{const o=bu([`${r}/${t.data.meta.related_multi_packs[a]}`],n,!0);Object.assign(s,o)})}return s}const Tu={extension:D.Asset,cache:{test:i=>i instanceof fa,getCacheableAssets:(i,t)=>bu(i,t,!1)},resolver:{test:i=>{const t=i.split("?")[0].split("."),e=t.pop(),s=t.pop();return e==="json"&&jm.includes(s)},parse:i=>{var t,e;const s=i.split(".");return{resolution:parseFloat((e=(t=N.RETINA_PREFIX.exec(i))==null?void 0:t[1])!=null?e:"1"),format:s[s.length-2],src:i}}},loader:{name:"spritesheetLoader",extension:{type:D.LoadParser,priority:$t.Normal},async testParse(i,t){return bt.extname(t.src).toLowerCase()===".json"&&!!i.frames},async parse(i,t,e){var s,r;let n=bt.dirname(t.src);n&&n.lastIndexOf("/")!==n.length-1&&(n+="/");let a=n+i.meta.image;a=sr(a,t.src);const o=(await e.load([a]))[a],h=new fa(o.baseTexture,i,t.src);await h.parse();const l=(s=i==null?void 0:i.meta)==null?void 0:s.related_multi_packs;if(Array.isArray(l)){const u=[];for(const d of l){if(typeof d!="string")continue;let f=n+d;(r=t.data)!=null&&r.ignoreMultiPack||(f=sr(f,t.src),u.push(e.load({src:f,data:{ignoreMultiPack:!0}})))}const c=await Promise.all(u);h.linkedSheets=c,c.forEach(d=>{d.linkedSheets=[h].concat(h.linkedSheets.filter(f=>f!==d))})}return h},unload(i){i.destroy(!0)}}};U.add(Tu);class Qs{constructor(){this.info=[],this.common=[],this.page=[],this.char=[],this.kerning=[],this.distanceField=[]}}class Js{static test(t){return typeof t=="string"&&t.startsWith("info face=")}static parse(t){const e=t.match(/^[a-z]+\s+.+$/gm),s={info:[],common:[],page:[],char:[],chars:[],kerning:[],kernings:[],distanceField:[]};for(const n in e){const a=e[n].match(/^[a-z]+/gm)[0],o=e[n].match(/[a-zA-Z]+=([^\s"']+|"([^"]*)")/gm),h={};for(const l in o){const u=o[l].split("="),c=u[0],d=u[1].replace(/"/gm,""),f=parseFloat(d),p=isNaN(f)?d:f;h[c]=p}s[a].push(h)}const r=new Qs;return s.info.forEach(n=>r.info.push({face:n.face,size:parseInt(n.size,10)})),s.common.forEach(n=>r.common.push({lineHeight:parseInt(n.lineHeight,10)})),s.page.forEach(n=>r.page.push({id:parseInt(n.id,10),file:n.file})),s.char.forEach(n=>r.char.push({id:parseInt(n.id,10),page:parseInt(n.page,10),x:parseInt(n.x,10),y:parseInt(n.y,10),width:parseInt(n.width,10),height:parseInt(n.height,10),xoffset:parseInt(n.xoffset,10),yoffset:parseInt(n.yoffset,10),xadvance:parseInt(n.xadvance,10)})),s.kerning.forEach(n=>r.kerning.push({first:parseInt(n.first,10),second:parseInt(n.second,10),amount:parseInt(n.amount,10)})),s.distanceField.forEach(n=>r.distanceField.push({distanceRange:parseInt(n.distanceRange,10),fieldType:n.fieldType})),r}}class fr{static test(t){const e=t;return typeof t!="string"&&"getElementsByTagName"in t&&e.getElementsByTagName("page").length&&e.getElementsByTagName("info")[0].getAttribute("face")!==null}static parse(t){const e=new Qs,s=t.getElementsByTagName("info"),r=t.getElementsByTagName("common"),n=t.getElementsByTagName("page"),a=t.getElementsByTagName("char"),o=t.getElementsByTagName("kerning"),h=t.getElementsByTagName("distanceField");for(let l=0;l")?fr.test(N.ADAPTER.parseXML(t)):!1}static parse(t){return fr.parse(N.ADAPTER.parseXML(t))}}const pa=[Js,fr,pr];function Eu(i){for(let t=0;tt in i?Ym(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,qm=(i,t)=>{for(var e in t||(t={}))wu.call(t,e)&&Cu(i,e,t[e]);if(gr)for(var e of gr(t))Su.call(t,e)&&Cu(i,e,t[e]);return i},Km=(i,t)=>{var e={};for(var s in i)wu.call(i,s)&&t.indexOf(s)<0&&(e[s]=i[s]);if(i!=null&&gr)for(var s of gr(i))t.indexOf(s)<0&&Su.call(i,s)&&(e[s]=i[s]);return e};const Ie=class oe{constructor(t,e,s){var r,n;const[a]=t.info,[o]=t.common,[h]=t.page,[l]=t.distanceField,u=te(h.file),c={};this._ownsTextures=s,this.font=a.face,this.size=a.size,this.lineHeight=o.lineHeight/u,this.chars={},this.pageTextures=c;for(let d=0;d=l-B*o){if(g===0)throw new Error(`[BitmapFont] textureHeight ${l}px is too small (fontFamily: '${d.fontFamily}', fontSize: ${d.fontSize}px, char: '${S}')`);--A,_=null,x=null,v=null,g=0,m=0,b=0;continue}if(b=Math.max(B+I.fontProperties.descent,b),E*o+m>=f){if(m===0)throw new Error(`[BitmapFont] textureWidth ${h}px is too small (fontFamily: '${d.fontFamily}', fontSize: ${d.fontSize}px, char: '${S}')`);--A,g+=b*o,g=Math.ceil(g),m=0,b=0;continue}zm(_,x,I,m,g,o,d);const P=mr(I.text);p.char.push({id:P,page:R.length-1,x:m/o,y:g/o,width:E,height:B,xoffset:0,yoffset:0,xadvance:H-(d.dropShadow?d.dropShadowDistance:0)-(d.stroke?d.strokeThickness:0)}),m+=(E+2*a)*o,m=Math.ceil(m)}if(!(s!=null&&s.skipKerning))for(let A=0,S=c.length;A 0.99) {\r + alpha = 1.0;\r + }\r +\r + // Gamma correction for coverage-like alpha\r + float luma = dot(uColor.rgb, vec3(0.299, 0.587, 0.114));\r + float gamma = mix(1.0, 1.0 / 2.2, luma);\r + float coverage = pow(uColor.a * alpha, gamma); \r +\r + // NPM Textures, NPM outputs\r + gl_FragColor = vec4(uColor.rgb, coverage);\r +}\r +`,Qm=`// Mesh material default fragment\r +attribute vec2 aVertexPosition;\r +attribute vec2 aTextureCoord;\r +\r +uniform mat3 projectionMatrix;\r +uniform mat3 translationMatrix;\r +uniform mat3 uTextureMatrix;\r +\r +varying vec2 vTextureCoord;\r +\r +void main(void)\r +{\r + gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\r +\r + vTextureCoord = (uTextureMatrix * vec3(aTextureCoord, 1.0)).xy;\r +}\r +`;const Ru=[],Iu=[],Pu=[],Mu=class $u extends St{constructor(t,e={}){super();const{align:s,tint:r,maxWidth:n,letterSpacing:a,fontName:o,fontSize:h}=Object.assign({},$u.styleDefaults,e);if(!xe.available[o])throw new Error(`Missing BitmapFont "${o}"`);this._activePagesMeshData=[],this._textWidth=0,this._textHeight=0,this._align=s,this._tintColor=new Y(r),this._font=void 0,this._fontName=o,this._fontSize=h,this.text=t,this._maxWidth=n,this._maxLineHeight=0,this._letterSpacing=a,this._anchor=new de(()=>{this.dirty=!0},this,0,0),this._roundPixels=N.ROUND_PIXELS,this.dirty=!0,this._resolution=N.RESOLUTION,this._autoResolution=!0,this._textureCache={}}updateText(){var t;const e=xe.available[this._fontName],s=this.fontSize,r=s/e.size,n=new K,a=[],o=[],h=[],l=this._text.replace(/(?:\r\n|\r)/g,` +`)||" ",u=Au(l),c=this._maxWidth*e.size/s,d=e.distanceFieldType==="none"?Ru:Iu;let f=null,p=0,m=0,g=0,_=-1,x=0,v=0,b=0,T=0;for(let B=0;B0&&n.x>c&&(++v,Oe(a,1+_-v,1+B-_),B=_,_=-1,o.push(x),h.push(a.length>0?a[a.length-1].prevSpaces:0),m=Math.max(m,x),g++,n.x=0,n.y+=e.lineHeight,f=null,T=0)}const R=u[u.length-1];R!=="\r"&&R!==` +`&&(/(?:\s)/.test(R)&&(p=x),o.push(p),m=Math.max(m,p),h.push(-1));const w=[];for(let B=0;B<=g;B++){let E=0;this._align==="right"?E=m-o[B]:this._align==="center"?E=(m-o[B])/2:this._align==="justify"&&(E=h[B]<0?0:(m-o[B])/h[B]),w.push(E)}const A=a.length,S={},I=[],H=this._activePagesMeshData;d.push(...H);for(let B=0;B6*P)||E.vertices.lengthe[r.mesh.texture.baseTexture.uid]).forEach(r=>{r.mesh.texture=L.EMPTY});for(const r in e)e[r].destroy(),delete e[r];this._font=null,this._tintColor=null,this._textureCache=null,super.destroy(t)}};Mu.styleDefaults={align:"left",tint:16777215,maxWidth:0,letterSpacing:0};let Jm=Mu;const tg=[".xml",".fnt"],Du={extension:{type:D.LoadParser,priority:$t.Normal},name:"loadBitmapFont",test(i){return tg.includes(bt.extname(i).toLowerCase())},async testParse(i){return Js.test(i)||pr.test(i)},async parse(i,t,e){const s=Js.test(i)?Js.parse(i):pr.parse(i),{src:r}=t,{page:n}=s,a=[];for(let l=0;lo[l]);return xe.install(s,h,!0)},async load(i,t){return(await N.ADAPTER.fetch(i)).text()},unload(i){i.destroy()}};U.add(Du);var eg=Object.defineProperty,sg=Object.defineProperties,ig=Object.getOwnPropertyDescriptors,Ou=Object.getOwnPropertySymbols,rg=Object.prototype.hasOwnProperty,ng=Object.prototype.propertyIsEnumerable,Bu=(i,t,e)=>t in i?eg(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,ag=(i,t)=>{for(var e in t||(t={}))rg.call(t,e)&&Bu(i,e,t[e]);if(Ou)for(var e of Ou(t))ng.call(t,e)&&Bu(i,e,t[e]);return i},og=(i,t)=>sg(i,ig(t));const ma=class os extends ge{constructor(){super(...arguments),this._fonts=[],this._overrides=[],this._stylesheet="",this.fontsDirty=!1}static from(t){return new os(Object.keys(os.defaultOptions).reduce((e,s)=>og(ag({},e),{[s]:t[s]}),{}))}cleanFonts(){this._fonts.length>0&&(this._fonts.forEach(t=>{URL.revokeObjectURL(t.src),t.refs--,t.refs===0&&(t.fontFace&&document.fonts.delete(t.fontFace),delete os.availableFonts[t.originalUrl])}),this.fontFamily="Arial",this._fonts.length=0,this.styleID++,this.fontsDirty=!0)}loadFont(t,e={}){const{availableFonts:s}=os;if(s[t]){const r=s[t];return this._fonts.push(r),r.refs++,this.styleID++,this.fontsDirty=!0,Promise.resolve()}return N.ADAPTER.fetch(t).then(r=>r.blob()).then(async r=>new Promise((n,a)=>{const o=URL.createObjectURL(r),h=new FileReader;h.onload=()=>n([o,h.result]),h.onerror=a,h.readAsDataURL(r)})).then(async([r,n])=>{const a=Object.assign({family:bt.basename(t,bt.extname(t)),weight:"normal",style:"normal",display:"auto",src:r,dataSrc:n,refs:1,originalUrl:t,fontFace:null},e);s[t]=a,this._fonts.push(a),this.styleID++;const o=new FontFace(a.family,`url(${a.src})`,{weight:a.weight,style:a.style,display:a.display});a.fontFace=o,await o.load(),document.fonts.add(o),await document.fonts.ready,this.styleID++,this.fontsDirty=!0})}addOverride(...t){const e=t.filter(s=>!this._overrides.includes(s));e.length>0&&(this._overrides.push(...e),this.styleID++)}removeOverride(...t){const e=t.filter(s=>this._overrides.includes(s));e.length>0&&(this._overrides=this._overrides.filter(s=>!e.includes(s)),this.styleID++)}toCSS(t){return[`transform: scale(${t})`,"transform-origin: top left","display: inline-block",`color: ${this.normalizeColor(this.fill)}`,`font-size: ${this.fontSize}px`,`font-family: ${this.fontFamily}`,`font-weight: ${this.fontWeight}`,`font-style: ${this.fontStyle}`,`font-variant: ${this.fontVariant}`,`letter-spacing: ${this.letterSpacing}px`,`text-align: ${this.align}`,`padding: ${this.padding}px`,`white-space: ${this.whiteSpace}`,...this.lineHeight?[`line-height: ${this.lineHeight}px`]:[],...this.wordWrap?[`word-wrap: ${this.breakWords?"break-all":"break-word"}`,`max-width: ${this.wordWrapWidth}px`]:[],...this.strokeThickness?[`-webkit-text-stroke-width: ${this.strokeThickness}px`,`-webkit-text-stroke-color: ${this.normalizeColor(this.stroke)}`,`text-stroke-width: ${this.strokeThickness}px`,`text-stroke-color: ${this.normalizeColor(this.stroke)}`,"paint-order: stroke"]:[],...this.dropShadow?[this.dropShadowToCSS()]:[],...this._overrides].join(";")}toGlobalCSS(){return this._fonts.reduce((t,e)=>`${t} + @font-face { + font-family: "${e.family}"; + src: url('${e.dataSrc}'); + font-weight: ${e.weight}; + font-style: ${e.style}; + font-display: ${e.display}; + }`,this._stylesheet)}get stylesheet(){return this._stylesheet}set stylesheet(t){this._stylesheet!==t&&(this._stylesheet=t,this.styleID++)}normalizeColor(t){return Array.isArray(t)&&(t=To(t)),typeof t=="number"?bo(t):t}dropShadowToCSS(){let t=this.normalizeColor(this.dropShadowColor);const e=this.dropShadowAlpha,s=Math.round(Math.cos(this.dropShadowAngle)*this.dropShadowDistance),r=Math.round(Math.sin(this.dropShadowAngle)*this.dropShadowDistance);t.startsWith("#")&&e<1&&(t+=(e*255|0).toString(16).padStart(2,"0"));const n=`${s}px ${r}px`;return this.dropShadowBlur>0?`text-shadow: ${n} ${this.dropShadowBlur}px ${t}`:`text-shadow: ${n} ${t}`}reset(){Object.assign(this,os.defaultOptions)}onBeforeDraw(){const{fontsDirty:t}=this;return this.fontsDirty=!1,this.isSafari&&this._fonts.length>0&&t?new Promise(e=>setTimeout(e,100)):Promise.resolve()}get isSafari(){const{userAgent:t}=N.ADAPTER.getNavigator();return/^((?!chrome|android).)*safari/i.test(t)}set fillGradientStops(t){console.warn("[HTMLTextStyle] fillGradientStops is not supported by HTMLText")}get fillGradientStops(){return super.fillGradientStops}set fillGradientType(t){console.warn("[HTMLTextStyle] fillGradientType is not supported by HTMLText")}get fillGradientType(){return super.fillGradientType}set miterLimit(t){console.warn("[HTMLTextStyle] miterLimit is not supported by HTMLText")}get miterLimit(){return super.miterLimit}set trim(t){console.warn("[HTMLTextStyle] trim is not supported by HTMLText")}get trim(){return super.trim}set textBaseline(t){console.warn("[HTMLTextStyle] textBaseline is not supported by HTMLText")}get textBaseline(){return super.textBaseline}set leading(t){console.warn("[HTMLTextStyle] leading is not supported by HTMLText")}get leading(){return super.leading}set lineJoin(t){console.warn("[HTMLTextStyle] lineJoin is not supported by HTMLText")}get lineJoin(){return super.lineJoin}};ma.availableFonts={},ma.defaultOptions={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",letterSpacing:0,lineHeight:0,padding:0,stroke:"black",strokeThickness:0,whiteSpace:"normal",wordWrap:!1,wordWrapWidth:100};let _r=ma;const ti=class hs extends Ut{constructor(t="",e={}){var s;super(L.EMPTY),this._text=null,this._style=null,this._autoResolution=!0,this.localStyleID=-1,this.dirty=!1,this._updateID=0,this.ownsStyle=!1;const r=new Image,n=L.from(r,{scaleMode:N.SCALE_MODE,resourceOptions:{autoLoad:!1}});n.orig=new z,n.trim=new z,this.texture=n;const a="http://www.w3.org/2000/svg",o="http://www.w3.org/1999/xhtml",h=document.createElementNS(a,"svg"),l=document.createElementNS(a,"foreignObject"),u=document.createElementNS(o,"div"),c=document.createElementNS(o,"style");l.setAttribute("width","10000"),l.setAttribute("height","10000"),l.style.overflow="hidden",h.appendChild(l),this.maxWidth=hs.defaultMaxWidth,this.maxHeight=hs.defaultMaxHeight,this._domElement=u,this._styleElement=c,this._svgRoot=h,this._foreignObject=l,this._foreignObject.appendChild(c),this._foreignObject.appendChild(u),this._image=r,this._loadImage=new Image,this._autoResolution=hs.defaultAutoResolution,this._resolution=(s=hs.defaultResolution)!=null?s:N.RESOLUTION,this.text=t,this.style=e}measureText(t){var e,s;const{text:r,style:n,resolution:a}=Object.assign({text:this._text,style:this._style,resolution:this._resolution},t);Object.assign(this._domElement,{innerHTML:r,style:n.toCSS(a)}),this._styleElement.textContent=n.toGlobalCSS(),document.body.appendChild(this._svgRoot);const o=this._domElement.getBoundingClientRect();this._svgRoot.remove();const{width:h,height:l}=o,u=Math.min(this.maxWidth,Math.ceil(h)),c=Math.min(this.maxHeight,Math.ceil(l));return this._svgRoot.setAttribute("width",u.toString()),this._svgRoot.setAttribute("height",c.toString()),r!==this._text&&(this._domElement.innerHTML=this._text),n!==this._style&&(Object.assign(this._domElement,{style:(e=this._style)==null?void 0:e.toCSS(a)}),this._styleElement.textContent=(s=this._style)==null?void 0:s.toGlobalCSS()),{width:u+n.padding*2,height:c+n.padding*2}}async updateText(t=!0){const{style:e,_image:s,_loadImage:r}=this;if(this.localStyleID!==e.styleID&&(this.dirty=!0,this.localStyleID=e.styleID),!this.dirty&&t)return;const{width:n,height:a}=this.measureText();s.width=r.width=Math.ceil(Math.max(1,n)),s.height=r.height=Math.ceil(Math.max(1,a)),this._updateID++;const o=this._updateID;await new Promise(h=>{r.onload=async()=>{if(o/gi,"

").replace(/
/gi,"
").replace(/ /gi," ")}};ti.defaultDestroyOptions={texture:!0,children:!1,baseTexture:!0},ti.defaultMaxWidth=2024,ti.defaultMaxHeight=2024,ti.defaultAutoResolution=!0;let hg=ti;const Pe=new z;class ga{constructor(t){this.renderer=t}async image(t,e,s,r){const n=new Image;return n.src=await this.base64(t,e,s,r),n}async base64(t,e,s,r){const n=this.canvas(t,r);if(n.toBlob!==void 0)return new Promise((a,o)=>{n.toBlob(h=>{if(!h){o(new Error("ICanvas.toBlob failed!"));return}const l=new FileReader;l.onload=()=>a(l.result),l.onerror=o,l.readAsDataURL(h)},e,s)});if(n.toDataURL!==void 0)return n.toDataURL(e,s);if(n.convertToBlob!==void 0){const a=await n.convertToBlob({type:e,quality:s});return new Promise((o,h)=>{const l=new FileReader;l.onload=()=>o(l.result),l.onerror=h,l.readAsDataURL(a)})}throw new Error("CanvasExtract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(t,e){const s=this.renderer;if(!s)throw new Error("The CanvasExtract has already been destroyed");let r,n,a;t&&(t instanceof Yt?a=t:(a=s.generateTexture(t,{region:e,resolution:s.resolution}),e&&(Pe.width=e.width,Pe.height=e.height,e=Pe))),a?(r=a.baseTexture._canvasRenderTarget.context,n=a.baseTexture._canvasRenderTarget.resolution,e=e!=null?e:a.frame):(r=s.canvasContext.rootContext,n=s._view.resolution,e||(e=Pe,e.width=s.width/n,e.height=s.height/n));const o=Math.round(e.x*n),h=Math.round(e.y*n),l=Math.max(Math.round(e.width*n),1),u=Math.max(Math.round(e.height*n),1),c=new ys(l,u,1),d=r.getImageData(o,h,l,u);return c.context.putImageData(d,0,0),c.canvas}pixels(t,e){const s=this.renderer;if(!s)throw new Error("The CanvasExtract has already been destroyed");let r,n,a;t&&(t instanceof Yt?a=t:(a=s.generateTexture(t,{region:e,resolution:s.resolution}),e&&(Pe.width=e.width,Pe.height=e.height,e=Pe))),a?(r=a.baseTexture._canvasRenderTarget.context,n=a.baseTexture._canvasRenderTarget.resolution,e=e!=null?e:a.frame):(r=s.canvasContext.rootContext,n=s.resolution,e||(e=Pe,e.width=s.width/n,e.height=s.height/n));const o=Math.round(e.x*n),h=Math.round(e.y*n),l=Math.max(Math.round(e.width*n),1),u=Math.max(Math.round(e.height*n),1);return r.getImageData(o,h,l,u).data}destroy(){this.renderer=null}}ga.extension={name:"extract",type:D.CanvasRendererSystem},U.add(ga);let _a;const ei=new tt;rs.prototype.generateCanvasTexture=function(i,t=1){const e=this.getLocalBounds(new z);e.width=Math.max(e.width,1/t),e.height=Math.max(e.height,1/t);const s=Yt.create({width:e.width,height:e.height,scaleMode:i,resolution:t});_a||(_a=new Bs),this.transform.updateLocalTransform(),this.transform.localTransform.copyTo(ei),ei.invert(),ei.tx-=e.x,ei.ty-=e.y,_a.render(this,{renderTexture:s,clear:!0,transform:ei});const r=L.from(s.baseTexture._canvasRenderTarget.canvas,{scaleMode:i});return r.baseTexture.setResolution(t),r},rs.prototype.cachedGraphicsData=[],rs.prototype._renderCanvas=function(i){this.isMask!==!0&&(this.finishPoly(),i.plugins.graphics.render(this))};class si{static offsetPolygon(t,e){const s=[],r=t.length;e=si.isPolygonClockwise(t)?e:-1*e;for(let n=0;n0}}class va{constructor(t){this._svgMatrix=null,this._tempMatrix=new tt,this.renderer=t}_calcCanvasStyle(t,e){let s;return t.texture&&t.texture.baseTexture!==L.WHITE.baseTexture?t.texture.valid?(s=gt.getTintedPattern(t.texture,e),this.setPatternTransform(s,t.matrix||tt.IDENTITY)):s="#808080":s=`#${`00000${(e|0).toString(16)}`.slice(-6)}`,s}render(t){const e=this.renderer,s=e.canvasContext.activeContext,r=t.worldAlpha,n=t.transform.worldTransform;e.canvasContext.setContextTransform(n),e.canvasContext.setBlendMode(t.blendMode);const a=t.geometry.graphicsData;let o,h;const l=Y.shared.setValue(t.tint).toArray();for(let u=0;u0){A=[],b=0,R=x[0],w=x[1];for(let S=2;S+2=0;I-=2)s.lineTo(x[I],x[I+1])}v[S].shape.closeStroke&&s.closePath(),A[S]=T*b<0}}f.visible&&(s.globalAlpha=f.alpha*r,s.fillStyle=o,s.fill()),p.visible&&this.paintPolygonStroke(_,p,h,v,A,r,s)}else if(c.type===it.RECT){const _=d;if(f.visible&&(s.globalAlpha=f.alpha*r,s.fillStyle=o,s.fillRect(_.x,_.y,_.width,_.height)),p.visible){const x=p.width*(.5-(1-p.alignment)),v=_.width+2*x,b=_.height+2*x;s.globalAlpha=p.alpha*r,s.strokeStyle=h,s.strokeRect(_.x-x,_.y-x,v,b)}}else if(c.type===it.CIRC){const _=d;if(s.beginPath(),s.arc(_.x,_.y,_.radius,0,2*Math.PI),s.closePath(),f.visible&&(s.globalAlpha=f.alpha*r,s.fillStyle=o,s.fill()),p.visible){if(p.alignment!==.5){const x=p.width*(.5-(1-p.alignment));s.beginPath(),s.arc(_.x,_.y,_.radius+x,0,2*Math.PI),s.closePath()}s.globalAlpha=p.alpha*r,s.strokeStyle=h,s.stroke()}}else if(c.type===it.ELIP){const _=d,x=p.alignment===1;if(x||this.paintEllipse(_,f,p,o,r,s),p.visible){if(p.alignment!==.5){const v=.5522848,b=p.width*(.5-(1-p.alignment)),T=(_.width+b)*2,R=(_.height+b)*2,w=_.x-T/2,A=_.y-R/2,S=T/2*v,I=R/2*v,H=w+T,B=A+R,E=w+T/2,P=A+R/2;s.beginPath(),s.moveTo(w,P),s.bezierCurveTo(w,P-I,E-S,A,E,A),s.bezierCurveTo(E+S,A,H,P-I,H,P),s.bezierCurveTo(H,P+I,E+S,B,E,B),s.bezierCurveTo(E-S,B,w,P+I,w,P),s.closePath()}s.globalAlpha=p.alpha*r,s.strokeStyle=h,s.stroke()}x&&this.paintEllipse(_,f,p,o,r,s)}else if(c.type===it.RREC){const _=d,x=p.alignment===1;if(x||this.paintRoundedRectangle(_,f,p,o,r,s),p.visible){if(p.alignment!==.5){const v=_.width,b=_.height,T=p.width*(.5-(1-p.alignment)),R=_.x-T,w=_.y-T,A=_.width+2*T,S=_.height+2*T,I=T*(p.alignment>=1?Math.min(A/v,S/b):Math.min(v/A,b/S));let H=_.radius+I;const B=Math.min(A,S)/2;H=H>B?B:H,s.beginPath(),s.moveTo(R,w+H),s.lineTo(R,w+S-H),s.quadraticCurveTo(R,w+S,R+H,w+S),s.lineTo(R+A-H,w+S),s.quadraticCurveTo(R+A,w+S,R+A,w+S-H),s.lineTo(R+A,w+H),s.quadraticCurveTo(R+A,w,R+A-H,w),s.lineTo(R+H,w),s.quadraticCurveTo(R,w,R,w+H),s.closePath()}s.globalAlpha=p.alpha*r,s.strokeStyle=h,s.stroke()}x&&this.paintRoundedRectangle(_,f,p,o,r,s)}}}paintPolygonStroke(t,e,s,r,n,a,o){if(e.alignment!==.5){const h=e.width*(.5-(1-e.alignment));let l=si.offsetPolygon(t.points,h),u;o.beginPath(),o.moveTo(l[0],l[1]);for(let c=2;c=0;d-=2)o.lineTo(l[d],l[d+1])}r[c].shape.closeStroke&&o.closePath()}}o.globalAlpha=e.alpha*a,o.strokeStyle=s,o.stroke()}paintEllipse(t,e,s,r,n,a){const o=t.width*2,h=t.height*2,l=t.x-o/2,u=t.y-h/2,c=.5522848,d=o/2*c,f=h/2*c,p=l+o,m=u+h,g=l+o/2,_=u+h/2;s.alignment===0&&a.save(),a.beginPath(),a.moveTo(l,_),a.bezierCurveTo(l,_-f,g-d,u,g,u),a.bezierCurveTo(g+d,u,p,_-f,p,_),a.bezierCurveTo(p,_+f,g+d,m,g,m),a.bezierCurveTo(g-d,m,l,_+f,l,_),a.closePath(),s.alignment===0&&a.clip(),e.visible&&(a.globalAlpha=e.alpha*n,a.fillStyle=r,a.fill()),s.alignment===0&&a.restore()}paintRoundedRectangle(t,e,s,r,n,a){const o=t.x,h=t.y,l=t.width,u=t.height;let c=t.radius;const d=Math.min(l,u)/2;c=c>d?d:c,s.alignment===0&&a.save(),a.beginPath(),a.moveTo(o,h+c),a.lineTo(o,h+u-c),a.quadraticCurveTo(o,h+u,o+c,h+u),a.lineTo(o+l-c,h+u),a.quadraticCurveTo(o+l,h+u,o+l,h+u-c),a.lineTo(o+l,h+c),a.quadraticCurveTo(o+l,h,o+l-c,h),a.lineTo(o+c,h),a.quadraticCurveTo(o,h,o,h+c),a.closePath(),s.alignment===0&&a.clip(),e.visible&&(a.globalAlpha=e.alpha*n,a.fillStyle=r,a.fill()),s.alignment===0&&a.restore()}setPatternTransform(t,e){if(this._svgMatrix!==!1){if(!this._svgMatrix){const s=document.createElementNS("http://www.w3.org/2000/svg","svg");if(s!=null&&s.createSVGMatrix&&(this._svgMatrix=s.createSVGMatrix()),!this._svgMatrix||!t.setTransform){this._svgMatrix=!1;return}}this._svgMatrix.a=e.a,this._svgMatrix.b=e.b,this._svgMatrix.c=e.c,this._svgMatrix.d=e.d,this._svgMatrix.e=e.tx,this._svgMatrix.f=e.ty,t.setTransform(this._svgMatrix.inverse())}}destroy(){this.renderer=null,this._svgMatrix=null,this._tempMatrix=null}}va.extension={name:"graphics",type:D.CanvasRendererPlugin},U.add(va),Object.defineProperties(N,{MESH_CANVAS_PADDING:{get(){return Et.defaultCanvasPadding},set(i){Et.defaultCanvasPadding=i}}}),Xe.prototype._renderCanvas=function(i,t){i.plugins.mesh.render(t)},Ks.prototype._cachedTint=16777215,Ks.prototype._tintedCanvas=null,Ks.prototype._canvasUvs=null,Ks.prototype._renderCanvas=function(i){const t=i.canvasContext.activeContext,e=this.worldTransform,s=this.tintValue!==16777215,r=this.texture;if(!r.valid)return;s&&this._cachedTint!==this.tintValue&&(this._cachedTint=this.tintValue,this._tintedCanvas=gt.getTintedCanvas(this,this.tintValue));const n=s?this._tintedCanvas:r.baseTexture.getDrawableSource();this._canvasUvs||(this._canvasUvs=[0,0,0,0,0,0,0,0]);const a=this.vertices,o=this._canvasUvs,h=s?0:r.frame.x,l=s?0:r.frame.y,u=h+r.frame.width,c=l+r.frame.height;o[0]=h,o[1]=h+this._leftWidth,o[2]=u-this._rightWidth,o[3]=u,o[4]=l,o[5]=l+this._topHeight,o[6]=c-this._bottomHeight,o[7]=c;for(let d=0;d<8;d++)o[d]*=r.baseTexture.resolution;t.globalAlpha=this.worldAlpha,i.canvasContext.setBlendMode(this.blendMode),i.canvasContext.setContextTransform(e,this.roundPixels);for(let d=0;d<3;d++)for(let f=0;f<3;f++){const p=f*2+d*8,m=Math.max(1,o[f+1]-o[f]),g=Math.max(1,o[d+5]-o[d+4]),_=Math.max(1,a[p+10]-a[p]),x=Math.max(1,a[p+11]-a[p+1]);t.drawImage(n,o[f],o[d+4],m,g,a[p],a[p+1],_,x)}};let Fu=!1;Et.prototype._cachedTint=16777215,Et.prototype._tintedCanvas=null,Et.prototype._cachedTexture=null,Et.prototype._renderCanvas=function(i){this.shader.uvMatrix&&(this.shader.uvMatrix.update(),this.calculateUvs()),this.material._renderCanvas?this.material._renderCanvas(i,this):Fu||(Fu=!0,globalThis.console.warn("Mesh with custom shaders are not supported in CanvasRenderer."))},Et.prototype._canvasPadding=null,Et.defaultCanvasPadding=0,Object.defineProperty(Et.prototype,"canvasPadding",{get(){var i;return(i=this._canvasPadding)!=null?i:Et.defaultCanvasPadding},set(i){this._canvasPadding=i}}),mu.prototype._renderCanvas=function(i){this.autoUpdate&&this.geometry.getBuffer("aVertexPosition").update(),this.shader.update&&this.shader.update(),this.calculateUvs(),this.material._renderCanvas(i,this)},gu.prototype._renderCanvas=function(i){(this.autoUpdate||this.geometry._width!==this.shader.texture.height)&&(this.geometry._width=this.shader.texture.height,this.geometry.update()),this.shader.update&&this.shader.update(),this.calculateUvs(),this.material._renderCanvas(i,this)};class ya{constructor(t){this.renderer=t}render(t){const e=this.renderer,s=t.worldTransform;e.canvasContext.activeContext.globalAlpha=t.worldAlpha,e.canvasContext.setBlendMode(t.blendMode),e.canvasContext.setContextTransform(s,t.roundPixels),t.drawMode!==Ot.TRIANGLES?this._renderTriangleMesh(t):this._renderTriangles(t)}_renderTriangleMesh(t){const e=t.geometry.buffers[0].data.length;for(let s=0;s0){const{a:ht,b:F,c:O,d:Z}=t.worldTransform,Q=(T+R+w)/3,J=(A+S+I)/3;let st=T-Q,et=A-J,rt=ht*st+O*et,lt=F*st+Z*et,_t=Math.sqrt(rt*rt+lt*lt),nt=1+H/_t;T=Q+st*nt,A=J+et*nt,st=R-Q,et=S-J,rt=ht*st+O*et,lt=F*st+Z*et,_t=Math.sqrt(rt*rt+lt*lt),nt=1+H/_t,R=Q+st*nt,S=J+et*nt,st=w-Q,et=I-J,rt=ht*st+O*et,lt=F*st+Z*et,_t=Math.sqrt(rt*rt+lt*lt),nt=1+H/_t,w=Q+st*nt,I=J+et*nt}a.save(),a.beginPath(),a.moveTo(T,A),a.lineTo(R,S),a.lineTo(w,I),a.closePath(),a.clip();const B=m*v+x*_+g*b-v*_-x*g-m*b,E=T*v+x*w+R*b-v*w-x*R-T*b,P=m*R+T*_+g*w-R*_-T*g-m*w,V=m*v*w+x*R*_+T*g*b-T*v*_-x*g*w-m*R*b,q=A*v+x*I+S*b-v*I-x*S-A*b,j=m*S+A*_+g*I-S*_-A*g-m*I,W=m*v*I+x*S*_+A*g*b-A*v*_-x*g*I-m*S*b;a.transform(E/B,q/B,P/B,j/B,V/B,W/B),a.drawImage(p,0,0,d*c.resolution,f*c.resolution,0,0,d,f),a.restore(),this.renderer.canvasContext.invalidateBlendMode()}renderMeshFlat(t){const e=this.renderer.canvasContext.activeContext,s=t.geometry.getBuffer("aVertexPosition").data,r=s.length/2;e.beginPath();for(let n=1;n{if(typeof require=="function"){const t=this._game.getAdditionalOptions(),e=t&&t.electronRemoteRequirePath?t.electronRemoteRequirePath:"@electron/remote";try{return require(e)}catch(i){console.error(`Could not load @electron/remote from "${e}". Error is:`,i)}}return null};this._game=t,this._forceFullscreen=e,this._marginLeft=this._marginTop=this._marginRight=this._marginBottom=0,this._setupOrientation()}createStandardCanvas(t){let e;typeof THREE!="undefined"?(e=document.createElement("canvas"),this._threeRenderer=new THREE.WebGLRenderer({canvas:e,antialias:this._game.getAntialiasingMode()!=="none"&&(this._game.isAntialisingEnabledOnMobile()||!l.evtTools.common.isMobile())}),this._threeRenderer.useLegacyLights=!0,this._threeRenderer.autoClear=!1,this._threeRenderer.setSize(this._game.getGameResolutionWidth(),this._game.getGameResolutionHeight()),this._pixiRenderer=new PIXI.Renderer({width:this._game.getGameResolutionWidth(),height:this._game.getGameResolutionHeight(),view:e,context:this._threeRenderer.getContext(),clearBeforeRender:!1,preserveDrawingBuffer:!0,antialias:!1,backgroundAlpha:0}),e=this._threeRenderer.domElement):(this._pixiRenderer=PIXI.autoDetectRenderer({width:this._game.getGameResolutionWidth(),height:this._game.getGameResolutionHeight(),preserveDrawingBuffer:!0,antialias:!1}),e=this._pixiRenderer.view),this._pixiRenderer.plugins.accessibility.destroy(),delete this._pixiRenderer.plugins.accessibility,t.appendChild(e),this._gameCanvas=e,e.style.position="absolute",e.tabIndex=1,e.style.userSelect="none",e.style.outline="none";const i=document.createElement("div");i.style.position="absolute",i.style.overflow="hidden",i.style.outline="none",i.style.pointerEvents="none",i.addEventListener("scroll",o=>{i.scrollLeft=0,i.scrollTop=0,o.preventDefault()}),e.addEventListener("pointerdown",()=>{e.focus()}),i.style["-webkit-user-select"]="none",t.appendChild(i),this._domElementsContainer=i,this._resizeCanvas(),this._game.getScaleMode()==="nearest"&&(e.style["image-rendering"]="-moz-crisp-edges",e.style["image-rendering"]="-webkit-optimize-contrast",e.style["image-rendering"]="-webkit-crisp-edges",e.style["image-rendering"]="pixelated"),this._game.getPixelsRounding()&&(PIXI.settings.ROUND_PIXELS=!0),window.addEventListener("resize",()=>{this._game.onWindowInnerSizeChanged(),this._resizeCanvas()}),e.focus()}static getWindowInnerWidth(){return typeof window!="undefined"?window.innerWidth:800}static getWindowInnerHeight(){return typeof window!="undefined"?window.innerHeight:800}updateRendererSize(){this._resizeCanvas()}_setupOrientation(){if(typeof window=="undefined"||!window.screen||!window.screen.orientation)return;const t=this._game.getGameData().properties.orientation;try{if(t==="default"){const e=window.screen.orientation.unlock();e&&e.catch(()=>{})}else window.screen.orientation.lock(t).catch(()=>{})}catch(e){d.error("Unexpected error while setting up orientation: ",e)}}_resizeCanvas(){if(!this._pixiRenderer||!this._domElementsContainer)return;(this._pixiRenderer.width!==this._game.getGameResolutionWidth()||this._pixiRenderer.height!==this._game.getGameResolutionHeight())&&(this._pixiRenderer.resize(this._game.getGameResolutionWidth(),this._game.getGameResolutionHeight()),this._threeRenderer&&this._threeRenderer.setSize(this._game.getGameResolutionWidth(),this._game.getGameResolutionHeight()));const t=this._forceFullscreen||this._isFullPage||this._isFullscreen;let e=this._game.getGameResolutionWidth(),i=this._game.getGameResolutionHeight(),o=window.innerWidth-this._marginLeft-this._marginRight,r=window.innerHeight-this._marginTop-this._marginBottom;if(o<0&&(o=0),r<0&&(r=0),t&&!this._keepRatio)e=o,i=r;else if(t&&this._keepRatio||e>o||i>r){let u=o/e;i*u>r&&(u=r/i),e*=u,i*=u}this._gameCanvas&&(this._gameCanvas.style.top=this._marginTop+(r-i)/2+"px",this._gameCanvas.style.left=this._marginLeft+(o-e)/2+"px",this._gameCanvas.style.width=e+"px",this._gameCanvas.style.height=i+"px"),this._domElementsContainer.style.top=this._marginTop+(r-i)/2+"px",this._domElementsContainer.style.left=this._marginLeft+(o-e)/2+"px",this._domElementsContainer.style.width=e+"px",this._domElementsContainer.style.height=i+"px",this._canvasWidth=e,this._canvasHeight=i}keepAspectRatio(t){this._keepRatio!==t&&(this._keepRatio=t,this._resizeCanvas())}setMargins(t,e,i,o){this._marginTop===t&&this._marginRight===e&&this._marginBottom===i&&this._marginLeft===o||(this._marginTop=t,this._marginRight=e,this._marginBottom=i,this._marginLeft=o,this._resizeCanvas())}setWindowSize(t,e){const i=this.getElectronRemote();if(i){const o=i.getCurrentWindow();o&&o.setContentSize(t,e)}else d.warn("Window size can't be changed on this platform.")}centerWindow(){const t=this.getElectronRemote();if(t){const e=t.getCurrentWindow();e&&e.center()}}setFullScreen(t){if(!this._forceFullscreen&&this._isFullscreen!==t){this._isFullscreen=!!t;const e=this.getElectronRemote();if(e){const i=e.getCurrentWindow();i&&i.setFullScreen(this._isFullscreen)}else this._isFullscreen?document.documentElement.requestFullscreen?document.documentElement.requestFullscreen():document.documentElement.mozRequestFullScreen?document.documentElement.mozRequestFullScreen():document.documentElement.webkitRequestFullScreen&&document.documentElement.webkitRequestFullScreen():document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen();this._resizeCanvas()}}isFullScreen(){const t=this.getElectronRemote();return t?t.getCurrentWindow().isFullScreen():this._isFullscreen||window.screen.height===window.innerHeight}convertCanvasToDomElementContainerCoords(t,e){const i=e||[0,0];return i[0]=t[0]*this._canvasWidth/this._game.getGameResolutionWidth(),i[1]=t[1]*this._canvasHeight/this._game.getGameResolutionHeight(),i}getCanvasToDomElementContainerHeightScale(){return(this._canvasHeight||1)/this._game.getGameResolutionHeight()}bindStandardEvents(t,e,i){const o=this._gameCanvas;if(!o)return;const r=n=>{const s=[n.pageX-o.offsetLeft,n.pageY-o.offsetTop];return s[0]*=this._game.getGameResolutionWidth()/(this._canvasWidth||1),s[1]*=this._game.getGameResolutionHeight()/(this._canvasHeight||1),s},u=n=>{const s=n.pageX-o.offsetLeft,a=n.pageY-o.offsetTop;return 0<=s&&s<(this._canvasWidth||1)&&0<=a&&a<(this._canvasHeight||1)};(function(){isNaN(o.offsetLeft)&&(o.offsetLeft=0,o.offsetTop=0),isNaN(i.body.scrollLeft)&&(i.body.scrollLeft=0,i.body.scrollTop=0),(i.documentElement===void 0||i.documentElement===null)&&(i.documentElement={}),isNaN(i.documentElement.scrollLeft)&&(i.documentElement.scrollLeft=0,i.documentElement.scrollTop=0),isNaN(o.offsetLeft)&&(o.offsetLeft=0,o.offsetTop=0)})();const m=()=>!(i.activeElement===o||i.activeElement===i.body||i.activeElement===null),c=n=>!(n.target===o||n.target===i.body);i.onkeydown=function(n){m()||(f.includes(n.keyCode)&&n.preventDefault(),t.onKeyPressed(n.keyCode,n.location))},i.onkeyup=function(n){m()||(f.includes(n.keyCode)&&n.preventDefault(),t.onKeyReleased(n.keyCode,n.location))};function g(n){switch(n){case 1:return l.InputManager.MOUSE_MIDDLE_BUTTON;case 2:return l.InputManager.MOUSE_RIGHT_BUTTON}return n}o.onmousemove=function(n){const s=r(n);t.onMouseMove(s[0],s[1])},o.onmousedown=function(n){return t.onMouseButtonPressed(g(n.button)),e.focus!==void 0&&e.focus(),!1},o.onmouseup=function(n){return t.onMouseButtonReleased(g(n.button)),!1},o.onmouseleave=function(n){t.onMouseLeave()},o.onmouseenter=function(n){t.onMouseEnter();const s=[l.InputManager.MOUSE_LEFT_BUTTON,l.InputManager.MOUSE_RIGHT_BUTTON,l.InputManager.MOUSE_MIDDLE_BUTTON,l.InputManager.MOUSE_BACK_BUTTON,l.InputManager.MOUSE_FORWARD_BUTTON];for(let a=0,v=s.length;a{this._nextFrameId=requestAnimationFrame(i);const r=e?o-e:0;e=o,t(r)||cancelAnimationFrame(this._nextFrameId)};requestAnimationFrame(i)}getPIXIRenderer(){return this._pixiRenderer}getThreeRenderer(){return this._threeRenderer}getDomElementContainer(){return this._domElementsContainer}openURL(t){if(typeof window!="undefined"){const e=this.getElectron();e?e.shell.openExternal(t):typeof window.cordova!="undefined"&&typeof window.cordova.InAppBrowser!="undefined"?window.cordova.InAppBrowser.open(t,"_system","location=yes"):window.open(t,"_blank")}}stopGame(){const t=this.getElectronRemote();if(t){const e=t.getCurrentWindow();e&&e.close()}else typeof navigator!="undefined"&&navigator.app&&navigator.app.exitApp&&navigator.app.exitApp()}getCanvas(){return this._gameCanvas}isWebGLSupported(){return!!this._pixiRenderer&&this._pixiRenderer.type===PIXI.RENDERER_TYPE.WEBGL}getElectron(){return typeof require=="function"?require("electron"):null}getGame(){return this._game}}l.RuntimeGamePixiRenderer=R,l.RuntimeGameRenderer=R})(gdjs||(gdjs={})); +//# sourceMappingURL=runtimegame-pixi-renderer.js.map diff --git a/pixi-renderers/runtimescene-pixi-renderer.js b/pixi-renderers/runtimescene-pixi-renderer.js new file mode 100644 index 00000000..c70fffd9 --- /dev/null +++ b/pixi-renderers/runtimescene-pixi-renderer.js @@ -0,0 +1,3 @@ +var gdjs;(function(o){class _{constructor(t,e){this._profilerText=null;this._showCursorAtNextRender=!1;this._threeRenderer=null;this._layerRenderingMetrics={rendered2DLayersCount:0,rendered3DLayersCount:0};this._runtimeGameRenderer=e,this._runtimeScene=t,this._pixiContainer=new PIXI.Container,this._pixiContainer.sortableChildren=!0,this._threeRenderer=this._runtimeGameRenderer?this._runtimeGameRenderer.getThreeRenderer():null}onGameResolutionResized(){const t=this._runtimeGameRenderer?this._runtimeGameRenderer.getPIXIRenderer():null;if(!t)return;const e=this._runtimeScene.getGame();this._pixiContainer.scale.x=t.width/e.getGameResolutionWidth(),this._pixiContainer.scale.y=t.height/e.getGameResolutionHeight();for(const r of this._runtimeScene._orderedLayers)r.getRenderer().onGameResolutionResized()}onSceneUnloaded(){}render(){const t=this._runtimeGameRenderer;if(!t)return;const e=t.getPIXIRenderer();if(!e)return;const r=this._threeRenderer;if(!(r&&r.xr.isPresenting)){if(this._layerRenderingMetrics.rendered2DLayersCount=0,this._layerRenderingMetrics.rendered3DLayersCount=0,r){r.info.autoReset=!1,r.info.reset();let n=!0,s=!0;r.resetState();for(let c=0;c({collision:!1,move_axis:[0,0]}),S=()=>({collision:!1,closeX:0,closeY:0,closeSqDist:0,farX:0,farY:0,farSqDist:0}),F={minMaxA:[0,0],minMaxB:[0,0],edge:[0,0],axis:[0,0],move_axis:[0,0],result:D()},R={p:[0,0],q:[0,0],r:[0,0],s:[0,0],deltaQP:[0,0],axis:[0,0],result:S()},n=class{constructor(){this.vertices=[];this.edges=[];this.center=[0,0]}move(t,e){for(let o=0,i=this.vertices.length;o=e?this.vertices[0]:this.vertices[t+1];this.edges[t][0]=i[0]-o[0],this.edges[t][1]=i[1]-o[1]}}isConvex(){this.computeEdges();const t=this.edges.length;if(t<3)return!1;const e=this.edges[0][0]*this.edges[0+1][1]-this.edges[0][1]*this.edges[0+1][0]>0;for(let i=1;i0!==e)return!1;return this.edges[t-1][0]*this.edges[0][1]-this.edges[t-1][1]*this.edges[0][0]>0===e}computeCenter(){this.center[0]=0,this.center[1]=0;const t=this.vertices.length;for(let e=0;e0||r===0&&o)return s.collision=!1,s.move_axis[0]=0,s.move_axis[1]=0,s;const d=Math.abs(r);dA)return s;s.collision=!0,u===0&&(s.closeX=e,s.closeY=o,s.closeSqDist=0,s.farX=e,s.farY=o,s.farSqDist=0);const q=b/Math.abs(u),T=A/Math.abs(u);return s.closeX=e+q*c[0],s.closeY=o+q*c[1],s.closeSqDist=q*q*(c[0]*c[0]+c[1]*c[1]),s.farX=e+T*c[0],s.farY=o+T*c[1],s.farSqDist=T*T*(c[0]*c[0]+c[1]*c[1]),s}else if(f!==0&&0<=x&&x<=1&&0<=M&&M<=1){const r=a[0]+x*c[0],d=a[1]+x*c[1],u=(r-e)*(r-e)+(d-o)*(d-o);uo[1]&&(o[1]=i)}static distance(t,e,o,i){return to!=h[1]>o&&e<(h[0]-a[0])*(o-a[1])/(h[1]-a[1])+a[0]&&(i=!i)}return i}static copyCollisionTestResult(t,e){e.collision=t.collision,e.move_axis[0]=t.move_axis[0],e.move_axis[1]=t.move_axis[1]}static copyRaycastTestResult(t,e){e.collision=t.collision,e.closeX=t.closeX,e.closeY=t.closeY,e.closeSqDist=t.closeSqDist,e.farX=t.farX,e.farY=t.farY,e.farSqDist=t.farSqDist}};let C=n;C.makeNewCollisionTestResult=D,C.makeNewRaycastTestResult=S,j.Polygon=C})(gdjs||(gdjs={})); +//# sourceMappingURL=polygon.js.map diff --git a/profiler.js b/profiler.js new file mode 100644 index 00000000..c1705322 --- /dev/null +++ b/profiler.js @@ -0,0 +1,2 @@ +var gdjs;(function(m){class a{constructor(){this._framesMeasures=[];this._currentFrameIndex=0;this._currentFrameMeasure={parent:null,time:0,lastStartTime:0,subsections:{}};this._currentSection=null;this._maxFramesCount=600;this._framesCount=0;for(;this._framesMeasures.lengththis._maxFramesCount&&(this._framesCount=this._maxFramesCount),this._framesMeasures[this._currentFrameIndex]=this._currentFrameMeasure,this._currentFrameIndex++,this._currentFrameIndex>=this._maxFramesCount&&(this._currentFrameIndex=0)}static _addAverageSectionTimes(t,e,r,o){e.time=(e.time||0)+t.time/r;for(const s in t.subsections)if(t.subsections.hasOwnProperty(s)){const n=e.subsections,i=n[s]=n[s]||{parent:e,time:0,subsections:{}};a._addAverageSectionTimes(t.subsections[s],i,r,o)}}getFramesAverageMeasures(){const t={parent:null,time:0,lastStartTime:0,subsections:{}};for(let e=0;enew Promise(e=>setTimeout(e,l)),u=l=>l.usedResources.map(e=>e.name);class c{constructor(e,s){this._notifyScenesForGameResolutionResize=!1;this._paused=!1;this._hasJustResumed=!1;this._sessionMetricsInitialized=!1;this._disableMetrics=!1;this._options=s||{},this._variables=new n.VariablesContainer(e.variables),this._data=e,this._resourcesLoader=new n.ResourceLoader(this,e.resources.resources,u(e),e.layouts),this._effectsManager=new n.EffectsManager,this._maxFPS=this._data.properties.maxFPS,this._minFPS=this._data.properties.minFPS,this._gameResolutionWidth=this._data.properties.windowWidth,this._gameResolutionHeight=this._data.properties.windowHeight,this._originalWidth=this._gameResolutionWidth,this._originalHeight=this._gameResolutionHeight,this._resizeMode=this._data.properties.sizeOnStartupMode,this._adaptGameResolutionAtRuntime=this._data.properties.adaptGameResolutionAtRuntime,this._scaleMode=e.properties.scaleMode||"linear",this._pixelsRounding=this._data.properties.pixelsRounding,this._antialiasingMode=this._data.properties.antialiasingMode,this._isAntialisingEnabledOnMobile=this._data.properties.antialisingEnabledOnMobile,this._renderer=new n.RuntimeGameRenderer(this,this._options.forceFullscreen||!1),this._watermark=new n.watermark.RuntimeWatermark(this,e.properties.authorUsernames,this._data.properties.watermark),this._sceneStack=new n.SceneStack(this),this._inputManager=new n.InputManager,this._injectExternalLayout=this._options.injectExternalLayout||"",this._debuggerClient=n.DebuggerClient?new n.DebuggerClient(this):null,this._isPreview=this._options.isPreview||!1,this._sessionId=null,this._playerId=null,this._embeddedResourcesMappings=new Map;for(const t of this._data.resources.resources)if(t.metadata)try{const i=JSON.parse(t.metadata);i?.embeddedResourcesMapping&&this._embeddedResourcesMappings.set(t.name,i.embeddedResourcesMapping)}catch{d.error("Some metadata of resources can not be successfully parsed.")}if(this._eventsBasedObjectDatas=new Map,this._data.eventsFunctionsExtensions)for(const t of this._data.eventsFunctionsExtensions)for(const i of t.eventsBasedObjects)this._eventsBasedObjectDatas.set(t.name+"::"+i.name,i);this.isUsingGDevelopDevelopmentEnvironment()&&d.info("This game will run on the development version of GDevelop APIs.")}setProjectData(e){this._data=e,this._resourcesLoader.setResources(e.resources.resources,u(e),e.layouts)}getAdditionalOptions(){return this._options}getRenderer(){return this._renderer}getVariables(){return this._variables}getSoundManager(){return this._resourcesLoader.getSoundManager()}getImageManager(){return this._resourcesLoader.getImageManager()}getFontManager(){return this._resourcesLoader.getFontManager()}getBitmapFontManager(){return this._resourcesLoader.getBitmapFontManager()}getJsonManager(){return this._resourcesLoader.getJsonManager()}getModel3DManager(){return this._resourcesLoader.getModel3DManager()}getSpineManager(){return this._resourcesLoader.getSpineManager()}getSpineAtlasManager(){return this._resourcesLoader.getSpineAtlasManager()}getInputManager(){return this._inputManager}getEffectsManager(){return this._effectsManager}getGameData(){return this._data}getEventsBasedObjectData(e){const s=this._eventsBasedObjectDatas.get(e);return s||(d.error('The game has no events-based object of the type "'+e+'"'),null)}getSceneData(e){let s=null;for(let t=0,i=this._data.layouts.length;t{await this._resourcesLoader.loadGlobalAndFirstSceneResources(e,i),this._resourcesLoader.loadAllSceneInBackground()},s),n.getAllAsynchronouslyLoadingLibraryPromise()])}catch(t){throw this._debuggerClient&&this._debuggerClient.onUncaughtException(t),t}}async loadSceneAssets(e,s){await this._loadAssetsWithLoadingScreen(!1,async t=>{await this._resourcesLoader.loadAndProcessSceneResources(e,t)},s)}async _loadAssetsWithLoadingScreen(e,s,t){this.pause(!0);const i=new n.LoadingScreenRenderer(this.getRenderer(),this._resourcesLoader.getImageManager(),this._data.properties.loadingScreen,this._data.properties.watermark.showWatermark,e);await s(async(a,o)=>{const g=Math.floor(100*a/o);i.setPercent(g),t&&t(g),i.renderIfNeeded()&&await h(1)}),await i.unload(),this.pause(!1)}_getFirstSceneName(){const e=this._data.firstLayout;return this.hasScene(e)?e:this.getSceneData().name}startGameLoop(){try{if(!this.hasScene()){d.error("The game has no scene.");return}this._forceGameResolutionUpdate(),this._sceneStack.push(this._getFirstSceneName(),this._injectExternalLayout),this._watermark.displayAtStartup(),this._setupGameVisibilityEvents();let e=0;this._hasJustResumed=!1,this._renderer.startGameLoop(s=>{try{if(this._paused||(e+=s,this._maxFPS>0&&1e3/e>this._maxFPS+7))return!0;const t=e;return e=0,this._notifyScenesForGameResolutionResize&&(this._sceneStack.onGameResolutionResized(),this._notifyScenesForGameResolutionResize=!1),this._sceneStack.step(t)?(this.getInputManager().onFrameEnded(),this._hasJustResumed=!1,!0):!1}catch(t){throw this._debuggerClient&&this._debuggerClient.onUncaughtException(t),t}}),setTimeout(()=>{this._setupSessionMetrics()},1e4)}catch(e){throw this._debuggerClient&&this._debuggerClient.onUncaughtException(e),e}}enableMetrics(e){this._disableMetrics=!e,e&&this._setupSessionMetrics()}_setupGameVisibilityEvents(){typeof navigator!="undefined"&&typeof document!="undefined"&&(document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&(this._hasJustResumed=!0)}),window.addEventListener("resume",()=>{this._hasJustResumed=!0},!1))}_setupSessionMetrics(){if(this._sessionMetricsInitialized||this._disableMetrics||this.isPreview()||typeof fetch=="undefined"||!this._data.properties.projectUuid)return;const e="https://api.gdevelop-app.com/analytics";this._playerId=this._makePlayerUuid();let s=0,t=0,i=Date.now();fetch(e+"/session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({gameId:this._data.properties.projectUuid,playerId:this._playerId,game:{name:this._data.properties.name||"",packageName:this._data.properties.packageName||"",version:this._data.properties.version||"",location:window.location.href},platform:{isCordova:!!window.cordova,devicePlatform:typeof device!="undefined"&&device.platform||"",navigatorPlatform:typeof navigator!="undefined"?navigator.platform:"",hasTouch:typeof navigator!="undefined"?!!navigator.maxTouchPoints&&navigator.maxTouchPoints>2:!1}})}).then(a=>{if(!a.ok)throw console.error("Error while creating the session",a),new Error("Error while creating the session");return a}).then(a=>a.text()).then(a=>{this._sessionId=a}).catch(()=>{});const r=()=>{if(!this._sessionId)return;const a=Date.now();if(t+=a-i,i=a,t<5*1e3)return;const o=Math.floor(t/1e3)*1e3;s+=o,t-=o,navigator.sendBeacon(e+"/session-hit",JSON.stringify({gameId:this._data.properties.projectUuid,playerId:this._playerId,sessionId:this._sessionId,duration:Math.floor(s/1e3)}))};if(typeof navigator!="undefined"&&typeof document!="undefined"){document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"?i=Date.now():r()}),window.addEventListener("pagehide",r,!1),window.addEventListener("pause",r,!1),window.addEventListener("resume",()=>{i=Date.now()},!1);const a=typeof safari=="object"&&safari.pushNotification,o=/electron/i.test(navigator.userAgent);(a||o)&&window.addEventListener("beforeunload",()=>{r()})}this._sessionMetricsInitialized=!0,this._sessionId=this._sessionId}_makePlayerUuid(){try{const e="GDJS-internal-player-uuid",s=localStorage.getItem(e);if(s)return s;const t=n.makeUuid();return localStorage.setItem(e,t),t}catch(e){return n.makeUuid()}}getSessionId(){return this._sessionId}getPlayerId(){return this._playerId}onWindowInnerSizeChanged(){this._forceGameResolutionUpdate()}_forceGameResolutionUpdate(){this.setGameResolutionSize(this._gameResolutionWidth,this._gameResolutionHeight)}startCurrentSceneProfiler(e){const s=this._sceneStack.getCurrentScene();return s?(s.startProfiler(e),!0):!1}stopCurrentSceneProfiler(){const e=this._sceneStack.getCurrentScene();!e||e.stopProfiler()}wasFirstSceneLoaded(){return this._sceneStack.wasFirstSceneLoaded()}getSceneStack(){return this._sceneStack}isPreview(){return this._isPreview}isUsingGDevelopDevelopmentEnvironment(){return this._options.environment==="dev"}getExtensionProperty(e,s){for(let t of this._data.properties.extensionProperties)if(t.extension===e&&t.property===s)return t.value;return null}resolveEmbeddedResource(e,s){const t=this._embeddedResourcesMappings.get(e);return t&&t[s]?t[s]:s}getEmbeddedResourcesNames(e){return this._embeddedResourcesMappings.has(e)?Object.keys(this._embeddedResourcesMappings.get(e)):[]}}n.RuntimeGame=c})(gdjs||(gdjs={})); +//# sourceMappingURL=runtimegame.js.map diff --git a/runtimeobject.js b/runtimeobject.js new file mode 100644 index 00000000..fee6e484 --- /dev/null +++ b/runtimeobject.js @@ -0,0 +1,2 @@ +var gdjs;(function(n){const _=(A,e,t,i)=>{const s=Math.max(t,A-t),r=Math.max(i,e-i);return Math.pow(s,2)+Math.pow(r,2)},x={moveXArray:[],moveYArray:[]},F={result:n.Polygon.makeNewRaycastTestResult()},D=(A,e,t)=>{if(e.length===0)return e.length=0,t.length=0,!1;if(e.length===1)return A.setPosition(A.getX()+e[0],A.getY()+t[0]),e.length=0,t.length=0,!0;let i=0,s=0;for(let b=0;bi&&(i=y,s=b)}const r=Math.sqrt(i),a=e[s]/r,h=-(t[s]/r),c=a;let d=0,g=0;for(let b=0;br()),this.clearEffects()}onDestroyed(){}onScenePaused(e){}onSceneResumed(e){}getRendererObject(){}get3DRendererObject(){}getName(){return this.name}getNameId(){return this._nameId}getUniqueId(){return this.id}setPosition(e,t){this.setX(e),this.setY(t)}setX(e){e!==this.x&&(this.x=e,this.invalidateHitboxes())}invalidateHitboxes(){this.hitBoxesDirty=!0,this._runtimeScene.onChildrenLocationChanged()}getX(){return this.x}setY(e){e!==this.y&&(this.y=e,this.invalidateHitboxes())}getY(){return this.y}getDrawableX(){return this.getX()}getDrawableY(){return this.getY()}rotateTowardPosition(e,t,i,s){this.rotateTowardAngle(n.toDegrees(Math.atan2(t-(this.getDrawableY()+this.getCenterY()),e-(this.getDrawableX()+this.getCenterX()))),i,s)}rotateTowardAngle(e,t,i){if(t===0){this.setAngle(e);return}const r=n.evtTools.common.angleDifference(this.getAngle(),e)>=0;let a=this.getAngle()+(r?-1:1)*t*this.getElapsedTime()/1e3;n.evtTools.common.angleDifference(a,e)>0^r&&(a=e),this.setAngle(a),this.getAngle()!==a&&this.setAngle(e)}rotate(e,t){this.setAngle(this.getAngle()+e*this.getElapsedTime()/1e3)}setAngle(e){this.angle!==e&&(this.angle=e,this.invalidateHitboxes())}getAngle(){return this.angle}setLayer(e){if(e===this.layer)return;const t=this._runtimeScene.getLayer(this.layer);this.layer=e;const i=this._runtimeScene.getLayer(this.layer),s=this.getRendererObject();s&&(t.getRenderer().removeRendererObject(s),i.getRenderer().addRendererObject(s,this.zOrder));const r=this.get3DRendererObject();r&&(t.getRenderer().remove3DRendererObject(r),i.getRenderer().add3DRendererObject(r))}getLayer(){return this.layer}isOnLayer(e){return this.layer===e}setZOrder(e){if(e===this.zOrder)return;this.zOrder=e;const t=this.getRendererObject();t&&this._runtimeScene.getLayer(this.layer).getRenderer().changeRendererObjectZOrder(t,e)}getZOrder(){return this.zOrder}getVariables(){return this._variables}static getVariableNumber(e){return e.getAsNumber()}static returnVariable(e){return e}static getVariableString(e){return e.getAsString()}static getVariableChildCount(e){return e.getChildrenCount()}static setVariableNumber(e,t){e.setNumber(t)}static setVariableString(e,t){e.setString(t)}static variableChildExists(e,t){return e.hasChild(t)}static variableRemoveChild(e,t){e.removeChild(t)}static variableClearChildren(e){e.clearChildren()}hasVariable(e){return this._variables.has(e)}getRendererEffects(){return this._rendererEffects}addEffect(e){return this.getRendererObject()?this._runtimeScene.getGame().getEffectsManager().addEffect(e,this._rendererEffects,this):!1}removeEffect(e){return this.getRendererObject()?this._runtimeScene.getGame().getEffectsManager().removeEffect(this._rendererEffects,this,e):!1}clearEffects(){const e=this.getRendererObject();return e?(this._rendererEffects={},this._runtimeScene.getGame().getEffectsManager().clearEffects(e)):!1}setEffectDoubleParameter(e,t,i){return this._runtimeScene.getGame().getEffectsManager().setEffectDoubleParameter(this._rendererEffects,e,t,i)}setEffectStringParameter(e,t,i){return this._runtimeScene.getGame().getEffectsManager().setEffectStringParameter(this._rendererEffects,e,t,i)}setEffectBooleanParameter(e,t,i){return this._runtimeScene.getGame().getEffectsManager().setEffectBooleanParameter(this._rendererEffects,e,t,i)}updateAllEffectParameters(e){return this._runtimeScene.getGame().getEffectsManager().updateAllEffectParameters(this._rendererEffects,e)}enableEffect(e,t){this._runtimeScene.getGame().getEffectsManager().enableEffect(this._rendererEffects,this,e,t)}isEffectEnabled(e){return this._runtimeScene.getGame().getEffectsManager().isEffectEnabled(this._rendererEffects,this,e)}hasEffect(e){return this._runtimeScene.getGame().getEffectsManager().hasEffect(this._rendererEffects,e)}hide(e){e===void 0&&(e=!0),this.hidden=e}isVisible(){return!this.hidden}isHidden(){return this.hidden}setWidth(e){}setHeight(e){}getWidth(){return 0}getHeight(){return 0}getCenterX(){return this.getWidth()/2}getCenterY(){return this.getHeight()/2}getCenterXInScene(){return this.getDrawableX()+this.getCenterX()}getCenterYInScene(){return this.getDrawableY()+this.getCenterY()}setCenterPositionInScene(e,t){this.setX(e+this.x-(this.getDrawableX()+this.getCenterX())),this.setY(t+this.y-(this.getDrawableY()+this.getCenterY()))}setCenterXInScene(e){this.setX(e+this.x-(this.getDrawableX()+this.getCenterX()))}setCenterYInScene(e){this.setY(e+this.y-(this.getDrawableY()+this.getCenterY()))}_getRecycledForce(e,t,i){if(o.forcesGarbage.length===0)return new n.Force(e,t,i);{const s=o.forcesGarbage.pop();return s.setX(e),s.setY(t),s.setMultiplier(i),s}}addForce(e,t,i){i===1?(this._permanentForceX+=e,this._permanentForceY+=t):i===0&&this._instantForces.length>0&&this._instantForces[0].getMultiplier()===0?this._instantForces[0].add(e,t):this._instantForces.push(this._getRecycledForce(e,t,i))}addPolarForce(e,t,i){const s=n.toRad(e),r=Math.cos(s)*t,a=Math.sin(s)*t;this.addForce(r,a,i)}addForceTowardPosition(e,t,i,s){const r=Math.atan2(t-(this.getDrawableY()+this.getCenterY()),e-(this.getDrawableX()+this.getCenterX())),a=Math.cos(r)*i,l=Math.sin(r)*i;this.addForce(a,l,s)}addForceTowardObject(e,t,i){e!=null&&this.addForceTowardPosition(e.getDrawableX()+e.getCenterX(),e.getDrawableY()+e.getCenterY(),t,i)}clearForces(){o.forcesGarbage.push.apply(o.forcesGarbage,this._instantForces),this._instantForces.length=0,this._permanentForceX=0,this._permanentForceY=0}hasNoForces(){return this._instantForces.length===0&&this._permanentForceX===0&&this._permanentForceY===0}updateForces(e){for(let t=0;t=t:(this._timers.put(e,new n.Timer(e)),!1)}timerPaused(e){return this._timers.containsKey(e)?this._timers.get(e).isPaused():!1}resetTimer(e){this._timers.containsKey(e)||this._timers.put(e,new n.Timer(e)),this._timers.get(e).reset()}pauseTimer(e){this._timers.containsKey(e)||this._timers.put(e,new n.Timer(e)),this._timers.get(e).setPaused(!0)}unpauseTimer(e){this._timers.containsKey(e)||this._timers.put(e,new n.Timer(e)),this._timers.get(e).setPaused(!1)}removeTimer(e){this._timers.containsKey(e)&&this._timers.remove(e)}getTimerElapsedTimeInSeconds(e){return this._timers.containsKey(e)?this._timers.get(e).getTime()/1e3:0}getTimerElapsedTimeInSecondsOrNaN(e){return this._timers.containsKey(e)?this._timers.get(e).getTime()/1e3:Number.NaN}separateFromObjects(e,t){let i=x.moveXArray,s=x.moveYArray;i.length=0,s.length=0;const r=this.getHitBoxes();let a=null;for(const l of e){if(l.id===this.id)continue;let h=l.getHitBoxes(),c=h;h.length>4&&(a||(a=this.getAABB()),c=l.getHitBoxesAround(a.min[0],a.min[1],a.max[0],a.max[1]));for(const d of r)for(const g of c){const u=n.Polygon.collisionTest(d,g,t);u.collision&&(i.push(u.move_axis[0]),s.push(u.move_axis[1]))}}return D(this,i,s)}separateFromObjectsList(e,t){let i=x.moveXArray,s=x.moveYArray;i.length=0,s.length=0;const r=this.getHitBoxes();let a=null;for(const l in e.items)if(e.items.hasOwnProperty(l)){const h=e.items[l];for(const c of h){if(c.id===this.id)continue;let d=c.getHitBoxes(),g=d;d.length>4&&(a||(a=this.getAABB()),g=c.getHitBoxesAround(a.min[0],a.min[1],a.max[0],a.max[1]));for(const u of r)for(const B of g){const v=n.Polygon.collisionTest(u,B,t);v.collision&&(i.push(v.move_axis[0]),s.push(v.move_axis[1]))}}}return D(this,i,s)}getDistanceToObject(e){return Math.sqrt(this.getSqDistanceToObject(e))}getSqDistanceToObject(e){if(e===null)return 0;const t=this.getDrawableX()+this.getCenterX()-(e.getDrawableX()+e.getCenterX()),i=this.getDrawableY()+this.getCenterY()-(e.getDrawableY()+e.getCenterY());return t*t+i*i}getDistanceToPosition(e,t){return Math.sqrt(this.getSqDistanceToPosition(e,t))}getSqDistanceToPosition(e,t){const i=this.getDrawableX()+this.getCenterX()-e,s=this.getDrawableY()+this.getCenterY()-t;return i*i+s*s}getAngleToObject(e){if(e===null)return 0;const t=this.getDrawableX()+this.getCenterX()-(e.getDrawableX()+e.getCenterX()),i=this.getDrawableY()+this.getCenterY()-(e.getDrawableY()+e.getCenterY());return n.toDegrees(Math.atan2(-i,-t))}getXFromAngleAndDistance(e,t){return this.getDrawableX()+this.getCenterX()+t*Math.cos(n.toRad(e))}getYFromAngleAndDistance(e,t){return this.getDrawableY()+this.getCenterY()+t*Math.sin(n.toRad(e))}getAngleToPosition(e,t){const i=this.getDrawableX()+this.getCenterX()-e,s=this.getDrawableY()+this.getCenterY()-t;return n.toDegrees(Math.atan2(-s,-i))}putAround(e,t,i,s){const r=n.toRad(s);this.setCenterXInScene(e+Math.cos(r)*i),this.setCenterYInScene(t+Math.sin(r)*i)}putAroundObject(e,t,i){!e||this.putAround(e.getDrawableX()+e.getCenterX(),e.getDrawableY()+e.getCenterY(),t,i)}separateObjectsWithoutForces(e){const t=n.staticArray(o.prototype.separateObjectsWithoutForces);t.length=0;const i=n.staticArray2(o.prototype.separateObjectsWithoutForces);e.values(i);for(let s=0,r=i.length;st[s].getDrawableX()+t[s].getWidth()&&this.setX(t[s].getDrawableX()+t[s].getWidth()),this.getDrawableY()t[s].getDrawableY()+t[s].getHeight()&&this.setY(t[s].getDrawableY()+t[s].getHeight()))}separateObjectsWithForces(e){const t=n.staticArray(o.prototype.separateObjectsWithForces);t.length=0;const i=n.staticArray2(o.prototype.separateObjectsWithForces);e.values(i);for(let s=0,r=i.length;sa+c)return!1;const b=e.getHitBoxesAround(u-c,B-c,u+c,B+c),C=t.getHitBoxesAround(d-a,g-a,d+a,g+a);for(const f of b)for(const y of C)if(n.Polygon.collisionTest(f,y,i).collision)return!0;return!1}raycastTest(e,t,i,s,r){const a=this.getCenterX(),l=this.getCenterY(),h=_(this.getWidth(),this.getHeight(),a,l),c=(e+i)/2,d=(t+s)/2,g=(i-e)*(i-e)+(s-t)*(s-t),u=this.getDrawableX()+a-c,B=this.getDrawableY()+l-d;let v=F.result;if(v.collision=!1,u*u+B*B>h+g+2*Math.sqrt(g*h))return v;if(r){let p=Number.MAX_VALUE;const b=this.getHitBoxesAround(e,t,i,s);for(const C of b){const f=n.Polygon.raycastTest(C,e,t,i,s);f.collision&&f.closeSqDistp&&f.farSqDist<=g&&(p=f.farSqDist,n.Polygon.copyRaycastTestResult(f,v))}}return v}insideObject(e,t){return this.hitBoxesDirty&&(this.updateHitBoxes(),this.updateAABB(),this.hitBoxesDirty=!1),this.aabb.min[0]<=e&&this.aabb.max[0]>=e&&this.aabb.min[1]<=t&&this.aabb.max[1]>=t}static distanceTest(e,t,i){return e.getSqDistanceToObject(t)<=i}cursorOnObject(e){const t=n.staticArray(o.prototype.cursorOnObject);t.length=2;const i=e.getGame().getInputManager(),s=e.getLayer(this.layer),r=s.convertCoords(i.getCursorX(),i.getCursorY(),0,t);if(this.insideObject(r[0],r[1]))return!0;const a=i.getAllTouchIdentifiers();for(let l=0;la[2]||l.min[1]>a[3]||l.max[0]{const t=e.getBoundingClientRect();this.onResizeGameContainer(t.height)}),this._resizeObserver.observe(e))}updateFontSize(e){this._textFontSize=Math.max(.025*e,12)}updateLogoSize(e){this._logoWidth=Math.max(.06*e,25),this._logoHeight=Math.round(45/56*this._logoWidth)}updateBackgroundHeight(e){this._backgroundHeight=Math.max(.13*e,45)}updateMargin(e){this._margin=Math.max(.025*e,8)}onResizeGameContainer(e){this.updateFontSize(e),this._madeWithTextElement&&(this._madeWithTextElement.style.fontSize=`${this._textFontSize}px`),this._usernameTextElement&&(this._usernameTextElement.style.fontSize=`${this._textFontSize}px`),this.updateLogoSize(e),this._svgElement&&(this._svgElement.setAttribute("height",this._logoHeight.toString()),this._svgElement.setAttribute("width",this._logoWidth.toString())),this.updateBackgroundHeight(e),this._backgroundElement&&(this._backgroundElement.style.height=`${this._backgroundHeight}px`),this.updateMargin(e),this._linkElement&&this.updateElementMargins(this._linkElement)}addWatermarkToGameContainer(e){const t=e.getBoundingClientRect();this.updateFontSize(t.height),this.updateLogoSize(t.height),this.updateBackgroundHeight(t.height),this._containerElement=this.createDivContainer(),this.createBackground();const i=document.createElement("div");this.generateSVGLogo(t.height),this.createMadeWithTextElement(),this.createUsernameTextElement(),this._linkElement=this.createLinkElement(),this._svgElement&&this._containerElement.appendChild(this._svgElement),this._madeWithTextElement&&i.appendChild(this._madeWithTextElement),this._usernameTextElement&&i.appendChild(this._usernameTextElement),this._containerElement.appendChild(i),this._backgroundElement&&e.appendChild(this._backgroundElement),this._linkElement.append(this._containerElement),e.appendChild(this._linkElement),this.setupAnimations()}createBackground(){this._backgroundElement=document.createElement("div"),this._backgroundElement.setAttribute("id","watermark-background"),this._backgroundElement.style.height=`${this._backgroundHeight}px`,this._backgroundElement.style.opacity="0",this._placement.startsWith("top")?(this._backgroundElement.style.top="0",this._backgroundElement.style.backgroundImage="linear-gradient(180deg, rgba(38, 38, 38, .6) 0%, rgba(38, 38, 38, 0) 100% )"):(this._backgroundElement.style.bottom="0",this._backgroundElement.style.backgroundImage="linear-gradient(0deg, rgba(38, 38, 38, .6) 0%, rgba(38, 38, 38, 0) 100% )")}setupAnimations(){requestAnimationFrame(()=>{setTimeout(()=>{!this._containerElement||!this._backgroundElement||!this._linkElement||(this._containerElement.style.opacity="1",this._backgroundElement.style.opacity="1",this._linkElement.style.pointerEvents="all",this._svgElement&&this._svgElement.classList.add("spinning"))},this._fadeInDelayAfterGameLoaded*1e3)}),this._fadeOutTimeout=setTimeout(()=>{!this._containerElement||!this._backgroundElement||(this._containerElement.style.opacity="0",this._backgroundElement.style.opacity="0",this._hideTimeout=setTimeout(()=>{!this._containerElement||!this._backgroundElement||!this._linkElement||(this._linkElement.style.pointerEvents="none",this._containerElement.style.display="none",this._backgroundElement.style.display="none",this._resizeObserver&&this._resizeObserver.disconnect())},this._fadeDuration*1e3))},(this._fadeInDelayAfterGameLoaded+this._displayDuration)*1e3),this._fadeOutFirstTextTimeout=setTimeout(()=>{const{_madeWithTextElement:e,_usernameTextElement:t}=this;!e||t&&(e.style.opacity="0",this._fadeInSecondTextTimeout=setTimeout(()=>{t.style.lineHeight="normal",t.style.opacity="1",e.style.lineHeight="0"},this._fadeDuration*1e3))},(this._fadeInDelayAfterGameLoaded+this._changeTextDelay)*1e3)}createMadeWithTextElement(){this._madeWithTextElement=document.createElement("span"),this._madeWithTextElement.innerText="Made with GDevelop",this._madeWithTextElement.style.fontSize=`${this._textFontSize}px`}createUsernameTextElement(){!this._authorUsername||(this._usernameTextElement=document.createElement("span"),this._usernameTextElement.innerText=`@${this._authorUsername}`,this._usernameTextElement.style.fontSize=`${this._textFontSize}px`,this._usernameTextElement.style.opacity="0",this._usernameTextElement.style.lineHeight="0")}updateElementMargins(e){switch(this._placement){case"top-left":e.style.top=`${this._margin}px`,e.style.left=`${this._margin}px`;break;case"top-right":e.style.top=`${this._margin}px`,e.style.right=`${this._margin}px`;break;case"bottom-left":e.style.bottom=`${this._margin}px`,e.style.left=`${this._margin}px`;break;case"bottom-right":e.style.bottom=`${this._margin}px`,e.style.right=`${this._margin}px`;break;case"top":e.style.top=`${this._margin}px`,e.style.left="50%",e.style.transform="translate(-50%, 0)";break;case"bottom":default:e.style.bottom=`${this._margin}px`,e.style.left="50%",e.style.transform="translate(-50%, 0)";break}}createLinkElement(){const e=document.createElement("a");e.id="watermark-link";let t=this._authorUsername?new URL(`https://gd.games/${this._authorUsername}`):new URL("https://gd.games");return this._isDevEnvironment?t.searchParams.set("dev","true"):(t.searchParams.set("utm_source","gdevelop-game"),t.searchParams.set("utm_medium","game-watermark"),this._gameId&&t.searchParams.set("utm_campaign",this._gameId)),e.href=t.href,e.target="_blank",this.updateElementMargins(e),e}createDivContainer(){const e=document.createElement("div");return e.setAttribute("id","watermark"),e.style.opacity="0",e}generateSVGLogo(e){this._svgElement=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.updateLogoSize(e),this._svgElement.setAttribute("height",this._logoHeight.toString()),this._svgElement.setAttribute("width",this._logoWidth.toString()),this._svgElement.setAttribute("viewBox","-2 -2 59 48"),this._svgElement.setAttribute("fill","none");const t=document.createElementNS("http://www.w3.org/2000/svg","path"),i=document.createElementNS("http://www.w3.org/2000/svg","path");t.setAttribute("d","M29.3447 33C25.1061 33 21.0255 31.8475 17.4207 29.3381C14.9081 27.5897 12 23.6418 12 16.9488C12 4.53178 18.3074 0 30.9827 0H53.8027L56 7.07232H32.7217C24.3558 7.07232 19.3813 7.72835 19.3813 16.9488C19.3813 19.9944 20.2354 22.1618 21.9933 23.574C24.9642 25.9612 30.7388 26.0628 34.2673 25.7208C34.2673 25.7208 35.715 21.0394 35.9534 20.2794C36.2327 19.3888 36.1104 19.1763 35.2392 19.1763C33.9808 19.1763 31.7185 19.1763 29.3175 19.1763C27.6349 19.1763 25.9818 18.3247 25.9818 16.2793C25.9818 14.3039 27.5198 13.1573 29.6281 13.1573C33.2786 13.1573 40.7969 13.1573 42.2041 13.1573C44.0489 13.1573 45.9315 13.4233 44.971 16.3601L39.8842 31.8734C39.8845 31.8738 35.7287 33 29.3447 33Z"),i.setAttribute("d","M43.3039 35.3278C40.7894 37.1212 37.0648 38.1124 30.7449 38.1124C19.852 38.1124 11.8797 34.1251 8.62927 26.3952C7.0925 22.7415 7.24041 18.6005 7.24041 13H0.00129513C0.00129513 18.9056 -0.0984386 23.5361 1.45249 27.8011C5.51933 38.989 15.992 45 30.0606 45C43.6783 45 49.3213 41.0443 53 35.3278H43.3039Z"),this._svgElement.appendChild(t),this._svgElement.appendChild(i)}addStyle(){const e=document.createElement("style");e.innerHTML=` + @keyframes spin { + 0% { + transform: rotate(0deg); + } + + 5% { + transform: rotate(-10deg); + animation-timing-function: ease-out; + } + + 17% { + transform: rotate(370deg); + animation-timing-function: ease-in-out; + } + + 20% { + transform: rotate(360deg); + animation-timing-function: ease-in-out; + } + + 100% { + transform: rotate(360deg); + } + } + + #watermark-background { + position: absolute; + pointer-events: none; + width: 100%; + transition-property: opacity; + transition-duration: ${this._fadeDuration}s; + } + + #watermark-link { + all: unset; + position: absolute; + cursor: pointer; + pointer-events: none; + user-select: none; + + /* For Safari */ + -webkit-user-select: none; + } + + #watermark { + display: flex; + flex-direction: row; + align-items: center; + transition-property: opacity; + transition-duration: ${this._fadeDuration}s; + transition-timing-function: ease-out; + } + + #watermark > div { + display: flex; + flex-direction: column; + margin-left: 5px; + } + + #watermark span { + color: white; + font-family: 'Tahoma', 'Gill sans', 'Helvetica', 'Arial'; + font-size: ${this._textFontSize}px; + transition: opacity; + transition-duration: ${this._fadeDuration}s; + + /* For Safari */ + -webkit-transition: opacity; + -webkit-transition-duration: ${this._fadeDuration}s; + } + + #watermark svg.spinning { + animation-name: spin; + animation-direction: normal; + animation-duration: 5s; + animation-iteration-count: 3; + animation-delay: 1.5s; + } + + #watermark svg path { + fill: white; + } + + @media (hover: hover) { + #watermark span { + text-decoration: underline; + text-decoration-style: solid; + text-decoration-color: transparent; + } + + #watermark:hover span { + text-decoration-color: white; + + /* For Safari */ + -webkit-text-decoration-color: white; + } + } + `,document.head.appendChild(e)}}s.RuntimeWatermark=r})(a=n.watermark||(n.watermark={}))})(gdjs||(gdjs={})); +//# sourceMappingURL=runtimewatermark.js.map diff --git a/sand.png b/sand.png new file mode 100644 index 00000000..8a826945 Binary files /dev/null and b/sand.png differ diff --git a/scenestack.js b/scenestack.js new file mode 100644 index 00000000..79a35bd3 --- /dev/null +++ b/scenestack.js @@ -0,0 +1,2 @@ +var gdjs;(function(s){const a=new s.Logger("Scene stack");class r{constructor(e){this._stack=[];this._wasFirstSceneLoaded=!1;this._isNextLayoutLoading=!1;if(!e)throw"SceneStack must be constructed with a gdjs.RuntimeGame.";this._runtimeGame=e}onGameResolutionResized(){for(let e=0;e{this._loadNewScene(e),this._isNextLayoutLoading=!1}),null)}_loadNewScene(e,n){const t=new s.RuntimeScene(this._runtimeGame);if(t.loadFromScene(this._runtimeGame.getSceneData(e)),this._wasFirstSceneLoaded=!0,n){const i=this._runtimeGame.getExternalLayoutData(n);i&&t.createObjectsFrom(i.instances,0,0,0,!0)}return this._stack.push(t),t}replace(e,n){if(n)for(;this._stack.length!==0;){let t=this._stack.pop();t&&t.unloadScene()}else if(this._stack.length!==0){let t=this._stack.pop();t&&t.unloadScene()}return this.push(e)}getCurrentScene(){return this._stack.length===0?null:this._stack[this._stack.length-1]}wasFirstSceneLoaded(){return this._wasFirstSceneLoaded}}s.SceneStack=r})(gdjs||(gdjs={})); +//# sourceMappingURL=scenestack.js.map diff --git a/shotgun.png b/shotgun.png new file mode 100644 index 00000000..13031d16 Binary files /dev/null and b/shotgun.png differ diff --git a/shotgunShort.png b/shotgunShort.png new file mode 100644 index 00000000..ccf71d26 Binary files /dev/null and b/shotgunShort.png differ diff --git a/sniper2.png b/sniper2.png new file mode 100644 index 00000000..44596085 Binary files /dev/null and b/sniper2.png differ diff --git a/splash/gd-logo-light.js b/splash/gd-logo-light.js new file mode 100644 index 00000000..55b931ef --- /dev/null +++ b/splash/gd-logo-light.js @@ -0,0 +1,2 @@ +var gdjs;(function(z){z.gdevelopLogo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvMAAACECAMAAAAqY1S1AAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMAgN8gYECfv+8QcKCQzzBQrx+wpZQyXAAAEDxJREFUeNrs3Olu6yAQBWCYwWxe7533f9cqilK3qiHY9VZ0vn+REsWSD2iMBxScKQwmaju5nsjLLqICuKfQRNt72Z1TAPcTjCU5iA8K4F5YOzmSUQA3EqKTg1kFcBvceTmcVwA3wVZO0SiAOwhaTtIpgBtoSJJQ3EB9Qic5KG6gNkxyJq0ArjV4ORUpgEuNXk72TwFcqJEV0GcGfx97KYM+M6gDk1wAfWZwnV7KoLiBSmgpg+IGKsFSDk30UAOSNdBED3+ekULUO2ttp3czKoArkLxDNpoBhQjUwkiW70akHepCkuHQ/QjVMZI2sQKojpMUwhwPNWJJcSjjoUpGEloFUCUnyyYFUKUgywiFDVRqlGVYsIFadThZ7zChidYRkXNdHBTcRX/uNM/yk+9dN7LKkLca5cp2odCX3ed6xTb1dv5YqHFeviDLqzq5fY+RcpCTp3mWFLL8q8xHeYhFu37t8Zk3JD+4oTDzM7J4R7K35uTjllgynPlF5kPRLhT7/PbRmWcniyyXZn5GaLjeVzz55BmWrIk3Z/5Z3PhQVNocnPno5wplstb18kJcnPmZxYLCnrqTj0/lZ7T1V93UyyedzLzTGfwavqawtJmzpjPihszPGe718PnHLSW2yaSu49tIQeh35E4+SZKX73sYW58Zb89MFL1psAVDvPmWNZWzJfN6uVvJUCL0yesIYytPHg+zRWhJLFq2CWpZ001Uyk2G32d+xq9M9GFT5l/FTUlpc2jmdWrs8pSYUTLXwS1eEa5QdC6qlwV9fiminE5lPnt/3cbM6zlRCYM82EMzb+TBm/QVen6f+Vnj0Qqya+aDLPmvFgQn68VE5vPPft22zPP843xpc2TmmeThg72zXXMTBKJw5BsWNFnv/15bkzYHBcwIkqZPO792g8KoL3AYAXejkprAPGw08Lq/jVLyy9sNhdvuzHPCQS27Phl7gHk8X5dnvlncBIDbi3m1/5rAR8lUP9w79wJieDpvNBQuuzMvyTtwDHOVjQeYh0OGE5mnixsUrnoyL170NZahKSD6sYnC8p9WagxxwKcyz73nH8m8PG/XJ3mIeTRqVcxLHLeTt+zFPAbJluIjnXkR3zTUqZ2KrT6VeYbK+6eYn6jMi7cwj+ipPMo8iAsEadOFedD5MiNjjzBv484Dp+dNfDLz98c/vZt5Csq3nA6ts2N6HpuC6yrmB7hfljY9mQ+vj+K4GLIfIYosvJpWxD6Z+bt3HPgNw/i5zOs65AM1bpOq8hrm5S4QAhl3Yn7E1b1q6InMp4W/GNBO80czz72SK6rEhzBvT2PeVTCPnpzKPIztAaFBTifmFeUgiapH9cNH1QSasXSR5oOZX+wjmc8+8irjdOZhV0jWo8x71NmStGlnvlVXMJofhQOWSo1XVLmLHP4zfwrz7hxpA+bpDSGYbxA3kDZtzJMdJ7Ta1cwv5dhiT6P/M3+OnrdVzPsq5i8G5x5gHqdqgrTpwbxDfoSqUa/nl0sZysj+Z76e+fbAzXiYeYgbVsW8hy7KS5uezGtUuNcDFkfzAxkHMO9Kr5vF4uM/zLypZh6owmxo/egxnXkHVX6EebShU1na9GTeUNxE6JHuh1nHKi/WJHCA2BzzXAxKDU4Wl6qrQYwl5kfnlce572DeikH54fh+2Kz6PeyUvTNfjdKGzvwIL44wDzxUufPoxTzcPpYX/CCOUpZ+eDlDFw7kCfN2eKJgsOQKqQaLEDPMu/BqwbLePmm3/WH43Us9feMplmBe6toVYoywuHs88jk/oZulDZind/5gni5uSnmqnsxPuGhSP0b2Q/3KGMzz/FhZLVe4ZV6uQDBuQ0CcqjmYzySzqXQ5bNuPmaRWkJm3Pi5yPJ15Tmyf0QsOqX0xorQB8/RoXpl5euwEQMpW5tuHsKgcVD/4r7sJ5kFRcqAEV1HmWoycS3HFfYwnsoZhknLybJ4ZXzMvzOPk3+e6kn+3rb9y097INfNWLWbmWavFJjBvlxrjJynlwDDdsJ152CmfsBRUaQPmKYPBKuYR9Cm/Lmpnnt7FlCGeqH6E5z0D8xIj9VWlC+AKFVFzzO5f48hZ3PI7M+sV8xNOxrlZ0twWh2Fdx80FzO/r+SUmZXH0MRg1ZTkIO+MTlo4sbcA8HTAwT4fTFHR+L+YxYghk5gXND6vQzIN5cJbEXBZXVVzU12Yus167PMZVYOUYN6uTbShMGfVrrvRsDPxFOol5PRu5bkZurczr9Dm1rwFXNGlDZ96DWzB/FRmzNHEDaZMyLzImS8y3hypRh0nMjwFxBTB/P0fnApUb5hWcxu2R8T8uGd+JCI6wnf435PWkWT1iHVaoBuT5gvlEFRk4mDUKzqzHXh+Gkgmd+RQCylxl3CYAlUgb6joYXc3896nMS4VB3op5hCtX5SswD9zKQkRn5Z6I2gm+SU17UPiCqueG2GOOfAjMD2kXQrcvCvNibhc3kiht+jOP6w7ZUXE35tMySEeWmbecT04ZxDW2zF88vIzQ2jKf3KJHKs4QKb4CRKo9uFfsDnFby2XsnMA/r5lnPOm7mrdroq1/ch2kDZF51MRbFfM4ORU8H8182Yxb9xHj70uyaaASVKcG6nCnbG5MgDqU3gWfH9DpKEgT7tnYyDFHZl6l7SkRw/KdvJF0CbPN39pUzczb48xD3LictPk7mdd8o4skGte12JZ05tFVlJgXC7wp3N+FFyoWimi4l+KiLEcy8zJ9gdQcQRxpk4SHDtu8NmobzzNmaWNJQJYWw3P2Ocxr3Egwj5FjogLIzCPIn2deZVKnwj0IGGSrO2ORuBlxzhHmwUvzF0QELbZueKOGYpezmR+OVXabkzZdY5UBJFeMYXPGVBqYwoUYgAZY6cyX451PIF0xQpMy4J8ZsF/O2WffoPoxXzOvoP17UiEvbZqZN5XMY+pCKm3ozL8/VjnE5oSY0IllmN+GKyUeWco8F/4a2MMMUpFVjnlWIKPQ17PnX3f6fVx3pncxz2ks6jlvwTYUA9/f/U4K8CVaoifzCBiRK6Wo8gOgIoqCESyYL8+TojJvaMw/D7799kP+Yl89k2w/5qv2onQzFfr2Hez7zz2AS8ZuejzZm3mPQ0jzRuuZR1TQrwKVYD6ZYsau6mGByPySelUZK90eB2mzmLk/ASj7TsyT5hVkwhwFY7x+N29VzTwmmFczb8H4FsaPmGMmEU1oYl6iZiuQtWZePMbBFoURmEcqzRCDH5+5+/vpiOC8h/lrIXBDXwE11EubaubBeBXzqIcqJ236zyW+kecStzKPcCVQBfPoUoJMxrAYBO/q+elIM2NAeizsNZB7A/Oe9rpJNn3LSNCkTf81I6m4WZcpuzPPI7cpIqiReUykRKASzIOiYHfiNqLMfEAqwfTDrQA/zP0JWHjWgXkijt80dQLqeUVnoqqZh+M8Yb5S3LgE155rAz2xG/puZx6jWMAD5rFwqsT8tRSfxztXsj1m2PBfmaPJn/BLO/O1ssMU5GXZ9A72liht+q8BT6nyubj5B6wBx+W0MY9w5Qi0wTymaNW9h3XkqS4Yqrp7PwdxgzhOX+Zhhsijnl9ZUE5a+osvdqlmHvq7gXmIG0ibvswjP0NdytXKPF76I1AJ5iH4c8xjLcf+fBt5CDa7TJ2PgyPs3uBc3sn8lbrpjJkpxrQa3CTlyO8mpRADIWpTuafTVMd8yrlY0/o37umUZR5QL1c7UplnSLWZQex6XqU+NI1X8Ee3gl9uHHm8h3lHnSg8zOeabGJegYka5tF1DfhTdWeeLugZ5HwL8whXCoC1Yf4LKWACN+OaJIvo6YjMk7R7gzAlHifDNzfhlzzzro15qlCfcgHxM41dapnHIaqaeWCkkZ3szjxacNrmxc3MI7ry1CNgHoQbmxT+XVwnxVnsmk7e0YxB7ozsglr0TSxuvv088xzzGERTmG8X9Dq76fs5lvLafy/ucjk3SJv+zEOVkTYvbmYeVCO7LfN287iFAQCU9bAb6KXZ3RHZsFlvfglzyI4mMIg+m3lPlh6uu7Tp/82FVNw4SJs3MI/IDbkba2feQk+tmAcBmH8vl4Z7tULWLpDH+x6wVZ8hVl/9tMPrLxeJJObs88xDPZ3MvCyuiOgp6dmlhXlF+LYOWdxA2ryHeYHS9q+Pn8E82jWeYx5bLl7dJIRf/mRczLPZtOzMT3IS3izJOt3fZknmUiiz/xBGOBLXR5lnHgeoaRKumXmYoTfEXz2lDZ15hyyqmUd1t1lp0/8bauRmvp35Ednl5tvYH+3d63KqMBSG4WQlIQfCYWbd/71u97Tdyz0a0AAR7ff8pa3WecUQCcx8ZY5q/B7zSfRiMGpmtqqwmUNaic3f3gBClZuX4QXt2Hwu7eiPjN7VNi83iDWbmpf6kpolsRbNT2vXjSD5/7Y2L2G52+aFpZ9iO/c9xP8v3UQ/VdivX7aFKzYGHddis0tLCaV5kWj35l0pywOjJ1XfvKGqeyKXBzdyFkKb5pWXw9jyQ+qa51HPTFrr5IrFuqS1tkYVRNm+v/j13NSO/DOroDTvoatv3gX5C1ubd3wRkqR6fPNyCB7GpUek+88D9pGeOkvYEm831TYfsyxW2da8HMvIaQwtmpdXPIzlBwwGzR+ovCJkvJ9kz1sFVdd8tCTJ79F85h+uXfPyaamL7+lJoflD6fIa72N29V1V8y4H/uKj2qd5JwcYDZuX4yJy919ZrdD8jTY7+lyqMh82tJGpOnsl6W4Ii4MuuUZr2VSeqO2Wm7eLzHXIwRY5JfLtSdijDvwlKTR/NL10v+L9BzhBrTdf5p26p2a2SNJz5ZdmnZXmF3X3/zD57kLe08EpNH+r1Y4+jOqA6ruq5mWCeMfmnWxp07wwVLwMH5pvQNdc18D0gatMtc2H7JTY0LwIUmOj5oWl+59iaL6B2ot5ROurhjYVzdPQJclhn+ZlcOOaNi/k9ZNvQdF8I4mfil6YNDwX/JCdWmFuRLXKPEDdioUNsn1dfPBno7oVp+wHurheWll+nrCj4dnohbE98QNoznZUACfhuCJ6YSY9D3xXIN/lNJmoAE4lcxGN6jHROZv0N2vt5PBxDOcVicuSAvg8jhdkjEzgA2VeQBikwAcaeIlWAJ/GBF5CkwL4MI6XdRjgwKfRjOrhl8ncsvrRU9mAqSJooudVnVMbyTo4fCcALxcHXkfWbH8gHXhJpwAKWkYvvDWbi8f3AXAOEv0Kn0ZVtvG0e5yACWXtoxfU2WfjNMkH/gtfgMGJ9PyE4PPk4kO5T2n+2zuSh/PR/CzynbbO3V+K5GzKsrB/3awA1rw+eqmfBv+DiAI/DTPz8AqO+FUIycNLmIFfY8AsJTzuNOObfzCwgbcyEjfXI3l4pZh5P5ikhLdgiBsKWJUCJ2DbVe9x9AqnYDI3EXDyMJyG6fkWdvLw0Q6vnpwCOBfTE1/BsAZ+AzvwIShhTh7OajxgZ+8xqoFzm/rA+yGNXTy8AdfTTsFjFw9vY5QFT3XCnDA3Ce/m0v3ANahLWOEN7yq6lH14vPY5J4cRPLy/OE4pz34oxB9omDttcUcp+ETRjO5ishfuYjQIvak/vlvA3mF1abkAAAAASUVORK5CYII="})(gdjs||(gdjs={})); +//# sourceMappingURL=gd-logo-light.js.map diff --git a/spriteruntimeobject.js b/spriteruntimeobject.js new file mode 100644 index 00000000..8df16bd4 --- /dev/null +++ b/spriteruntimeobject.js @@ -0,0 +1,2 @@ +var gdjs;(function(n){class r extends n.RuntimeObject{constructor(t,e){super(t,e);this._scaleX=1;this._scaleY=1;this._blendMode=0;this._flippedX=!1;this._flippedY=!1;this.opacity=255;this._animationFrameDirty=!0;this._updateIfNotVisible=!!e.updateIfNotVisible,this._renderer=new n.SpriteRuntimeObjectRenderer(this,t),this._animator=new n.SpriteAnimator(e.animations,n.SpriteRuntimeObjectRenderer.getAnimationFrameTextureManager(t.getGame().getImageManager())),this._updateAnimationFrame(),this.onCreated()}reinitialize(t){super.reinitialize(t);const e=this.getInstanceContainer();this._animator.reinitialize(t.animations),this._scaleX=1,this._scaleY=1,this._blendMode=0,this._flippedX=!1,this._flippedY=!1,this.opacity=255,this._updateIfNotVisible=!!t.updateIfNotVisible,this._renderer.reinitialize(this,e),this._updateAnimationFrame(),this.onCreated()}updateFromObjectData(t,e){return this._animator.updateFromObjectData(t.animations,e.animations),this._updateIfNotVisible=!!e.updateIfNotVisible,this.invalidateHitboxes(),!0}extraInitializationFromInitialInstance(t){if(t.numberProperties)for(let e=0,i=t.numberProperties.length;e=this.hitBoxes.length&&this.hitBoxes.push(new n.Polygon);for(let i=0;i=this.hitBoxes[e].vertices.length&&this.hitBoxes[e].vertices.push([0,0]),this._transformToGlobal(t.customHitBoxes[e].vertices[i][0],t.customHitBoxes[e].vertices[i][1],this.hitBoxes[e].vertices[i]);this.hitBoxes[e].vertices.length=t.customHitBoxes[e].vertices.length}this.hitBoxes.length=t.customHitBoxes.length}}setAnimation(t){this.setAnimationIndex(t)}setAnimationIndex(t){this._animator.setAnimationIndex(t)&&(this._renderer.update(),this._animationFrameDirty=!0,this.invalidateHitboxes())}setAnimationName(t){this._animator.setAnimationName(t)&&(this._renderer.update(),this._animationFrameDirty=!0,this.invalidateHitboxes())}getAnimation(){return this.getAnimationIndex()}getAnimationIndex(){return this._animator.getAnimationIndex()}getAnimationName(){return this._animator.getAnimationName()}isCurrentAnimationName(t){return this.getAnimationName()===t}setDirectionOrAngle(t){const e=this._animator.setDirectionOrAngle(this.angle,t);e!==null&&(this.angle=e,this._renderer.update(),this._animationFrameDirty=!0,this.invalidateHitboxes(),this._renderer.updateAngle())}getDirectionOrAngle(){return this._animator.getDirectionOrAngle(this.angle)}setAnimationFrame(t){this._animator.setAnimationFrameIndex(t)&&(this._animationFrameDirty=!0,this.invalidateHitboxes())}getAnimationFrame(){return this._animator.getAnimationFrameIndex()}getAnimationElapsedTime(){return this._animator.getAnimationElapsedTime()}setAnimationElapsedTime(t){this._animator.getAnimationElapsedTime()&&(this._animationFrameDirty=!0,this.invalidateHitboxes())}getAnimationDuration(){return this._animator.getAnimationDuration()}getAnimationFrameCount(){return this._animator.getAnimationFrameCount()}hasAnimationEndedLegacy(){return this._animator.hasAnimationEndedLegacy()}hasAnimationEnded2(){return this._animator.hasAnimationEnded()}hasAnimationEnded(){return this._animator.hasAnimationEnded()}animationPaused(){return this._animator.isAnimationPaused()}isAnimationPaused(){return this._animator.isAnimationPaused()}pauseAnimation(){this._animator.pauseAnimation()}playAnimation(){this._animator.resumeAnimation()}resumeAnimation(){this._animator.resumeAnimation()}getAnimationSpeedScale(){return this._animator.getAnimationSpeedScale()}setAnimationSpeedScale(t){this._animator.setAnimationSpeedScale(t)}getPointX(t){const e=this._animator.getCurrentFrame();if(t.length===0||e===null)return this.getX();const i=e.getPoint(t),a=n.staticArray(r.prototype.getPointX);return this._transformToGlobal(i.x,i.y,a),a[0]}getPointY(t){const e=this._animator.getCurrentFrame();if(t.length===0||e===null)return this.getY();const i=e.getPoint(t),a=n.staticArray(r.prototype.getPointY);return this._transformToGlobal(i.x,i.y,a),a[1]}getPointPosition(t){const e=this._animator.getCurrentFrame();if(t.length===0||e===null)return[this.getX(),this.getY()];const i=e.getPoint(t),a=n.staticArray(r.prototype.getPointX);return this._transformToGlobal(i.x,i.y,a),[a[0],a[1]]}_transformToGlobal(t,e,i){const a=this._animator.getCurrentFrame();let s=a.center.x,o=a.center.y;this._flippedX&&(t=t+(s-t)*2),this._flippedY&&(e=e+(o-e)*2);const h=Math.abs(this._scaleX),l=Math.abs(this._scaleY);t*=h,e*=l,s*=h,o*=l;const m=this.angle/180*Math.PI,d=Math.cos(m),u=Math.sin(m),g=t-s,_=e-o;t=s+d*g-u*_,e=o+u*g+d*_,i.length=2,i[0]=t+(this.x-a.origin.x*h),i[1]=e+(this.y-a.origin.y*l)}getDrawableX(){const t=this._animator.getCurrentFrame();if(t===null)return this.x;const e=Math.abs(this._scaleX);return this._flippedX?this.x+(-t.origin.x-this._renderer.getUnscaledWidth()+2*t.center.x)*e:this.x-t.origin.x*e}getDrawableY(){const t=this._animator.getCurrentFrame();if(t===null)return this.y;const e=Math.abs(this._scaleY);return this._flippedY?this.y+(-t.origin.y-this._renderer.getUnscaledHeight()+2*t.center.y)*e:this.y-t.origin.y*e}getCenterX(){const t=this._animator.getCurrentFrame();return t===null?0:this._flippedX?(this._renderer.getUnscaledWidth()-t.center.x)*Math.abs(this._scaleX):t.center.x*Math.abs(this._scaleX)}getCenterY(){const t=this._animator.getCurrentFrame();return t===null?0:this._flippedY?(this._renderer.getUnscaledHeight()-t.center.y)*Math.abs(this._scaleY):t.center.y*Math.abs(this._scaleY)}setX(t){if(t===this.x)return;this.x=t,this._animator.getCurrentFrame()!==null&&(this.invalidateHitboxes(),this._renderer.updateX())}setY(t){if(t===this.y)return;this.y=t,this._animator.getCurrentFrame()!==null&&(this.invalidateHitboxes(),this._renderer.updateY())}setAngle(t){const e=this._animator.setAngle(this.angle,t);e!==null&&(this.angle=e,this.invalidateHitboxes(),this._renderer.updateAngle())}getAngle(){return this._animator.getAngle(this.angle)}setBlendMode(t){this._blendMode!==t&&(this._blendMode=t,this._renderer.update())}getBlendMode(){return this._blendMode}setOpacity(t){t<0&&(t=0),t>255&&(t=255),this.opacity=t,this._renderer.updateOpacity()}getOpacity(){return this.opacity}hide(t){t===void 0&&(t=!0),this.hidden=t,this._renderer.updateVisibility()}setColor(t){this._renderer.setColor(t)}getColor(){return this._renderer.getColor()}flipX(t){t!==this._flippedX&&(this._scaleX*=-1,this._flippedX=t,this.invalidateHitboxes(),this._renderer.update())}flipY(t){t!==this._flippedY&&(this._scaleY*=-1,this._flippedY=t,this.invalidateHitboxes(),this._renderer.update())}isFlippedX(){return this._flippedX}isFlippedY(){return this._flippedY}getWidth(){return this._animationFrameDirty&&this._updateAnimationFrame(),this._renderer.getWidth()}getHeight(){return this._animationFrameDirty&&this._updateAnimationFrame(),this._renderer.getHeight()}setWidth(t){this._animationFrameDirty&&this._updateAnimationFrame();const e=this._renderer.getUnscaledWidth();e!==0&&this.setScaleX(t/e)}setHeight(t){this._animationFrameDirty&&this._updateAnimationFrame();const e=this._renderer.getUnscaledHeight();e!==0&&this.setScaleY(t/e)}setSize(t,e){this.setWidth(t),this.setHeight(e)}setScale(t){t<0&&(t=0),!(t===Math.abs(this._scaleX)&&t===Math.abs(this._scaleY))&&(this._scaleX=t*(this._flippedX?-1:1),this._scaleY=t*(this._flippedY?-1:1),this._renderer.update(),this.invalidateHitboxes())}setScaleX(t){t<0&&(t=0),t!==Math.abs(this._scaleX)&&(this._scaleX=t*(this._flippedX?-1:1),this._renderer.update(),this.invalidateHitboxes())}setScaleY(t){t<0&&(t=0),t!==Math.abs(this._scaleY)&&(this._scaleY=t*(this._flippedY?-1:1),this._renderer.update(),this.invalidateHitboxes())}getScaleMean(){return(Math.abs(this._scaleX)+Math.abs(this._scaleY))/2}getScale(){const t=Math.abs(this._scaleX),e=Math.abs(this._scaleY);return t===e?t:Math.sqrt(t*e)}getScaleY(){return Math.abs(this._scaleY)}getScaleX(){return Math.abs(this._scaleX)}turnTowardObject(t,e){t!==null&&this.rotateTowardPosition(t.getDrawableX()+t.getCenterX(),t.getDrawableY()+t.getCenterY(),0,e)}}n.SpriteRuntimeObject=r,n.registerObject("Sprite",n.SpriteRuntimeObject),r.supportsReinitialization=!0})(gdjs||(gdjs={})); +//# sourceMappingURL=spriteruntimeobject.js.map diff --git a/spritesheet.png b/spritesheet.png new file mode 100644 index 00000000..5ec4c49d Binary files /dev/null and b/spritesheet.png differ diff --git a/sw.js b/sw.js new file mode 100644 index 00000000..dbf7e624 --- /dev/null +++ b/sw.js @@ -0,0 +1,2 @@ +if(!self.define){let e,i={};const r=(r,s)=>(r=new URL(r+".js",s).href,i[r]||new Promise((i=>{if("document"in self){const e=document.createElement("script");e.src=r,e.onload=i,document.head.appendChild(e)}else e=r,importScripts(r),i()})).then((()=>{let e=i[r];if(!e)throw new Error(`Module ${r} didn’t register its module`);return e})));self.define=(s,a)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(i[n])return;let c={};const d=e=>r(e,n),b={module:{uri:n},exports:c,require:d};i[n]=Promise.all(s.map((e=>b[e]||d(e)))).then((e=>(a(...e),c)))}}define(["./workbox-d8dbf99d"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"affinetransformation.js",revision:"80866b3fb8fd103a79b931ca5744a00e"},{url:"ammo_uzi.png",revision:"3a0b93bb798737441ff5a8f72432fe08"},{url:"app_1.png",revision:"da83b4d0e96eeb0c1b6def52917fe2d5"},{url:"app_2.png",revision:"4888251fe18e819bc937fef93cd438ec"},{url:"app_3.png",revision:"ef25b3a1386ba5f4527d39c82611e490"},{url:"AsyncTasksManager.js",revision:"a99e1a5e738da9f0c995482641582f96"},{url:"bar.png",revision:"00cb3fc08ec1ccb6f0d36d6d94946be0"},{url:"basketball_1.png",revision:"bdb0f132d3fc92c54da6486642fdfebd"},{url:"basketball_2.png",revision:"cb3734d0a5c204a615167ba75196651c"},{url:"battery_1.png",revision:"19b7125f3a348461ecd1003d67f23ead"},{url:"battery_2.png",revision:"7829e109fc56bd92a4329c5f620120e8"},{url:"battery_3.png",revision:"a5ac715664b269c485b072e0cac2efec"},{url:"black.png",revision:"9744af9ef02dd5569f85b40b2a407d9b"},{url:"block_1.png",revision:"a8c389f66b9ad2d0c7987d6bbf39e1de"},{url:"block_2.png",revision:"6842b950bc325a89b9210286883ace92"},{url:"body_1.png",revision:"aa3d7f45c9ca7934e2ce565364119103"},{url:"body_2.png",revision:"5c079f8454036e276c57c113a38ffca2"},{url:"body_3.png",revision:"805f43edf342535cb44aec793c4d2c0d"},{url:"body_4.png",revision:"a9ea7c3c545eccf0f99375aec2aa5adc"},{url:"body_5.png",revision:"5bd248b1652d97c432590b95b7a298c1"},{url:"body_6.png",revision:"6496e3d6f7538d3b5437ea6f336aa46a"},{url:"body_7.png",revision:"84e82757bbcaac313e42c7ea417b5b7d"},{url:"body_8.png",revision:"93786c9d20ae1e34b945c0fb1e16d036"},{url:"body_9.png",revision:"32607a09c45df60064c10501bcfc31ca"},{url:"bridge.png",revision:"16ab4344f0cdda68c41b6d8fa69cf201"},{url:"city1.json",revision:"741b9f3f7cb7e97a4d9047450158a399"},{url:"code0.js",revision:"91b2d8c8dca79ad4615037b5b3938c5a"},{url:"code1.js",revision:"472a2cfb55d57b88b18199e8d1942757"},{url:"code2.js",revision:"5d7700e55eff8af288d90bd48d002982"},{url:"code3.js",revision:"c099893154b6fb4c7f4157d24d73c825"},{url:"code4.js",revision:"71dc0bf2feff728eac0533ec9279b9df"},{url:"code5.js",revision:"60dac14263d8e3bd25b7198cedf4100a"},{url:"code6.js",revision:"fcc3f41cab3a9094ddf70d04f3cdae8c"},{url:"concrete.png",revision:"ea9828d257afeedd01078160c8879679"},{url:"crosshair_1.png",revision:"6cbfbc97f69b7c6398882f9b0f52b105"},{url:"CustomRuntimeObject.js",revision:"c822d742bd045f86439f8d4504b63bf6"},{url:"CustomRuntimeObject2D.js",revision:"c454111e2c1091ba62ba7cb05ffca379"},{url:"CustomRuntimeObjectInstanceContainer.js",revision:"ad84faa7a02355302261c379697fb7df"},{url:"data.js",revision:"f2a4df38b0cd05945afb09e747797acb"},{url:"decoration_1.png",revision:"f85170f409667d0fd3d14963911f1cce"},{url:"dirt.png",revision:"752d782f5e2e7e59309104b2153a1985"},{url:"door2.png",revision:"d2d4950dce479c0c6508ca43721ef674"},{url:"element_1.png",revision:"4aca52c91db6f6aab64eec85d5a6cca5"},{url:"events-tools/cameratools.js",revision:"4162e4dd28deb170207e31eca0122c11"},{url:"events-tools/commontools.js",revision:"24e87bef4de72be86c1c24ec572d601b"},{url:"events-tools/inputtools.js",revision:"758ed89e1a5c88f4ce511afe04e32d3e"},{url:"events-tools/networktools.js",revision:"76fdce782f78c64c8074e9a0d04fe8d5"},{url:"events-tools/objecttools.js",revision:"a996d2fb89139694ecdc3b5c98bc6de5"},{url:"events-tools/runtimescenetools.js",revision:"09b75fe2a90d91f1cf7602f7e308b4a1"},{url:"events-tools/soundtools.js",revision:"1b1410ea64e7f329135c95c190efb920"},{url:"events-tools/storagetools.js",revision:"e221d4afa7687b74501a63bec008c521"},{url:"events-tools/stringtools.js",revision:"8dae10de6b696d760c8dc244e1aa731a"},{url:"events-tools/variabletools.js",revision:"fc440c65685d26b27f77bb148b935e7a"},{url:"events-tools/windowtools.js",revision:"de3260088409d8a0a069e88272ae8faa"},{url:"Extensions/3D/HemisphereLight.js",revision:"4505dbb9c208bfcffabe78ba0184a0d4"},{url:"Extensions/AnchorBehavior/anchorruntimebehavior.js",revision:"457ea01230cda2eb8f1edccdfa92ac99"},{url:"Extensions/DebuggerTools/debuggertools.js",revision:"635e67fd7cd802b1be5c8c9c7ebb4dc6"},{url:"Extensions/DestroyOutsideBehavior/destroyoutsideruntimebehavior.js",revision:"a77ffa9e9b75deffa186b9e8bf2a2bbd"},{url:"Extensions/DraggableBehavior/draggableruntimebehavior.js",revision:"05df26cc4be329907cb460e21cf3d08f"},{url:"Extensions/Effects/blending-mode-pixi-filter.js",revision:"c55e6b9c8c929adb2abe466b0604e68e"},{url:"Extensions/Effects/blur-pixi-filter.js",revision:"2af7d996424e486aeb5a97df99a67ad3"},{url:"Extensions/Effects/brightness-pixi-filter.js",revision:"3b5135e21ede260c759de8e57f2c8df8"},{url:"Extensions/Effects/color-replace-pixi-filter.js",revision:"318db33284713564a2edbadc5a04eb3d"},{url:"Extensions/Effects/drop-shadow-pixi-filter.js",revision:"3b1fc1c12b2cce9b0ecce41eaaca6198"},{url:"Extensions/Effects/kawase-blur-pixi-filter.js",revision:"9998c984e38dfe96d640d01b6001125f"},{url:"Extensions/Effects/light-night-pixi-filter.js",revision:"aa8a40fdaaca4a382b72aec9bd6557f6"},{url:"Extensions/Effects/outline-pixi-filter.js",revision:"aa37fb32b837d961e99828f5fae3a924"},{url:"Extensions/Effects/pixi-filters/filter-color-replace.js",revision:"5252e124eb563bc8bebc153ac144ce81"},{url:"Extensions/Effects/pixi-filters/filter-drop-shadow.js",revision:"722a9e94c94be08007c96a8b9ad6bb7a"},{url:"Extensions/Effects/pixi-filters/filter-kawase-blur.js",revision:"0b619caaa064092b3c24968e1bfae551"},{url:"Extensions/Effects/pixi-filters/filter-outline.js",revision:"b2868972394ee1a8a969e5ae3fda4180"},{url:"Extensions/Effects/pixi-filters/filter-reflection.js",revision:"f989faa0a5d889800cfc7b6b8c1d4d3a"},{url:"Extensions/Effects/reflection-pixi-filter.js",revision:"033a7807177eb7b58b775f7e5de9ead8"},{url:"Extensions/Effects/sepia-pixi-filter.js",revision:"c81245681fa58dd48de478d055dcce58"},{url:"Extensions/P2P/A_peer.js",revision:"65420eed1cd8fe9c7fe043f57a2ad9ac"},{url:"Extensions/P2P/B_p2ptools.js",revision:"e6b66176b283d8c48a94a9205b39602c"},{url:"Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js",revision:"4b9d85eb81d43c0f047218c9b7c793b7"},{url:"Extensions/PanelSpriteObject/panelspriteruntimeobject.js",revision:"30b7cec942ace68603f8fe9a804205d9"},{url:"Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js",revision:"c4d4a67e7019ba8b700476665936df81"},{url:"Extensions/ParticleSystem/particleemitterobject.js",revision:"313b04dd33505e121e7253c7b95b0a55"},{url:"Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js",revision:"ce3dc5f9e29aeadb3d3cc6e4f6509b92"},{url:"Extensions/PrimitiveDrawing/pixi-graphics-extras/graphics-extras.min.js",revision:"ca907e3c4093a09204c80cb816755226"},{url:"Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js",revision:"416e6945495503ce5fca665ff262109a"},{url:"Extensions/PrimitiveDrawing/shapepainterruntimeobject.js",revision:"2b2ec0556222be87998bb193e91ef1c5"},{url:"Extensions/SystemInfo/systeminfotools.js",revision:"4ffc124c1e3afd6df003f37b2a28b351"},{url:"Extensions/TextObject/textruntimeobject-pixi-renderer.js",revision:"5daa09c66e7daaf016ca4501a0033e14"},{url:"Extensions/TextObject/textruntimeobject.js",revision:"db577336aa88b92c966ff0cd4c6cfe26"},{url:"Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js",revision:"63b2ef182ccf5783d6f1c3b65c1e5f24"},{url:"Extensions/TiledSpriteObject/tiledspriteruntimeobject.js",revision:"1f1afaa55bec77bbddee3dcc5344bb31"},{url:"Extensions/TileMap/helper/TileMapHelper.js",revision:"4ec5b16c3175fb84198c894bc975586b"},{url:"Extensions/TileMap/pako/dist/pako.min.js",revision:"c5f13d6f68191d784316f644b4e1ae2c"},{url:"Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js",revision:"2d2ab7fb9c70d2625756fdb887b2d649"},{url:"Extensions/TileMap/TileMapRuntimeManager.js",revision:"4c21e6f6907a0942dbe5b3313d349b3a"},{url:"Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js",revision:"f22d99ade9e8b2e73b9b487b964f8c59"},{url:"Extensions/TileMap/tilemapruntimeobject.js",revision:"a3201fbdf90b7d5bd4e70f260a25e798"},{url:"Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js",revision:"45cb071a72055b3e1ec05eba454104e4"},{url:"Extensions/TweenBehavior/TweenManager.js",revision:"0bd978c6dc0eeefd27b2ea156be27eb4"},{url:"Extensions/TweenBehavior/tweenruntimebehavior.js",revision:"8a856c3376e6c6dda3044471f13ae38a"},{url:"Extensions/TweenBehavior/tweentools.js",revision:"8b870b31f514215181d4cceca857c1c3"},{url:"fence_1.png",revision:"2141187959a493c10650ee9af131bad1"},{url:"fence_2.png",revision:"d7bc55a2db90c2e4d2b886204e6ae5c7"},{url:"fence_3.png",revision:"676d329abbc13d1d19e35f9c3fd05927"},{url:"fence_4.png",revision:"2d784080d9521f9f79a4aa244ab825c9"},{url:"fence_5.png",revision:"dd368cef36e7d2154106546fff9b8773"},{url:"fence_6.png",revision:"8367773f5058c3ded5dc2cf89fc1b347"},{url:"fence_7.png",revision:"664cb94fd9af3ade84ba7721528e34d1"},{url:"fence_8.png",revision:"dd57b4d1de847de4f9c41df11e05513b"},{url:"flamethrower_long.png",revision:"703400b63323f4191216809c0a1c150d"},{url:"flamethrower_short.png",revision:"6a729eeab6abe50bac9c5a75fd213abe"},{url:"Flat Bar Red Fill Bar.png",revision:"5052c458f5e8b954f95ddc4cd7b29cf7"},{url:"Flat Bar White Border.png",revision:"d2787e5cd439f4c91e7a35c77c6251a8"},{url:"fontfaceobserver-font-manager/fontfaceobserver-font-manager.js",revision:"3149d4d345ff32ab1608fcd083bdf0ff"},{url:"fontfaceobserver-font-manager/fontfaceobserver.js",revision:"9c6e7cff7cd332f949d48877058f544d"},{url:"force.js",revision:"c3c024ba0aa4194f95db42687a846305"},{url:"frame_1.png",revision:"e0d0d0a098f44f1b4f3ff591f4b704fd"},{url:"frame_2.png",revision:"9aec49a422941821b83da5eb21f1e67f"},{url:"gd.js",revision:"7666d690f5eb82ccaf0041ae917e8029"},{url:"gdjs-evtsext__alignobject__toscenecenter-func.js",revision:"177451560ccf7bad6d22d623fed74300"},{url:"gdjs-evtsext__alignobject__toscenecentered-func.js",revision:"637561f72bd02d49589603c704bdab4b"},{url:"gdjs-evtsext__bounce__bounce.js",revision:"95a531d991bfda86567c0054deabe814"},{url:"gdjs-evtsext__camerashake__isshaking-func.js",revision:"4ba2653e73eafaf3b4210e7dc29b59b9"},{url:"gdjs-evtsext__camerashake__noise2d-func.js",revision:"c07c23c35e82e06709edb00714bceb0c"},{url:"gdjs-evtsext__camerashake__onfirstsceneloaded-func.js",revision:"d8d8f5ecd7633c3b6f99bd081fb6bd37"},{url:"gdjs-evtsext__camerashake__onsceneloaded-func.js",revision:"1ac85e40d715c114b3c3b78112563408"},{url:"gdjs-evtsext__camerashake__onscenepostevents-func.js",revision:"227723425261b318fd67d560fe957874"},{url:"gdjs-evtsext__camerashake__onscenepreevents-func.js",revision:"cfbbf86c0c7eb5c5513d3e01091d6b19"},{url:"gdjs-evtsext__camerashake__setdefaultrotationamplitude-func.js",revision:"12b12973cdd6a5ac8cac4e283e2f9db0"},{url:"gdjs-evtsext__camerashake__setdefaultshakingfrequency-func.js",revision:"ff6bdbc3cc753602f27a8f5eee472514"},{url:"gdjs-evtsext__camerashake__setdefaulttranslationamplitude-func.js",revision:"68ca94730d8d94f4d444cf91fc58a553"},{url:"gdjs-evtsext__camerashake__setdefaultzoomamplitude-func.js",revision:"f8503ec5faf31cd5573258431a283e91"},{url:"gdjs-evtsext__camerashake__setfrequency-func.js",revision:"11b4bb93e66bfccfec92b844d067b617"},{url:"gdjs-evtsext__camerashake__setlayershakable-func.js",revision:"b9c47c2cb6af4ca3ba72222ae272480e"},{url:"gdjs-evtsext__camerashake__shakecamera-func.js",revision:"fb6862ae3e3e198748bc8d474d77bab8"},{url:"gdjs-evtsext__ellipsemovement__ellipsemovement.js",revision:"1322f46b09ce22ec9d8966a859c73ffe"},{url:"gdjs-evtsext__extendedvariables__copyallobjectvariables-func.js",revision:"9691335932c9b2bbc236a91d9acca8ab"},{url:"gdjs-evtsext__extendedvariables__copyobjectvariable-func.js",revision:"68c919a7c99abfb006a35b93e93071bf"},{url:"gdjs-evtsext__extendedvariables__deleteglobalvariable-func.js",revision:"96e54698084bdc0a2932ff447029e871"},{url:"gdjs-evtsext__extendedvariables__deletescenevariable-func.js",revision:"5965c0ac0423277c197c0266d8908768"},{url:"gdjs-evtsext__extendedvariables__globalvariableexist-func.js",revision:"8f93a40cced3590ade71cd562007b0af"},{url:"gdjs-evtsext__extendedvariables__modifyglobalvariable-func.js",revision:"83fe51fd070f6504151c3912eda3e45d"},{url:"gdjs-evtsext__extendedvariables__modifyglobalvariablestring-func.js",revision:"a31f2a7d6c159521fb550a76ec43c6c1"},{url:"gdjs-evtsext__extendedvariables__modifyscenevariable-func.js",revision:"3a7a44a78e13e74bbcd7646cdba94485"},{url:"gdjs-evtsext__extendedvariables__modifyscenevariablestring-func.js",revision:"4b6a785813c8922acc40da1862e3e541"},{url:"gdjs-evtsext__extendedvariables__objectvariableexist-func.js",revision:"acf663a4f9abad106d2a851a8f5406bc"},{url:"gdjs-evtsext__extendedvariables__scenevariableexist-func.js",revision:"aef4c4e917f6fc5e6823c84b9b4f5650"},{url:"gdjs-evtsext__firebullet__firebullet.js",revision:"aa74d10580a352e79fa9be7cc99e14fb"},{url:"gdjs-evtsext__flashtransitionpainter__flashtransitionpainter.js",revision:"69758a203260247e13aa7c2418b6f2fc"},{url:"gdjs-evtsext__fps__fps-func.js",revision:"a849aab21406512c577397b521f46783"},{url:"gdjs-evtsext__fps__onsceneloaded-func.js",revision:"f49742fff51ccfd0c1e2427e28fae1a7"},{url:"gdjs-evtsext__fps__onscenepostevents-func.js",revision:"c5f2f81e5776dfa6972021d9806ea8ac"},{url:"gdjs-evtsext__gamepads__c_axis_pushed-func.js",revision:"03d421010da86b95857a0b4436f7591f"},{url:"gdjs-evtsext__gamepads__c_button_pressed-func.js",revision:"65278daef2914e6877d9a2f6938e195c"},{url:"gdjs-evtsext__gamepads__c_button_released-func.js",revision:"848faf98de55bd2cc6238071f80b0429"},{url:"gdjs-evtsext__gamepads__c_controller_x_is_connected-func.js",revision:"ab8d19eb4ceb667f5683f76b8519f7a8"},{url:"gdjs-evtsext__gamepads__onfirstsceneloaded-func.js",revision:"c8aa9bfe3015a41a1557260fd0f8162a"},{url:"gdjs-evtsext__gamepads__onscenepostevents-func.js",revision:"9326b930e197c29184e42a2dd2c4be04"},{url:"gdjs-evtsext__gamepads__stickangle-func.js",revision:"e17030fa709f2371171c72c0a56b2a48"},{url:"gdjs-evtsext__gamepads__stickforce-func.js",revision:"f1058bfb7cac37d0e04f8737ee6203cd"},{url:"gdjs-evtsext__gamepads__stickrotationvalue-func.js",revision:"28e7ce849e5f269afb401f77131a0a91"},{url:"gdjs-evtsext__isonscreen__inonscreen.js",revision:"45afc1d4c690e9655711bf1e8692046d"},{url:"gdjs-evtsext__panelspritebutton__buttonfsm.js",revision:"80b13d838455dc6db650b9850b1b6ff6"},{url:"gdjs-evtsext__panelspritebutton__panelspritebutton.js",revision:"4f6825cbbf96b928cb25e696928948dd"},{url:"gdjs-evtsext__panelspritecontinuousbar__panelspritecontinuousbar.js",revision:"171b71a1d515d68f05fb740e48cbf9b9"},{url:"gdjs-evtsext__panelspritecontinuousbar__resourcebar.js",revision:"1dd226ffcf60ebc1e429bccd7056f2cc"},{url:"gdjs-evtsext__panelspriteslider__buttonfsm.js",revision:"5edaec8c22a8230ac231c58299a3a3c4"},{url:"gdjs-evtsext__panelspriteslider__panelspriteslider.js",revision:"6135514399e5c9f073e257ef61e4537c"},{url:"gdjs-evtsext__panelspriteslider__slider.js",revision:"42a08db3374846a5903a704b1d18c189"},{url:"gdjs-evtsext__roommanager__getx-func.js",revision:"0d8d1b1cfea9fa0266b678144c6f425f"},{url:"gdjs-evtsext__roommanager__gety-func.js",revision:"d45ebe93ea08a4f565f0daf746c7a316"},{url:"gdjs-evtsext__roommanager__gotoroom-func.js",revision:"69d514dac53468d264f875e6e09116e1"},{url:"gdjs-evtsext__roommanager__onfirstsceneloaded-func.js",revision:"b097aec5d83717227809287a52cba1e0"},{url:"gdjs-evtsext__roommanager__registerroom-func.js",revision:"729c76e843a95b47c1d884a4e82684cb"},{url:"gdjs-evtsext__roommanager__roomnumbers-func.js",revision:"a2f975088bd5095cfb5b6e618c01ef3e"},{url:"gdjs-evtsext__shakeobject__shakeobject_positionangle.js",revision:"943c88447da8cb68975cfb257d0ab020"},{url:"gdjs-evtsext__spritemasking__mask-func.js",revision:"3c137fd48d06bb2ddd95155f01a9045d"},{url:"gdjs-evtsext__stayonscreen__stayonscreen.js",revision:"e6e7f5d57f4737d5ccdd63ab8312ae03"},{url:"gdjs-evtsext__sticker__definehelperclasses-func.js",revision:"9ee1428b43c54ed226017832e2377092"},{url:"gdjs-evtsext__sticker__sticker.js",revision:"9a3d6053a0be884273b45b95ffd6b288"},{url:"gdjs-evtsext__timeformatter__secondstohhmmss-func.js",revision:"a26a53f1d5d07b53d65911ff6df31af3"},{url:"gdjs-evtsext__toggleswitch__toggleswitch.js",revision:"62a80e8959accdc1cb4a0a9127b2fb88"},{url:"grass_1.png",revision:"7d0c055007175040836bd881e8e6888e"},{url:"green_checked.png",revision:"352880b51dd6963fd98bf602e1538f5e"},{url:"grenade.png",revision:"aaae7f6e135232cde3fe0c626ebe59cd"},{url:"grenadeFlash.png",revision:"d60fbd2e5c8751fcc1394707987c5757"},{url:"grenadeSmoke.png",revision:"18ad6d301055de83f2cfe293d4404065"},{url:"grenadeVintage.png",revision:"b604b5d04387185143d3be8b9c7a21b8"},{url:"ground_1.png",revision:"93738ef27d00af33b3f16d02474031c7"},{url:"hand_1.png",revision:"155b059c0f734507d3c729d77ccbf62b"},{url:"hand_10.png",revision:"1fa23818992671e72cdeba31f273c9c6"},{url:"hand_2.png",revision:"72aa0a67b324867ffaca024efd549b60"},{url:"hand_3.png",revision:"37faa010991541249bda22e4367b6a03"},{url:"hand_4.png",revision:"18707d0bd9ed16c1e0e1b6519d5e9165"},{url:"hand_5.png",revision:"d732ed48af0ae10040dc74f023b1dfe8"},{url:"hand_6.png",revision:"b1d5b0fb02095d686e7764fa45c4f69e"},{url:"hand_7.png",revision:"41ba2b2f8f8503a75596b69b27ab872b"},{url:"hand_8.png",revision:"3e18a7d0d13d6b07bb3cc1ac5efebb01"},{url:"hand_9.png",revision:"0bf4d2236436cc4946071e6ad6bd3370"},{url:"hoop.png",revision:"c11649f5c255aca90e07c345f72262f4"},{url:"howler-sound-manager/howler-sound-manager.js",revision:"54a55ec20ebb479e409745a3df487446"},{url:"howler-sound-manager/howler.min.js",revision:"3c931f9502f49e1d42314449584fea41"},{url:"index.html",revision:"8af24575a22bc035ed4c735067d9270e"},{url:"inputmanager.js",revision:"2ddfc3e3cfe4db1f0b1ec6d30c0a0c67"},{url:"jsonmanager.js",revision:"5b23e1e23f6ce075318a6307dc8ef71f"},{url:"knife_sharp.png",revision:"380143c0b0d3250ca65f57344e76e4e6"},{url:"knifeRound_sharp.png",revision:"fa5bb10bd91618ae3335e0072be0f1ed"},{url:"knifeRound_smooth.png",revision:"c9c21b7c22e96e97ab675c47948623da"},{url:"layer.js",revision:"3dd31335c0513a59d718ff288dcbb928"},{url:"leg_1.png",revision:"1f9ce667400b8ebcd87c4db76bc11865"},{url:"leg_2.png",revision:"d8dc7a64ffb841f33ad859736bb40783"},{url:"leg_3.png",revision:"2bdef176b98a3455a109f2bad4279c8c"},{url:"leg_4.png",revision:"4e857b0aaff60fe4b1ffcc8b0100d019"},{url:"leg_5.png",revision:"74d7fc4afb281d86a79680a5bdc1546e"},{url:"leg_6.png",revision:"f4bc38e28e547b1921ce4b007cc063b6"},{url:"leg_7.png",revision:"614049493099b1f895b7647b2f71254c"},{url:"leg_8.png",revision:"f13b0bfdb85c66251e4b86ab55477627"},{url:"libs/jshashtable.js",revision:"0afb288103dbb2cf764b14ac39679ae2"},{url:"libs/rbush.js",revision:"596b5bdb6b81890c028e0e986d892d52"},{url:"LICENSE.GDevelop.txt",revision:"86eb564f1ae43340846b59be1539ce58"},{url:"logger.js",revision:"c9e403581baa653c10e1fe57d5c4c10c"},{url:"machinegun.png",revision:"e58425d89d0fc44d81dc3653b7f52141"},{url:"machinegunLauncher.png",revision:"16dacf7b3b12f18383fad7f2cc9e4153"},{url:"manifest.webmanifest",revision:"fa99d07d1a2d9e08914f5277fed9b3c4"},{url:"map_edge_1.png",revision:"c274ff1113f611271347a0751d87a54b"},{url:"map_edge_10.png",revision:"427d6868912afb7a7d321d8674d81e42"},{url:"map_edge_12.png",revision:"28191cc20f09a039fc6be8bc6e51a326"},{url:"map_edge_14.png",revision:"fa884f4430bad366f80b5e8feea4478b"},{url:"map_edge_2.png",revision:"3c6d1f0c6c0787e4ba32700ebb83d279"},{url:"map_edge_4.png",revision:"823b0699474e15c183689752bdf7298f"},{url:"map_edge_5.png",revision:"2da47abdbcd09a383f5fb13e9d038830"},{url:"map_edge_7.png",revision:"bf31a16baa6bc92488ec2d12d12e8ad4"},{url:"map_edge_9.png",revision:"754541b01ba54de1c96889ec7f18edb7"},{url:"Model3DManager.js",revision:"0787f0b5cb6fd6748f89dc495bfe54e1"},{url:"object-capabilities/AnimatableBehavior.js",revision:"a57e427ad000f5fba2129d3d6494dbfa"},{url:"object-capabilities/EffectBehavior.js",revision:"819530e25507500ce3134110dac740ac"},{url:"object-capabilities/FlippableBehavior.js",revision:"42390fb42b715ddeed631551b0aecb41"},{url:"object-capabilities/OpacityBehavior.js",revision:"c68994f81b521c10fcfe1eed65253c4c"},{url:"object-capabilities/ResizableBehavior.js",revision:"01e40f67cedab74d60903906d842c8b5"},{url:"object-capabilities/ScalableBehavior.js",revision:"becef261a208d403da5f4a265688349a"},{url:"object-capabilities/TextContainerBehavior.js",revision:"bd9367d2e2dd021486274835df506685"},{url:"oncetriggers.js",revision:"19ef2c3b2c94fb4ea21412e06ee4b13b"},{url:"pistol.png",revision:"d9c7b2cc820abc3d5f8cc9cab944a241"},{url:"pistolSilencer.png",revision:"39d1ac673e980899c6e98293d511879f"},{url:"pixi-renderers/CustomRuntimeObject2DPixiRenderer.js",revision:"05b133d83d53d33344ed5895518aa90b"},{url:"pixi-renderers/DebuggerPixiRenderer.js",revision:"f8415bd14759f9f616d744e63fed8d40"},{url:"pixi-renderers/layer-pixi-renderer.js",revision:"9e37919ace1bee73824a785358f8c76a"},{url:"pixi-renderers/loadingscreen-pixi-renderer.js",revision:"60cb2e77e5b7994f03a89e5f8dcbe16a"},{url:"pixi-renderers/pixi-bitmapfont-manager.js",revision:"863242a42784d1b9a48b6eed88fd2eac"},{url:"pixi-renderers/pixi-effects-manager.js",revision:"95477cc886a0b6ea0fa410c86e4d43f1"},{url:"pixi-renderers/pixi-filters-tools.js",revision:"7a9e45f86916fee2f47d0d92db12733c"},{url:"pixi-renderers/pixi-image-manager.js",revision:"91164577ceebdc4f36391d01fde00094"},{url:"pixi-renderers/pixi.js",revision:"fc3b9db08527ef4261ac9593b2fd30cb"},{url:"pixi-renderers/runtimegame-pixi-renderer.js",revision:"5031da82e72b366ed08ef06c7be00ad0"},{url:"pixi-renderers/runtimescene-pixi-renderer.js",revision:"124924c8f22b52438e67b2347537e67c"},{url:"pixi-renderers/spriteruntimeobject-pixi-renderer.js",revision:"74b2b7d422fe34c6e6fe547f54da5dd8"},{url:"polygon.js",revision:"ce89116f406491ae42e827d9edea8faa"},{url:"profiler.js",revision:"c6921835123297e79d0d67695670e4fe"},{url:"props_1.png",revision:"0875412fd60e46d792c068d0b23f3bc6"},{url:"props_10.png",revision:"b5d6f12f1470c27f900a92dbdee96b15"},{url:"props_11.png",revision:"7a249a37c8f9ff4b02dbf28b3512dd07"},{url:"props_2.png",revision:"428c49ac820f976e33e631c596326765"},{url:"props_3.png",revision:"2302e7217e87fe23b3a9b96d6ecbc57a"},{url:"props_4.png",revision:"ad05fccf1690572749d6beeaa46d492b"},{url:"props_6.png",revision:"44f730dddf180b5568e45e53c3f9e503"},{url:"props_7.png",revision:"9c04a85e62767bff3361c0c23df40e6c"},{url:"props_8.png",revision:"0f0c10165a14ae66615d906877138bd1"},{url:"props_9.png",revision:"d7e107bf3e2134d5e19544362ff19b71"},{url:"ResourceCache.js",revision:"c50a7d42264b421f02d248ce2f21a92b"},{url:"ResourceLoader.js",revision:"0350c7b77072cea1193f595e7709331d"},{url:"road_10.png",revision:"074dc104375377543d0a555bbe8ba11a"},{url:"road_11.png",revision:"65ea544c7c4de0bde17908c678a7e9c6"},{url:"road_13.png",revision:"06ae76ae1dbbbc49fda6274394d368ab"},{url:"road_14.png",revision:"e929daa5196cb4fc5c51f851dd3b133e"},{url:"road_15.png",revision:"7021af84995cbb174b91a131a1e93e84"},{url:"road_16.png",revision:"e09588f97c13e67425e7fc21ed746d2c"},{url:"road_24.png",revision:"158dea45902308a49fd8e21c86dbe712"},{url:"road_27.png",revision:"91a6b7d02cde17cf96c7a0875ccd96f4"},{url:"road_30.png",revision:"47e42c872b2f81096fef1fb0d00852a0"},{url:"road_31.png",revision:"d5609076cb4c1babb7c077d8c30f5c17"},{url:"road_39.png",revision:"9580b729418d7b490a0fc7206e76f9f8"},{url:"road_43.png",revision:"0f49fa6cf869d98d2238886104a56ea8"},{url:"road_8.png",revision:"578040bc3672605798b758c489004fec"},{url:"rocketlauncher.png",revision:"1738337b285d296ef9af434d00f07f94"},{url:"roof_1.png",revision:"d6cf2950ad71cac731fe329e90bcf8cb"},{url:"roof_2.png",revision:"960e94bb81c861790c55985bac87694a"},{url:"roof_3.png",revision:"a25b45c418acde3d87db3629a4b85b88"},{url:"runtimebehavior.js",revision:"0b13cef65bab8e854dad5f35c4e7318c"},{url:"RuntimeCustomObjectLayer.js",revision:"056ad4f1a14e17c1d9c4b8d1b73237f4"},{url:"runtimegame.js",revision:"275b3ca2b9e1bfb7fa7694a1ad23600d"},{url:"RuntimeInstanceContainer.js",revision:"ade3b55af91d22c8244b18ac28a4ca6c"},{url:"RuntimeLayer.js",revision:"8d9e19a035fe99665abfde71533de7ea"},{url:"runtimeobject.js",revision:"af61f5059816585b6ced2645b7d4a2b1"},{url:"runtimescene.js",revision:"20026d08a9953b91e6668b16fa8aba29"},{url:"runtimewatermark.js",revision:"83148f79326aa4f02d895031c1c0501e"},{url:"sand.png",revision:"1b19af9125d7d3f16b34565edaad8fb2"},{url:"scenestack.js",revision:"4c914b0084e22015593207a0bef9286a"},{url:"shotgun.png",revision:"841a6ac0d465715959771e3d60083c0a"},{url:"shotgunShort.png",revision:"59356a6107452c73d14dc78649bc2428"},{url:"sniper2.png",revision:"50c1ca9d579926bd1681a7ec4f97ac99"},{url:"splash/gd-logo-light.js",revision:"a7e866baa89bd8b386e5f10b48a5479f"},{url:"SpriteAnimator.js",revision:"deae6ca8e4eac17b540faeafba213180"},{url:"spriteruntimeobject.js",revision:"dfb82366e4a85c1e86661a9c17c94a94"},{url:"spritesheet.png",revision:"226d0614728fa6afe74699a509b032d8"},{url:"Square White Slider Border.png",revision:"002da29d5036b2fde3e21816dc339bea"},{url:"Square White Slider Fill Bar.png",revision:"87d23ec0552ecbe7bcad610eb2330d62"},{url:"Square White Slider Thumb.png",revision:"fa1a97cbba0c14542f9e2456e883d63c"},{url:"timemanager.js",revision:"fd639bb0bc58e672cbed6834573744c0"},{url:"timer.js",revision:"3f98253c5d5419bd2a8bb7ecbc383436"},{url:"tree_1.png",revision:"b1ab5a41e0dffe72ebdd9daad64086da"},{url:"tree_2.png",revision:"49f3d9aaae393d9baa054953f23b3383"},{url:"tree_3.png",revision:"986522c607510642e1030651b6b7a6f4"},{url:"tree_4.png",revision:"bdb1d8718f5bf686dafdcc5f0e621bab"},{url:"uzi.png",revision:"603d53c6f9fc54bc7d0da6274338688d"},{url:"uziGold.png",revision:"0f0c8828acb1125d93e6131d08ea3677"},{url:"uziLong.png",revision:"5ee490980eb1b725e694cb1e4f8d7d02"},{url:"uziLong2.png",revision:"46869dbee712089d01720daac654bbde"},{url:"uziLongSilencer.png",revision:"2be9f1cb2eb8e36deb0d6efb1d338eac"},{url:"uziSilencer.png",revision:"a18d516f23c588e8ca71b71e3dde0dec"},{url:"variable.js",revision:"359b2b676fbe261e36fd1881f8bf8e8a"},{url:"variablescontainer.js",revision:"f526e5db195eee3600755eed057d55c3"},{url:"wallpaper_1.png",revision:"117e8b364316c334c0ace85cfc47ce91"},{url:"wallpaper_2.png",revision:"29877bcaf0617e3eaf63e3a87badac3c"},{url:"wallpaper_3.png",revision:"1157f7859414314e4ee876d9f2184d20"},{url:"wallpaper_4.png",revision:"3da406586fd9534c6fffe87d3537a4f5"},{url:"water_1.png",revision:"373d3f1ad9cf9d32689f64208f353bfe"},{url:"White Decorated Button_Hovered.png",revision:"0c6fc5594eaa6d9956bbbec2a334f7d2"},{url:"White Decorated Button_Idle.png",revision:"f9eab7b950f3b43d6d8014526bf40792"},{url:"White Decorated Button_Pressed.png",revision:"81aaadd6ecd28503772c93c6692e9b42"},{url:"wifi_02.png",revision:"189ba283420ace6a26a9a36f5407a572"},{url:"wifi_12.png",revision:"31150ccbc6a8605353cfcc2f930fe323"},{url:"wifi_22.png",revision:"e1f4d382e0d172312af8cc0615727587"},{url:"wifi_32.png",revision:"9878f88be9e900801ab36c7084715766"}],{}),e.registerRoute("*",new e.NetworkFirst,"GET")})); +//# sourceMappingURL=sw.js.map diff --git a/sw.js.map b/sw.js.map new file mode 100644 index 00000000..7089a8ce --- /dev/null +++ b/sw.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sw.js","sources":["../../../../../../../tmp/85b9e2b4a2a188cfa03dcc0cecf1be1e/sw.js"],"sourcesContent":["import {registerRoute as workbox_routing_registerRoute} from '/home/runner/work/GDevelop-Open-Game/GDevelop-Open-Game/Project/build/node_modules/workbox-routing/registerRoute.mjs';\nimport {NetworkFirst as workbox_strategies_NetworkFirst} from '/home/runner/work/GDevelop-Open-Game/GDevelop-Open-Game/Project/build/node_modules/workbox-strategies/NetworkFirst.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/GDevelop-Open-Game/GDevelop-Open-Game/Project/build/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"affinetransformation.js\",\n \"revision\": \"80866b3fb8fd103a79b931ca5744a00e\"\n },\n {\n \"url\": \"ammo_uzi.png\",\n \"revision\": \"3a0b93bb798737441ff5a8f72432fe08\"\n },\n {\n \"url\": \"app_1.png\",\n \"revision\": \"da83b4d0e96eeb0c1b6def52917fe2d5\"\n },\n {\n \"url\": \"app_2.png\",\n \"revision\": \"4888251fe18e819bc937fef93cd438ec\"\n },\n {\n \"url\": \"app_3.png\",\n \"revision\": \"ef25b3a1386ba5f4527d39c82611e490\"\n },\n {\n \"url\": \"AsyncTasksManager.js\",\n \"revision\": \"a99e1a5e738da9f0c995482641582f96\"\n },\n {\n \"url\": \"bar.png\",\n \"revision\": \"00cb3fc08ec1ccb6f0d36d6d94946be0\"\n },\n {\n \"url\": \"basketball_1.png\",\n \"revision\": \"bdb0f132d3fc92c54da6486642fdfebd\"\n },\n {\n \"url\": \"basketball_2.png\",\n \"revision\": \"cb3734d0a5c204a615167ba75196651c\"\n },\n {\n \"url\": \"battery_1.png\",\n \"revision\": \"19b7125f3a348461ecd1003d67f23ead\"\n },\n {\n \"url\": \"battery_2.png\",\n \"revision\": \"7829e109fc56bd92a4329c5f620120e8\"\n },\n {\n \"url\": \"battery_3.png\",\n \"revision\": \"a5ac715664b269c485b072e0cac2efec\"\n },\n {\n \"url\": \"black.png\",\n \"revision\": \"9744af9ef02dd5569f85b40b2a407d9b\"\n },\n {\n \"url\": \"block_1.png\",\n \"revision\": \"a8c389f66b9ad2d0c7987d6bbf39e1de\"\n },\n {\n \"url\": \"block_2.png\",\n \"revision\": \"6842b950bc325a89b9210286883ace92\"\n },\n {\n \"url\": \"body_1.png\",\n \"revision\": \"aa3d7f45c9ca7934e2ce565364119103\"\n },\n {\n \"url\": \"body_2.png\",\n \"revision\": \"5c079f8454036e276c57c113a38ffca2\"\n },\n {\n \"url\": \"body_3.png\",\n \"revision\": \"805f43edf342535cb44aec793c4d2c0d\"\n },\n {\n \"url\": \"body_4.png\",\n \"revision\": \"a9ea7c3c545eccf0f99375aec2aa5adc\"\n },\n {\n \"url\": \"body_5.png\",\n \"revision\": \"5bd248b1652d97c432590b95b7a298c1\"\n },\n {\n \"url\": \"body_6.png\",\n \"revision\": \"6496e3d6f7538d3b5437ea6f336aa46a\"\n },\n {\n \"url\": \"body_7.png\",\n \"revision\": \"84e82757bbcaac313e42c7ea417b5b7d\"\n },\n {\n \"url\": \"body_8.png\",\n \"revision\": \"93786c9d20ae1e34b945c0fb1e16d036\"\n },\n {\n \"url\": \"body_9.png\",\n \"revision\": \"32607a09c45df60064c10501bcfc31ca\"\n },\n {\n \"url\": \"bridge.png\",\n \"revision\": \"16ab4344f0cdda68c41b6d8fa69cf201\"\n },\n {\n \"url\": \"city1.json\",\n \"revision\": \"741b9f3f7cb7e97a4d9047450158a399\"\n },\n {\n \"url\": \"code0.js\",\n \"revision\": \"91b2d8c8dca79ad4615037b5b3938c5a\"\n },\n {\n \"url\": \"code1.js\",\n \"revision\": \"472a2cfb55d57b88b18199e8d1942757\"\n },\n {\n \"url\": \"code2.js\",\n \"revision\": \"5d7700e55eff8af288d90bd48d002982\"\n },\n {\n \"url\": \"code3.js\",\n \"revision\": \"c099893154b6fb4c7f4157d24d73c825\"\n },\n {\n \"url\": \"code4.js\",\n \"revision\": \"71dc0bf2feff728eac0533ec9279b9df\"\n },\n {\n \"url\": \"code5.js\",\n \"revision\": \"60dac14263d8e3bd25b7198cedf4100a\"\n },\n {\n \"url\": \"code6.js\",\n \"revision\": \"fcc3f41cab3a9094ddf70d04f3cdae8c\"\n },\n {\n \"url\": \"concrete.png\",\n \"revision\": \"ea9828d257afeedd01078160c8879679\"\n },\n {\n \"url\": \"crosshair_1.png\",\n \"revision\": \"6cbfbc97f69b7c6398882f9b0f52b105\"\n },\n {\n \"url\": \"CustomRuntimeObject.js\",\n \"revision\": \"c822d742bd045f86439f8d4504b63bf6\"\n },\n {\n \"url\": \"CustomRuntimeObject2D.js\",\n \"revision\": \"c454111e2c1091ba62ba7cb05ffca379\"\n },\n {\n \"url\": \"CustomRuntimeObjectInstanceContainer.js\",\n \"revision\": \"ad84faa7a02355302261c379697fb7df\"\n },\n {\n \"url\": \"data.js\",\n \"revision\": \"f2a4df38b0cd05945afb09e747797acb\"\n },\n {\n \"url\": \"decoration_1.png\",\n \"revision\": \"f85170f409667d0fd3d14963911f1cce\"\n },\n {\n \"url\": \"dirt.png\",\n \"revision\": \"752d782f5e2e7e59309104b2153a1985\"\n },\n {\n \"url\": \"door2.png\",\n \"revision\": \"d2d4950dce479c0c6508ca43721ef674\"\n },\n {\n \"url\": \"element_1.png\",\n \"revision\": \"4aca52c91db6f6aab64eec85d5a6cca5\"\n },\n {\n \"url\": \"events-tools/cameratools.js\",\n \"revision\": \"4162e4dd28deb170207e31eca0122c11\"\n },\n {\n \"url\": \"events-tools/commontools.js\",\n \"revision\": \"24e87bef4de72be86c1c24ec572d601b\"\n },\n {\n \"url\": \"events-tools/inputtools.js\",\n \"revision\": \"758ed89e1a5c88f4ce511afe04e32d3e\"\n },\n {\n \"url\": \"events-tools/networktools.js\",\n \"revision\": \"76fdce782f78c64c8074e9a0d04fe8d5\"\n },\n {\n \"url\": \"events-tools/objecttools.js\",\n \"revision\": \"a996d2fb89139694ecdc3b5c98bc6de5\"\n },\n {\n \"url\": \"events-tools/runtimescenetools.js\",\n \"revision\": \"09b75fe2a90d91f1cf7602f7e308b4a1\"\n },\n {\n \"url\": \"events-tools/soundtools.js\",\n \"revision\": \"1b1410ea64e7f329135c95c190efb920\"\n },\n {\n \"url\": \"events-tools/storagetools.js\",\n \"revision\": \"e221d4afa7687b74501a63bec008c521\"\n },\n {\n \"url\": \"events-tools/stringtools.js\",\n \"revision\": \"8dae10de6b696d760c8dc244e1aa731a\"\n },\n {\n \"url\": \"events-tools/variabletools.js\",\n \"revision\": \"fc440c65685d26b27f77bb148b935e7a\"\n },\n {\n \"url\": \"events-tools/windowtools.js\",\n \"revision\": \"de3260088409d8a0a069e88272ae8faa\"\n },\n {\n \"url\": \"Extensions/3D/HemisphereLight.js\",\n \"revision\": \"4505dbb9c208bfcffabe78ba0184a0d4\"\n },\n {\n \"url\": \"Extensions/AnchorBehavior/anchorruntimebehavior.js\",\n \"revision\": \"457ea01230cda2eb8f1edccdfa92ac99\"\n },\n {\n \"url\": \"Extensions/DebuggerTools/debuggertools.js\",\n \"revision\": \"635e67fd7cd802b1be5c8c9c7ebb4dc6\"\n },\n {\n \"url\": \"Extensions/DestroyOutsideBehavior/destroyoutsideruntimebehavior.js\",\n \"revision\": \"a77ffa9e9b75deffa186b9e8bf2a2bbd\"\n },\n {\n \"url\": \"Extensions/DraggableBehavior/draggableruntimebehavior.js\",\n \"revision\": \"05df26cc4be329907cb460e21cf3d08f\"\n },\n {\n \"url\": \"Extensions/Effects/blending-mode-pixi-filter.js\",\n \"revision\": \"c55e6b9c8c929adb2abe466b0604e68e\"\n },\n {\n \"url\": \"Extensions/Effects/blur-pixi-filter.js\",\n \"revision\": \"2af7d996424e486aeb5a97df99a67ad3\"\n },\n {\n \"url\": \"Extensions/Effects/brightness-pixi-filter.js\",\n \"revision\": \"3b5135e21ede260c759de8e57f2c8df8\"\n },\n {\n \"url\": \"Extensions/Effects/color-replace-pixi-filter.js\",\n \"revision\": \"318db33284713564a2edbadc5a04eb3d\"\n },\n {\n \"url\": \"Extensions/Effects/drop-shadow-pixi-filter.js\",\n \"revision\": \"3b1fc1c12b2cce9b0ecce41eaaca6198\"\n },\n {\n \"url\": \"Extensions/Effects/kawase-blur-pixi-filter.js\",\n \"revision\": \"9998c984e38dfe96d640d01b6001125f\"\n },\n {\n \"url\": \"Extensions/Effects/light-night-pixi-filter.js\",\n \"revision\": \"aa8a40fdaaca4a382b72aec9bd6557f6\"\n },\n {\n \"url\": \"Extensions/Effects/outline-pixi-filter.js\",\n \"revision\": \"aa37fb32b837d961e99828f5fae3a924\"\n },\n {\n \"url\": \"Extensions/Effects/pixi-filters/filter-color-replace.js\",\n \"revision\": \"5252e124eb563bc8bebc153ac144ce81\"\n },\n {\n \"url\": \"Extensions/Effects/pixi-filters/filter-drop-shadow.js\",\n \"revision\": \"722a9e94c94be08007c96a8b9ad6bb7a\"\n },\n {\n \"url\": \"Extensions/Effects/pixi-filters/filter-kawase-blur.js\",\n \"revision\": \"0b619caaa064092b3c24968e1bfae551\"\n },\n {\n \"url\": \"Extensions/Effects/pixi-filters/filter-outline.js\",\n \"revision\": \"b2868972394ee1a8a969e5ae3fda4180\"\n },\n {\n \"url\": \"Extensions/Effects/pixi-filters/filter-reflection.js\",\n \"revision\": \"f989faa0a5d889800cfc7b6b8c1d4d3a\"\n },\n {\n \"url\": \"Extensions/Effects/reflection-pixi-filter.js\",\n \"revision\": \"033a7807177eb7b58b775f7e5de9ead8\"\n },\n {\n \"url\": \"Extensions/Effects/sepia-pixi-filter.js\",\n \"revision\": \"c81245681fa58dd48de478d055dcce58\"\n },\n {\n \"url\": \"Extensions/P2P/A_peer.js\",\n \"revision\": \"65420eed1cd8fe9c7fe043f57a2ad9ac\"\n },\n {\n \"url\": \"Extensions/P2P/B_p2ptools.js\",\n \"revision\": \"e6b66176b283d8c48a94a9205b39602c\"\n },\n {\n \"url\": \"Extensions/PanelSpriteObject/panelspriteruntimeobject-pixi-renderer.js\",\n \"revision\": \"4b9d85eb81d43c0f047218c9b7c793b7\"\n },\n {\n \"url\": \"Extensions/PanelSpriteObject/panelspriteruntimeobject.js\",\n \"revision\": \"30b7cec942ace68603f8fe9a804205d9\"\n },\n {\n \"url\": \"Extensions/ParticleSystem/particleemitterobject-pixi-renderer.js\",\n \"revision\": \"c4d4a67e7019ba8b700476665936df81\"\n },\n {\n \"url\": \"Extensions/ParticleSystem/particleemitterobject.js\",\n \"revision\": \"313b04dd33505e121e7253c7b95b0a55\"\n },\n {\n \"url\": \"Extensions/ParticleSystem/pixi-particles-pixi-renderer.min.js\",\n \"revision\": \"ce3dc5f9e29aeadb3d3cc6e4f6509b92\"\n },\n {\n \"url\": \"Extensions/PrimitiveDrawing/pixi-graphics-extras/graphics-extras.min.js\",\n \"revision\": \"ca907e3c4093a09204c80cb816755226\"\n },\n {\n \"url\": \"Extensions/PrimitiveDrawing/shapepainterruntimeobject-pixi-renderer.js\",\n \"revision\": \"416e6945495503ce5fca665ff262109a\"\n },\n {\n \"url\": \"Extensions/PrimitiveDrawing/shapepainterruntimeobject.js\",\n \"revision\": \"2b2ec0556222be87998bb193e91ef1c5\"\n },\n {\n \"url\": \"Extensions/SystemInfo/systeminfotools.js\",\n \"revision\": \"4ffc124c1e3afd6df003f37b2a28b351\"\n },\n {\n \"url\": \"Extensions/TextObject/textruntimeobject-pixi-renderer.js\",\n \"revision\": \"5daa09c66e7daaf016ca4501a0033e14\"\n },\n {\n \"url\": \"Extensions/TextObject/textruntimeobject.js\",\n \"revision\": \"db577336aa88b92c966ff0cd4c6cfe26\"\n },\n {\n \"url\": \"Extensions/TiledSpriteObject/tiledspriteruntimeobject-pixi-renderer.js\",\n \"revision\": \"63b2ef182ccf5783d6f1c3b65c1e5f24\"\n },\n {\n \"url\": \"Extensions/TiledSpriteObject/tiledspriteruntimeobject.js\",\n \"revision\": \"1f1afaa55bec77bbddee3dcc5344bb31\"\n },\n {\n \"url\": \"Extensions/TileMap/helper/TileMapHelper.js\",\n \"revision\": \"4ec5b16c3175fb84198c894bc975586b\"\n },\n {\n \"url\": \"Extensions/TileMap/pako/dist/pako.min.js\",\n \"revision\": \"c5f13d6f68191d784316f644b4e1ae2c\"\n },\n {\n \"url\": \"Extensions/TileMap/pixi-tilemap/dist/pixi-tilemap.umd.js\",\n \"revision\": \"2d2ab7fb9c70d2625756fdb887b2d649\"\n },\n {\n \"url\": \"Extensions/TileMap/TileMapRuntimeManager.js\",\n \"revision\": \"4c21e6f6907a0942dbe5b3313d349b3a\"\n },\n {\n \"url\": \"Extensions/TileMap/tilemapruntimeobject-pixi-renderer.js\",\n \"revision\": \"f22d99ade9e8b2e73b9b487b964f8c59\"\n },\n {\n \"url\": \"Extensions/TileMap/tilemapruntimeobject.js\",\n \"revision\": \"a3201fbdf90b7d5bd4e70f260a25e798\"\n },\n {\n \"url\": \"Extensions/TopDownMovementBehavior/topdownmovementruntimebehavior.js\",\n \"revision\": \"45cb071a72055b3e1ec05eba454104e4\"\n },\n {\n \"url\": \"Extensions/TweenBehavior/TweenManager.js\",\n \"revision\": \"0bd978c6dc0eeefd27b2ea156be27eb4\"\n },\n {\n \"url\": \"Extensions/TweenBehavior/tweenruntimebehavior.js\",\n \"revision\": \"8a856c3376e6c6dda3044471f13ae38a\"\n },\n {\n \"url\": \"Extensions/TweenBehavior/tweentools.js\",\n \"revision\": \"8b870b31f514215181d4cceca857c1c3\"\n },\n {\n \"url\": \"fence_1.png\",\n \"revision\": \"2141187959a493c10650ee9af131bad1\"\n },\n {\n \"url\": \"fence_2.png\",\n \"revision\": \"d7bc55a2db90c2e4d2b886204e6ae5c7\"\n },\n {\n \"url\": \"fence_3.png\",\n \"revision\": \"676d329abbc13d1d19e35f9c3fd05927\"\n },\n {\n \"url\": \"fence_4.png\",\n \"revision\": \"2d784080d9521f9f79a4aa244ab825c9\"\n },\n {\n \"url\": \"fence_5.png\",\n \"revision\": \"dd368cef36e7d2154106546fff9b8773\"\n },\n {\n \"url\": \"fence_6.png\",\n \"revision\": \"8367773f5058c3ded5dc2cf89fc1b347\"\n },\n {\n \"url\": \"fence_7.png\",\n \"revision\": \"664cb94fd9af3ade84ba7721528e34d1\"\n },\n {\n \"url\": \"fence_8.png\",\n \"revision\": \"dd57b4d1de847de4f9c41df11e05513b\"\n },\n {\n \"url\": \"flamethrower_long.png\",\n \"revision\": \"703400b63323f4191216809c0a1c150d\"\n },\n {\n \"url\": \"flamethrower_short.png\",\n \"revision\": \"6a729eeab6abe50bac9c5a75fd213abe\"\n },\n {\n \"url\": \"Flat Bar Red Fill Bar.png\",\n \"revision\": \"5052c458f5e8b954f95ddc4cd7b29cf7\"\n },\n {\n \"url\": \"Flat Bar White Border.png\",\n \"revision\": \"d2787e5cd439f4c91e7a35c77c6251a8\"\n },\n {\n \"url\": \"fontfaceobserver-font-manager/fontfaceobserver-font-manager.js\",\n \"revision\": \"3149d4d345ff32ab1608fcd083bdf0ff\"\n },\n {\n \"url\": \"fontfaceobserver-font-manager/fontfaceobserver.js\",\n \"revision\": \"9c6e7cff7cd332f949d48877058f544d\"\n },\n {\n \"url\": \"force.js\",\n \"revision\": \"c3c024ba0aa4194f95db42687a846305\"\n },\n {\n \"url\": \"frame_1.png\",\n \"revision\": \"e0d0d0a098f44f1b4f3ff591f4b704fd\"\n },\n {\n \"url\": \"frame_2.png\",\n \"revision\": \"9aec49a422941821b83da5eb21f1e67f\"\n },\n {\n \"url\": \"gd.js\",\n \"revision\": \"7666d690f5eb82ccaf0041ae917e8029\"\n },\n {\n \"url\": \"gdjs-evtsext__alignobject__toscenecenter-func.js\",\n \"revision\": \"177451560ccf7bad6d22d623fed74300\"\n },\n {\n \"url\": \"gdjs-evtsext__alignobject__toscenecentered-func.js\",\n \"revision\": \"637561f72bd02d49589603c704bdab4b\"\n },\n {\n \"url\": \"gdjs-evtsext__bounce__bounce.js\",\n \"revision\": \"95a531d991bfda86567c0054deabe814\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__isshaking-func.js\",\n \"revision\": \"4ba2653e73eafaf3b4210e7dc29b59b9\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__noise2d-func.js\",\n \"revision\": \"c07c23c35e82e06709edb00714bceb0c\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__onfirstsceneloaded-func.js\",\n \"revision\": \"d8d8f5ecd7633c3b6f99bd081fb6bd37\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__onsceneloaded-func.js\",\n \"revision\": \"1ac85e40d715c114b3c3b78112563408\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__onscenepostevents-func.js\",\n \"revision\": \"227723425261b318fd67d560fe957874\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__onscenepreevents-func.js\",\n \"revision\": \"cfbbf86c0c7eb5c5513d3e01091d6b19\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__setdefaultrotationamplitude-func.js\",\n \"revision\": \"12b12973cdd6a5ac8cac4e283e2f9db0\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__setdefaultshakingfrequency-func.js\",\n \"revision\": \"ff6bdbc3cc753602f27a8f5eee472514\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__setdefaulttranslationamplitude-func.js\",\n \"revision\": \"68ca94730d8d94f4d444cf91fc58a553\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__setdefaultzoomamplitude-func.js\",\n \"revision\": \"f8503ec5faf31cd5573258431a283e91\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__setfrequency-func.js\",\n \"revision\": \"11b4bb93e66bfccfec92b844d067b617\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__setlayershakable-func.js\",\n \"revision\": \"b9c47c2cb6af4ca3ba72222ae272480e\"\n },\n {\n \"url\": \"gdjs-evtsext__camerashake__shakecamera-func.js\",\n \"revision\": \"fb6862ae3e3e198748bc8d474d77bab8\"\n },\n {\n \"url\": \"gdjs-evtsext__ellipsemovement__ellipsemovement.js\",\n \"revision\": \"1322f46b09ce22ec9d8966a859c73ffe\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__copyallobjectvariables-func.js\",\n \"revision\": \"9691335932c9b2bbc236a91d9acca8ab\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__copyobjectvariable-func.js\",\n \"revision\": \"68c919a7c99abfb006a35b93e93071bf\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__deleteglobalvariable-func.js\",\n \"revision\": \"96e54698084bdc0a2932ff447029e871\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__deletescenevariable-func.js\",\n \"revision\": \"5965c0ac0423277c197c0266d8908768\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__globalvariableexist-func.js\",\n \"revision\": \"8f93a40cced3590ade71cd562007b0af\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__modifyglobalvariable-func.js\",\n \"revision\": \"83fe51fd070f6504151c3912eda3e45d\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__modifyglobalvariablestring-func.js\",\n \"revision\": \"a31f2a7d6c159521fb550a76ec43c6c1\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__modifyscenevariable-func.js\",\n \"revision\": \"3a7a44a78e13e74bbcd7646cdba94485\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__modifyscenevariablestring-func.js\",\n \"revision\": \"4b6a785813c8922acc40da1862e3e541\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__objectvariableexist-func.js\",\n \"revision\": \"acf663a4f9abad106d2a851a8f5406bc\"\n },\n {\n \"url\": \"gdjs-evtsext__extendedvariables__scenevariableexist-func.js\",\n \"revision\": \"aef4c4e917f6fc5e6823c84b9b4f5650\"\n },\n {\n \"url\": \"gdjs-evtsext__firebullet__firebullet.js\",\n \"revision\": \"aa74d10580a352e79fa9be7cc99e14fb\"\n },\n {\n \"url\": \"gdjs-evtsext__flashtransitionpainter__flashtransitionpainter.js\",\n \"revision\": \"69758a203260247e13aa7c2418b6f2fc\"\n },\n {\n \"url\": \"gdjs-evtsext__fps__fps-func.js\",\n \"revision\": \"a849aab21406512c577397b521f46783\"\n },\n {\n \"url\": \"gdjs-evtsext__fps__onsceneloaded-func.js\",\n \"revision\": \"f49742fff51ccfd0c1e2427e28fae1a7\"\n },\n {\n \"url\": \"gdjs-evtsext__fps__onscenepostevents-func.js\",\n \"revision\": \"c5f2f81e5776dfa6972021d9806ea8ac\"\n },\n {\n \"url\": \"gdjs-evtsext__gamepads__c_axis_pushed-func.js\",\n \"revision\": \"03d421010da86b95857a0b4436f7591f\"\n },\n {\n \"url\": \"gdjs-evtsext__gamepads__c_button_pressed-func.js\",\n \"revision\": \"65278daef2914e6877d9a2f6938e195c\"\n },\n {\n \"url\": \"gdjs-evtsext__gamepads__c_button_released-func.js\",\n \"revision\": \"848faf98de55bd2cc6238071f80b0429\"\n },\n {\n \"url\": \"gdjs-evtsext__gamepads__c_controller_x_is_connected-func.js\",\n \"revision\": \"ab8d19eb4ceb667f5683f76b8519f7a8\"\n },\n {\n \"url\": \"gdjs-evtsext__gamepads__onfirstsceneloaded-func.js\",\n \"revision\": \"c8aa9bfe3015a41a1557260fd0f8162a\"\n },\n {\n \"url\": \"gdjs-evtsext__gamepads__onscenepostevents-func.js\",\n \"revision\": \"9326b930e197c29184e42a2dd2c4be04\"\n },\n {\n \"url\": \"gdjs-evtsext__gamepads__stickangle-func.js\",\n \"revision\": \"e17030fa709f2371171c72c0a56b2a48\"\n },\n {\n \"url\": \"gdjs-evtsext__gamepads__stickforce-func.js\",\n \"revision\": \"f1058bfb7cac37d0e04f8737ee6203cd\"\n },\n {\n \"url\": \"gdjs-evtsext__gamepads__stickrotationvalue-func.js\",\n \"revision\": \"28e7ce849e5f269afb401f77131a0a91\"\n },\n {\n \"url\": \"gdjs-evtsext__isonscreen__inonscreen.js\",\n \"revision\": \"45afc1d4c690e9655711bf1e8692046d\"\n },\n {\n \"url\": \"gdjs-evtsext__panelspritebutton__buttonfsm.js\",\n \"revision\": \"80b13d838455dc6db650b9850b1b6ff6\"\n },\n {\n \"url\": \"gdjs-evtsext__panelspritebutton__panelspritebutton.js\",\n \"revision\": \"4f6825cbbf96b928cb25e696928948dd\"\n },\n {\n \"url\": \"gdjs-evtsext__panelspritecontinuousbar__panelspritecontinuousbar.js\",\n \"revision\": \"171b71a1d515d68f05fb740e48cbf9b9\"\n },\n {\n \"url\": \"gdjs-evtsext__panelspritecontinuousbar__resourcebar.js\",\n \"revision\": \"1dd226ffcf60ebc1e429bccd7056f2cc\"\n },\n {\n \"url\": \"gdjs-evtsext__panelspriteslider__buttonfsm.js\",\n \"revision\": \"5edaec8c22a8230ac231c58299a3a3c4\"\n },\n {\n \"url\": \"gdjs-evtsext__panelspriteslider__panelspriteslider.js\",\n \"revision\": \"6135514399e5c9f073e257ef61e4537c\"\n },\n {\n \"url\": \"gdjs-evtsext__panelspriteslider__slider.js\",\n \"revision\": \"42a08db3374846a5903a704b1d18c189\"\n },\n {\n \"url\": \"gdjs-evtsext__roommanager__getx-func.js\",\n \"revision\": \"0d8d1b1cfea9fa0266b678144c6f425f\"\n },\n {\n \"url\": \"gdjs-evtsext__roommanager__gety-func.js\",\n \"revision\": \"d45ebe93ea08a4f565f0daf746c7a316\"\n },\n {\n \"url\": \"gdjs-evtsext__roommanager__gotoroom-func.js\",\n \"revision\": \"69d514dac53468d264f875e6e09116e1\"\n },\n {\n \"url\": \"gdjs-evtsext__roommanager__onfirstsceneloaded-func.js\",\n \"revision\": \"b097aec5d83717227809287a52cba1e0\"\n },\n {\n \"url\": \"gdjs-evtsext__roommanager__registerroom-func.js\",\n \"revision\": \"729c76e843a95b47c1d884a4e82684cb\"\n },\n {\n \"url\": \"gdjs-evtsext__roommanager__roomnumbers-func.js\",\n \"revision\": \"a2f975088bd5095cfb5b6e618c01ef3e\"\n },\n {\n \"url\": \"gdjs-evtsext__shakeobject__shakeobject_positionangle.js\",\n \"revision\": \"943c88447da8cb68975cfb257d0ab020\"\n },\n {\n \"url\": \"gdjs-evtsext__spritemasking__mask-func.js\",\n \"revision\": \"3c137fd48d06bb2ddd95155f01a9045d\"\n },\n {\n \"url\": \"gdjs-evtsext__stayonscreen__stayonscreen.js\",\n \"revision\": \"e6e7f5d57f4737d5ccdd63ab8312ae03\"\n },\n {\n \"url\": \"gdjs-evtsext__sticker__definehelperclasses-func.js\",\n \"revision\": \"9ee1428b43c54ed226017832e2377092\"\n },\n {\n \"url\": \"gdjs-evtsext__sticker__sticker.js\",\n \"revision\": \"9a3d6053a0be884273b45b95ffd6b288\"\n },\n {\n \"url\": \"gdjs-evtsext__timeformatter__secondstohhmmss-func.js\",\n \"revision\": \"a26a53f1d5d07b53d65911ff6df31af3\"\n },\n {\n \"url\": \"gdjs-evtsext__toggleswitch__toggleswitch.js\",\n \"revision\": \"62a80e8959accdc1cb4a0a9127b2fb88\"\n },\n {\n \"url\": \"grass_1.png\",\n \"revision\": \"7d0c055007175040836bd881e8e6888e\"\n },\n {\n \"url\": \"green_checked.png\",\n \"revision\": \"352880b51dd6963fd98bf602e1538f5e\"\n },\n {\n \"url\": \"grenade.png\",\n \"revision\": \"aaae7f6e135232cde3fe0c626ebe59cd\"\n },\n {\n \"url\": \"grenadeFlash.png\",\n \"revision\": \"d60fbd2e5c8751fcc1394707987c5757\"\n },\n {\n \"url\": \"grenadeSmoke.png\",\n \"revision\": \"18ad6d301055de83f2cfe293d4404065\"\n },\n {\n \"url\": \"grenadeVintage.png\",\n \"revision\": \"b604b5d04387185143d3be8b9c7a21b8\"\n },\n {\n \"url\": \"ground_1.png\",\n \"revision\": \"93738ef27d00af33b3f16d02474031c7\"\n },\n {\n \"url\": \"hand_1.png\",\n \"revision\": \"155b059c0f734507d3c729d77ccbf62b\"\n },\n {\n \"url\": \"hand_10.png\",\n \"revision\": \"1fa23818992671e72cdeba31f273c9c6\"\n },\n {\n \"url\": \"hand_2.png\",\n \"revision\": \"72aa0a67b324867ffaca024efd549b60\"\n },\n {\n \"url\": \"hand_3.png\",\n \"revision\": \"37faa010991541249bda22e4367b6a03\"\n },\n {\n \"url\": \"hand_4.png\",\n \"revision\": \"18707d0bd9ed16c1e0e1b6519d5e9165\"\n },\n {\n \"url\": \"hand_5.png\",\n \"revision\": \"d732ed48af0ae10040dc74f023b1dfe8\"\n },\n {\n \"url\": \"hand_6.png\",\n \"revision\": \"b1d5b0fb02095d686e7764fa45c4f69e\"\n },\n {\n \"url\": \"hand_7.png\",\n \"revision\": \"41ba2b2f8f8503a75596b69b27ab872b\"\n },\n {\n \"url\": \"hand_8.png\",\n \"revision\": \"3e18a7d0d13d6b07bb3cc1ac5efebb01\"\n },\n {\n \"url\": \"hand_9.png\",\n \"revision\": \"0bf4d2236436cc4946071e6ad6bd3370\"\n },\n {\n \"url\": \"hoop.png\",\n \"revision\": \"c11649f5c255aca90e07c345f72262f4\"\n },\n {\n \"url\": \"howler-sound-manager/howler-sound-manager.js\",\n \"revision\": \"54a55ec20ebb479e409745a3df487446\"\n },\n {\n \"url\": \"howler-sound-manager/howler.min.js\",\n \"revision\": \"3c931f9502f49e1d42314449584fea41\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"8af24575a22bc035ed4c735067d9270e\"\n },\n {\n \"url\": \"inputmanager.js\",\n \"revision\": \"2ddfc3e3cfe4db1f0b1ec6d30c0a0c67\"\n },\n {\n \"url\": \"jsonmanager.js\",\n \"revision\": \"5b23e1e23f6ce075318a6307dc8ef71f\"\n },\n {\n \"url\": \"knife_sharp.png\",\n \"revision\": \"380143c0b0d3250ca65f57344e76e4e6\"\n },\n {\n \"url\": \"knifeRound_sharp.png\",\n \"revision\": \"fa5bb10bd91618ae3335e0072be0f1ed\"\n },\n {\n \"url\": \"knifeRound_smooth.png\",\n \"revision\": \"c9c21b7c22e96e97ab675c47948623da\"\n },\n {\n \"url\": \"layer.js\",\n \"revision\": \"3dd31335c0513a59d718ff288dcbb928\"\n },\n {\n \"url\": \"leg_1.png\",\n \"revision\": \"1f9ce667400b8ebcd87c4db76bc11865\"\n },\n {\n \"url\": \"leg_2.png\",\n \"revision\": \"d8dc7a64ffb841f33ad859736bb40783\"\n },\n {\n \"url\": \"leg_3.png\",\n \"revision\": \"2bdef176b98a3455a109f2bad4279c8c\"\n },\n {\n \"url\": \"leg_4.png\",\n \"revision\": \"4e857b0aaff60fe4b1ffcc8b0100d019\"\n },\n {\n \"url\": \"leg_5.png\",\n \"revision\": \"74d7fc4afb281d86a79680a5bdc1546e\"\n },\n {\n \"url\": \"leg_6.png\",\n \"revision\": \"f4bc38e28e547b1921ce4b007cc063b6\"\n },\n {\n \"url\": \"leg_7.png\",\n \"revision\": \"614049493099b1f895b7647b2f71254c\"\n },\n {\n \"url\": \"leg_8.png\",\n \"revision\": \"f13b0bfdb85c66251e4b86ab55477627\"\n },\n {\n \"url\": \"libs/jshashtable.js\",\n \"revision\": \"0afb288103dbb2cf764b14ac39679ae2\"\n },\n {\n \"url\": \"libs/rbush.js\",\n \"revision\": \"596b5bdb6b81890c028e0e986d892d52\"\n },\n {\n \"url\": \"LICENSE.GDevelop.txt\",\n \"revision\": \"86eb564f1ae43340846b59be1539ce58\"\n },\n {\n \"url\": \"logger.js\",\n \"revision\": \"c9e403581baa653c10e1fe57d5c4c10c\"\n },\n {\n \"url\": \"machinegun.png\",\n \"revision\": \"e58425d89d0fc44d81dc3653b7f52141\"\n },\n {\n \"url\": \"machinegunLauncher.png\",\n \"revision\": \"16dacf7b3b12f18383fad7f2cc9e4153\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"fa99d07d1a2d9e08914f5277fed9b3c4\"\n },\n {\n \"url\": \"map_edge_1.png\",\n \"revision\": \"c274ff1113f611271347a0751d87a54b\"\n },\n {\n \"url\": \"map_edge_10.png\",\n \"revision\": \"427d6868912afb7a7d321d8674d81e42\"\n },\n {\n \"url\": \"map_edge_12.png\",\n \"revision\": \"28191cc20f09a039fc6be8bc6e51a326\"\n },\n {\n \"url\": \"map_edge_14.png\",\n \"revision\": \"fa884f4430bad366f80b5e8feea4478b\"\n },\n {\n \"url\": \"map_edge_2.png\",\n \"revision\": \"3c6d1f0c6c0787e4ba32700ebb83d279\"\n },\n {\n \"url\": \"map_edge_4.png\",\n \"revision\": \"823b0699474e15c183689752bdf7298f\"\n },\n {\n \"url\": \"map_edge_5.png\",\n \"revision\": \"2da47abdbcd09a383f5fb13e9d038830\"\n },\n {\n \"url\": \"map_edge_7.png\",\n \"revision\": \"bf31a16baa6bc92488ec2d12d12e8ad4\"\n },\n {\n \"url\": \"map_edge_9.png\",\n \"revision\": \"754541b01ba54de1c96889ec7f18edb7\"\n },\n {\n \"url\": \"Model3DManager.js\",\n \"revision\": \"0787f0b5cb6fd6748f89dc495bfe54e1\"\n },\n {\n \"url\": \"object-capabilities/AnimatableBehavior.js\",\n \"revision\": \"a57e427ad000f5fba2129d3d6494dbfa\"\n },\n {\n \"url\": \"object-capabilities/EffectBehavior.js\",\n \"revision\": \"819530e25507500ce3134110dac740ac\"\n },\n {\n \"url\": \"object-capabilities/FlippableBehavior.js\",\n \"revision\": \"42390fb42b715ddeed631551b0aecb41\"\n },\n {\n \"url\": \"object-capabilities/OpacityBehavior.js\",\n \"revision\": \"c68994f81b521c10fcfe1eed65253c4c\"\n },\n {\n \"url\": \"object-capabilities/ResizableBehavior.js\",\n \"revision\": \"01e40f67cedab74d60903906d842c8b5\"\n },\n {\n \"url\": \"object-capabilities/ScalableBehavior.js\",\n \"revision\": \"becef261a208d403da5f4a265688349a\"\n },\n {\n \"url\": \"object-capabilities/TextContainerBehavior.js\",\n \"revision\": \"bd9367d2e2dd021486274835df506685\"\n },\n {\n \"url\": \"oncetriggers.js\",\n \"revision\": \"19ef2c3b2c94fb4ea21412e06ee4b13b\"\n },\n {\n \"url\": \"pistol.png\",\n \"revision\": \"d9c7b2cc820abc3d5f8cc9cab944a241\"\n },\n {\n \"url\": \"pistolSilencer.png\",\n \"revision\": \"39d1ac673e980899c6e98293d511879f\"\n },\n {\n \"url\": \"pixi-renderers/CustomRuntimeObject2DPixiRenderer.js\",\n \"revision\": \"05b133d83d53d33344ed5895518aa90b\"\n },\n {\n \"url\": \"pixi-renderers/DebuggerPixiRenderer.js\",\n \"revision\": \"f8415bd14759f9f616d744e63fed8d40\"\n },\n {\n \"url\": \"pixi-renderers/layer-pixi-renderer.js\",\n \"revision\": \"9e37919ace1bee73824a785358f8c76a\"\n },\n {\n \"url\": \"pixi-renderers/loadingscreen-pixi-renderer.js\",\n \"revision\": \"60cb2e77e5b7994f03a89e5f8dcbe16a\"\n },\n {\n \"url\": \"pixi-renderers/pixi-bitmapfont-manager.js\",\n \"revision\": \"863242a42784d1b9a48b6eed88fd2eac\"\n },\n {\n \"url\": \"pixi-renderers/pixi-effects-manager.js\",\n \"revision\": \"95477cc886a0b6ea0fa410c86e4d43f1\"\n },\n {\n \"url\": \"pixi-renderers/pixi-filters-tools.js\",\n \"revision\": \"7a9e45f86916fee2f47d0d92db12733c\"\n },\n {\n \"url\": \"pixi-renderers/pixi-image-manager.js\",\n \"revision\": \"91164577ceebdc4f36391d01fde00094\"\n },\n {\n \"url\": \"pixi-renderers/pixi.js\",\n \"revision\": \"fc3b9db08527ef4261ac9593b2fd30cb\"\n },\n {\n \"url\": \"pixi-renderers/runtimegame-pixi-renderer.js\",\n \"revision\": \"5031da82e72b366ed08ef06c7be00ad0\"\n },\n {\n \"url\": \"pixi-renderers/runtimescene-pixi-renderer.js\",\n \"revision\": \"124924c8f22b52438e67b2347537e67c\"\n },\n {\n \"url\": \"pixi-renderers/spriteruntimeobject-pixi-renderer.js\",\n \"revision\": \"74b2b7d422fe34c6e6fe547f54da5dd8\"\n },\n {\n \"url\": \"polygon.js\",\n \"revision\": \"ce89116f406491ae42e827d9edea8faa\"\n },\n {\n \"url\": \"profiler.js\",\n \"revision\": \"c6921835123297e79d0d67695670e4fe\"\n },\n {\n \"url\": \"props_1.png\",\n \"revision\": \"0875412fd60e46d792c068d0b23f3bc6\"\n },\n {\n \"url\": \"props_10.png\",\n \"revision\": \"b5d6f12f1470c27f900a92dbdee96b15\"\n },\n {\n \"url\": \"props_11.png\",\n \"revision\": \"7a249a37c8f9ff4b02dbf28b3512dd07\"\n },\n {\n \"url\": \"props_2.png\",\n \"revision\": \"428c49ac820f976e33e631c596326765\"\n },\n {\n \"url\": \"props_3.png\",\n \"revision\": \"2302e7217e87fe23b3a9b96d6ecbc57a\"\n },\n {\n \"url\": \"props_4.png\",\n \"revision\": \"ad05fccf1690572749d6beeaa46d492b\"\n },\n {\n \"url\": \"props_6.png\",\n \"revision\": \"44f730dddf180b5568e45e53c3f9e503\"\n },\n {\n \"url\": \"props_7.png\",\n \"revision\": \"9c04a85e62767bff3361c0c23df40e6c\"\n },\n {\n \"url\": \"props_8.png\",\n \"revision\": \"0f0c10165a14ae66615d906877138bd1\"\n },\n {\n \"url\": \"props_9.png\",\n \"revision\": \"d7e107bf3e2134d5e19544362ff19b71\"\n },\n {\n \"url\": \"ResourceCache.js\",\n \"revision\": \"c50a7d42264b421f02d248ce2f21a92b\"\n },\n {\n \"url\": \"ResourceLoader.js\",\n \"revision\": \"0350c7b77072cea1193f595e7709331d\"\n },\n {\n \"url\": \"road_10.png\",\n \"revision\": \"074dc104375377543d0a555bbe8ba11a\"\n },\n {\n \"url\": \"road_11.png\",\n \"revision\": \"65ea544c7c4de0bde17908c678a7e9c6\"\n },\n {\n \"url\": \"road_13.png\",\n \"revision\": \"06ae76ae1dbbbc49fda6274394d368ab\"\n },\n {\n \"url\": \"road_14.png\",\n \"revision\": \"e929daa5196cb4fc5c51f851dd3b133e\"\n },\n {\n \"url\": \"road_15.png\",\n \"revision\": \"7021af84995cbb174b91a131a1e93e84\"\n },\n {\n \"url\": \"road_16.png\",\n \"revision\": \"e09588f97c13e67425e7fc21ed746d2c\"\n },\n {\n \"url\": \"road_24.png\",\n \"revision\": \"158dea45902308a49fd8e21c86dbe712\"\n },\n {\n \"url\": \"road_27.png\",\n \"revision\": \"91a6b7d02cde17cf96c7a0875ccd96f4\"\n },\n {\n \"url\": \"road_30.png\",\n \"revision\": \"47e42c872b2f81096fef1fb0d00852a0\"\n },\n {\n \"url\": \"road_31.png\",\n \"revision\": \"d5609076cb4c1babb7c077d8c30f5c17\"\n },\n {\n \"url\": \"road_39.png\",\n \"revision\": \"9580b729418d7b490a0fc7206e76f9f8\"\n },\n {\n \"url\": \"road_43.png\",\n \"revision\": \"0f49fa6cf869d98d2238886104a56ea8\"\n },\n {\n \"url\": \"road_8.png\",\n \"revision\": \"578040bc3672605798b758c489004fec\"\n },\n {\n \"url\": \"rocketlauncher.png\",\n \"revision\": \"1738337b285d296ef9af434d00f07f94\"\n },\n {\n \"url\": \"roof_1.png\",\n \"revision\": \"d6cf2950ad71cac731fe329e90bcf8cb\"\n },\n {\n \"url\": \"roof_2.png\",\n \"revision\": \"960e94bb81c861790c55985bac87694a\"\n },\n {\n \"url\": \"roof_3.png\",\n \"revision\": \"a25b45c418acde3d87db3629a4b85b88\"\n },\n {\n \"url\": \"runtimebehavior.js\",\n \"revision\": \"0b13cef65bab8e854dad5f35c4e7318c\"\n },\n {\n \"url\": \"RuntimeCustomObjectLayer.js\",\n \"revision\": \"056ad4f1a14e17c1d9c4b8d1b73237f4\"\n },\n {\n \"url\": \"runtimegame.js\",\n \"revision\": \"275b3ca2b9e1bfb7fa7694a1ad23600d\"\n },\n {\n \"url\": \"RuntimeInstanceContainer.js\",\n \"revision\": \"ade3b55af91d22c8244b18ac28a4ca6c\"\n },\n {\n \"url\": \"RuntimeLayer.js\",\n \"revision\": \"8d9e19a035fe99665abfde71533de7ea\"\n },\n {\n \"url\": \"runtimeobject.js\",\n \"revision\": \"af61f5059816585b6ced2645b7d4a2b1\"\n },\n {\n \"url\": \"runtimescene.js\",\n \"revision\": \"20026d08a9953b91e6668b16fa8aba29\"\n },\n {\n \"url\": \"runtimewatermark.js\",\n \"revision\": \"83148f79326aa4f02d895031c1c0501e\"\n },\n {\n \"url\": \"sand.png\",\n \"revision\": \"1b19af9125d7d3f16b34565edaad8fb2\"\n },\n {\n \"url\": \"scenestack.js\",\n \"revision\": \"4c914b0084e22015593207a0bef9286a\"\n },\n {\n \"url\": \"shotgun.png\",\n \"revision\": \"841a6ac0d465715959771e3d60083c0a\"\n },\n {\n \"url\": \"shotgunShort.png\",\n \"revision\": \"59356a6107452c73d14dc78649bc2428\"\n },\n {\n \"url\": \"sniper2.png\",\n \"revision\": \"50c1ca9d579926bd1681a7ec4f97ac99\"\n },\n {\n \"url\": \"splash/gd-logo-light.js\",\n \"revision\": \"a7e866baa89bd8b386e5f10b48a5479f\"\n },\n {\n \"url\": \"SpriteAnimator.js\",\n \"revision\": \"deae6ca8e4eac17b540faeafba213180\"\n },\n {\n \"url\": \"spriteruntimeobject.js\",\n \"revision\": \"dfb82366e4a85c1e86661a9c17c94a94\"\n },\n {\n \"url\": \"spritesheet.png\",\n \"revision\": \"226d0614728fa6afe74699a509b032d8\"\n },\n {\n \"url\": \"Square White Slider Border.png\",\n \"revision\": \"002da29d5036b2fde3e21816dc339bea\"\n },\n {\n \"url\": \"Square White Slider Fill Bar.png\",\n \"revision\": \"87d23ec0552ecbe7bcad610eb2330d62\"\n },\n {\n \"url\": \"Square White Slider Thumb.png\",\n \"revision\": \"fa1a97cbba0c14542f9e2456e883d63c\"\n },\n {\n \"url\": \"timemanager.js\",\n \"revision\": \"fd639bb0bc58e672cbed6834573744c0\"\n },\n {\n \"url\": \"timer.js\",\n \"revision\": \"3f98253c5d5419bd2a8bb7ecbc383436\"\n },\n {\n \"url\": \"tree_1.png\",\n \"revision\": \"b1ab5a41e0dffe72ebdd9daad64086da\"\n },\n {\n \"url\": \"tree_2.png\",\n \"revision\": \"49f3d9aaae393d9baa054953f23b3383\"\n },\n {\n \"url\": \"tree_3.png\",\n \"revision\": \"986522c607510642e1030651b6b7a6f4\"\n },\n {\n \"url\": \"tree_4.png\",\n \"revision\": \"bdb1d8718f5bf686dafdcc5f0e621bab\"\n },\n {\n \"url\": \"uzi.png\",\n \"revision\": \"603d53c6f9fc54bc7d0da6274338688d\"\n },\n {\n \"url\": \"uziGold.png\",\n \"revision\": \"0f0c8828acb1125d93e6131d08ea3677\"\n },\n {\n \"url\": \"uziLong.png\",\n \"revision\": \"5ee490980eb1b725e694cb1e4f8d7d02\"\n },\n {\n \"url\": \"uziLong2.png\",\n \"revision\": \"46869dbee712089d01720daac654bbde\"\n },\n {\n \"url\": \"uziLongSilencer.png\",\n \"revision\": \"2be9f1cb2eb8e36deb0d6efb1d338eac\"\n },\n {\n \"url\": \"uziSilencer.png\",\n \"revision\": \"a18d516f23c588e8ca71b71e3dde0dec\"\n },\n {\n \"url\": \"variable.js\",\n \"revision\": \"359b2b676fbe261e36fd1881f8bf8e8a\"\n },\n {\n \"url\": \"variablescontainer.js\",\n \"revision\": \"f526e5db195eee3600755eed057d55c3\"\n },\n {\n \"url\": \"wallpaper_1.png\",\n \"revision\": \"117e8b364316c334c0ace85cfc47ce91\"\n },\n {\n \"url\": \"wallpaper_2.png\",\n \"revision\": \"29877bcaf0617e3eaf63e3a87badac3c\"\n },\n {\n \"url\": \"wallpaper_3.png\",\n \"revision\": \"1157f7859414314e4ee876d9f2184d20\"\n },\n {\n \"url\": \"wallpaper_4.png\",\n \"revision\": \"3da406586fd9534c6fffe87d3537a4f5\"\n },\n {\n \"url\": \"water_1.png\",\n \"revision\": \"373d3f1ad9cf9d32689f64208f353bfe\"\n },\n {\n \"url\": \"White Decorated Button_Hovered.png\",\n \"revision\": \"0c6fc5594eaa6d9956bbbec2a334f7d2\"\n },\n {\n \"url\": \"White Decorated Button_Idle.png\",\n \"revision\": \"f9eab7b950f3b43d6d8014526bf40792\"\n },\n {\n \"url\": \"White Decorated Button_Pressed.png\",\n \"revision\": \"81aaadd6ecd28503772c93c6692e9b42\"\n },\n {\n \"url\": \"wifi_02.png\",\n \"revision\": \"189ba283420ace6a26a9a36f5407a572\"\n },\n {\n \"url\": \"wifi_12.png\",\n \"revision\": \"31150ccbc6a8605353cfcc2f930fe323\"\n },\n {\n \"url\": \"wifi_22.png\",\n \"revision\": \"e1f4d382e0d172312af8cc0615727587\"\n },\n {\n \"url\": \"wifi_32.png\",\n \"revision\": \"9878f88be9e900801ab36c7084715766\"\n }\n], {});\n\n\n\n\nworkbox_routing_registerRoute(\"*\", new workbox_strategies_NetworkFirst(), 'GET');\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","workbox","registerRoute","workbox_strategies_NetworkFirst"],"mappings":"0nBAqBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,UACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,UACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,mCACPC,SAAY,oCAEd,CACED,IAAO,qDACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,qEACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,kDACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,+CACPC,SAAY,oCAEd,CACED,IAAO,kDACPC,SAAY,oCAEd,CACED,IAAO,gDACPC,SAAY,oCAEd,CACED,IAAO,gDACPC,SAAY,oCAEd,CACED,IAAO,gDACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,0DACPC,SAAY,oCAEd,CACED,IAAO,wDACPC,SAAY,oCAEd,CACED,IAAO,wDACPC,SAAY,oCAEd,CACED,IAAO,oDACPC,SAAY,oCAEd,CACED,IAAO,uDACPC,SAAY,oCAEd,CACED,IAAO,+CACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,yEACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,mEACPC,SAAY,oCAEd,CACED,IAAO,qDACPC,SAAY,oCAEd,CACED,IAAO,gEACPC,SAAY,oCAEd,CACED,IAAO,0EACPC,SAAY,oCAEd,CACED,IAAO,yEACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,yEACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,8CACPC,SAAY,oCAEd,CACED,IAAO,2DACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,uEACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,mDACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,iEACPC,SAAY,oCAEd,CACED,IAAO,oDACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,QACPC,SAAY,oCAEd,CACED,IAAO,mDACPC,SAAY,oCAEd,CACED,IAAO,qDACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,+CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,wDACPC,SAAY,oCAEd,CACED,IAAO,mDACPC,SAAY,oCAEd,CACED,IAAO,uDACPC,SAAY,oCAEd,CACED,IAAO,sDACPC,SAAY,oCAEd,CACED,IAAO,iEACPC,SAAY,oCAEd,CACED,IAAO,gEACPC,SAAY,oCAEd,CACED,IAAO,oEACPC,SAAY,oCAEd,CACED,IAAO,6DACPC,SAAY,oCAEd,CACED,IAAO,kDACPC,SAAY,oCAEd,CACED,IAAO,sDACPC,SAAY,oCAEd,CACED,IAAO,iDACPC,SAAY,oCAEd,CACED,IAAO,oDACPC,SAAY,oCAEd,CACED,IAAO,kEACPC,SAAY,oCAEd,CACED,IAAO,8DACPC,SAAY,oCAEd,CACED,IAAO,gEACPC,SAAY,oCAEd,CACED,IAAO,+DACPC,SAAY,oCAEd,CACED,IAAO,+DACPC,SAAY,oCAEd,CACED,IAAO,gEACPC,SAAY,oCAEd,CACED,IAAO,sEACPC,SAAY,oCAEd,CACED,IAAO,+DACPC,SAAY,oCAEd,CACED,IAAO,qEACPC,SAAY,oCAEd,CACED,IAAO,+DACPC,SAAY,oCAEd,CACED,IAAO,8DACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,kEACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,+CACPC,SAAY,oCAEd,CACED,IAAO,gDACPC,SAAY,oCAEd,CACED,IAAO,mDACPC,SAAY,oCAEd,CACED,IAAO,oDACPC,SAAY,oCAEd,CACED,IAAO,8DACPC,SAAY,oCAEd,CACED,IAAO,qDACPC,SAAY,oCAEd,CACED,IAAO,oDACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,qDACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,gDACPC,SAAY,oCAEd,CACED,IAAO,wDACPC,SAAY,oCAEd,CACED,IAAO,sEACPC,SAAY,oCAEd,CACED,IAAO,yDACPC,SAAY,oCAEd,CACED,IAAO,gDACPC,SAAY,oCAEd,CACED,IAAO,wDACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,8CACPC,SAAY,oCAEd,CACED,IAAO,wDACPC,SAAY,oCAEd,CACED,IAAO,kDACPC,SAAY,oCAEd,CACED,IAAO,iDACPC,SAAY,oCAEd,CACED,IAAO,0DACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,8CACPC,SAAY,oCAEd,CACED,IAAO,qDACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,uDACPC,SAAY,oCAEd,CACED,IAAO,8CACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,+CACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,+CACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,sDACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,gDACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,8CACPC,SAAY,oCAEd,CACED,IAAO,+CACPC,SAAY,oCAEd,CACED,IAAO,sDACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,mCACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,UACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,eACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,qCAEb,CAAE,GAKwBC,EAAAC,cAAC,IAAK,IAAIC,eAAmC"} \ No newline at end of file diff --git a/timemanager.js b/timemanager.js new file mode 100644 index 00000000..cbf80542 --- /dev/null +++ b/timemanager.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){class r{constructor(){this._elapsedTime=0;this._timeScale=1;this._timeFromStart=0;this._firstFrame=!0;this._timers=new Hashtable;this._firstUpdateDone=!1;this.reset()}reset(){this._elapsedTime=0,this._timeScale=1,this._timeFromStart=0,this._firstFrame=!0,this._timers=new Hashtable}update(e,s){this._firstUpdateDone&&(this._firstFrame=!1),this._firstUpdateDone=!0,this._elapsedTime=Math.min(e,1e3/s),this._elapsedTime*=this._timeScale;for(const t in this._timers.items)this._timers.items.hasOwnProperty(t)&&this._timers.items[t].updateTime(this._elapsedTime);this._timeFromStart+=this._elapsedTime}setTimeScale(e){e>=0&&(this._timeScale=e)}getTimeScale(){return this._timeScale}getTimeFromStart(){return this._timeFromStart}isFirstFrame(){return this._firstFrame}getElapsedTime(){return this._elapsedTime}addTimer(e){this._timers.put(e,new i.Timer(e))}hasTimer(e){return this._timers.containsKey(e)}getTimer(e){return this._timers.get(e)}removeTimer(e){this._timers.containsKey(e)&&this._timers.remove(e)}}i.TimeManager=r})(gdjs||(gdjs={})); +//# sourceMappingURL=timemanager.js.map diff --git a/timer.js b/timer.js new file mode 100644 index 00000000..1517bb19 --- /dev/null +++ b/timer.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){class t{constructor(e){this._time=0;this._paused=!1;this._name=e}getName(){return this._name}getTime(){return this._time}updateTime(e){this._paused||(this._time+=e)}setTime(e){this._time=e}reset(){this.setTime(0)}setPaused(e){this._paused=e}isPaused(){return this._paused}}i.Timer=t})(gdjs||(gdjs={})); +//# sourceMappingURL=timer.js.map diff --git a/tree_1.png b/tree_1.png new file mode 100644 index 00000000..03d020db Binary files /dev/null and b/tree_1.png differ diff --git a/tree_2.png b/tree_2.png new file mode 100644 index 00000000..deddf058 Binary files /dev/null and b/tree_2.png differ diff --git a/tree_3.png b/tree_3.png new file mode 100644 index 00000000..ee466a72 Binary files /dev/null and b/tree_3.png differ diff --git a/tree_4.png b/tree_4.png new file mode 100644 index 00000000..5889fc4f Binary files /dev/null and b/tree_4.png differ diff --git a/uzi.png b/uzi.png new file mode 100644 index 00000000..8e648ed6 Binary files /dev/null and b/uzi.png differ diff --git a/uziGold.png b/uziGold.png new file mode 100644 index 00000000..bf6be556 Binary files /dev/null and b/uziGold.png differ diff --git a/uziLong.png b/uziLong.png new file mode 100644 index 00000000..75dd5716 Binary files /dev/null and b/uziLong.png differ diff --git a/uziLong2.png b/uziLong2.png new file mode 100644 index 00000000..42e88f70 Binary files /dev/null and b/uziLong2.png differ diff --git a/uziLongSilencer.png b/uziLongSilencer.png new file mode 100644 index 00000000..4a9121f8 Binary files /dev/null and b/uziLongSilencer.png differ diff --git a/uziSilencer.png b/uziSilencer.png new file mode 100644 index 00000000..2ca6fa7a Binary files /dev/null and b/uziSilencer.png differ diff --git a/variable.js b/variable.js new file mode 100644 index 00000000..830fc8dc --- /dev/null +++ b/variable.js @@ -0,0 +1,2 @@ +var gdjs;(function(i){const n=new i.Logger("Variables");class l{constructor(e){this._type="number";this._value=0;this._str="0";this._bool=!1;this._children={};this._childrenArray=[];this._undefinedInContainer=!1;this.reinitialize(e)}reinitialize(e){if(this._type="number",this._value=0,this._str="0",this._bool=!1,this._children={},this._childrenArray=[],this._undefinedInContainer=!1,e!==void 0){if(this._type=e.type||"number",this._type==="number")this._value=parseFloat(e.value||"0"),this._value!==this._value&&(this._value=0);else if(this._type==="string")this._str=""+e.value||"0";else if(this._type==="boolean")this._bool=!!e.value;else if(this._type==="structure"){if(e.children!==void 0)for(var t=0,r=e.children.length;tNumber.MAX_SAFE_INTEGER&&n.warn("Error while converting JS variable to GDevelop variable: Integers bigger than "+Number.MAX_SAFE_INTEGER+" aren't supported by GDevelop variables, it will be reduced to that size."),variable.setNumber(parseInt(e,10))):typeof e=="function"?n.error("Error while converting JS variable to GDevelop variable: Impossible to set variable value to a function."):n.error("Error while converting JS variable to GDevelop variable: Cannot identify type of object "+e);return this}fromJSON(e){try{var t=JSON.parse(e)}catch(r){return n.error("Unable to parse JSON: "+e+r),this}return this.fromJSObject(t),this}toJSObject(){switch(this._type){case"string":return this.getAsString();case"number":return this.getAsNumber();case"boolean":return this.getAsBoolean();case"structure":const e={};for(const r in this._children)e[r]=this._children[r].toJSObject();return e;case"array":const t=[];for(const r of this._childrenArray)t.push(r===void 0?void 0:r.toJSObject());return t}}isPrimitive(){return i.Variable.isPrimitive(this._type)}clone(){return i.Variable.copy(this,new i.Variable)}setUndefinedInContainer(){this._undefinedInContainer=!0}isUndefinedInContainer(){return this._undefinedInContainer}castTo(e){if(e==="string")this.setString(this.getAsString());else if(e==="number")this.setNumber(this.getAsNumber());else if(e==="boolean")this.setBoolean(this.getAsBoolean());else if(e==="structure"){if(this._type==="structure")return;this._children=this.getAllChildren(),this._type="structure"}else if(e==="array"){if(this._type==="array")return;this._childrenArray=this.getAllChildrenArray(),this._type="array"}}getChild(e){return this._type==="array"?this.getChildAt(Number.isInteger(e)?e:parseInt(e,10)||0):(this._type!=="structure"&&this.castTo("structure"),this.getChildNamed(""+e))}getChildNamed(e){const t=this._children[e];return t??(this._children[e]=new i.Variable)}addChild(e,t){return this._type!=="structure"&&this.castTo("structure"),this._children[e]=t,this}hasChild(e){return this._type==="structure"&&this._children.hasOwnProperty(e)}removeChild(e){this._type==="structure"&&delete this._children[e]}clearChildren(){this._children={},this._childrenArray=[]}replaceChildren(e){this._type="structure",this._children=e}replaceChildrenArray(e){this._type="array",this._childrenArray=e}getAsNumber(){if(this._type!=="number"){let e=0;return this._type==="string"?e=parseFloat(this._str):this._type==="boolean"&&(e=this._bool?1:0),e===e?e:0}return this._value}setNumber(e){this._type="number",e=parseFloat(e),this._value=e===e?e:0}getAsString(){return this._type!=="string"?this._type==="number"?this._value.toString():this._type==="boolean"?this._bool?"true":"false":this._type==="structure"?"[Structure]":this._type==="array"?"[Array]":"":this._str}setString(e){this._type="string",this._str=""+e}getAsNumberOrString(){return this._type==="number"?this._value:this.getAsString()}getAsBoolean(){return this._type!=="boolean"?this._type==="number"?this._value!==0:this._type==="string"?this._str!=="0"&&this._str!==""&&this._str!=="false":!0:this._bool}setBoolean(e){this._type="boolean",this._bool=!!e}setValue(e){this._type==="string"?this.setString(e):this._type==="number"?this.setNumber(e):this._type==="boolean"&&this.setBoolean(e)}getValue(){return this._type==="number"?this.getAsNumber():this._type==="boolean"?this.getAsBoolean():this.getAsString()}isStructure(){return this._type==="structure"}isNumber(){return this._type==="number"}getType(){return this._type}getAllChildren(){return this._type==="structure"?this._children:this._type==="array"?Object.assign({},this._childrenArray):{}}getAllChildrenArray(){return this._type==="structure"?Object.values(this._children):this._type==="array"?this._childrenArray:[]}getChildrenCount(){return this._type==="structure"?Object.keys(this._children).length:this._type==="array"?this._childrenArray.length:0}add(e){this.setNumber(this.getAsNumber()+e)}sub(e){this.setNumber(this.getAsNumber()-e)}mul(e){this.setNumber(this.getAsNumber()*e)}div(e){this.setNumber(this.getAsNumber()/e)}concatenateString(e){this.setString(this.getAsString()+e)}concatenate(e){this.setString(this.getAsString()+e)}getChildAt(e){return this._type!=="array"&&this.castTo("array"),(this._childrenArray[e]===void 0||this._childrenArray[e]===null)&&(this._childrenArray[e]=new i.Variable),this._childrenArray[e]}removeAtIndex(e){this._type==="array"&&this._childrenArray.splice(e,1)}pushVariableCopy(e){this._type!=="array"&&this.castTo("array"),this._childrenArray.push(e.clone())}pushValue(e){this._type!=="array"&&this.castTo("array"),this._childrenArray.push(new i.Variable({type:typeof e,value:e}))}}i.Variable=l})(gdjs||(gdjs={})); +//# sourceMappingURL=variable.js.map diff --git a/variablescontainer.js b/variablescontainer.js new file mode 100644 index 00000000..ff816887 --- /dev/null +++ b/variablescontainer.js @@ -0,0 +1,2 @@ +var gdjs;(function(t){const n=class{constructor(r){this._variablesArray=[];this._variables=new Hashtable,r!==void 0&&this.initFrom(r)}initFrom(r,e){e===void 0&&(e=!1),e||(n._deletedVars=n._deletedVars||[],this._variables.keys(n._deletedVars));const a=this;let i=0;for(let l=0;l=this._variablesArray.length){let e=new t.Variable;return this._variables.put("",e),e}else{let e=this._variablesArray[r];return e.isUndefinedInContainer()&&e.reinitialize(),e}}has(r){const e=this._variables.get(r);return e&&!e.isUndefinedInContainer()}};let o=n;o._deletedVars=[],o.badVariablesContainer={_variables:new Hashtable,_variablesArray:[],has:function(){return!1},getFromIndex:function(){return n.badVariable},get:function(){return n.badVariable},remove:function(){},add:function(){},initFrom:function(){}},o.badVariable={_type:"number",_bool:!1,_children:{},_childrenArray:[],_str:"",_undefinedInContainer:!0,_value:0,fromJSON:()=>t.VariablesContainer.badVariable,toJSObject:()=>0,fromJSObject:()=>t.VariablesContainer.badVariable,reinitialize:()=>{},addChild:()=>t.VariablesContainer.badVariable,castTo:()=>{},clearChildren:()=>{},clone:()=>t.VariablesContainer.badVariable,getChildrenCount:()=>0,replaceChildren:()=>{},replaceChildrenArray:()=>{},getType:function(){return"number"},isPrimitive:function(){return!0},setValue:()=>{},getValue:()=>0,getChild:()=>t.VariablesContainer.badVariable,getChildAt:()=>t.VariablesContainer.badVariable,getChildNamed:()=>t.VariablesContainer.badVariable,hasChild:function(){return!1},isStructure:function(){return!1},isNumber:function(){return!0},removeChild:function(){},setNumber:function(){},setString:function(){},setBoolean:function(){},getAsString:function(){return"0"},getAsNumber:function(){return 0},getAsNumberOrString:function(){return 0},getAsBoolean:function(){return!1},getAllChildren:function(){return{}},getAllChildrenArray:function(){return[]},pushVariableCopy:()=>{},pushValue:()=>{},removeAtIndex:function(){},add:function(){},sub:function(){},mul:function(){},div:function(){},concatenate:function(){},concatenateString:function(){},setUndefinedInContainer:function(){},isUndefinedInContainer:function(){return!0}},t.VariablesContainer=o})(gdjs||(gdjs={})); +//# sourceMappingURL=variablescontainer.js.map diff --git a/wallpaper_1.png b/wallpaper_1.png new file mode 100644 index 00000000..107d276d Binary files /dev/null and b/wallpaper_1.png differ diff --git a/wallpaper_2.png b/wallpaper_2.png new file mode 100644 index 00000000..5ce4ad66 Binary files /dev/null and b/wallpaper_2.png differ diff --git a/wallpaper_3.png b/wallpaper_3.png new file mode 100644 index 00000000..68cc7c5f Binary files /dev/null and b/wallpaper_3.png differ diff --git a/wallpaper_4.png b/wallpaper_4.png new file mode 100644 index 00000000..f335acf0 Binary files /dev/null and b/wallpaper_4.png differ diff --git a/water_1.png b/water_1.png new file mode 100644 index 00000000..1bf5bdd6 Binary files /dev/null and b/water_1.png differ diff --git a/wifi_02.png b/wifi_02.png new file mode 100644 index 00000000..5372cadd Binary files /dev/null and b/wifi_02.png differ diff --git a/wifi_12.png b/wifi_12.png new file mode 100644 index 00000000..20f77ced Binary files /dev/null and b/wifi_12.png differ diff --git a/wifi_22.png b/wifi_22.png new file mode 100644 index 00000000..5bc7f57a Binary files /dev/null and b/wifi_22.png differ diff --git a/wifi_32.png b/wifi_32.png new file mode 100644 index 00000000..6e062e67 Binary files /dev/null and b/wifi_32.png differ diff --git a/workbox-d8dbf99d.js b/workbox-d8dbf99d.js new file mode 100644 index 00000000..d5800d03 --- /dev/null +++ b/workbox-d8dbf99d.js @@ -0,0 +1,2 @@ +define(["exports"],(function(t){"use strict";try{self["workbox:core:6.5.4"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:6.5.4"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const a=t.method;if(!o&&this.i.has(a)&&(o=this.i.get(a)),!o)return;let c;try{c=o.handle({url:s,request:t,event:e,params:i})}catch(t){c=Promise.reject(t)}const h=r&&r.catchHandler;return c instanceof Promise&&(this.o||h)&&(c=c.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),c}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let a;const c=()=>(a||(a=new o,a.addFetchListener(),a.addCacheListener()),a);function h(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}return c().registerRoute(o),o}try{self["workbox:strategies:6.5.4"]&&_()}catch(t){}const u={cacheWillUpdate:async({response:t})=>200===t.status||0===t.status?t:null},l={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},f=t=>[l.prefix,t,l.suffix].filter((t=>t&&t.length>0)).join("-"),w=t=>t||f(l.precache),d=t=>t||f(l.runtime);function p(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class y{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const g=new Set;function m(t){return"string"==typeof t?new Request(t):t}class R{constructor(t,e){this.h={},Object.assign(this,e),this.event=e.event,this.u=t,this.l=new y,this.p=[],this.m=[...t.plugins],this.R=new Map;for(const t of this.m)this.R.set(t,{});this.event.waitUntil(this.l.promise)}async fetch(t){const{event:e}=this;let n=m(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.u.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=m(t);let s;const{cacheName:n,matchOptions:i}=this.u,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=m(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const a=await this.v(e);if(!a)return!1;const{cacheName:c,matchOptions:h}=this.u,u=await self.caches.open(c),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=p(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===p(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?a.clone():a)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of g)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:c,oldResponse:f,newResponse:a.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.h[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=m(await t({mode:e,request:n,event:this.event,params:this.params}));this.h[s]=n}return this.h[s]}hasCallback(t){for(const e of this.u.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.u.plugins)if("function"==typeof e[t]){const s=this.R.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.p.push(t),t}async doneWaiting(){let t;for(;t=this.p.shift();)await t}destroy(){this.l.resolve(null)}async v(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class v{constructor(t={}){this.cacheName=d(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new R(this,{event:e,request:s,params:n}),r=this.q(i,s,e);return[r,this.U(r,i,s,e)]}async q(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this.L(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async U(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}function q(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:6.5.4"]&&_()}catch(t){}function U(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class L{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class b{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this._.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this._=t}}let E,C;async function O(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,a=function(){if(void 0===E){const t=new Response("");if("body"in t)try{new Response(t.body),E=!0}catch(t){E=!1}E=!1}return E}()?i.body:await i.blob();return new Response(a,o)}class x extends v{constructor(t={}){t.cacheName=w(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(x.copyRedirectedCacheableResponsesPlugin)}async L(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.P(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.P();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}P(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==x.copyRedirectedCacheableResponsesPlugin&&(n===x.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(x.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}x.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},x.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await O(t):t};class N{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.T=new Map,this.W=new Map,this.k=new Map,this.u=new x({cacheName:w(t),plugins:[...e,new b({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.u}precache(t){this.addToCacheList(t),this.K||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.K=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=U(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.T.has(i)&&this.T.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.T.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.k.has(t)&&this.k.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.k.set(t,n.integrity)}if(this.T.set(i,t),this.W.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return q(t,(async()=>{const e=new L;this.strategy.plugins.push(e);for(const[e,s]of this.T){const n=this.k.get(s),i=this.W.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return q(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.T.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.T}getCachedURLs(){return[...this.T.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.T.get(e.href)}getIntegrityForCacheKey(t){return this.k.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}const P=()=>(C||(C=new N),C);class T extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}t.NetworkFirst=class extends v{constructor(t={}){super(t),this.plugins.some((t=>"cacheWillUpdate"in t))||this.plugins.unshift(u),this.j=t.networkTimeoutSeconds||0}async L(t,e){const n=[],i=[];let r;if(this.j){const{id:s,promise:o}=this.M({request:t,logs:n,handler:e});r=s,i.push(o)}const o=this.S({timeoutId:r,request:t,logs:n,handler:e});i.push(o);const a=await e.waitUntil((async()=>await e.waitUntil(Promise.race(i))||await o)());if(!a)throw new s("no-response",{url:t.url});return a}M({request:t,logs:e,handler:s}){let n;return{promise:new Promise((e=>{n=setTimeout((async()=>{e(await s.cacheMatch(t))}),1e3*this.j)})),id:n}}async S({timeoutId:t,request:e,logs:s,handler:n}){let i,r;try{r=await n.fetchAndCachePut(e)}catch(t){t instanceof Error&&(i=t)}return t&&clearTimeout(t),!i&&r||(r=await n.cacheMatch(e)),r}},t.precacheAndRoute=function(t,e){!function(t){P().precache(t)}(t),function(t){const e=P();h(new T(e,t))}(e)},t.registerRoute=h})); +//# sourceMappingURL=workbox-d8dbf99d.js.map diff --git a/workbox-d8dbf99d.js.map b/workbox-d8dbf99d.js.map new file mode 100644 index 00000000..d9ff419d --- /dev/null +++ b/workbox-d8dbf99d.js.map @@ -0,0 +1 @@ +{"version":3,"file":"workbox-d8dbf99d.js","sources":["node_modules/workbox-core/_version.js","node_modules/workbox-core/_private/logger.js","node_modules/workbox-core/models/messages/messageGenerator.js","node_modules/workbox-core/_private/WorkboxError.js","node_modules/workbox-routing/_version.js","node_modules/workbox-routing/utils/constants.js","node_modules/workbox-routing/utils/normalizeHandler.js","node_modules/workbox-routing/Route.js","node_modules/workbox-routing/RegExpRoute.js","node_modules/workbox-routing/Router.js","node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js","node_modules/workbox-routing/registerRoute.js","node_modules/workbox-strategies/_version.js","node_modules/workbox-strategies/plugins/cacheOkAndOpaquePlugin.js","node_modules/workbox-core/_private/cacheNames.js","node_modules/workbox-core/_private/cacheMatchIgnoreParams.js","node_modules/workbox-core/_private/Deferred.js","node_modules/workbox-core/models/quotaErrorCallbacks.js","node_modules/workbox-strategies/StrategyHandler.js","node_modules/workbox-core/_private/timeout.js","node_modules/workbox-core/_private/getFriendlyURL.js","node_modules/workbox-core/_private/executeQuotaErrorCallbacks.js","node_modules/workbox-strategies/Strategy.js","node_modules/workbox-core/_private/waitUntil.js","node_modules/workbox-precaching/_version.js","node_modules/workbox-precaching/utils/createCacheKey.js","node_modules/workbox-precaching/utils/PrecacheInstallReportPlugin.js","node_modules/workbox-precaching/utils/PrecacheCacheKeyPlugin.js","node_modules/workbox-core/_private/canConstructResponseFromBodyStream.js","node_modules/workbox-precaching/utils/getOrCreatePrecacheController.js","node_modules/workbox-core/copyResponse.js","node_modules/workbox-precaching/PrecacheStrategy.js","node_modules/workbox-precaching/PrecacheController.js","node_modules/workbox-precaching/PrecacheRoute.js","node_modules/workbox-precaching/utils/generateURLVariations.js","node_modules/workbox-precaching/utils/removeIgnoredSearchParams.js","node_modules/workbox-strategies/NetworkFirst.js","node_modules/workbox-precaching/precacheAndRoute.js","node_modules/workbox-precaching/precache.js","node_modules/workbox-precaching/addRoute.js"],"sourcesContent":["\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:core:6.5.4'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst logger = (process.env.NODE_ENV === 'production'\n ? null\n : (() => {\n // Don't overwrite this value if it's already set.\n // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923\n if (!('__WB_DISABLE_DEV_LOGS' in globalThis)) {\n self.__WB_DISABLE_DEV_LOGS = false;\n }\n let inGroup = false;\n const methodToColorMap = {\n debug: `#7f8c8d`,\n log: `#2ecc71`,\n warn: `#f39c12`,\n error: `#c0392b`,\n groupCollapsed: `#3498db`,\n groupEnd: null, // No colored prefix on groupEnd\n };\n const print = function (method, args) {\n if (self.__WB_DISABLE_DEV_LOGS) {\n return;\n }\n if (method === 'groupCollapsed') {\n // Safari doesn't print all console.groupCollapsed() arguments:\n // https://bugs.webkit.org/show_bug.cgi?id=182754\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n console[method](...args);\n return;\n }\n }\n const styles = [\n `background: ${methodToColorMap[method]}`,\n `border-radius: 0.5em`,\n `color: white`,\n `font-weight: bold`,\n `padding: 2px 0.5em`,\n ];\n // When in a group, the workbox prefix is not displayed.\n const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];\n console[method](...logPrefix, ...args);\n if (method === 'groupCollapsed') {\n inGroup = true;\n }\n if (method === 'groupEnd') {\n inGroup = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/ban-types\n const api = {};\n const loggerMethods = Object.keys(methodToColorMap);\n for (const key of loggerMethods) {\n const method = key;\n api[method] = (...args) => {\n print(method, args);\n };\n }\n return api;\n })());\nexport { logger };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messages } from './messages.js';\nimport '../../_version.js';\nconst fallback = (code, ...args) => {\n let msg = code;\n if (args.length > 0) {\n msg += ` :: ${JSON.stringify(args)}`;\n }\n return msg;\n};\nconst generatorFunction = (code, details = {}) => {\n const message = messages[code];\n if (!message) {\n throw new Error(`Unable to find message for code '${code}'.`);\n }\n return message(details);\n};\nexport const messageGenerator = process.env.NODE_ENV === 'production' ? fallback : generatorFunction;\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messageGenerator } from '../models/messages/messageGenerator.js';\nimport '../_version.js';\n/**\n * Workbox errors should be thrown with this class.\n * This allows use to ensure the type easily in tests,\n * helps developers identify errors from workbox\n * easily and allows use to optimise error\n * messages correctly.\n *\n * @private\n */\nclass WorkboxError extends Error {\n /**\n *\n * @param {string} errorCode The error code that\n * identifies this particular error.\n * @param {Object=} details Any relevant arguments\n * that will help developers identify issues should\n * be added as a key on the context object.\n */\n constructor(errorCode, details) {\n const message = messageGenerator(errorCode, details);\n super(message);\n this.name = errorCode;\n this.details = details;\n }\n}\nexport { WorkboxError };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:routing:6.5.4'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @type {string}\n *\n * @private\n */\nexport const defaultMethod = 'GET';\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @type {Array}\n *\n * @private\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'PATCH',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport '../_version.js';\n/**\n * @param {function()|Object} handler Either a function, or an object with a\n * 'handle' method.\n * @return {Object} An object with a handle method.\n *\n * @private\n */\nexport const normalizeHandler = (handler) => {\n if (handler && typeof handler === 'object') {\n if (process.env.NODE_ENV !== 'production') {\n assert.hasMethod(handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return handler;\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(handler, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return { handle: handler };\n }\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { defaultMethod, validMethods } from './utils/constants.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport './_version.js';\n/**\n * A `Route` consists of a pair of callback functions, \"match\" and \"handler\".\n * The \"match\" callback determine if a route should be used to \"handle\" a\n * request by returning a non-falsy value if it can. The \"handler\" callback\n * is called when there is a match and should return a Promise that resolves\n * to a `Response`.\n *\n * @memberof workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n *\n * @param {workbox-routing~matchCallback} match\n * A callback function that determines whether the route matches a given\n * `fetch` event by returning a non-falsy value.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(match, handler, method = defaultMethod) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(match, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'match',\n });\n if (method) {\n assert.isOneOf(method, validMethods, { paramName: 'method' });\n }\n }\n // These values are referenced directly by Router so cannot be\n // altered by minificaton.\n this.handler = normalizeHandler(handler);\n this.match = match;\n this.method = method;\n }\n /**\n *\n * @param {workbox-routing-handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response\n */\n setCatchHandler(handler) {\n this.catchHandler = normalizeHandler(handler);\n }\n}\nexport { Route };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * RegExpRoute makes it easy to create a regular expression based\n * {@link workbox-routing.Route}.\n *\n * For same-origin requests the RegExp only needs to match part of the URL. For\n * requests against third-party servers, you must define a RegExp that matches\n * the start of the URL.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass RegExpRoute extends Route {\n /**\n * If the regular expression contains\n * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references},\n * the captured values will be passed to the\n * {@link workbox-routing~handlerCallback} `params`\n * argument.\n *\n * @param {RegExp} regExp The regular expression to match against URLs.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(regExp, handler, method) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(regExp, RegExp, {\n moduleName: 'workbox-routing',\n className: 'RegExpRoute',\n funcName: 'constructor',\n paramName: 'pattern',\n });\n }\n const match = ({ url }) => {\n const result = regExp.exec(url.href);\n // Return immediately if there's no match.\n if (!result) {\n return;\n }\n // Require that the match start at the first character in the URL string\n // if it's a cross-origin request.\n // See https://github.com/GoogleChrome/workbox/issues/281 for the context\n // behind this behavior.\n if (url.origin !== location.origin && result.index !== 0) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` +\n `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` +\n `handle cross-origin requests if they match the entire URL.`);\n }\n return;\n }\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n super(match, handler, method);\n }\n}\nexport { RegExpRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { defaultMethod } from './utils/constants.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\n/**\n * The Router can be used to process a `FetchEvent` using one or more\n * {@link workbox-routing.Route}, responding with a `Response` if\n * a matching route exists.\n *\n * If no route matches a given a request, the Router will use a \"default\"\n * handler if one is defined.\n *\n * Should the matching Route throw an error, the Router will use a \"catch\"\n * handler if one is defined to gracefully deal with issues and respond with a\n * Request.\n *\n * If a request matches multiple routes, the **earliest** registered route will\n * be used to respond to the request.\n *\n * @memberof workbox-routing\n */\nclass Router {\n /**\n * Initializes a new Router.\n */\n constructor() {\n this._routes = new Map();\n this._defaultHandlerMap = new Map();\n }\n /**\n * @return {Map>} routes A `Map` of HTTP\n * method name ('GET', etc.) to an array of all the corresponding `Route`\n * instances that are registered.\n */\n get routes() {\n return this._routes;\n }\n /**\n * Adds a fetch event listener to respond to events when a route matches\n * the event's request.\n */\n addFetchListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('fetch', ((event) => {\n const { request } = event;\n const responsePromise = this.handleRequest({ request, event });\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n }));\n }\n /**\n * Adds a message event listener for URLs to cache from the window.\n * This is useful to cache resources loaded on the page prior to when the\n * service worker started controlling it.\n *\n * The format of the message data sent from the window should be as follows.\n * Where the `urlsToCache` array may consist of URL strings or an array of\n * URL string + `requestInit` object (the same as you'd pass to `fetch()`).\n *\n * ```\n * {\n * type: 'CACHE_URLS',\n * payload: {\n * urlsToCache: [\n * './script1.js',\n * './script2.js',\n * ['./script3.js', {mode: 'no-cors'}],\n * ],\n * },\n * }\n * ```\n */\n addCacheListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('message', ((event) => {\n // event.data is type 'any'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (event.data && event.data.type === 'CACHE_URLS') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { payload } = event.data;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Caching URLs from the window`, payload.urlsToCache);\n }\n const requestPromises = Promise.all(payload.urlsToCache.map((entry) => {\n if (typeof entry === 'string') {\n entry = [entry];\n }\n const request = new Request(...entry);\n return this.handleRequest({ request, event });\n // TODO(philipwalton): TypeScript errors without this typecast for\n // some reason (probably a bug). The real type here should work but\n // doesn't: `Array | undefined>`.\n })); // TypeScript\n event.waitUntil(requestPromises);\n // If a MessageChannel was used, reply to the message on success.\n if (event.ports && event.ports[0]) {\n void requestPromises.then(() => event.ports[0].postMessage(true));\n }\n }\n }));\n }\n /**\n * Apply the routing rules to a FetchEvent object to get a Response from an\n * appropriate Route's handler.\n *\n * @param {Object} options\n * @param {Request} options.request The request to handle.\n * @param {ExtendableEvent} options.event The event that triggered the\n * request.\n * @return {Promise|undefined} A promise is returned if a\n * registered route can handle the request. If there is no matching\n * route and there's no `defaultHandler`, `undefined` is returned.\n */\n handleRequest({ request, event, }) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'handleRequest',\n paramName: 'options.request',\n });\n }\n const url = new URL(request.url, location.href);\n if (!url.protocol.startsWith('http')) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Workbox Router only supports URLs that start with 'http'.`);\n }\n return;\n }\n const sameOrigin = url.origin === location.origin;\n const { params, route } = this.findMatchingRoute({\n event,\n request,\n sameOrigin,\n url,\n });\n let handler = route && route.handler;\n const debugMessages = [];\n if (process.env.NODE_ENV !== 'production') {\n if (handler) {\n debugMessages.push([`Found a route to handle this request:`, route]);\n if (params) {\n debugMessages.push([\n `Passing the following params to the route's handler:`,\n params,\n ]);\n }\n }\n }\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n const method = request.method;\n if (!handler && this._defaultHandlerMap.has(method)) {\n if (process.env.NODE_ENV !== 'production') {\n debugMessages.push(`Failed to find a matching route. Falling ` +\n `back to the default handler for ${method}.`);\n }\n handler = this._defaultHandlerMap.get(method);\n }\n if (!handler) {\n if (process.env.NODE_ENV !== 'production') {\n // No handler so Workbox will do nothing. If logs is set of debug\n // i.e. verbose, we should print out this information.\n logger.debug(`No route found for: ${getFriendlyURL(url)}`);\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // We have a handler, meaning Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`);\n debugMessages.forEach((msg) => {\n if (Array.isArray(msg)) {\n logger.log(...msg);\n }\n else {\n logger.log(msg);\n }\n });\n logger.groupEnd();\n }\n // Wrap in try and catch in case the handle method throws a synchronous\n // error. It should still callback to the catch handler.\n let responsePromise;\n try {\n responsePromise = handler.handle({ url, request, event, params });\n }\n catch (err) {\n responsePromise = Promise.reject(err);\n }\n // Get route's catch handler, if it exists\n const catchHandler = route && route.catchHandler;\n if (responsePromise instanceof Promise &&\n (this._catchHandler || catchHandler)) {\n responsePromise = responsePromise.catch(async (err) => {\n // If there's a route catch handler, process that first\n if (catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n try {\n return await catchHandler.handle({ url, request, event, params });\n }\n catch (catchErr) {\n if (catchErr instanceof Error) {\n err = catchErr;\n }\n }\n }\n if (this._catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n return this._catchHandler.handle({ url, request, event });\n }\n throw err;\n });\n }\n return responsePromise;\n }\n /**\n * Checks a request and URL (and optionally an event) against the list of\n * registered routes, and if there's a match, returns the corresponding\n * route along with any params generated by the match.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {boolean} options.sameOrigin The result of comparing `url.origin`\n * against the current origin.\n * @param {Request} options.request The request to match.\n * @param {Event} options.event The corresponding event.\n * @return {Object} An object with `route` and `params` properties.\n * They are populated if a matching route was found or `undefined`\n * otherwise.\n */\n findMatchingRoute({ url, sameOrigin, request, event, }) {\n const routes = this._routes.get(request.method) || [];\n for (const route of routes) {\n let params;\n // route.match returns type any, not possible to change right now.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const matchResult = route.match({ url, sameOrigin, request, event });\n if (matchResult) {\n if (process.env.NODE_ENV !== 'production') {\n // Warn developers that using an async matchCallback is almost always\n // not the right thing to do.\n if (matchResult instanceof Promise) {\n logger.warn(`While routing ${getFriendlyURL(url)}, an async ` +\n `matchCallback function was used. Please convert the ` +\n `following route to use a synchronous matchCallback function:`, route);\n }\n }\n // See https://github.com/GoogleChrome/workbox/issues/2079\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params = matchResult;\n if (Array.isArray(params) && params.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n params = undefined;\n }\n else if (matchResult.constructor === Object && // eslint-disable-line\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n params = undefined;\n }\n else if (typeof matchResult === 'boolean') {\n // For the boolean value true (rather than just something truth-y),\n // don't set params.\n // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353\n params = undefined;\n }\n // Return early if have a match.\n return { route, params };\n }\n }\n // If no match was found above, return and empty object.\n return {};\n }\n /**\n * Define a default `handler` that's called when no routes explicitly\n * match the incoming request.\n *\n * Each HTTP method ('GET', 'POST', etc.) gets its own default handler.\n *\n * Without a default handler, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to associate with this\n * default handler. Each method has its own default.\n */\n setDefaultHandler(handler, method = defaultMethod) {\n this._defaultHandlerMap.set(method, normalizeHandler(handler));\n }\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n */\n setCatchHandler(handler) {\n this._catchHandler = normalizeHandler(handler);\n }\n /**\n * Registers a route with the router.\n *\n * @param {workbox-routing.Route} route The route to register.\n */\n registerRoute(route) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(route, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route, 'match', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.isType(route.handler, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route.handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.handler',\n });\n assert.isType(route.method, 'string', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.method',\n });\n }\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n // Give precedence to all of the earlier routes by adding this additional\n // route to the end of the array.\n this._routes.get(route.method).push(route);\n }\n /**\n * Unregisters a route with the router.\n *\n * @param {workbox-routing.Route} route The route to unregister.\n */\n unregisterRoute(route) {\n if (!this._routes.has(route.method)) {\n throw new WorkboxError('unregister-route-but-not-found-with-method', {\n method: route.method,\n });\n }\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n }\n else {\n throw new WorkboxError('unregister-route-route-not-registered');\n }\n }\n}\nexport { Router };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { Router } from '../Router.js';\nimport '../_version.js';\nlet defaultRouter;\n/**\n * Creates a new, singleton Router instance if one does not exist. If one\n * does already exist, that instance is returned.\n *\n * @private\n * @return {Router}\n */\nexport const getOrCreateDefaultRouter = () => {\n if (!defaultRouter) {\n defaultRouter = new Router();\n // The helpers that use the default Router assume these listeners exist.\n defaultRouter.addFetchListener();\n defaultRouter.addCacheListener();\n }\n return defaultRouter;\n};\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Route } from './Route.js';\nimport { RegExpRoute } from './RegExpRoute.js';\nimport { getOrCreateDefaultRouter } from './utils/getOrCreateDefaultRouter.js';\nimport './_version.js';\n/**\n * Easily register a RegExp, string, or function with a caching\n * strategy to a singleton Router instance.\n *\n * This method will generate a Route for you if needed and\n * call {@link workbox-routing.Router#registerRoute}.\n *\n * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture\n * If the capture param is a `Route`, all other arguments will be ignored.\n * @param {workbox-routing~handlerCallback} [handler] A callback\n * function that returns a Promise resulting in a Response. This parameter\n * is required if `capture` is not a `Route` object.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n * @return {workbox-routing.Route} The generated `Route`.\n *\n * @memberof workbox-routing\n */\nfunction registerRoute(capture, handler, method) {\n let route;\n if (typeof capture === 'string') {\n const captureUrl = new URL(capture, location.href);\n if (process.env.NODE_ENV !== 'production') {\n if (!(capture.startsWith('/') || capture.startsWith('http'))) {\n throw new WorkboxError('invalid-string', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n // We want to check if Express-style wildcards are in the pathname only.\n // TODO: Remove this log message in v4.\n const valueToCheck = capture.startsWith('http')\n ? captureUrl.pathname\n : capture;\n // See https://github.com/pillarjs/path-to-regexp#parameters\n const wildcards = '[*:?+]';\n if (new RegExp(`${wildcards}`).exec(valueToCheck)) {\n logger.debug(`The '$capture' parameter contains an Express-style wildcard ` +\n `character (${wildcards}). Strings are now always interpreted as ` +\n `exact matches; use a RegExp for partial or wildcard matches.`);\n }\n }\n const matchCallback = ({ url }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (url.pathname === captureUrl.pathname &&\n url.origin !== captureUrl.origin) {\n logger.debug(`${capture} only partially matches the cross-origin URL ` +\n `${url.toString()}. This route will only handle cross-origin requests ` +\n `if they match the entire URL.`);\n }\n }\n return url.href === captureUrl.href;\n };\n // If `capture` is a string then `handler` and `method` must be present.\n route = new Route(matchCallback, handler, method);\n }\n else if (capture instanceof RegExp) {\n // If `capture` is a `RegExp` then `handler` and `method` must be present.\n route = new RegExpRoute(capture, handler, method);\n }\n else if (typeof capture === 'function') {\n // If `capture` is a function then `handler` and `method` must be present.\n route = new Route(capture, handler, method);\n }\n else if (capture instanceof Route) {\n route = capture;\n }\n else {\n throw new WorkboxError('unsupported-route-type', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n const defaultRouter = getOrCreateDefaultRouter();\n defaultRouter.registerRoute(route);\n return route;\n}\nexport { registerRoute };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:strategies:6.5.4'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nexport const cacheOkAndOpaquePlugin = {\n /**\n * Returns a valid response (to allow caching) if the status is 200 (OK) or\n * 0 (opaque).\n *\n * @param {Object} options\n * @param {Response} options.response\n * @return {Response|null}\n *\n * @private\n */\n cacheWillUpdate: async ({ response }) => {\n if (response.status === 200 || response.status === 0) {\n return response;\n }\n return null;\n },\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst _cacheNameDetails = {\n googleAnalytics: 'googleAnalytics',\n precache: 'precache-v2',\n prefix: 'workbox',\n runtime: 'runtime',\n suffix: typeof registration !== 'undefined' ? registration.scope : '',\n};\nconst _createCacheName = (cacheName) => {\n return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix]\n .filter((value) => value && value.length > 0)\n .join('-');\n};\nconst eachCacheNameDetail = (fn) => {\n for (const key of Object.keys(_cacheNameDetails)) {\n fn(key);\n }\n};\nexport const cacheNames = {\n updateDetails: (details) => {\n eachCacheNameDetail((key) => {\n if (typeof details[key] === 'string') {\n _cacheNameDetails[key] = details[key];\n }\n });\n },\n getGoogleAnalyticsName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics);\n },\n getPrecacheName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.precache);\n },\n getPrefix: () => {\n return _cacheNameDetails.prefix;\n },\n getRuntimeName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.runtime);\n },\n getSuffix: () => {\n return _cacheNameDetails.suffix;\n },\n};\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nfunction stripParams(fullURL, ignoreParams) {\n const strippedURL = new URL(fullURL);\n for (const param of ignoreParams) {\n strippedURL.searchParams.delete(param);\n }\n return strippedURL.href;\n}\n/**\n * Matches an item in the cache, ignoring specific URL params. This is similar\n * to the `ignoreSearch` option, but it allows you to ignore just specific\n * params (while continuing to match on the others).\n *\n * @private\n * @param {Cache} cache\n * @param {Request} request\n * @param {Object} matchOptions\n * @param {Array} ignoreParams\n * @return {Promise}\n */\nasync function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) {\n const strippedRequestURL = stripParams(request.url, ignoreParams);\n // If the request doesn't include any ignored params, match as normal.\n if (request.url === strippedRequestURL) {\n return cache.match(request, matchOptions);\n }\n // Otherwise, match by comparing keys\n const keysOptions = Object.assign(Object.assign({}, matchOptions), { ignoreSearch: true });\n const cacheKeys = await cache.keys(request, keysOptions);\n for (const cacheKey of cacheKeys) {\n const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams);\n if (strippedRequestURL === strippedCacheKeyURL) {\n return cache.match(cacheKey, matchOptions);\n }\n }\n return;\n}\nexport { cacheMatchIgnoreParams };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The Deferred class composes Promises in a way that allows for them to be\n * resolved or rejected from outside the constructor. In most cases promises\n * should be used directly, but Deferreds can be necessary when the logic to\n * resolve a promise must be separate.\n *\n * @private\n */\nclass Deferred {\n /**\n * Creates a promise and exposes its resolve and reject functions as methods.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nexport { Deferred };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n// Callbacks to be executed whenever there's a quota error.\n// Can't change Function type right now.\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst quotaErrorCallbacks = new Set();\nexport { quotaErrorCallbacks };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheMatchIgnoreParams } from 'workbox-core/_private/cacheMatchIgnoreParams.js';\nimport { Deferred } from 'workbox-core/_private/Deferred.js';\nimport { executeQuotaErrorCallbacks } from 'workbox-core/_private/executeQuotaErrorCallbacks.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\nfunction toRequest(input) {\n return typeof input === 'string' ? new Request(input) : input;\n}\n/**\n * A class created every time a Strategy instance instance calls\n * {@link workbox-strategies.Strategy~handle} or\n * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and\n * cache actions around plugin callbacks and keeps track of when the strategy\n * is \"done\" (i.e. all added `event.waitUntil()` promises have resolved).\n *\n * @memberof workbox-strategies\n */\nclass StrategyHandler {\n /**\n * Creates a new instance associated with the passed strategy and event\n * that's handling the request.\n *\n * The constructor also initializes the state that will be passed to each of\n * the plugins handling this request.\n *\n * @param {workbox-strategies.Strategy} strategy\n * @param {Object} options\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params] The return value from the\n * {@link workbox-routing~matchCallback} (if applicable).\n */\n constructor(strategy, options) {\n this._cacheKeys = {};\n /**\n * The request the strategy is performing (passed to the strategy's\n * `handle()` or `handleAll()` method).\n * @name request\n * @instance\n * @type {Request}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * The event associated with this request.\n * @name event\n * @instance\n * @type {ExtendableEvent}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `URL` instance of `request.url` (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `url` param will be present if the strategy was invoked\n * from a workbox `Route` object.\n * @name url\n * @instance\n * @type {URL|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `param` value (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `param` param will be present if the strategy was invoked\n * from a workbox `Route` object and the\n * {@link workbox-routing~matchCallback} returned\n * a truthy value (it will be that value).\n * @name params\n * @instance\n * @type {*|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(options.event, ExtendableEvent, {\n moduleName: 'workbox-strategies',\n className: 'StrategyHandler',\n funcName: 'constructor',\n paramName: 'options.event',\n });\n }\n Object.assign(this, options);\n this.event = options.event;\n this._strategy = strategy;\n this._handlerDeferred = new Deferred();\n this._extendLifetimePromises = [];\n // Copy the plugins list (since it's mutable on the strategy),\n // so any mutations don't affect this handler instance.\n this._plugins = [...strategy.plugins];\n this._pluginStateMap = new Map();\n for (const plugin of this._plugins) {\n this._pluginStateMap.set(plugin, {});\n }\n this.event.waitUntil(this._handlerDeferred.promise);\n }\n /**\n * Fetches a given request (and invokes any applicable plugin callback\n * methods) using the `fetchOptions` (for non-navigation requests) and\n * `plugins` defined on the `Strategy` object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - `requestWillFetch()`\n * - `fetchDidSucceed()`\n * - `fetchDidFail()`\n *\n * @param {Request|string} input The URL or request to fetch.\n * @return {Promise}\n */\n async fetch(input) {\n const { event } = this;\n let request = toRequest(input);\n if (request.mode === 'navigate' &&\n event instanceof FetchEvent &&\n event.preloadResponse) {\n const possiblePreloadResponse = (await event.preloadResponse);\n if (possiblePreloadResponse) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Using a preloaded navigation response for ` +\n `'${getFriendlyURL(request.url)}'`);\n }\n return possiblePreloadResponse;\n }\n }\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const originalRequest = this.hasCallback('fetchDidFail')\n ? request.clone()\n : null;\n try {\n for (const cb of this.iterateCallbacks('requestWillFetch')) {\n request = await cb({ request: request.clone(), event });\n }\n }\n catch (err) {\n if (err instanceof Error) {\n throw new WorkboxError('plugin-error-request-will-fetch', {\n thrownErrorMessage: err.message,\n });\n }\n }\n // The request can be altered by plugins with `requestWillFetch` making\n // the original request (most likely from a `fetch` event) different\n // from the Request we make. Pass both to `fetchDidFail` to aid debugging.\n const pluginFilteredRequest = request.clone();\n try {\n let fetchResponse;\n // See https://github.com/GoogleChrome/workbox/issues/1796\n fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions);\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Network request for ` +\n `'${getFriendlyURL(request.url)}' returned a response with ` +\n `status '${fetchResponse.status}'.`);\n }\n for (const callback of this.iterateCallbacks('fetchDidSucceed')) {\n fetchResponse = await callback({\n event,\n request: pluginFilteredRequest,\n response: fetchResponse,\n });\n }\n return fetchResponse;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Network request for ` +\n `'${getFriendlyURL(request.url)}' threw an error.`, error);\n }\n // `originalRequest` will only exist if a `fetchDidFail` callback\n // is being used (see above).\n if (originalRequest) {\n await this.runCallbacks('fetchDidFail', {\n error: error,\n event,\n originalRequest: originalRequest.clone(),\n request: pluginFilteredRequest.clone(),\n });\n }\n throw error;\n }\n }\n /**\n * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on\n * the response generated by `this.fetch()`.\n *\n * The call to `this.cachePut()` automatically invokes `this.waitUntil()`,\n * so you do not have to manually call `waitUntil()` on the event.\n *\n * @param {Request|string} input The request or URL to fetch and cache.\n * @return {Promise}\n */\n async fetchAndCachePut(input) {\n const response = await this.fetch(input);\n const responseClone = response.clone();\n void this.waitUntil(this.cachePut(input, responseClone));\n return response;\n }\n /**\n * Matches a request from the cache (and invokes any applicable plugin\n * callback methods) using the `cacheName`, `matchOptions`, and `plugins`\n * defined on the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cachedResponseWillByUsed()\n *\n * @param {Request|string} key The Request or URL to use as the cache key.\n * @return {Promise} A matching response, if found.\n */\n async cacheMatch(key) {\n const request = toRequest(key);\n let cachedResponse;\n const { cacheName, matchOptions } = this._strategy;\n const effectiveRequest = await this.getCacheKey(request, 'read');\n const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { cacheName });\n cachedResponse = await caches.match(effectiveRequest, multiMatchOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (cachedResponse) {\n logger.debug(`Found a cached response in '${cacheName}'.`);\n }\n else {\n logger.debug(`No cached response found in '${cacheName}'.`);\n }\n }\n for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) {\n cachedResponse =\n (await callback({\n cacheName,\n matchOptions,\n cachedResponse,\n request: effectiveRequest,\n event: this.event,\n })) || undefined;\n }\n return cachedResponse;\n }\n /**\n * Puts a request/response pair in the cache (and invokes any applicable\n * plugin callback methods) using the `cacheName` and `plugins` defined on\n * the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cacheWillUpdate()\n * - cacheDidUpdate()\n *\n * @param {Request|string} key The request or URL to use as the cache key.\n * @param {Response} response The response to cache.\n * @return {Promise} `false` if a cacheWillUpdate caused the response\n * not be cached, and `true` otherwise.\n */\n async cachePut(key, response) {\n const request = toRequest(key);\n // Run in the next task to avoid blocking other cache reads.\n // https://github.com/w3c/ServiceWorker/issues/1397\n await timeout(0);\n const effectiveRequest = await this.getCacheKey(request, 'write');\n if (process.env.NODE_ENV !== 'production') {\n if (effectiveRequest.method && effectiveRequest.method !== 'GET') {\n throw new WorkboxError('attempt-to-cache-non-get-request', {\n url: getFriendlyURL(effectiveRequest.url),\n method: effectiveRequest.method,\n });\n }\n // See https://github.com/GoogleChrome/workbox/issues/2818\n const vary = response.headers.get('Vary');\n if (vary) {\n logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` +\n `has a 'Vary: ${vary}' header. ` +\n `Consider setting the {ignoreVary: true} option on your strategy ` +\n `to ensure cache matching and deletion works as expected.`);\n }\n }\n if (!response) {\n if (process.env.NODE_ENV !== 'production') {\n logger.error(`Cannot cache non-existent response for ` +\n `'${getFriendlyURL(effectiveRequest.url)}'.`);\n }\n throw new WorkboxError('cache-put-with-no-response', {\n url: getFriendlyURL(effectiveRequest.url),\n });\n }\n const responseToCache = await this._ensureResponseSafeToCache(response);\n if (!responseToCache) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` +\n `will not be cached.`, responseToCache);\n }\n return false;\n }\n const { cacheName, matchOptions } = this._strategy;\n const cache = await self.caches.open(cacheName);\n const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate');\n const oldResponse = hasCacheUpdateCallback\n ? await cacheMatchIgnoreParams(\n // TODO(philipwalton): the `__WB_REVISION__` param is a precaching\n // feature. Consider into ways to only add this behavior if using\n // precaching.\n cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions)\n : null;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Updating the '${cacheName}' cache with a new Response ` +\n `for ${getFriendlyURL(effectiveRequest.url)}.`);\n }\n try {\n await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache);\n }\n catch (error) {\n if (error instanceof Error) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError\n if (error.name === 'QuotaExceededError') {\n await executeQuotaErrorCallbacks();\n }\n throw error;\n }\n }\n for (const callback of this.iterateCallbacks('cacheDidUpdate')) {\n await callback({\n cacheName,\n oldResponse,\n newResponse: responseToCache.clone(),\n request: effectiveRequest,\n event: this.event,\n });\n }\n return true;\n }\n /**\n * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and\n * executes any of those callbacks found in sequence. The final `Request`\n * object returned by the last plugin is treated as the cache key for cache\n * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have\n * been registered, the passed request is returned unmodified\n *\n * @param {Request} request\n * @param {string} mode\n * @return {Promise}\n */\n async getCacheKey(request, mode) {\n const key = `${request.url} | ${mode}`;\n if (!this._cacheKeys[key]) {\n let effectiveRequest = request;\n for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) {\n effectiveRequest = toRequest(await callback({\n mode,\n request: effectiveRequest,\n event: this.event,\n // params has a type any can't change right now.\n params: this.params, // eslint-disable-line\n }));\n }\n this._cacheKeys[key] = effectiveRequest;\n }\n return this._cacheKeys[key];\n }\n /**\n * Returns true if the strategy has at least one plugin with the given\n * callback.\n *\n * @param {string} name The name of the callback to check for.\n * @return {boolean}\n */\n hasCallback(name) {\n for (const plugin of this._strategy.plugins) {\n if (name in plugin) {\n return true;\n }\n }\n return false;\n }\n /**\n * Runs all plugin callbacks matching the given name, in order, passing the\n * given param object (merged ith the current plugin state) as the only\n * argument.\n *\n * Note: since this method runs all plugins, it's not suitable for cases\n * where the return value of a callback needs to be applied prior to calling\n * the next callback. See\n * {@link workbox-strategies.StrategyHandler#iterateCallbacks}\n * below for how to handle that case.\n *\n * @param {string} name The name of the callback to run within each plugin.\n * @param {Object} param The object to pass as the first (and only) param\n * when executing each callback. This object will be merged with the\n * current plugin state prior to callback execution.\n */\n async runCallbacks(name, param) {\n for (const callback of this.iterateCallbacks(name)) {\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n await callback(param);\n }\n }\n /**\n * Accepts a callback and returns an iterable of matching plugin callbacks,\n * where each callback is wrapped with the current handler state (i.e. when\n * you call each callback, whatever object parameter you pass it will\n * be merged with the plugin's current state).\n *\n * @param {string} name The name fo the callback to run\n * @return {Array}\n */\n *iterateCallbacks(name) {\n for (const plugin of this._strategy.plugins) {\n if (typeof plugin[name] === 'function') {\n const state = this._pluginStateMap.get(plugin);\n const statefulCallback = (param) => {\n const statefulParam = Object.assign(Object.assign({}, param), { state });\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n return plugin[name](statefulParam);\n };\n yield statefulCallback;\n }\n }\n }\n /**\n * Adds a promise to the\n * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises}\n * of the event event associated with the request being handled (usually a\n * `FetchEvent`).\n *\n * Note: you can await\n * {@link workbox-strategies.StrategyHandler~doneWaiting}\n * to know when all added promises have settled.\n *\n * @param {Promise} promise A promise to add to the extend lifetime promises\n * of the event that triggered the request.\n */\n waitUntil(promise) {\n this._extendLifetimePromises.push(promise);\n return promise;\n }\n /**\n * Returns a promise that resolves once all promises passed to\n * {@link workbox-strategies.StrategyHandler~waitUntil}\n * have settled.\n *\n * Note: any work done after `doneWaiting()` settles should be manually\n * passed to an event's `waitUntil()` method (not this handler's\n * `waitUntil()` method), otherwise the service worker thread my be killed\n * prior to your work completing.\n */\n async doneWaiting() {\n let promise;\n while ((promise = this._extendLifetimePromises.shift())) {\n await promise;\n }\n }\n /**\n * Stops running the strategy and immediately resolves any pending\n * `waitUntil()` promises.\n */\n destroy() {\n this._handlerDeferred.resolve(null);\n }\n /**\n * This method will call cacheWillUpdate on the available plugins (or use\n * status === 200) to determine if the Response is safe and valid to cache.\n *\n * @param {Request} options.request\n * @param {Response} options.response\n * @return {Promise}\n *\n * @private\n */\n async _ensureResponseSafeToCache(response) {\n let responseToCache = response;\n let pluginsUsed = false;\n for (const callback of this.iterateCallbacks('cacheWillUpdate')) {\n responseToCache =\n (await callback({\n request: this.request,\n response: responseToCache,\n event: this.event,\n })) || undefined;\n pluginsUsed = true;\n if (!responseToCache) {\n break;\n }\n }\n if (!pluginsUsed) {\n if (responseToCache && responseToCache.status !== 200) {\n responseToCache = undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (responseToCache) {\n if (responseToCache.status !== 200) {\n if (responseToCache.status === 0) {\n logger.warn(`The response for '${this.request.url}' ` +\n `is an opaque response. The caching strategy that you're ` +\n `using will not cache opaque responses by default.`);\n }\n else {\n logger.debug(`The response for '${this.request.url}' ` +\n `returned a status code of '${response.status}' and won't ` +\n `be cached as a result.`);\n }\n }\n }\n }\n }\n return responseToCache;\n }\n}\nexport { StrategyHandler };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Returns a promise that resolves and the passed number of milliseconds.\n * This utility is an async/await-friendly version of `setTimeout`.\n *\n * @param {number} ms\n * @return {Promise}\n * @private\n */\nexport function timeout(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst getFriendlyURL = (url) => {\n const urlObj = new URL(String(url), location.href);\n // See https://github.com/GoogleChrome/workbox/issues/2323\n // We want to include everything, except for the origin if it's same-origin.\n return urlObj.href.replace(new RegExp(`^${location.origin}`), '');\n};\nexport { getFriendlyURL };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from '../_private/logger.js';\nimport { quotaErrorCallbacks } from '../models/quotaErrorCallbacks.js';\nimport '../_version.js';\n/**\n * Runs all of the callback functions, one at a time sequentially, in the order\n * in which they were registered.\n *\n * @memberof workbox-core\n * @private\n */\nasync function executeQuotaErrorCallbacks() {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`About to run ${quotaErrorCallbacks.size} ` +\n `callbacks to clean up caches.`);\n }\n for (const callback of quotaErrorCallbacks) {\n await callback();\n if (process.env.NODE_ENV !== 'production') {\n logger.log(callback, 'is complete.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log('Finished running callbacks.');\n }\n}\nexport { executeQuotaErrorCallbacks };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { StrategyHandler } from './StrategyHandler.js';\nimport './_version.js';\n/**\n * An abstract base class that all other strategy classes must extend from:\n *\n * @memberof workbox-strategies\n */\nclass Strategy {\n /**\n * Creates a new instance of the strategy and sets all documented option\n * properties as public instance properties.\n *\n * Note: if a custom strategy class extends the base Strategy class and does\n * not need more than these properties, it does not need to define its own\n * constructor.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n */\n constructor(options = {}) {\n /**\n * Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n *\n * @type {string}\n */\n this.cacheName = cacheNames.getRuntimeName(options.cacheName);\n /**\n * The list\n * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * used by this strategy.\n *\n * @type {Array}\n */\n this.plugins = options.plugins || [];\n /**\n * Values passed along to the\n * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters}\n * of all fetch() requests made by this strategy.\n *\n * @type {Object}\n */\n this.fetchOptions = options.fetchOptions;\n /**\n * The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n *\n * @type {Object}\n */\n this.matchOptions = options.matchOptions;\n }\n /**\n * Perform a request strategy and returns a `Promise` that will resolve with\n * a `Response`, invoking all relevant plugin callbacks.\n *\n * When a strategy instance is registered with a Workbox\n * {@link workbox-routing.Route}, this method is automatically\n * called when the route matches.\n *\n * Alternatively, this method can be used in a standalone `FetchEvent`\n * listener by passing it to `event.respondWith()`.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n */\n handle(options) {\n const [responseDone] = this.handleAll(options);\n return responseDone;\n }\n /**\n * Similar to {@link workbox-strategies.Strategy~handle}, but\n * instead of just returning a `Promise` that resolves to a `Response` it\n * it will return an tuple of `[response, done]` promises, where the former\n * (`response`) is equivalent to what `handle()` returns, and the latter is a\n * Promise that will resolve once any promises that were added to\n * `event.waitUntil()` as part of performing the strategy have completed.\n *\n * You can await the `done` promise to ensure any extra work performed by\n * the strategy (usually caching responses) completes successfully.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n * @return {Array} A tuple of [response, done]\n * promises that can be used to determine when the response resolves as\n * well as when the handler has completed all its work.\n */\n handleAll(options) {\n // Allow for flexible options to be passed.\n if (options instanceof FetchEvent) {\n options = {\n event: options,\n request: options.request,\n };\n }\n const event = options.event;\n const request = typeof options.request === 'string'\n ? new Request(options.request)\n : options.request;\n const params = 'params' in options ? options.params : undefined;\n const handler = new StrategyHandler(this, { event, request, params });\n const responseDone = this._getResponse(handler, request, event);\n const handlerDone = this._awaitComplete(responseDone, handler, request, event);\n // Return an array of promises, suitable for use with Promise.all().\n return [responseDone, handlerDone];\n }\n async _getResponse(handler, request, event) {\n await handler.runCallbacks('handlerWillStart', { event, request });\n let response = undefined;\n try {\n response = await this._handle(request, handler);\n // The \"official\" Strategy subclasses all throw this error automatically,\n // but in case a third-party Strategy doesn't, ensure that we have a\n // consistent failure when there's no response or an error response.\n if (!response || response.type === 'error') {\n throw new WorkboxError('no-response', { url: request.url });\n }\n }\n catch (error) {\n if (error instanceof Error) {\n for (const callback of handler.iterateCallbacks('handlerDidError')) {\n response = await callback({ error, event, request });\n if (response) {\n break;\n }\n }\n }\n if (!response) {\n throw error;\n }\n else if (process.env.NODE_ENV !== 'production') {\n logger.log(`While responding to '${getFriendlyURL(request.url)}', ` +\n `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` +\n `a handlerDidError plugin.`);\n }\n }\n for (const callback of handler.iterateCallbacks('handlerWillRespond')) {\n response = await callback({ event, request, response });\n }\n return response;\n }\n async _awaitComplete(responseDone, handler, request, event) {\n let response;\n let error;\n try {\n response = await responseDone;\n }\n catch (error) {\n // Ignore errors, as response errors should be caught via the `response`\n // promise above. The `done` promise will only throw for errors in\n // promises passed to `handler.waitUntil()`.\n }\n try {\n await handler.runCallbacks('handlerDidRespond', {\n event,\n request,\n response,\n });\n await handler.doneWaiting();\n }\n catch (waitUntilError) {\n if (waitUntilError instanceof Error) {\n error = waitUntilError;\n }\n }\n await handler.runCallbacks('handlerDidComplete', {\n event,\n request,\n response,\n error: error,\n });\n handler.destroy();\n if (error) {\n throw error;\n }\n }\n}\nexport { Strategy };\n/**\n * Classes extending the `Strategy` based class should implement this method,\n * and leverage the {@link workbox-strategies.StrategyHandler}\n * arg to perform all fetching and cache logic, which will ensure all relevant\n * cache, cache options, fetch options and plugins are used (per the current\n * strategy instance).\n *\n * @name _handle\n * @instance\n * @abstract\n * @function\n * @param {Request} request\n * @param {workbox-strategies.StrategyHandler} handler\n * @return {Promise}\n *\n * @memberof workbox-strategies.Strategy\n */\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A utility method that makes it easier to use `event.waitUntil` with\n * async functions and return the result.\n *\n * @param {ExtendableEvent} event\n * @param {Function} asyncFn\n * @return {Function}\n * @private\n */\nfunction waitUntil(event, asyncFn) {\n const returnPromise = asyncFn();\n event.waitUntil(returnPromise);\n return returnPromise;\n}\nexport { waitUntil };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:precaching:6.5.4'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport '../_version.js';\n// Name of the search parameter used to store revision info.\nconst REVISION_SEARCH_PARAM = '__WB_REVISION__';\n/**\n * Converts a manifest entry into a versioned URL suitable for precaching.\n *\n * @param {Object|string} entry\n * @return {string} A URL with versioning info.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function createCacheKey(entry) {\n if (!entry) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If a precache manifest entry is a string, it's assumed to be a versioned\n // URL, like '/app.abcd1234.js'. Return as-is.\n if (typeof entry === 'string') {\n const urlObject = new URL(entry, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n const { revision, url } = entry;\n if (!url) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If there's just a URL and no revision, then it's also assumed to be a\n // versioned URL.\n if (!revision) {\n const urlObject = new URL(url, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n // Otherwise, construct a properly versioned URL using the custom Workbox\n // search parameter along with the revision info.\n const cacheKeyURL = new URL(url, location.href);\n const originalURL = new URL(url, location.href);\n cacheKeyURL.searchParams.set(REVISION_SEARCH_PARAM, revision);\n return {\n cacheKey: cacheKeyURL.href,\n url: originalURL.href,\n };\n}\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to determine the\n * of assets that were updated (or not updated) during the install event.\n *\n * @private\n */\nclass PrecacheInstallReportPlugin {\n constructor() {\n this.updatedURLs = [];\n this.notUpdatedURLs = [];\n this.handlerWillStart = async ({ request, state, }) => {\n // TODO: `state` should never be undefined...\n if (state) {\n state.originalRequest = request;\n }\n };\n this.cachedResponseWillBeUsed = async ({ event, state, cachedResponse, }) => {\n if (event.type === 'install') {\n if (state &&\n state.originalRequest &&\n state.originalRequest instanceof Request) {\n // TODO: `state` should never be undefined...\n const url = state.originalRequest.url;\n if (cachedResponse) {\n this.notUpdatedURLs.push(url);\n }\n else {\n this.updatedURLs.push(url);\n }\n }\n }\n return cachedResponse;\n };\n }\n}\nexport { PrecacheInstallReportPlugin };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to translate URLs into\n * the corresponding cache key, based on the current revision info.\n *\n * @private\n */\nclass PrecacheCacheKeyPlugin {\n constructor({ precacheController }) {\n this.cacheKeyWillBeUsed = async ({ request, params, }) => {\n // Params is type any, can't change right now.\n /* eslint-disable */\n const cacheKey = (params === null || params === void 0 ? void 0 : params.cacheKey) ||\n this._precacheController.getCacheKeyForURL(request.url);\n /* eslint-enable */\n return cacheKey\n ? new Request(cacheKey, { headers: request.headers })\n : request;\n };\n this._precacheController = precacheController;\n }\n}\nexport { PrecacheCacheKeyPlugin };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nlet supportStatus;\n/**\n * A utility function that determines whether the current browser supports\n * constructing a new `Response` from a `response.body` stream.\n *\n * @return {boolean} `true`, if the current browser can successfully\n * construct a `Response` from a `response.body` stream, `false` otherwise.\n *\n * @private\n */\nfunction canConstructResponseFromBodyStream() {\n if (supportStatus === undefined) {\n const testResponse = new Response('');\n if ('body' in testResponse) {\n try {\n new Response(testResponse.body);\n supportStatus = true;\n }\n catch (error) {\n supportStatus = false;\n }\n }\n supportStatus = false;\n }\n return supportStatus;\n}\nexport { canConstructResponseFromBodyStream };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { PrecacheController } from '../PrecacheController.js';\nimport '../_version.js';\nlet precacheController;\n/**\n * @return {PrecacheController}\n * @private\n */\nexport const getOrCreatePrecacheController = () => {\n if (!precacheController) {\n precacheController = new PrecacheController();\n }\n return precacheController;\n};\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { canConstructResponseFromBodyStream } from './_private/canConstructResponseFromBodyStream.js';\nimport { WorkboxError } from './_private/WorkboxError.js';\nimport './_version.js';\n/**\n * Allows developers to copy a response and modify its `headers`, `status`,\n * or `statusText` values (the values settable via a\n * [`ResponseInit`]{@link https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#Syntax}\n * object in the constructor).\n * To modify these values, pass a function as the second argument. That\n * function will be invoked with a single object with the response properties\n * `{headers, status, statusText}`. The return value of this function will\n * be used as the `ResponseInit` for the new `Response`. To change the values\n * either modify the passed parameter(s) and return it, or return a totally\n * new object.\n *\n * This method is intentionally limited to same-origin responses, regardless of\n * whether CORS was used or not.\n *\n * @param {Response} response\n * @param {Function} modifier\n * @memberof workbox-core\n */\nasync function copyResponse(response, modifier) {\n let origin = null;\n // If response.url isn't set, assume it's cross-origin and keep origin null.\n if (response.url) {\n const responseURL = new URL(response.url);\n origin = responseURL.origin;\n }\n if (origin !== self.location.origin) {\n throw new WorkboxError('cross-origin-copy-response', { origin });\n }\n const clonedResponse = response.clone();\n // Create a fresh `ResponseInit` object by cloning the headers.\n const responseInit = {\n headers: new Headers(clonedResponse.headers),\n status: clonedResponse.status,\n statusText: clonedResponse.statusText,\n };\n // Apply any user modifications.\n const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;\n // Create the new response from the body stream and `ResponseInit`\n // modifications. Note: not all browsers support the Response.body stream,\n // so fall back to reading the entire body into memory as a blob.\n const body = canConstructResponseFromBodyStream()\n ? clonedResponse.body\n : await clonedResponse.blob();\n return new Response(body, modifiedResponseInit);\n}\nexport { copyResponse };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { copyResponse } from 'workbox-core/copyResponse.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Strategy } from 'workbox-strategies/Strategy.js';\nimport './_version.js';\n/**\n * A {@link workbox-strategies.Strategy} implementation\n * specifically designed to work with\n * {@link workbox-precaching.PrecacheController}\n * to both cache and fetch precached assets.\n *\n * Note: an instance of this class is created automatically when creating a\n * `PrecacheController`; it's generally not necessary to create this yourself.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-precaching\n */\nclass PrecacheStrategy extends Strategy {\n /**\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] {@link https://developers.google.com/web/tools/workbox/guides/using-plugins|Plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters|init}\n * of all fetch() requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * {@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions|CacheQueryOptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor(options = {}) {\n options.cacheName = cacheNames.getPrecacheName(options.cacheName);\n super(options);\n this._fallbackToNetwork =\n options.fallbackToNetwork === false ? false : true;\n // Redirected responses cannot be used to satisfy a navigation request, so\n // any redirected response must be \"copied\" rather than cloned, so the new\n // response doesn't contain the `redirected` flag. See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1\n this.plugins.push(PrecacheStrategy.copyRedirectedCacheableResponsesPlugin);\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const response = await handler.cacheMatch(request);\n if (response) {\n return response;\n }\n // If this is an `install` event for an entry that isn't already cached,\n // then populate the cache.\n if (handler.event && handler.event.type === 'install') {\n return await this._handleInstall(request, handler);\n }\n // Getting here means something went wrong. An entry that should have been\n // precached wasn't found in the cache.\n return await this._handleFetch(request, handler);\n }\n async _handleFetch(request, handler) {\n let response;\n const params = (handler.params || {});\n // Fall back to the network if we're configured to do so.\n if (this._fallbackToNetwork) {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(`The precached response for ` +\n `${getFriendlyURL(request.url)} in ${this.cacheName} was not ` +\n `found. Falling back to the network.`);\n }\n const integrityInManifest = params.integrity;\n const integrityInRequest = request.integrity;\n const noIntegrityConflict = !integrityInRequest || integrityInRequest === integrityInManifest;\n // Do not add integrity if the original request is no-cors\n // See https://github.com/GoogleChrome/workbox/issues/3096\n response = await handler.fetch(new Request(request, {\n integrity: request.mode !== 'no-cors'\n ? integrityInRequest || integrityInManifest\n : undefined,\n }));\n // It's only \"safe\" to repair the cache if we're using SRI to guarantee\n // that the response matches the precache manifest's expectations,\n // and there's either a) no integrity property in the incoming request\n // or b) there is an integrity, and it matches the precache manifest.\n // See https://github.com/GoogleChrome/workbox/issues/2858\n // Also if the original request users no-cors we don't use integrity.\n // See https://github.com/GoogleChrome/workbox/issues/3096\n if (integrityInManifest &&\n noIntegrityConflict &&\n request.mode !== 'no-cors') {\n this._useDefaultCacheabilityPluginIfNeeded();\n const wasCached = await handler.cachePut(request, response.clone());\n if (process.env.NODE_ENV !== 'production') {\n if (wasCached) {\n logger.log(`A response for ${getFriendlyURL(request.url)} ` +\n `was used to \"repair\" the precache.`);\n }\n }\n }\n }\n else {\n // This shouldn't normally happen, but there are edge cases:\n // https://github.com/GoogleChrome/workbox/issues/1441\n throw new WorkboxError('missing-precache-entry', {\n cacheName: this.cacheName,\n url: request.url,\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n const cacheKey = params.cacheKey || (await handler.getCacheKey(request, 'read'));\n // Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Precaching is responding to: ` + getFriendlyURL(request.url));\n logger.log(`Serving the precached url: ${getFriendlyURL(cacheKey instanceof Request ? cacheKey.url : cacheKey)}`);\n logger.groupCollapsed(`View request details here.`);\n logger.log(request);\n logger.groupEnd();\n logger.groupCollapsed(`View response details here.`);\n logger.log(response);\n logger.groupEnd();\n logger.groupEnd();\n }\n return response;\n }\n async _handleInstall(request, handler) {\n this._useDefaultCacheabilityPluginIfNeeded();\n const response = await handler.fetch(request);\n // Make sure we defer cachePut() until after we know the response\n // should be cached; see https://github.com/GoogleChrome/workbox/issues/2737\n const wasCached = await handler.cachePut(request, response.clone());\n if (!wasCached) {\n // Throwing here will lead to the `install` handler failing, which\n // we want to do if *any* of the responses aren't safe to cache.\n throw new WorkboxError('bad-precaching-response', {\n url: request.url,\n status: response.status,\n });\n }\n return response;\n }\n /**\n * This method is complex, as there a number of things to account for:\n *\n * The `plugins` array can be set at construction, and/or it might be added to\n * to at any time before the strategy is used.\n *\n * At the time the strategy is used (i.e. during an `install` event), there\n * needs to be at least one plugin that implements `cacheWillUpdate` in the\n * array, other than `copyRedirectedCacheableResponsesPlugin`.\n *\n * - If this method is called and there are no suitable `cacheWillUpdate`\n * plugins, we need to add `defaultPrecacheCacheabilityPlugin`.\n *\n * - If this method is called and there is exactly one `cacheWillUpdate`, then\n * we don't have to do anything (this might be a previously added\n * `defaultPrecacheCacheabilityPlugin`, or it might be a custom plugin).\n *\n * - If this method is called and there is more than one `cacheWillUpdate`,\n * then we need to check if one is `defaultPrecacheCacheabilityPlugin`. If so,\n * we need to remove it. (This situation is unlikely, but it could happen if\n * the strategy is used multiple times, the first without a `cacheWillUpdate`,\n * and then later on after manually adding a custom `cacheWillUpdate`.)\n *\n * See https://github.com/GoogleChrome/workbox/issues/2737 for more context.\n *\n * @private\n */\n _useDefaultCacheabilityPluginIfNeeded() {\n let defaultPluginIndex = null;\n let cacheWillUpdatePluginCount = 0;\n for (const [index, plugin] of this.plugins.entries()) {\n // Ignore the copy redirected plugin when determining what to do.\n if (plugin === PrecacheStrategy.copyRedirectedCacheableResponsesPlugin) {\n continue;\n }\n // Save the default plugin's index, in case it needs to be removed.\n if (plugin === PrecacheStrategy.defaultPrecacheCacheabilityPlugin) {\n defaultPluginIndex = index;\n }\n if (plugin.cacheWillUpdate) {\n cacheWillUpdatePluginCount++;\n }\n }\n if (cacheWillUpdatePluginCount === 0) {\n this.plugins.push(PrecacheStrategy.defaultPrecacheCacheabilityPlugin);\n }\n else if (cacheWillUpdatePluginCount > 1 && defaultPluginIndex !== null) {\n // Only remove the default plugin; multiple custom plugins are allowed.\n this.plugins.splice(defaultPluginIndex, 1);\n }\n // Nothing needs to be done if cacheWillUpdatePluginCount is 1\n }\n}\nPrecacheStrategy.defaultPrecacheCacheabilityPlugin = {\n async cacheWillUpdate({ response }) {\n if (!response || response.status >= 400) {\n return null;\n }\n return response;\n },\n};\nPrecacheStrategy.copyRedirectedCacheableResponsesPlugin = {\n async cacheWillUpdate({ response }) {\n return response.redirected ? await copyResponse(response) : response;\n },\n};\nexport { PrecacheStrategy };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { waitUntil } from 'workbox-core/_private/waitUntil.js';\nimport { createCacheKey } from './utils/createCacheKey.js';\nimport { PrecacheInstallReportPlugin } from './utils/PrecacheInstallReportPlugin.js';\nimport { PrecacheCacheKeyPlugin } from './utils/PrecacheCacheKeyPlugin.js';\nimport { printCleanupDetails } from './utils/printCleanupDetails.js';\nimport { printInstallDetails } from './utils/printInstallDetails.js';\nimport { PrecacheStrategy } from './PrecacheStrategy.js';\nimport './_version.js';\n/**\n * Performs efficient precaching of assets.\n *\n * @memberof workbox-precaching\n */\nclass PrecacheController {\n /**\n * Create a new PrecacheController.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] The cache to use for precaching.\n * @param {string} [options.plugins] Plugins to use when precaching as well\n * as responding to fetch events for precached assets.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor({ cacheName, plugins = [], fallbackToNetwork = true, } = {}) {\n this._urlsToCacheKeys = new Map();\n this._urlsToCacheModes = new Map();\n this._cacheKeysToIntegrities = new Map();\n this._strategy = new PrecacheStrategy({\n cacheName: cacheNames.getPrecacheName(cacheName),\n plugins: [\n ...plugins,\n new PrecacheCacheKeyPlugin({ precacheController: this }),\n ],\n fallbackToNetwork,\n });\n // Bind the install and activate methods to the instance.\n this.install = this.install.bind(this);\n this.activate = this.activate.bind(this);\n }\n /**\n * @type {workbox-precaching.PrecacheStrategy} The strategy created by this controller and\n * used to cache assets and respond to fetch events.\n */\n get strategy() {\n return this._strategy;\n }\n /**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n */\n precache(entries) {\n this.addToCacheList(entries);\n if (!this._installAndActiveListenersAdded) {\n self.addEventListener('install', this.install);\n self.addEventListener('activate', this.activate);\n this._installAndActiveListenersAdded = true;\n }\n }\n /**\n * This method will add items to the precache list, removing duplicates\n * and ensuring the information is valid.\n *\n * @param {Array} entries\n * Array of entries to precache.\n */\n addToCacheList(entries) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArray(entries, {\n moduleName: 'workbox-precaching',\n className: 'PrecacheController',\n funcName: 'addToCacheList',\n paramName: 'entries',\n });\n }\n const urlsToWarnAbout = [];\n for (const entry of entries) {\n // See https://github.com/GoogleChrome/workbox/issues/2259\n if (typeof entry === 'string') {\n urlsToWarnAbout.push(entry);\n }\n else if (entry && entry.revision === undefined) {\n urlsToWarnAbout.push(entry.url);\n }\n const { cacheKey, url } = createCacheKey(entry);\n const cacheMode = typeof entry !== 'string' && entry.revision ? 'reload' : 'default';\n if (this._urlsToCacheKeys.has(url) &&\n this._urlsToCacheKeys.get(url) !== cacheKey) {\n throw new WorkboxError('add-to-cache-list-conflicting-entries', {\n firstEntry: this._urlsToCacheKeys.get(url),\n secondEntry: cacheKey,\n });\n }\n if (typeof entry !== 'string' && entry.integrity) {\n if (this._cacheKeysToIntegrities.has(cacheKey) &&\n this._cacheKeysToIntegrities.get(cacheKey) !== entry.integrity) {\n throw new WorkboxError('add-to-cache-list-conflicting-integrities', {\n url,\n });\n }\n this._cacheKeysToIntegrities.set(cacheKey, entry.integrity);\n }\n this._urlsToCacheKeys.set(url, cacheKey);\n this._urlsToCacheModes.set(url, cacheMode);\n if (urlsToWarnAbout.length > 0) {\n const warningMessage = `Workbox is precaching URLs without revision ` +\n `info: ${urlsToWarnAbout.join(', ')}\\nThis is generally NOT safe. ` +\n `Learn more at https://bit.ly/wb-precache`;\n if (process.env.NODE_ENV === 'production') {\n // Use console directly to display this warning without bloating\n // bundle sizes by pulling in all of the logger codebase in prod.\n console.warn(warningMessage);\n }\n else {\n logger.warn(warningMessage);\n }\n }\n }\n }\n /**\n * Precaches new and updated assets. Call this method from the service worker\n * install event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n install(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const installReportPlugin = new PrecacheInstallReportPlugin();\n this.strategy.plugins.push(installReportPlugin);\n // Cache entries one at a time.\n // See https://github.com/GoogleChrome/workbox/issues/2528\n for (const [url, cacheKey] of this._urlsToCacheKeys) {\n const integrity = this._cacheKeysToIntegrities.get(cacheKey);\n const cacheMode = this._urlsToCacheModes.get(url);\n const request = new Request(url, {\n integrity,\n cache: cacheMode,\n credentials: 'same-origin',\n });\n await Promise.all(this.strategy.handleAll({\n params: { cacheKey },\n request,\n event,\n }));\n }\n const { updatedURLs, notUpdatedURLs } = installReportPlugin;\n if (process.env.NODE_ENV !== 'production') {\n printInstallDetails(updatedURLs, notUpdatedURLs);\n }\n return { updatedURLs, notUpdatedURLs };\n });\n }\n /**\n * Deletes assets that are no longer present in the current precache manifest.\n * Call this method from the service worker activate event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n activate(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const cache = await self.caches.open(this.strategy.cacheName);\n const currentlyCachedRequests = await cache.keys();\n const expectedCacheKeys = new Set(this._urlsToCacheKeys.values());\n const deletedURLs = [];\n for (const request of currentlyCachedRequests) {\n if (!expectedCacheKeys.has(request.url)) {\n await cache.delete(request);\n deletedURLs.push(request.url);\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n printCleanupDetails(deletedURLs);\n }\n return { deletedURLs };\n });\n }\n /**\n * Returns a mapping of a precached URL to the corresponding cache key, taking\n * into account the revision information for the URL.\n *\n * @return {Map} A URL to cache key mapping.\n */\n getURLsToCacheKeys() {\n return this._urlsToCacheKeys;\n }\n /**\n * Returns a list of all the URLs that have been precached by the current\n * service worker.\n *\n * @return {Array} The precached URLs.\n */\n getCachedURLs() {\n return [...this._urlsToCacheKeys.keys()];\n }\n /**\n * Returns the cache key used for storing a given URL. If that URL is\n * unversioned, like `/index.html', then the cache key will be the original\n * URL with a search parameter appended to it.\n *\n * @param {string} url A URL whose cache key you want to look up.\n * @return {string} The versioned URL that corresponds to a cache key\n * for the original URL, or undefined if that URL isn't precached.\n */\n getCacheKeyForURL(url) {\n const urlObject = new URL(url, location.href);\n return this._urlsToCacheKeys.get(urlObject.href);\n }\n /**\n * @param {string} url A cache key whose SRI you want to look up.\n * @return {string} The subresource integrity associated with the cache key,\n * or undefined if it's not set.\n */\n getIntegrityForCacheKey(cacheKey) {\n return this._cacheKeysToIntegrities.get(cacheKey);\n }\n /**\n * This acts as a drop-in replacement for\n * [`cache.match()`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match)\n * with the following differences:\n *\n * - It knows what the name of the precache is, and only checks in that cache.\n * - It allows you to pass in an \"original\" URL without versioning parameters,\n * and it will automatically look up the correct cache key for the currently\n * active revision of that URL.\n *\n * E.g., `matchPrecache('index.html')` will find the correct precached\n * response for the currently active service worker, even if the actual cache\n * key is `'/index.html?__WB_REVISION__=1234abcd'`.\n *\n * @param {string|Request} request The key (without revisioning parameters)\n * to look up in the precache.\n * @return {Promise}\n */\n async matchPrecache(request) {\n const url = request instanceof Request ? request.url : request;\n const cacheKey = this.getCacheKeyForURL(url);\n if (cacheKey) {\n const cache = await self.caches.open(this.strategy.cacheName);\n return cache.match(cacheKey);\n }\n return undefined;\n }\n /**\n * Returns a function that looks up `url` in the precache (taking into\n * account revision information), and returns the corresponding `Response`.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @return {workbox-routing~handlerCallback}\n */\n createHandlerBoundToURL(url) {\n const cacheKey = this.getCacheKeyForURL(url);\n if (!cacheKey) {\n throw new WorkboxError('non-precached-url', { url });\n }\n return (options) => {\n options.request = new Request(url);\n options.params = Object.assign({ cacheKey }, options.params);\n return this.strategy.handle(options);\n };\n }\n}\nexport { PrecacheController };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { Route } from 'workbox-routing/Route.js';\nimport { generateURLVariations } from './utils/generateURLVariations.js';\nimport './_version.js';\n/**\n * A subclass of {@link workbox-routing.Route} that takes a\n * {@link workbox-precaching.PrecacheController}\n * instance and uses it to match incoming requests and handle fetching\n * responses from the precache.\n *\n * @memberof workbox-precaching\n * @extends workbox-routing.Route\n */\nclass PrecacheRoute extends Route {\n /**\n * @param {PrecacheController} precacheController A `PrecacheController`\n * instance used to both match requests and respond to fetch events.\n * @param {Object} [options] Options to control how requests are matched\n * against the list of precached URLs.\n * @param {string} [options.directoryIndex=index.html] The `directoryIndex` will\n * check cache entries for a URLs ending with '/' to see if there is a hit when\n * appending the `directoryIndex` value.\n * @param {Array} [options.ignoreURLParametersMatching=[/^utm_/, /^fbclid$/]] An\n * array of regex's to remove search params when looking for a cache match.\n * @param {boolean} [options.cleanURLs=true] The `cleanURLs` option will\n * check the cache for the URL with a `.html` added to the end of the end.\n * @param {workbox-precaching~urlManipulation} [options.urlManipulation]\n * This is a function that should take a URL and return an array of\n * alternative URLs that should be checked for precache matches.\n */\n constructor(precacheController, options) {\n const match = ({ request, }) => {\n const urlsToCacheKeys = precacheController.getURLsToCacheKeys();\n for (const possibleURL of generateURLVariations(request.url, options)) {\n const cacheKey = urlsToCacheKeys.get(possibleURL);\n if (cacheKey) {\n const integrity = precacheController.getIntegrityForCacheKey(cacheKey);\n return { cacheKey, integrity };\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Precaching did not find a match for ` + getFriendlyURL(request.url));\n }\n return;\n };\n super(match, precacheController.strategy);\n }\n}\nexport { PrecacheRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { removeIgnoredSearchParams } from './removeIgnoredSearchParams.js';\nimport '../_version.js';\n/**\n * Generator function that yields possible variations on the original URL to\n * check, one at a time.\n *\n * @param {string} url\n * @param {Object} options\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function* generateURLVariations(url, { ignoreURLParametersMatching = [/^utm_/, /^fbclid$/], directoryIndex = 'index.html', cleanURLs = true, urlManipulation, } = {}) {\n const urlObject = new URL(url, location.href);\n urlObject.hash = '';\n yield urlObject.href;\n const urlWithoutIgnoredParams = removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching);\n yield urlWithoutIgnoredParams.href;\n if (directoryIndex && urlWithoutIgnoredParams.pathname.endsWith('/')) {\n const directoryURL = new URL(urlWithoutIgnoredParams.href);\n directoryURL.pathname += directoryIndex;\n yield directoryURL.href;\n }\n if (cleanURLs) {\n const cleanURL = new URL(urlWithoutIgnoredParams.href);\n cleanURL.pathname += '.html';\n yield cleanURL.href;\n }\n if (urlManipulation) {\n const additionalURLs = urlManipulation({ url: urlObject });\n for (const urlToAttempt of additionalURLs) {\n yield urlToAttempt.href;\n }\n }\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Removes any URL search parameters that should be ignored.\n *\n * @param {URL} urlObject The original URL.\n * @param {Array} ignoreURLParametersMatching RegExps to test against\n * each search parameter name. Matches mean that the search parameter should be\n * ignored.\n * @return {URL} The URL with any ignored search parameters removed.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching = []) {\n // Convert the iterable into an array at the start of the loop to make sure\n // deletion doesn't mess up iteration.\n for (const paramName of [...urlObject.searchParams.keys()]) {\n if (ignoreURLParametersMatching.some((regExp) => regExp.test(paramName))) {\n urlObject.searchParams.delete(paramName);\n }\n }\n return urlObject;\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { cacheOkAndOpaquePlugin } from './plugins/cacheOkAndOpaquePlugin.js';\nimport { Strategy } from './Strategy.js';\nimport { messages } from './utils/messages.js';\nimport './_version.js';\n/**\n * An implementation of a\n * [network first](https://developer.chrome.com/docs/workbox/caching-strategies-overview/#network-first-falling-back-to-cache)\n * request strategy.\n *\n * By default, this strategy will cache responses with a 200 status code as\n * well as [opaque responses](https://developer.chrome.com/docs/workbox/caching-resources-during-runtime/#opaque-responses).\n * Opaque responses are are cross-origin requests where the response doesn't\n * support [CORS](https://enable-cors.org/).\n *\n * If the network request fails, and there is no cache match, this will throw\n * a `WorkboxError` exception.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-strategies\n */\nclass NetworkFirst extends Strategy {\n /**\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] [`CacheQueryOptions`](https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions)\n * @param {number} [options.networkTimeoutSeconds] If set, any network requests\n * that fail to respond within the timeout will fallback to the cache.\n *\n * This option can be used to combat\n * \"[lie-fi]{@link https://developers.google.com/web/fundamentals/performance/poor-connectivity/#lie-fi}\"\n * scenarios.\n */\n constructor(options = {}) {\n super(options);\n // If this instance contains no plugins with a 'cacheWillUpdate' callback,\n // prepend the `cacheOkAndOpaquePlugin` plugin to the plugins list.\n if (!this.plugins.some((p) => 'cacheWillUpdate' in p)) {\n this.plugins.unshift(cacheOkAndOpaquePlugin);\n }\n this._networkTimeoutSeconds = options.networkTimeoutSeconds || 0;\n if (process.env.NODE_ENV !== 'production') {\n if (this._networkTimeoutSeconds) {\n assert.isType(this._networkTimeoutSeconds, 'number', {\n moduleName: 'workbox-strategies',\n className: this.constructor.name,\n funcName: 'constructor',\n paramName: 'networkTimeoutSeconds',\n });\n }\n }\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const logs = [];\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-strategies',\n className: this.constructor.name,\n funcName: 'handle',\n paramName: 'makeRequest',\n });\n }\n const promises = [];\n let timeoutId;\n if (this._networkTimeoutSeconds) {\n const { id, promise } = this._getTimeoutPromise({ request, logs, handler });\n timeoutId = id;\n promises.push(promise);\n }\n const networkPromise = this._getNetworkPromise({\n timeoutId,\n request,\n logs,\n handler,\n });\n promises.push(networkPromise);\n const response = await handler.waitUntil((async () => {\n // Promise.race() will resolve as soon as the first promise resolves.\n return ((await handler.waitUntil(Promise.race(promises))) ||\n // If Promise.race() resolved with null, it might be due to a network\n // timeout + a cache miss. If that were to happen, we'd rather wait until\n // the networkPromise resolves instead of returning null.\n // Note that it's fine to await an already-resolved promise, so we don't\n // have to check to see if it's still \"in flight\".\n (await networkPromise));\n })());\n if (process.env.NODE_ENV !== 'production') {\n logger.groupCollapsed(messages.strategyStart(this.constructor.name, request));\n for (const log of logs) {\n logger.log(log);\n }\n messages.printFinalResponse(response);\n logger.groupEnd();\n }\n if (!response) {\n throw new WorkboxError('no-response', { url: request.url });\n }\n return response;\n }\n /**\n * @param {Object} options\n * @param {Request} options.request\n * @param {Array} options.logs A reference to the logs array\n * @param {Event} options.event\n * @return {Promise}\n *\n * @private\n */\n _getTimeoutPromise({ request, logs, handler, }) {\n let timeoutId;\n const timeoutPromise = new Promise((resolve) => {\n const onNetworkTimeout = async () => {\n if (process.env.NODE_ENV !== 'production') {\n logs.push(`Timing out the network response at ` +\n `${this._networkTimeoutSeconds} seconds.`);\n }\n resolve(await handler.cacheMatch(request));\n };\n timeoutId = setTimeout(onNetworkTimeout, this._networkTimeoutSeconds * 1000);\n });\n return {\n promise: timeoutPromise,\n id: timeoutId,\n };\n }\n /**\n * @param {Object} options\n * @param {number|undefined} options.timeoutId\n * @param {Request} options.request\n * @param {Array} options.logs A reference to the logs Array.\n * @param {Event} options.event\n * @return {Promise}\n *\n * @private\n */\n async _getNetworkPromise({ timeoutId, request, logs, handler, }) {\n let error;\n let response;\n try {\n response = await handler.fetchAndCachePut(request);\n }\n catch (fetchError) {\n if (fetchError instanceof Error) {\n error = fetchError;\n }\n }\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (response) {\n logs.push(`Got response from network.`);\n }\n else {\n logs.push(`Unable to get a response from the network. Will respond ` +\n `with a cached response.`);\n }\n }\n if (error || !response) {\n response = await handler.cacheMatch(request);\n if (process.env.NODE_ENV !== 'production') {\n if (response) {\n logs.push(`Found a cached response in the '${this.cacheName}'` + ` cache.`);\n }\n else {\n logs.push(`No response found in the '${this.cacheName}' cache.`);\n }\n }\n }\n return response;\n }\n}\nexport { NetworkFirst };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { addRoute } from './addRoute.js';\nimport { precache } from './precache.js';\nimport './_version.js';\n/**\n * This method will add entries to the precache list and add a route to\n * respond to fetch events.\n *\n * This is a convenience method that will call\n * {@link workbox-precaching.precache} and\n * {@link workbox-precaching.addRoute} in a single call.\n *\n * @param {Array} entries Array of entries to precache.\n * @param {Object} [options] See the\n * {@link workbox-precaching.PrecacheRoute} options.\n *\n * @memberof workbox-precaching\n */\nfunction precacheAndRoute(entries, options) {\n precache(entries);\n addRoute(options);\n}\nexport { precacheAndRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * Please note: This method **will not** serve any of the cached files for you.\n * It only precaches files. To respond to a network request you call\n * {@link workbox-precaching.addRoute}.\n *\n * If you have a single array of files to precache, you can just call\n * {@link workbox-precaching.precacheAndRoute}.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n *\n * @memberof workbox-precaching\n */\nfunction precache(entries) {\n const precacheController = getOrCreatePrecacheController();\n precacheController.precache(entries);\n}\nexport { precache };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { registerRoute } from 'workbox-routing/registerRoute.js';\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport { PrecacheRoute } from './PrecacheRoute.js';\nimport './_version.js';\n/**\n * Add a `fetch` listener to the service worker that will\n * respond to\n * [network requests]{@link https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Custom_responses_to_requests}\n * with precached assets.\n *\n * Requests for assets that aren't precached, the `FetchEvent` will not be\n * responded to, allowing the event to fall through to other `fetch` event\n * listeners.\n *\n * @param {Object} [options] See the {@link workbox-precaching.PrecacheRoute}\n * options.\n *\n * @memberof workbox-precaching\n */\nfunction addRoute(options) {\n const precacheController = getOrCreatePrecacheController();\n const precacheRoute = new PrecacheRoute(precacheController, options);\n registerRoute(precacheRoute);\n}\nexport { addRoute };\n"],"names":["self","_","e","messageGenerator","fallback","code","args","msg","length","JSON","stringify","WorkboxError","Error","constructor","errorCode","details","super","this","name","normalizeHandler","handler","handle","Route","match","method","setCatchHandler","catchHandler","RegExpRoute","regExp","url","result","exec","href","origin","location","index","slice","Router","_routes","Map","_defaultHandlerMap","routes","addFetchListener","addEventListener","event","request","responsePromise","handleRequest","respondWith","addCacheListener","data","type","payload","requestPromises","Promise","all","urlsToCache","map","entry","Request","waitUntil","ports","then","postMessage","URL","protocol","startsWith","sameOrigin","params","route","findMatchingRoute","has","get","err","reject","_catchHandler","catch","async","catchErr","matchResult","Array","isArray","Object","keys","undefined","setDefaultHandler","set","registerRoute","push","unregisterRoute","routeIndex","indexOf","splice","defaultRouter","getOrCreateDefaultRouter","capture","captureUrl","matchCallback","RegExp","moduleName","funcName","paramName","cacheOkAndOpaquePlugin","cacheWillUpdate","response","status","_cacheNameDetails","googleAnalytics","precache","prefix","runtime","suffix","registration","scope","_createCacheName","cacheName","filter","value","join","cacheNames","userCacheName","stripParams","fullURL","ignoreParams","strippedURL","param","searchParams","delete","Deferred","promise","resolve","quotaErrorCallbacks","Set","toRequest","input","StrategyHandler","strategy","options","_cacheKeys","assign","_strategy","_handlerDeferred","_extendLifetimePromises","_plugins","plugins","_pluginStateMap","plugin","fetch","mode","FetchEvent","preloadResponse","possiblePreloadResponse","originalRequest","hasCallback","clone","cb","iterateCallbacks","thrownErrorMessage","message","pluginFilteredRequest","fetchResponse","fetchOptions","callback","error","runCallbacks","fetchAndCachePut","responseClone","cachePut","cacheMatch","key","cachedResponse","matchOptions","effectiveRequest","getCacheKey","multiMatchOptions","caches","ms","setTimeout","String","replace","responseToCache","_ensureResponseSafeToCache","cache","open","hasCacheUpdateCallback","oldResponse","strippedRequestURL","keysOptions","ignoreSearch","cacheKeys","cacheKey","cacheMatchIgnoreParams","put","executeQuotaErrorCallbacks","newResponse","state","statefulCallback","statefulParam","doneWaiting","shift","destroy","pluginsUsed","Strategy","responseDone","handleAll","_getResponse","_awaitComplete","_handle","waitUntilError","asyncFn","returnPromise","createCacheKey","urlObject","revision","cacheKeyURL","originalURL","PrecacheInstallReportPlugin","updatedURLs","notUpdatedURLs","handlerWillStart","cachedResponseWillBeUsed","PrecacheCacheKeyPlugin","precacheController","cacheKeyWillBeUsed","_precacheController","getCacheKeyForURL","headers","supportStatus","copyResponse","modifier","clonedResponse","responseInit","Headers","statusText","modifiedResponseInit","body","testResponse","Response","canConstructResponseFromBodyStream","blob","PrecacheStrategy","_fallbackToNetwork","fallbackToNetwork","copyRedirectedCacheableResponsesPlugin","_handleInstall","_handleFetch","integrityInManifest","integrity","integrityInRequest","noIntegrityConflict","_useDefaultCacheabilityPluginIfNeeded","defaultPluginIndex","cacheWillUpdatePluginCount","entries","defaultPrecacheCacheabilityPlugin","redirected","PrecacheController","_urlsToCacheKeys","_urlsToCacheModes","_cacheKeysToIntegrities","install","bind","activate","addToCacheList","_installAndActiveListenersAdded","urlsToWarnAbout","cacheMode","firstEntry","secondEntry","warningMessage","console","warn","installReportPlugin","credentials","currentlyCachedRequests","expectedCacheKeys","values","deletedURLs","getURLsToCacheKeys","getCachedURLs","getIntegrityForCacheKey","matchPrecache","createHandlerBoundToURL","getOrCreatePrecacheController","PrecacheRoute","urlsToCacheKeys","possibleURL","ignoreURLParametersMatching","directoryIndex","cleanURLs","urlManipulation","hash","urlWithoutIgnoredParams","some","test","removeIgnoredSearchParams","pathname","endsWith","directoryURL","cleanURL","additionalURLs","urlToAttempt","generateURLVariations","p","unshift","_networkTimeoutSeconds","networkTimeoutSeconds","logs","promises","timeoutId","id","_getTimeoutPromise","networkPromise","_getNetworkPromise","race","fetchError","clearTimeout","addRoute"],"mappings":"6CAEA,IACIA,KAAK,uBAAyBC,GAClC,CACA,MAAOC,GAAG,CCEV,MCgBaC,EAdIC,CAACC,KAASC,KACvB,IAAIC,EAAMF,EAIV,OAHIC,EAAKE,OAAS,IACdD,GAAQ,OAAME,KAAKC,UAAUJ,MAE1BC,CAAG,ECId,MAAMI,UAAqBC,MASvBC,WAAAA,CAAYC,EAAWC,GAEnBC,MADgBb,EAAiBW,EAAWC,IAE5CE,KAAKC,KAAOJ,EACZG,KAAKF,QAAUA,CACnB,EC9BJ,IACIf,KAAK,0BAA4BC,GACrC,CACA,MAAOC,GAAG,CCWH,MCAMiB,EAAoBC,GACzBA,GAA8B,iBAAZA,EASXA,EAWA,CAAEC,OAAQD,GCjBzB,MAAME,EAYFT,WAAAA,CAAYU,EAAOH,EAASI,EFhBH,OE8BrBP,KAAKG,QAAUD,EAAiBC,GAChCH,KAAKM,MAAQA,EACbN,KAAKO,OAASA,CAClB,CAMAC,eAAAA,CAAgBL,GACZH,KAAKS,aAAeP,EAAiBC,EACzC,ECnCJ,MAAMO,UAAoBL,EActBT,WAAAA,CAAYe,EAAQR,EAASI,GAiCzBR,OAxBcO,EAAGM,UACb,MAAMC,EAASF,EAAOG,KAAKF,EAAIG,MAE/B,GAAKF,IAODD,EAAII,SAAWC,SAASD,QAA2B,IAAjBH,EAAOK,OAY7C,OAAOL,EAAOM,MAAM,EAAE,GAEbhB,EAASI,EAC1B,ECvCJ,MAAMa,EAIFxB,WAAAA,GACII,KAAKqB,EAAU,IAAIC,IACnBtB,KAAKuB,EAAqB,IAAID,GAClC,CAMA,UAAIE,GACA,OAAOxB,KAAKqB,CAChB,CAKAI,gBAAAA,GAEI1C,KAAK2C,iBAAiB,SAAWC,IAC7B,MAAMC,QAAEA,GAAYD,EACdE,EAAkB7B,KAAK8B,cAAc,CAAEF,UAASD,UAClDE,GACAF,EAAMI,YAAYF,EACtB,GAER,CAuBAG,gBAAAA,GAEIjD,KAAK2C,iBAAiB,WAAaC,IAG/B,GAAIA,EAAMM,MAA4B,eAApBN,EAAMM,KAAKC,KAAuB,CAEhD,MAAMC,QAAEA,GAAYR,EAAMM,KAIpBG,EAAkBC,QAAQC,IAAIH,EAAQI,YAAYC,KAAKC,IACpC,iBAAVA,IACPA,EAAQ,CAACA,IAEb,MAAMb,EAAU,IAAIc,WAAWD,GAC/B,OAAOzC,KAAK8B,cAAc,CAAEF,UAASD,SAAQ,KAKjDA,EAAMgB,UAAUP,GAEZT,EAAMiB,OAASjB,EAAMiB,MAAM,IACtBR,EAAgBS,MAAK,IAAMlB,EAAMiB,MAAM,GAAGE,aAAY,IAEnE,IAER,CAaAhB,aAAAA,EAAcF,QAAEA,EAAOD,MAAEA,IASrB,MAAMf,EAAM,IAAImC,IAAInB,EAAQhB,IAAKK,SAASF,MAC1C,IAAKH,EAAIoC,SAASC,WAAW,QAIzB,OAEJ,MAAMC,EAAatC,EAAII,SAAWC,SAASD,QACrCmC,OAAEA,EAAMC,MAAEA,GAAUpD,KAAKqD,kBAAkB,CAC7C1B,QACAC,UACAsB,aACAtC,QAEJ,IAAIT,EAAUiD,GAASA,EAAMjD,QAe7B,MAAMI,EAASqB,EAAQrB,OAQvB,IAPKJ,GAAWH,KAAKuB,EAAmB+B,IAAI/C,KAKxCJ,EAAUH,KAAKuB,EAAmBgC,IAAIhD,KAErCJ,EAMD,OAkBJ,IAAI0B,EACJ,IACIA,EAAkB1B,EAAQC,OAAO,CAAEQ,MAAKgB,UAASD,QAAOwB,UAC3D,CACD,MAAOK,GACH3B,EAAkBQ,QAAQoB,OAAOD,EACrC,CAEA,MAAM/C,EAAe2C,GAASA,EAAM3C,aAuCpC,OAtCIoB,aAA2BQ,UAC1BrC,KAAK0D,GAAiBjD,KACvBoB,EAAkBA,EAAgB8B,OAAMC,UAEpC,GAAInD,EAUA,IACI,aAAaA,EAAaL,OAAO,CAAEQ,MAAKgB,UAASD,QAAOwB,UAC3D,CACD,MAAOU,GACCA,aAAoBlE,QACpB6D,EAAMK,EAEd,CAEJ,GAAI7D,KAAK0D,EAUL,OAAO1D,KAAK0D,EAActD,OAAO,CAAEQ,MAAKgB,UAASD,UAErD,MAAM6B,CAAG,KAGV3B,CACX,CAgBAwB,iBAAAA,EAAkBzC,IAAEA,EAAGsC,WAAEA,EAAUtB,QAAEA,EAAOD,MAAEA,IAC1C,MAAMH,EAASxB,KAAKqB,EAAQkC,IAAI3B,EAAQrB,SAAW,GACnD,IAAK,MAAM6C,KAAS5B,EAAQ,CACxB,IAAI2B,EAGJ,MAAMW,EAAcV,EAAM9C,MAAM,CAAEM,MAAKsC,aAAYtB,UAASD,UAC5D,GAAImC,EA6BA,OAjBAX,EAASW,GACLC,MAAMC,QAAQb,IAA6B,IAAlBA,EAAO5D,QAI3BuE,EAAYlE,cAAgBqE,QACG,IAApCA,OAAOC,KAAKJ,GAAavE,QAIG,kBAAhBuE,KAPZX,OAASgB,GAcN,CAAEf,QAAOD,SAExB,CAEA,MAAO,EACX,CAeAiB,iBAAAA,CAAkBjE,EAASI,EJ1SF,OI2SrBP,KAAKuB,EAAmB8C,IAAI9D,EAAQL,EAAiBC,GACzD,CAQAK,eAAAA,CAAgBL,GACZH,KAAK0D,EAAgBxD,EAAiBC,EAC1C,CAMAmE,aAAAA,CAAclB,GAiCLpD,KAAKqB,EAAQiC,IAAIF,EAAM7C,SACxBP,KAAKqB,EAAQgD,IAAIjB,EAAM7C,OAAQ,IAInCP,KAAKqB,EAAQkC,IAAIH,EAAM7C,QAAQgE,KAAKnB,EACxC,CAMAoB,eAAAA,CAAgBpB,GACZ,IAAKpD,KAAKqB,EAAQiC,IAAIF,EAAM7C,QACxB,MAAM,IAAIb,EAAa,6CAA8C,CACjEa,OAAQ6C,EAAM7C,SAGtB,MAAMkE,EAAazE,KAAKqB,EAAQkC,IAAIH,EAAM7C,QAAQmE,QAAQtB,GAC1D,KAAIqB,GAAc,GAId,MAAM,IAAI/E,EAAa,yCAHvBM,KAAKqB,EAAQkC,IAAIH,EAAM7C,QAAQoE,OAAOF,EAAY,EAK1D,EC7XJ,IAAIG,EAQG,MAAMC,EAA2BA,KAC/BD,IACDA,EAAgB,IAAIxD,EAEpBwD,EAAcnD,mBACdmD,EAAc5C,oBAEX4C,GCOX,SAASN,EAAcQ,EAAS3E,EAASI,GACrC,IAAI6C,EACJ,GAAuB,iBAAZ0B,EAAsB,CAC7B,MAAMC,EAAa,IAAIhC,IAAI+B,EAAS7D,SAASF,MAkC7CqC,EAAQ,IAAI/C,GAZU2E,EAAGpE,SASdA,EAAIG,OAASgE,EAAWhE,MAGFZ,EAASI,EAC9C,MACK,GAAIuE,aAAmBG,OAExB7B,EAAQ,IAAI1C,EAAYoE,EAAS3E,EAASI,QAEzC,GAAuB,mBAAZuE,EAEZ1B,EAAQ,IAAI/C,EAAMyE,EAAS3E,EAASI,OAEnC,MAAIuE,aAAmBzE,GAIxB,MAAM,IAAIX,EAAa,yBAA0B,CAC7CwF,WAAY,kBACZC,SAAU,gBACVC,UAAW,YANfhC,EAAQ0B,CAQZ,CAGA,OAFsBD,IACRP,cAAclB,GACrBA,CACX,CCzFA,IACIrE,KAAK,6BAA+BC,GACxC,CACA,MAAOC,GAAG,CCGH,MAAMoG,EAAyB,CAWlCC,gBAAiB1B,OAAS2B,cACE,MAApBA,EAASC,QAAsC,IAApBD,EAASC,OAC7BD,EAEJ,MCfTE,EAAoB,CACtBC,gBAAiB,kBACjBC,SAAU,cACVC,OAAQ,UACRC,QAAS,UACTC,OAAgC,oBAAjBC,aAA+BA,aAAaC,MAAQ,IAEjEC,EAAoBC,GACf,CAACT,EAAkBG,OAAQM,EAAWT,EAAkBK,QAC1DK,QAAQC,GAAUA,GAASA,EAAM7G,OAAS,IAC1C8G,KAAK,KAODC,EAWSC,GACPA,GAAiBN,EAAiBR,EAAkBE,UAZtDW,EAiBQC,GACNA,GAAiBN,EAAiBR,EAAkBI,SCpCnE,SAASW,EAAYC,EAASC,GAC1B,MAAMC,EAAc,IAAI5D,IAAI0D,GAC5B,IAAK,MAAMG,KAASF,EAChBC,EAAYE,aAAaC,OAAOF,GAEpC,OAAOD,EAAY5F,IACvB,CCGA,MAAMgG,EAIFnH,WAAAA,GACII,KAAKgH,QAAU,IAAI3E,SAAQ,CAAC4E,EAASxD,KACjCzD,KAAKiH,QAAUA,EACfjH,KAAKyD,OAASA,CAAM,GAE5B,ECdJ,MAAMyD,EAAsB,IAAIC,ICKhC,SAASC,EAAUC,GACf,MAAwB,iBAAVA,EAAqB,IAAI3E,QAAQ2E,GAASA,CAC5D,CAUA,MAAMC,EAiBF1H,WAAAA,CAAY2H,EAAUC,GAClBxH,KAAKyH,EAAa,GA8ClBxD,OAAOyD,OAAO1H,KAAMwH,GACpBxH,KAAK2B,MAAQ6F,EAAQ7F,MACrB3B,KAAK2H,EAAYJ,EACjBvH,KAAK4H,EAAmB,IAAIb,EAC5B/G,KAAK6H,EAA0B,GAG/B7H,KAAK8H,EAAW,IAAIP,EAASQ,SAC7B/H,KAAKgI,EAAkB,IAAI1G,IAC3B,IAAK,MAAM2G,KAAUjI,KAAK8H,EACtB9H,KAAKgI,EAAgB3D,IAAI4D,EAAQ,CAAE,GAEvCjI,KAAK2B,MAAMgB,UAAU3C,KAAK4H,EAAiBZ,QAC/C,CAcA,WAAMkB,CAAMb,GACR,MAAM1F,MAAEA,GAAU3B,KAClB,IAAI4B,EAAUwF,EAAUC,GACxB,GAAqB,aAAjBzF,EAAQuG,MACRxG,aAAiByG,YACjBzG,EAAM0G,gBAAiB,CACvB,MAAMC,QAAiC3G,EAAM0G,gBAC7C,GAAIC,EAKA,OAAOA,CAEf,CAIA,MAAMC,EAAkBvI,KAAKwI,YAAY,gBACnC5G,EAAQ6G,QACR,KACN,IACI,IAAK,MAAMC,KAAM1I,KAAK2I,iBAAiB,oBACnC/G,QAAgB8G,EAAG,CAAE9G,QAASA,EAAQ6G,QAAS9G,SAEtD,CACD,MAAO6B,GACH,GAAIA,aAAe7D,MACf,MAAM,IAAID,EAAa,kCAAmC,CACtDkJ,mBAAoBpF,EAAIqF,SAGpC,CAIA,MAAMC,EAAwBlH,EAAQ6G,QACtC,IACI,IAAIM,EAEJA,QAAsBb,MAAMtG,EAA0B,aAAjBA,EAAQuG,UAAsBhE,EAAYnE,KAAK2H,EAAUqB,cAM9F,IAAK,MAAMC,KAAYjJ,KAAK2I,iBAAiB,mBACzCI,QAAsBE,EAAS,CAC3BtH,QACAC,QAASkH,EACTvD,SAAUwD,IAGlB,OAAOA,CACV,CACD,MAAOG,GAeH,MARIX,SACMvI,KAAKmJ,aAAa,eAAgB,CACpCD,MAAOA,EACPvH,QACA4G,gBAAiBA,EAAgBE,QACjC7G,QAASkH,EAAsBL,UAGjCS,CACV,CACJ,CAWA,sBAAME,CAAiB/B,GACnB,MAAM9B,QAAiBvF,KAAKkI,MAAMb,GAC5BgC,EAAgB9D,EAASkD,QAE/B,OADKzI,KAAK2C,UAAU3C,KAAKsJ,SAASjC,EAAOgC,IAClC9D,CACX,CAaA,gBAAMgE,CAAWC,GACb,MAAM5H,EAAUwF,EAAUoC,GAC1B,IAAIC,EACJ,MAAMvD,UAAEA,EAASwD,aAAEA,GAAiB1J,KAAK2H,EACnCgC,QAAyB3J,KAAK4J,YAAYhI,EAAS,QACnDiI,EAAoB5F,OAAOyD,OAAOzD,OAAOyD,OAAO,CAAA,EAAIgC,GAAe,CAAExD,cAC3EuD,QAAuBK,OAAOxJ,MAAMqJ,EAAkBE,GAStD,IAAK,MAAMZ,KAAYjJ,KAAK2I,iBAAiB,4BACzCc,QACWR,EAAS,CACZ/C,YACAwD,eACAD,iBACA7H,QAAS+H,EACThI,MAAO3B,KAAK2B,cACTwC,EAEf,OAAOsF,CACX,CAgBA,cAAMH,CAASE,EAAKjE,GAChB,MAAM3D,EAAUwF,EAAUoC,GCxP3B,IAAiBO,UD2PF,EC1PX,IAAI1H,SAAS4E,GAAY+C,WAAW/C,EAAS8C,MD2PhD,MAAMJ,QAAyB3J,KAAK4J,YAAYhI,EAAS,SAiBzD,IAAK2D,EAKD,MAAM,IAAI7F,EAAa,6BAA8B,CACjDkB,KE1RQA,EF0RY+I,EAAiB/I,IEzRlC,IAAImC,IAAIkH,OAAOrJ,GAAMK,SAASF,MAG/BA,KAAKmJ,QAAQ,IAAIjF,OAAQ,IAAGhE,SAASD,UAAW,OAJ1CJ,MF6RhB,MAAMuJ,QAAwBnK,KAAKoK,EAA2B7E,GAC9D,IAAK4E,EAKD,OAAO,EAEX,MAAMjE,UAAEA,EAASwD,aAAEA,GAAiB1J,KAAK2H,EACnC0C,QAActL,KAAK+K,OAAOQ,KAAKpE,GAC/BqE,EAAyBvK,KAAKwI,YAAY,kBAC1CgC,EAAcD,QHtR5B3G,eAAsCyG,EAAOzI,EAAS8E,EAAcgD,GAChE,MAAMe,EAAqBjE,EAAY5E,EAAQhB,IAAK8F,GAEpD,GAAI9E,EAAQhB,MAAQ6J,EAChB,OAAOJ,EAAM/J,MAAMsB,EAAS8H,GAGhC,MAAMgB,EAAczG,OAAOyD,OAAOzD,OAAOyD,OAAO,CAAA,EAAIgC,GAAe,CAAEiB,cAAc,IAC7EC,QAAkBP,EAAMnG,KAAKtC,EAAS8I,GAC5C,IAAK,MAAMG,KAAYD,EAEnB,GAAIH,IADwBjE,EAAYqE,EAASjK,IAAK8F,GAElD,OAAO2D,EAAM/J,MAAMuK,EAAUnB,EAIzC,CGuQoBoB,CAIRT,EAAOV,EAAiBlB,QAAS,CAAC,mBAAoBiB,GACpD,KAKN,UACUW,EAAMU,IAAIpB,EAAkBY,EAAyBJ,EAAgB1B,QAAU0B,EACxF,CACD,MAAOjB,GACH,GAAIA,aAAiBvJ,MAKjB,KAHmB,uBAAfuJ,EAAMjJ,YGhT1B2D,iBAKI,IAAK,MAAMqF,KAAY/B,QACb+B,GAQd,CHmS0B+B,GAEJ9B,CAEd,CACA,IAAK,MAAMD,KAAYjJ,KAAK2I,iBAAiB,wBACnCM,EAAS,CACX/C,YACAsE,cACAS,YAAad,EAAgB1B,QAC7B7G,QAAS+H,EACThI,MAAO3B,KAAK2B,QAGpB,OAAO,CACX,CAYA,iBAAMiI,CAAYhI,EAASuG,GACvB,MAAMqB,EAAO,GAAE5H,EAAQhB,SAASuH,IAChC,IAAKnI,KAAKyH,EAAW+B,GAAM,CACvB,IAAIG,EAAmB/H,EACvB,IAAK,MAAMqH,KAAYjJ,KAAK2I,iBAAiB,sBACzCgB,EAAmBvC,QAAgB6B,EAAS,CACxCd,OACAvG,QAAS+H,EACThI,MAAO3B,KAAK2B,MAEZwB,OAAQnD,KAAKmD,UAGrBnD,KAAKyH,EAAW+B,GAAOG,CAC3B,CACA,OAAO3J,KAAKyH,EAAW+B,EAC3B,CAQAhB,WAAAA,CAAYvI,GACR,IAAK,MAAMgI,KAAUjI,KAAK2H,EAAUI,QAChC,GAAI9H,KAAQgI,EACR,OAAO,EAGf,OAAO,CACX,CAiBA,kBAAMkB,CAAalJ,EAAM2G,GACrB,IAAK,MAAMqC,KAAYjJ,KAAK2I,iBAAiB1I,SAGnCgJ,EAASrC,EAEvB,CAUA,iBAAC+B,CAAiB1I,GACd,IAAK,MAAMgI,KAAUjI,KAAK2H,EAAUI,QAChC,GAA4B,mBAAjBE,EAAOhI,GAAsB,CACpC,MAAMiL,EAAQlL,KAAKgI,EAAgBzE,IAAI0E,GACjCkD,EAAoBvE,IACtB,MAAMwE,EAAgBnH,OAAOyD,OAAOzD,OAAOyD,OAAO,CAAA,EAAId,GAAQ,CAAEsE,UAGhE,OAAOjD,EAAOhI,GAAMmL,EAAc,QAEhCD,CACV,CAER,CAcAxI,SAAAA,CAAUqE,GAEN,OADAhH,KAAK6H,EAAwBtD,KAAKyC,GAC3BA,CACX,CAWA,iBAAMqE,GACF,IAAIrE,EACJ,KAAQA,EAAUhH,KAAK6H,EAAwByD,eACrCtE,CAEd,CAKAuE,OAAAA,GACIvL,KAAK4H,EAAiBX,QAAQ,KAClC,CAWA,OAAMmD,CAA2B7E,GAC7B,IAAI4E,EAAkB5E,EAClBiG,GAAc,EAClB,IAAK,MAAMvC,KAAYjJ,KAAK2I,iBAAiB,mBAQzC,GAPAwB,QACWlB,EAAS,CACZrH,QAAS5B,KAAK4B,QACd2D,SAAU4E,EACVxI,MAAO3B,KAAK2B,cACTwC,EACXqH,GAAc,GACTrB,EACD,MAwBR,OArBKqB,GACGrB,GAA8C,MAA3BA,EAAgB3E,SACnC2E,OAAkBhG,GAmBnBgG,CACX,EIhfJ,MAAMsB,EAuBF7L,WAAAA,CAAY4H,EAAU,IAQlBxH,KAAKkG,UAAYI,EAA0BkB,EAAQtB,WAQnDlG,KAAK+H,QAAUP,EAAQO,SAAW,GAQlC/H,KAAKgJ,aAAexB,EAAQwB,aAQ5BhJ,KAAK0J,aAAelC,EAAQkC,YAChC,CAoBAtJ,MAAAA,CAAOoH,GACH,MAAOkE,GAAgB1L,KAAK2L,UAAUnE,GACtC,OAAOkE,CACX,CAuBAC,SAAAA,CAAUnE,GAEFA,aAAmBY,aACnBZ,EAAU,CACN7F,MAAO6F,EACP5F,QAAS4F,EAAQ5F,UAGzB,MAAMD,EAAQ6F,EAAQ7F,MAChBC,EAAqC,iBAApB4F,EAAQ5F,QACzB,IAAIc,QAAQ8E,EAAQ5F,SACpB4F,EAAQ5F,QACRuB,EAAS,WAAYqE,EAAUA,EAAQrE,YAASgB,EAChDhE,EAAU,IAAImH,EAAgBtH,KAAM,CAAE2B,QAAOC,UAASuB,WACtDuI,EAAe1L,KAAK4L,EAAazL,EAASyB,EAASD,GAGzD,MAAO,CAAC+J,EAFY1L,KAAK6L,EAAeH,EAAcvL,EAASyB,EAASD,GAG5E,CACA,OAAMiK,CAAazL,EAASyB,EAASD,GAEjC,IAAI4D,QADEpF,EAAQgJ,aAAa,mBAAoB,CAAExH,QAAOC,YAExD,IAKI,GAJA2D,QAAiBvF,KAAK8L,EAAQlK,EAASzB,IAIlCoF,GAA8B,UAAlBA,EAASrD,KACtB,MAAM,IAAIxC,EAAa,cAAe,CAAEkB,IAAKgB,EAAQhB,KAE5D,CACD,MAAOsI,GACH,GAAIA,aAAiBvJ,MACjB,IAAK,MAAMsJ,KAAY9I,EAAQwI,iBAAiB,mBAE5C,GADApD,QAAiB0D,EAAS,CAAEC,QAAOvH,QAAOC,YACtC2D,EACA,MAIZ,IAAKA,EACD,MAAM2D,CAOd,CACA,IAAK,MAAMD,KAAY9I,EAAQwI,iBAAiB,sBAC5CpD,QAAiB0D,EAAS,CAAEtH,QAAOC,UAAS2D,aAEhD,OAAOA,CACX,CACA,OAAMsG,CAAeH,EAAcvL,EAASyB,EAASD,GACjD,IAAI4D,EACA2D,EACJ,IACI3D,QAAiBmG,CACpB,CACD,MAAOxC,GAGH,CAEJ,UACU/I,EAAQgJ,aAAa,oBAAqB,CAC5CxH,QACAC,UACA2D,mBAEEpF,EAAQkL,aACjB,CACD,MAAOU,GACCA,aAA0BpM,QAC1BuJ,EAAQ6C,EAEhB,CAQA,SAPM5L,EAAQgJ,aAAa,qBAAsB,CAC7CxH,QACAC,UACA2D,WACA2D,MAAOA,IAEX/I,EAAQoL,UACJrC,EACA,MAAMA,CAEd,EChMJ,SAASvG,EAAUhB,EAAOqK,GACtB,MAAMC,EAAgBD,IAEtB,OADArK,EAAMgB,UAAUsJ,GACTA,CACX,CClBA,IACIlN,KAAK,6BAA+BC,GACxC,CACA,MAAOC,GAAG,CCeH,SAASiN,EAAezJ,GAC3B,IAAKA,EACD,MAAM,IAAI/C,EAAa,oCAAqC,CAAE+C,UAIlE,GAAqB,iBAAVA,EAAoB,CAC3B,MAAM0J,EAAY,IAAIpJ,IAAIN,EAAOxB,SAASF,MAC1C,MAAO,CACH8J,SAAUsB,EAAUpL,KACpBH,IAAKuL,EAAUpL,KAEvB,CACA,MAAMqL,SAAEA,EAAQxL,IAAEA,GAAQ6B,EAC1B,IAAK7B,EACD,MAAM,IAAIlB,EAAa,oCAAqC,CAAE+C,UAIlE,IAAK2J,EAAU,CACX,MAAMD,EAAY,IAAIpJ,IAAInC,EAAKK,SAASF,MACxC,MAAO,CACH8J,SAAUsB,EAAUpL,KACpBH,IAAKuL,EAAUpL,KAEvB,CAGA,MAAMsL,EAAc,IAAItJ,IAAInC,EAAKK,SAASF,MACpCuL,EAAc,IAAIvJ,IAAInC,EAAKK,SAASF,MAE1C,OADAsL,EAAYxF,aAAaxC,IAxCC,kBAwC0B+H,GAC7C,CACHvB,SAAUwB,EAAYtL,KACtBH,IAAK0L,EAAYvL,KAEzB,CCzCA,MAAMwL,EACF3M,WAAAA,GACII,KAAKwM,YAAc,GACnBxM,KAAKyM,eAAiB,GACtBzM,KAAK0M,iBAAmB9I,OAAShC,UAASsJ,YAElCA,IACAA,EAAM3C,gBAAkB3G,EAC5B,EAEJ5B,KAAK2M,yBAA2B/I,OAASjC,QAAOuJ,QAAOzB,qBACnD,GAAmB,YAAf9H,EAAMO,MACFgJ,GACAA,EAAM3C,iBACN2C,EAAM3C,2BAA2B7F,QAAS,CAE1C,MAAM9B,EAAMsK,EAAM3C,gBAAgB3H,IAC9B6I,EACAzJ,KAAKyM,eAAelI,KAAK3D,GAGzBZ,KAAKwM,YAAYjI,KAAK3D,EAE9B,CAEJ,OAAO6I,CAAc,CAE7B,EC3BJ,MAAMmD,EACFhN,WAAAA,EAAYiN,mBAAEA,IACV7M,KAAK8M,mBAAqBlJ,OAAShC,UAASuB,aAGxC,MAAM0H,GAAY1H,aAAuC,EAASA,EAAO0H,WACrE7K,KAAK+M,EAAoBC,kBAAkBpL,EAAQhB,KAEvD,OAAOiK,EACD,IAAInI,QAAQmI,EAAU,CAAEoC,QAASrL,EAAQqL,UACzCrL,CAAO,EAEjB5B,KAAK+M,EAAsBF,CAC/B,ECnBJ,IAAIK,ECCAL,ECoBJjJ,eAAeuJ,EAAa5H,EAAU6H,GAClC,IAAIpM,EAAS,KAEb,GAAIuE,EAAS3E,IAAK,CAEdI,EADoB,IAAI+B,IAAIwC,EAAS3E,KAChBI,MACzB,CACA,GAAIA,IAAWjC,KAAKkC,SAASD,OACzB,MAAM,IAAItB,EAAa,6BAA8B,CAAEsB,WAE3D,MAAMqM,EAAiB9H,EAASkD,QAE1B6E,EAAe,CACjBL,QAAS,IAAIM,QAAQF,EAAeJ,SACpCzH,OAAQ6H,EAAe7H,OACvBgI,WAAYH,EAAeG,YAGzBC,EAAuBL,EAAWA,EAASE,GAAgBA,EAI3DI,EFjCV,WACI,QAAsBvJ,IAAlB+I,EAA6B,CAC7B,MAAMS,EAAe,IAAIC,SAAS,IAClC,GAAI,SAAUD,EACV,IACI,IAAIC,SAASD,EAAaD,MAC1BR,GAAgB,CACnB,CACD,MAAOhE,GACHgE,GAAgB,CACpB,CAEJA,GAAgB,CACpB,CACA,OAAOA,CACX,CEkBiBW,GACPR,EAAeK,WACTL,EAAeS,OAC3B,OAAO,IAAIF,SAASF,EAAMD,EAC9B,CC7BA,MAAMM,UAAyBtC,EAkB3B7L,WAAAA,CAAY4H,EAAU,IAClBA,EAAQtB,UAAYI,EAA2BkB,EAAQtB,WACvDnG,MAAMyH,GACNxH,KAAKgO,GAC6B,IAA9BxG,EAAQyG,kBAKZjO,KAAK+H,QAAQxD,KAAKwJ,EAAiBG,uCACvC,CAQA,OAAMpC,CAAQlK,EAASzB,GACnB,MAAMoF,QAAiBpF,EAAQoJ,WAAW3H,GAC1C,OAAI2D,IAKApF,EAAQwB,OAAgC,YAAvBxB,EAAQwB,MAAMO,WAClBlC,KAAKmO,EAAevM,EAASzB,SAIjCH,KAAKoO,EAAaxM,EAASzB,GAC5C,CACA,OAAMiO,CAAaxM,EAASzB,GACxB,IAAIoF,EACJ,MAAMpC,EAAUhD,EAAQgD,QAAU,GAElC,IAAInD,KAAKgO,EAuCL,MAAM,IAAItO,EAAa,yBAA0B,CAC7CwG,UAAWlG,KAAKkG,UAChBtF,IAAKgB,EAAQhB,MAzCQ,CAMzB,MAAMyN,EAAsBlL,EAAOmL,UAC7BC,EAAqB3M,EAAQ0M,UAC7BE,GAAuBD,GAAsBA,IAAuBF,EAG1E9I,QAAiBpF,EAAQ+H,MAAM,IAAIxF,QAAQd,EAAS,CAChD0M,UAA4B,YAAjB1M,EAAQuG,KACboG,GAAsBF,OACtBlK,KASNkK,GACAG,GACiB,YAAjB5M,EAAQuG,OACRnI,KAAKyO,UACmBtO,EAAQmJ,SAAS1H,EAAS2D,EAASkD,SAQnE,CAuBA,OAAOlD,CACX,CACA,OAAM4I,CAAevM,EAASzB,GAC1BH,KAAKyO,IACL,MAAMlJ,QAAiBpF,EAAQ+H,MAAMtG,GAIrC,UADwBzB,EAAQmJ,SAAS1H,EAAS2D,EAASkD,SAIvD,MAAM,IAAI/I,EAAa,0BAA2B,CAC9CkB,IAAKgB,EAAQhB,IACb4E,OAAQD,EAASC,SAGzB,OAAOD,CACX,CA4BAkJ,CAAAA,GACI,IAAIC,EAAqB,KACrBC,EAA6B,EACjC,IAAK,MAAOzN,EAAO+G,KAAWjI,KAAK+H,QAAQ6G,UAEnC3G,IAAW8F,EAAiBG,yCAI5BjG,IAAW8F,EAAiBc,oCAC5BH,EAAqBxN,GAErB+G,EAAO3C,iBACPqJ,KAG2B,IAA/BA,EACA3O,KAAK+H,QAAQxD,KAAKwJ,EAAiBc,mCAE9BF,EAA6B,GAA4B,OAAvBD,GAEvC1O,KAAK+H,QAAQpD,OAAO+J,EAAoB,EAGhD,EAEJX,EAAiBc,kCAAoC,CACjDjL,gBAAqB0B,OAACC,SAAEA,MACfA,GAAYA,EAASC,QAAU,IACzB,KAEJD,GAGfwI,EAAiBG,uCAAyC,CACtDtK,gBAAqB0B,OAACC,SAAEA,KACbA,EAASuJ,iBAAmB3B,EAAa5H,GAAYA,GCnMpE,MAAMwJ,EAWFnP,WAAAA,EAAYsG,UAAEA,EAAS6B,QAAEA,EAAU,GAAEkG,kBAAEA,GAAoB,GAAU,IACjEjO,KAAKgP,EAAmB,IAAI1N,IAC5BtB,KAAKiP,EAAoB,IAAI3N,IAC7BtB,KAAKkP,EAA0B,IAAI5N,IACnCtB,KAAK2H,EAAY,IAAIoG,EAAiB,CAClC7H,UAAWI,EAA2BJ,GACtC6B,QAAS,IACFA,EACH,IAAI6E,EAAuB,CAAEC,mBAAoB7M,QAErDiO,sBAGJjO,KAAKmP,QAAUnP,KAAKmP,QAAQC,KAAKpP,MACjCA,KAAKqP,SAAWrP,KAAKqP,SAASD,KAAKpP,KACvC,CAKA,YAAIuH,GACA,OAAOvH,KAAK2H,CAChB,CAWAhC,QAAAA,CAASiJ,GACL5O,KAAKsP,eAAeV,GACf5O,KAAKuP,IACNxQ,KAAK2C,iBAAiB,UAAW1B,KAAKmP,SACtCpQ,KAAK2C,iBAAiB,WAAY1B,KAAKqP,UACvCrP,KAAKuP,GAAkC,EAE/C,CAQAD,cAAAA,CAAeV,GASX,MAAMY,EAAkB,GACxB,IAAK,MAAM/M,KAASmM,EAAS,CAEJ,iBAAVnM,EACP+M,EAAgBjL,KAAK9B,GAEhBA,QAA4B0B,IAAnB1B,EAAM2J,UACpBoD,EAAgBjL,KAAK9B,EAAM7B,KAE/B,MAAMiK,SAAEA,EAAQjK,IAAEA,GAAQsL,EAAezJ,GACnCgN,EAA6B,iBAAVhN,GAAsBA,EAAM2J,SAAW,SAAW,UAC3E,GAAIpM,KAAKgP,EAAiB1L,IAAI1C,IAC1BZ,KAAKgP,EAAiBzL,IAAI3C,KAASiK,EACnC,MAAM,IAAInL,EAAa,wCAAyC,CAC5DgQ,WAAY1P,KAAKgP,EAAiBzL,IAAI3C,GACtC+O,YAAa9E,IAGrB,GAAqB,iBAAVpI,GAAsBA,EAAM6L,UAAW,CAC9C,GAAItO,KAAKkP,EAAwB5L,IAAIuH,IACjC7K,KAAKkP,EAAwB3L,IAAIsH,KAAcpI,EAAM6L,UACrD,MAAM,IAAI5O,EAAa,4CAA6C,CAChEkB,QAGRZ,KAAKkP,EAAwB7K,IAAIwG,EAAUpI,EAAM6L,UACrD,CAGA,GAFAtO,KAAKgP,EAAiB3K,IAAIzD,EAAKiK,GAC/B7K,KAAKiP,EAAkB5K,IAAIzD,EAAK6O,GAC5BD,EAAgBjQ,OAAS,EAAG,CAC5B,MAAMqQ,EACD,qDAAQJ,EAAgBnJ,KAAK,8EAK9BwJ,QAAQC,KAAKF,EAKrB,CACJ,CACJ,CAWAT,OAAAA,CAAQxN,GAGJ,OAAOgB,EAAUhB,GAAOiC,UACpB,MAAMmM,EAAsB,IAAIxD,EAChCvM,KAAKuH,SAASQ,QAAQxD,KAAKwL,GAG3B,IAAK,MAAOnP,EAAKiK,KAAa7K,KAAKgP,EAAkB,CACjD,MAAMV,EAAYtO,KAAKkP,EAAwB3L,IAAIsH,GAC7C4E,EAAYzP,KAAKiP,EAAkB1L,IAAI3C,GACvCgB,EAAU,IAAIc,QAAQ9B,EAAK,CAC7B0N,YACAjE,MAAOoF,EACPO,YAAa,sBAEX3N,QAAQC,IAAItC,KAAKuH,SAASoE,UAAU,CACtCxI,OAAQ,CAAE0H,YACVjJ,UACAD,UAER,CACA,MAAM6K,YAAEA,EAAWC,eAAEA,GAAmBsD,EAIxC,MAAO,CAAEvD,cAAaC,iBAAgB,GAE9C,CAWA4C,QAAAA,CAAS1N,GAGL,OAAOgB,EAAUhB,GAAOiC,UACpB,MAAMyG,QAActL,KAAK+K,OAAOQ,KAAKtK,KAAKuH,SAASrB,WAC7C+J,QAAgC5F,EAAMnG,OACtCgM,EAAoB,IAAI/I,IAAInH,KAAKgP,EAAiBmB,UAClDC,EAAc,GACpB,IAAK,MAAMxO,KAAWqO,EACbC,EAAkB5M,IAAI1B,EAAQhB,aACzByJ,EAAMvD,OAAOlF,GACnBwO,EAAY7L,KAAK3C,EAAQhB,MAMjC,MAAO,CAAEwP,cAAa,GAE9B,CAOAC,kBAAAA,GACI,OAAOrQ,KAAKgP,CAChB,CAOAsB,aAAAA,GACI,MAAO,IAAItQ,KAAKgP,EAAiB9K,OACrC,CAUA8I,iBAAAA,CAAkBpM,GACd,MAAMuL,EAAY,IAAIpJ,IAAInC,EAAKK,SAASF,MACxC,OAAOf,KAAKgP,EAAiBzL,IAAI4I,EAAUpL,KAC/C,CAMAwP,uBAAAA,CAAwB1F,GACpB,OAAO7K,KAAKkP,EAAwB3L,IAAIsH,EAC5C,CAmBA,mBAAM2F,CAAc5O,GAChB,MAAMhB,EAAMgB,aAAmBc,QAAUd,EAAQhB,IAAMgB,EACjDiJ,EAAW7K,KAAKgN,kBAAkBpM,GACxC,GAAIiK,EAAU,CAEV,aADoB9L,KAAK+K,OAAOQ,KAAKtK,KAAKuH,SAASrB,YACtC5F,MAAMuK,EACvB,CAEJ,CASA4F,uBAAAA,CAAwB7P,GACpB,MAAMiK,EAAW7K,KAAKgN,kBAAkBpM,GACxC,IAAKiK,EACD,MAAM,IAAInL,EAAa,oBAAqB,CAAEkB,QAElD,OAAQ4G,IACJA,EAAQ5F,QAAU,IAAIc,QAAQ9B,GAC9B4G,EAAQrE,OAASc,OAAOyD,OAAO,CAAEmD,YAAYrD,EAAQrE,QAC9CnD,KAAKuH,SAASnH,OAAOoH,GAEpC,EHnRG,MAAMkJ,EAAgCA,KACpC7D,IACDA,EAAqB,IAAIkC,GAEtBlC,GIGX,MAAM8D,UAAsBtQ,EAiBxBT,WAAAA,CAAYiN,EAAoBrF,GAe5BzH,OAdcO,EAAGsB,cACb,MAAMgP,EAAkB/D,EAAmBwD,qBAC3C,IAAK,MAAMQ,KCtBhB,UAAgCjQ,GAAKkQ,4BAAEA,EAA8B,CAAC,QAAS,YAAWC,eAAEA,EAAiB,aAAYC,UAAEA,GAAY,EAAIC,gBAAEA,GAAqB,IACrK,MAAM9E,EAAY,IAAIpJ,IAAInC,EAAKK,SAASF,MACxCoL,EAAU+E,KAAO,SACX/E,EAAUpL,KAChB,MAAMoQ,ECHH,SAAmChF,EAAW2E,EAA8B,IAG/E,IAAK,MAAM1L,IAAa,IAAI+G,EAAUtF,aAAa3C,QAC3C4M,EAA4BM,MAAMzQ,GAAWA,EAAO0Q,KAAKjM,MACzD+G,EAAUtF,aAAaC,OAAO1B,GAGtC,OAAO+G,CACX,CDNoCmF,CAA0BnF,EAAW2E,GAErE,SADMK,EAAwBpQ,KAC1BgQ,GAAkBI,EAAwBI,SAASC,SAAS,KAAM,CAClE,MAAMC,EAAe,IAAI1O,IAAIoO,EAAwBpQ,MACrD0Q,EAAaF,UAAYR,QACnBU,EAAa1Q,IACvB,CACA,GAAIiQ,EAAW,CACX,MAAMU,EAAW,IAAI3O,IAAIoO,EAAwBpQ,MACjD2Q,EAASH,UAAY,cACfG,EAAS3Q,IACnB,CACA,GAAIkQ,EAAiB,CACjB,MAAMU,EAAiBV,EAAgB,CAAErQ,IAAKuL,IAC9C,IAAK,MAAMyF,KAAgBD,QACjBC,EAAa7Q,IAE3B,CACJ,CDAsC8Q,CAAsBjQ,EAAQhB,IAAK4G,GAAU,CACnE,MAAMqD,EAAW+F,EAAgBrN,IAAIsN,GACrC,GAAIhG,EAAU,CAEV,MAAO,CAAEA,WAAUyD,UADDzB,EAAmB0D,wBAAwB1F,GAEjE,CACJ,CAIA,GAESgC,EAAmBtF,SACpC,iBGxBJ,cAA2BkE,EAoBvB7L,WAAAA,CAAY4H,EAAU,IAClBzH,MAAMyH,GAGDxH,KAAK+H,QAAQqJ,MAAMU,GAAM,oBAAqBA,KAC/C9R,KAAK+H,QAAQgK,QAAQ1M,GAEzBrF,KAAKgS,EAAyBxK,EAAQyK,uBAAyB,CAWnE,CAQA,OAAMnG,CAAQlK,EAASzB,GACnB,MAAM+R,EAAO,GASPC,EAAW,GACjB,IAAIC,EACJ,GAAIpS,KAAKgS,EAAwB,CAC7B,MAAMK,GAAEA,EAAErL,QAAEA,GAAYhH,KAAKsS,EAAmB,CAAE1Q,UAASsQ,OAAM/R,YACjEiS,EAAYC,EACZF,EAAS5N,KAAKyC,EAClB,CACA,MAAMuL,EAAiBvS,KAAKwS,EAAmB,CAC3CJ,YACAxQ,UACAsQ,OACA/R,YAEJgS,EAAS5N,KAAKgO,GACd,MAAMhN,QAAiBpF,EAAQwC,UAAU,gBAEtBxC,EAAQwC,UAAUN,QAAQoQ,KAAKN,WAMnCI,EAR0B,IAkBzC,IAAKhN,EACD,MAAM,IAAI7F,EAAa,cAAe,CAAEkB,IAAKgB,EAAQhB,MAEzD,OAAO2E,CACX,CAUA+M,CAAAA,EAAmB1Q,QAAEA,EAAOsQ,KAAEA,EAAI/R,QAAEA,IAChC,IAAIiS,EAWJ,MAAO,CACHpL,QAXmB,IAAI3E,SAAS4E,IAQhCmL,EAAYpI,YAPapG,UAKrBqD,QAAc9G,EAAQoJ,WAAW3H,GAAS,GAEyB,IAA9B5B,KAAKgS,EAA8B,IAI5EK,GAAID,EAEZ,CAWA,OAAMI,EAAmBJ,UAAEA,EAASxQ,QAAEA,EAAOsQ,KAAEA,EAAI/R,QAAEA,IACjD,IAAI+I,EACA3D,EACJ,IACIA,QAAiBpF,EAAQiJ,iBAAiBxH,EAC7C,CACD,MAAO8Q,GACCA,aAAsB/S,QACtBuJ,EAAQwJ,EAEhB,CAwBA,OAvBIN,GACAO,aAAaP,IAWblJ,GAAU3D,IACVA,QAAiBpF,EAAQoJ,WAAW3H,IAUjC2D,CACX,sBC1KJ,SAA0BqJ,EAASpH,ICInC,SAAkBoH,GACa8B,IACR/K,SAASiJ,EAChC,CDNIjJ,CAASiJ,GEAb,SAAkBpH,GACd,MAAMqF,EAAqB6D,IAE3BpM,EADsB,IAAIqM,EAAc9D,EAAoBrF,GAEhE,CFHIoL,CAASpL,EACb"} \ No newline at end of file