PageSourceSearch

https://www.gimkit.com/assets/AirVentDevice-YrzqMRUv.js

js gimkit.com collected 2026-10-01 10:38:20 UTC 6,512 bytes, 1 lines download raw bytes

1import{Z as I}from"./ZoneConstants-BhDX1tbj.js";import{aK as M,aL as L,T as p,aM as P,aN as V,aO as u,L as D}from"./App-BQyMVeR5.js";import{I as S,i as W,a4 as O,_ as C,F as c,e as F,j as Z}from"./FixSpinePlugin-ClEO5-Hk.js";import{Z as E}from"./ZonedDeviceDisplay-BLW8-idy.js";import{F as y,R as v}from"./FetchOptionSchemaProperty-CBbnRxr1.js";import{G as b}from"./GetAssetPath-D1U8ycN4.js";import"./index-CkxI7_WM.js";import"./Button-pe7X1LCq.js";import"./polished.esm-CWrCz8BX.js";import"./inheritsLoose-CPkBXjuP.js";import"./mobxreact.esm-BvpPUWv7.js";import"./index-BjSMI-JJ.js";import"./QuizTypes-SHiKhVER.js";import"./MapModeType-BXMqp17U.js";import"./TutorialConsts-CWe09mqN.js";import"./ActionButton-yzdoVigK.js";import"./index-B-rKDuQH.js";import"./playSound-BOL4D3cJ.js";import"./MapSound-CXEYjKIW.js";import"./howler-Bc2XL4cS.js";import"./index-KBlYY-Yj.js";import"./context-D63U_AGn.js";import"./FontAwesomeIcon-Cw_yUsQx.js";import"./Centered-1LPwgEpL.js";import"./CapitalizeFirstLetter-BbjzObVf.js";import"./index-bxckgtGi.js";import"./motion-BmzJ48FE.js";import"./index-B25mdQOF.js";import"./index-DosaN3du.js";import"./EditOutlined-C0-AixKr.js";import"./styleChecker-DPpYXhNV.js";import"./index-DCFcQ57T.js";import"./CheckOutlined-4V3W3aKD.js";import"./CopyOutlined-CuUSiXoH.js";import"./SixteenByNineScaler-CN8mmamX.js";import"./index-E5OyKwpk.js";import"./index-DnqKS5K2.js";import"./index-W1bcsZ7K.js";import"./progress-CMzrAa3P.js";import"./ElementIds-VZ5EZd5Y.js";import"./SeasonTicketName-BN_q1-rH.js";import"./useQuery-DbC7gnmj.js";import"./___vite-browser-external_commonjs-proxy-BktAYiaF.js";import"./util-CjAG_OmX.js";import"./util-CSQr3XY3.js";import"./Shortcut-WBrbH8xl.js";import"./Names-DfDh6qGd.js";import"./useWillUnmount-SlwvfV5S.js";import"./CircularProgress-CTjxOrLm.js";import"./clsx.m-DTbsia2j.js";import"./index-B2aNdC7z.js";import"./AccessibleAnchor-FhDwE-9_.js";import"./index-ODmA9zyP.js";import"./use-force-update-Dp9hwR81.js";import"./GimkitLiveQuestion-D16tZqpK.js";import"./Text-BRts4Ff0.js";import"./getCloudinaryUrl-Drn97BLG.js";import"./LazyLatexRenderer-cbJiJUs-.js";import"./Tooltip--6Dip7FK.js";import"./use-motion-value-CBPHXlAn.js";import"./index-CPVwPKFh.js";import"./index-BuW4jfEx.js";import"./useIntervalWhen-lvFJihjy.js";import"./index-B12w7PGS.js";import"./move-B6cBRaci.js";import"./react-flip-move.es-B6k9_8mk.js";import"./sounds-lMDGELFQ.js";import"./App-BtYAFvNv.js";import"./AnimatedBackground-CyazxtQf.js";import"./useDebouncedValue-B_s8uZIT.js";import"./CloseCircleOutlined-euJXgj82.js";import"./MapStyle-TMfqPjvX.js";import"./FillRemainingSpace-CbKUPFtd.js";import"./index-CkN50kfJ.js";const G={atlasUrl:b("devices/air_vent/spine/skeleton.atlas"),jsonUrl:b("devices/air_vent/spine/skeleton.json")},n={zoneBottomOffset:35,zoneWidth:162,collider:{width:190,height:40,offsetTop:20},view:{width:200,height:80,scale:.2,offsetLeft:3}};class oi extends M{constructor(x){super(x),this.setupCollider=()=>{const t=this.getDirection(),i=n.collider.offsetTop*this.options.scale;this.colliders.add.box({x:t.x*i,y:t.y*i,w:n.collider.width*this.options.scale,h:n.collider.height*this.options.scale,angle:this.options.angle})},this.setupView=()=>{const{width:t,height:i,scale:s,offsetLeft:e}=n.view,h=this.options.angle*Math.PI/180,o=Math.sin(h),r=Math.cos(h),a=e*this.options.scale,w=-r*a,z=-o*a,m=t*this.options.scale,l=i*this.options.scale,d=m*Math.abs(r)+l*Math.abs(o),g=m*Math.abs(o)+l*Math.abs(r);this.parts.add.spine({...G,x:w,y:z,spineViewId:this.id,defaultAnimation:"particles",boundingBox:{left:-d/2,right:d/2,top:-g/2,bottom:g/2},onReady:f=>{f.view.setScale(s*this.options.scale),f.view.angle=this.options.angle}})},this.setupZonePreview=()=>{if(!S()||!W()||!E.shouldShow(this))return;const t=this.getDirection(),i=n.zoneWidth*this.options.scale,e=n.zoneBottomOffset*this.options.scale+this.options.zoneLength/2;this.parts.add.rect({x:t.x*e,y:t.y*e,width:i,height:this.options.zoneLength,angle:this.options.angle,color:12186879,alpha:I.alpha,borderColor:12186879,borderAlpha:1,borderWidth:4,ignoreInput:!0})},this.setupSensor=()=>{const t=this.getDirection(),i=n.zoneWidth*this.options.scale,s=n.zoneBottomOffset*this.options.scale+this.options.zoneLength/2;this.sensor=this.sensors.add.rect({x:t.x*s,y:t.y*s,w:i,h:this.options.zoneLength,angle:this.options.angle,type:L.around,onFresh:this.onEnter,onStop:this.onLeave})},this.onEnter=()=>{if(!O()&&!C())return;const t=c(p());if(!t||t.physics.state.airVentZones.includes(this.id))return;const i=this.getDirection();t.physics.state.airVentZones.push(this.id);const s=this.options.forceMultiplier,e=i.x*s,h=i.y*s,o=t.physics.state.lastUsedVelocityToCalculateMovement.x;let r=e;Math.sign(o)!==Math.sign(e)?r=e+o:Math.abs(o)>
1Math.abs(e)&&(r=o),P({character:t}),V({character:t,x:r,y:h,cancelInertiaOnNextGrounded:!1,limitControlFactor:!0})},this.onLeave=()=>{const t=c(p());t&&(t.physics.state.airVentZones=t.physics.state.airVentZones.filter(i=>i!==this.id))},this.getDirection=()=>{const t=this.options.angle*Math.PI/180,i=Math.sin(t),s=-Math.cos(t);return{x:Math.abs(i)<Number.EPSILON*10?0:i,y:Math.abs(s)<Number.EPSILON*10?0:s}},this.onReconcile=()=>{const t=p(),i=c(t),s=u().bodies.find(this.sensor.bodyId);!i||!(s!=null&&s.sensor)||(i.physics.state.airVentZones.includes(this.id)?s.sensor.charactersInSensor.add(t):s.sensor.charactersInSensor.delete(t))},this.onDestroy=()=>{var s,e;const t=p(),i=u().bodies.find(this.sensor.bodyId);(e=(s=i==null?void 0:i.sensor)==null?void 0:s.charactersInSensor)!=null&&e.has(t)&&this.onLeave()},this.setupVisualEditing=()=>{if(F()||Z())return;const t=y(this,"scale"),i=y(this,"zoneLength"),{width:s,height:e}=n.view;this.visualEditing.add.box({width:s*this.options.scale,height:e*this.options.scale,minWidth:s*t.min,maxWidth:s*t.max,minHeight:e*t.min,maxHeight:e*t.max,angle:this.options.angle,rotable:!0,keepRatio:!0,onChange:a=>{v(a.x,a.y,{scale:a.width/s,angle:a.angle})}});const h=this.getDirection(),o=n.zoneWidth*this.options.scale,r=n.zoneBottomOffset*this.options.scale+this.options.zoneLength/2;this.visualEditing.add.box({x:h.x*r,y:h.y*r,width:o,height:this.options.zoneLength,minWidth:o,maxWidth:o,minHeight:i.min,maxHeight:i.max,angle:this.options.angle,movable:!1,rotable:!1,keepRatio:!1,onChange:a=>{v(this.x,this.y,{zoneLength:a.height})}})},this.layers.setDefaultLayer(D.DevicesUnderCharacters),this.setupView(),this.setupCollider(),this.setupZonePreview(),this.setupSensor(),this.setupVisualEditing()}}export{oi as AirVentDevice,oi as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.