lingo3d-vanilla
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
1 lines • 1.59 kB
JavaScript
"use strict";(self.webpackChunklingo3d_vanilla=self.webpackChunklingo3d_vanilla||[]).push([[778],{4243:(t,i,e)=>{function s(t,i,e){return i in t?Object.defineProperty(t,i,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[i]=e,t}e.d(i,{Z:()=>n});class n{constructor(){s(this,"x",!1),s(this,"y",!1),s(this,"z",!1)}updateX(){this.x=!0}updateY(){this.x=!0}updateZ(){this.x=!0}updateXYZ(){this.x=this.y=this.z=!0}updateXZ(){this.x=this.z=!0}reset(){this.x=this.y=this.z=!1}}},1778:(t,i,e)=>{e.r(i),e.d(i,{default:()=>h});e(2731);var s=e(5754),n=e(376),o=e(6568),a=e(4243);const r=[1,2,4,8,16,32],d=[0,1,2,3,4,5];async function h(t){var i,e;if(t.done)return;o.Z.attach(this.outerObject3d);const{slipperyMaterial:h,defaultMaterial:l,world:u,Body:c,Vec3:p}=await(0,s.Z)();if(t.done)return;const y=this.cannonBody=new c({mass:null!==(i=this._mass)&&void 0!==i?i:1,material:this._slippery?h:l,collisionFilterGroup:r[null!==(e=this._physicsGroup)&&void 0!==e?e:0],collisionFilterMask:d.filter((t=>{var i;return!(null!==(i=this._ignorePhysicsGroups)&&void 0!==i&&i.includes(t))})).map((t=>r[t])).reduce(((t,i)=>t+i),0)});await this.physicsShape(),t.done||("2d"===this._physics&&(y.angularFactor=new p(0,0,1),y.linearFactor=new p(1,1,0)),this._noTumble&&(y.angularFactor=new p(0,0,0)),y.position.copy(this.outerObject3d.position),y.quaternion.copy(this.outerObject3d.quaternion),this.rotationUpdate=new a.Z,this.positionUpdate=new a.Z,u.addBody(y),n.UC.add(this),t.then((()=>{u.removeBody(y),n.UC.delete(this),this.cannonBody=void 0,this.rotationUpdate=void 0,this.positionUpdate=void 0})))}}}]);