var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.checkStringArgs=function(n,y,t){if(null==n)throw new TypeError("The 'this' value for String.prototype."+t+" must not be null or undefined");if(y instanceof RegExp)throw new TypeError("First argument to String.prototype."+t+" must not be a regular expression");return n+""};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1; $jscomp.FORCE_POLYFILL_PROMISE=!1;$jscomp.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(n,y,t){if(n==Array.prototype||n==Object.prototype)return n;n[y]=t.value;return n}; $jscomp.getGlobal=function(n){n=["object"==typeof globalThis&&globalThis,n,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var y=0;y>>0,$jscomp.propertyToPolyfillSymbol[N]= $jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(N):$jscomp.POLYFILL_PREFIX+t+"$"+N),$jscomp.defineProperty(E,$jscomp.propertyToPolyfillSymbol[N],{configurable:!0,writable:!0,value:y})))};$jscomp.polyfill("String.prototype.repeat",function(n){return n?n:function(y){var t=$jscomp.checkStringArgs(this,null,"repeat");if(0>y||1342177279>>=1)t+=t;return E}},"es6","es3"); var RENDER_MODE={MAP_LAYOUT:0,ZONE_LAYOUT:2,ZONE_WAYPOINT:3,SHOP_LAYOUT:6,SHOP_WAYPOINT:7}; YGG.Product=function(n,y){function t(a){if(null==ya||void 0==ya)ya=document.createElement("canvas").getContext("2d",{alpha:!1});ya.canvas.width=a;ya.canvas.height=a;ya.fillStyle=wb;ya.fillRect(0,0,a,a);return new THREE.CanvasTexture(ya.canvas)}function E(a){if(null==za||void 0==za)za=document.createElement("canvas").getContext("2d",{alpha:!1});za.canvas.width=a;za.canvas.height=a/2;za.fillStyle=wb;za.fillRect(0,0,a,a/2);return new THREE.CanvasTexture(za.canvas)}function N(a,b){var d=b.image.width== b.image.height?t(G):E(G);var c=256/G;b.repeat.set(c,-c);switch(a){case RENDER_MODE.SHOP_LAYOUT:for(a=0;az){d.repeat.set(w,-w);var A=H.getContext(),ha=d.image.width*z;z*=d.image.height;var Ta=d.image.width*w,$b=d.image.height*w,ac=A.createFramebuffer();A.bindFramebuffer(A.FRAMEBUFFER,ac);var kb=H.properties.get(d);A.framebufferTexture2D(A.FRAMEBUFFER,A.COLOR_ATTACHMENT0, A.TEXTURE_2D,kb.__webglTexture,0);kb=new Uint8Array(ha*z*4);A.readPixels(0,d.image.height-z,ha,z,A.RGBA,A.UNSIGNED_BYTE,kb);A.deleteFramebuffer(ac);if(null==Aa||void 0==Aa)Aa=document.createElement("canvas").getContext("2d",{alpha:!1});Aa.canvas.width=ha;Aa.canvas.height=z;A=Aa.createImageData(ha,z);A.data.set(kb);Aa.putImageData(A,0,0);if(null==ia||void 0==ia)ia=document.createElement("canvas").getContext("2d",{alpha:!1});ia.canvas.width=Ta;ia.canvas.height=$b;ia.save();ia.scale(1,-1);ia.translate(0, -ia.canvas.height);ia.drawImage(Aa.canvas,0,0,ha,z,0,0,Ta,$b);ia.restore();ha=new THREE.CanvasTexture(ia.canvas);H.copyTextureToTexture(new THREE.Vector2(0,d.image.height-d.image.height*w),ha,d);if(a==RENDER_MODE.SHOP_LAYOUT)u[v].offsetRepeat.value=[0,0,w,-w];else if(a==RENDER_MODE.SHOP_WAYPOINT)if(d==C)for(v=0;v1/12? requestAnimationFrame(S):H.getContext().flush():g==h&&g==b?requestAnimationFrame(S):.001*Date.now()-xb>1/12?requestAnimationFrame(S):H.getContext().flush()}}function la(a){a?(l.setControlMode(CONTROL_MODE.ORBIT),l.maxPolarAngle=Math.PI/2-1/9):l.setControlMode(CONTROL_MODE.POINT)}function bc(a){if(a&&a.object){f=X.getRoot(a.object);switch(f.icon.objectType){case OBJECT_TYPE.ZONE_ICON:f.mesh&&(f.mesh.material.opacity=yb);break;case OBJECT_TYPE.TAG:case OBJECT_TYPE.ZONE_WAYPOINT:case OBJECT_TYPE.SHOP_TOP:case OBJECT_TYPE.SHOP_WAYPOINT:case OBJECT_TYPE.PRODUCT_GROUP:case OBJECT_TYPE.SHOP_POINT:case OBJECT_TYPE.COIN:f.icon&& f.icon.material.color.set(4513279)}requestAnimationFrame(S)}}function lb(){if(f){switch(f.icon.objectType){case OBJECT_TYPE.ZONE_ICON:f.mesh&&(f.mesh.material.opacity=$a);break;case OBJECT_TYPE.TAG:case OBJECT_TYPE.ZONE_WAYPOINT:case OBJECT_TYPE.SHOP_TOP:case OBJECT_TYPE.SHOP_WAYPOINT:case OBJECT_TYPE.PRODUCT_GROUP:case OBJECT_TYPE.SHOP_POINT:case OBJECT_TYPE.COIN:f.icon&&f.icon.material.color.set(16777215)}requestAnimationFrame(S)}}function Ba(){if(null!=f)switch(lb(),J){case RENDER_MODE.MAP_LAYOUT:if(f.icon.objectType== OBJECT_TYPE.ZONE_ICON)if(ab==RENDER_MODE.ZONE_LAYOUT){var a=f.redirect;a&&(lb(),f=null,f=Ja(a));Ka(f.name);ja(RENDER_MODE.ZONE_LAYOUT);p.position.copy(f.position)}else f.redirect?Ka(f.redirect,!0):Ka(f.name,!0),f&&p.position.copy(f.position);else f.icon.objectType==OBJECT_TYPE.TAG&&zb(f.jump);break;case RENDER_MODE.ZONE_LAYOUT:f.icon.objectType==OBJECT_TYPE.ZONE_WAYPOINT?(ca=f.name,bb(f.name)):f.icon.objectType==OBJECT_TYPE.SHOP_TOP&&(1==f.support3D?(Q=f.name,a=new THREE.Vector3,f.getWorldPosition(a), Ua({code_name:YGGUtils.getCodeNameById(K,L,Q),support_3d:1})):Ua({code_name:YGGUtils.getCodeNameById(K,L,f.name),support_3d:0}));break;case RENDER_MODE.ZONE_WAYPOINT:f.icon.objectType==OBJECT_TYPE.ZONE_WAYPOINT?bb(f.name):f.icon.objectType==OBJECT_TYPE.SHOP_POINT?1==f.support3D?(Q=f.name,a=new THREE.Vector3,f.getWorldPosition(a),Ua({code_name:YGGUtils.getCodeNameById(K,L,Q),support_3d:1})):Ua({code_name:YGGUtils.getCodeNameById(K,L,f.name),support_3d:0}):f.icon.objectType==OBJECT_TYPE.COIN&&(f.parent.remove(f), Ab({cid:f.name}),requestAnimationFrame(S));break;case RENDER_MODE.SHOP_LAYOUT:switch(f.icon.objectType){case OBJECT_TYPE.SHOP_WAYPOINT:ka=f.name;mb(f.name,!1);break;case OBJECT_TYPE.PRODUCT_GROUP:Bb({code_name:YGGUtils.getCodeNameById(K,L,ma),product_group_id:f.name,tag_type:f.tagType})}break;case RENDER_MODE.SHOP_WAYPOINT:switch(f.icon.objectType){case OBJECT_TYPE.SHOP_WAYPOINT:ka=f.name;mb(f.name,!1);break;case OBJECT_TYPE.PRODUCT_GROUP:f.jump?zb(f.jump):Bb({code_name:YGGUtils.getCodeNameById(K, L,ma),product_group_id:f.name,tag_type:f.tagType});break;case OBJECT_TYPE.COIN:f.parent.remove(f),Ab({cid:f.name}),requestAnimationFrame(S)}}else null!=U&&void 0!=U&&cc();lb();U=f=null}function La(a){var b=[];if(null!=a&&void 0!=a)for(var d=0;d=Math.abs(h.y-b.y)&&(g=a,e=P.children[c]):(g=a,e=P.children[c])));return e}return null}function cc(){switch(J){case RENDER_MODE.ZONE_LAYOUT:f=Na(RENDER_MODE.ZONE_LAYOUT,U,!1,Oa);null!=f&&Ba();break;case RENDER_MODE.ZONE_WAYPOINT:var a=new THREE.Vector3;a.copy(U);a.sub(q.position);a.normalize();a.multiplyScalar(.01);a.add(q.position);f=Na(RENDER_MODE.ZONE_WAYPOINT,a,!0,Cb);null!=f&&Ba();break;case RENDER_MODE.SHOP_LAYOUT:f= Na(RENDER_MODE.SHOP_LAYOUT,U,!1,Db);null!=f&&Ba();break;case RENDER_MODE.SHOP_WAYPOINT:a=new THREE.Vector3,a.copy(U),a.sub(q.position),a.normalize(),a.multiplyScalar(.01),a.add(q.position),a.y-=1.5,f=Na(RENDER_MODE.SHOP_WAYPOINT,a,!0,Eb),null!=f&&Ba()}}function Fb(a,b){var d=RESOURCE_VR_ROOTPATH+a+"/";YGGUtils.jsonReader(d+"zones.json",function(c){YGGUtils.clearArray(db);YGGUtils.clearArray(eb);for(var e={$jscomp$loop$prop$i$58:0};e.$jscomp$loop$prop$i$58c[g.$jscomp$loop$prop$i$58].alpha&&(h.transparent=!0,h.opacity=c[g.$jscomp$loop$prop$i$58].alpha),eb.push({id:c[g.$jscomp$loop$prop$i$58].id,material:h}),h=d+c[g.$jscomp$loop$prop$i$58].id+"/thumbnail/",m.generateTextureQueue(h,"m"+c[g.$jscomp$loop$prop$i$58].id,0,TEXTURE_SIZE.SIZE_256,TEXTURE_MODE.T_MAP_ZONE),m.generateTextureQueue(h,"m"+c[g.$jscomp$loop$prop$i$58].id,0,TEXTURE_SIZE.SIZE_2K,TEXTURE_MODE.T_MAP_ZONE))):g.$jscomp$loop$prop$zoneMeshThumbnail$59.visible=!1}}(e));m.modelLoad(MESH_MODE.M_MAP_ZONE); b&&null!=ra&&void 0!=ra&&0c&&(c=g)}YGGUtils.clearArray(sa);YGGUtils.clearArray(Hb);m.clearTextureQueueByMode(TEXTURE_MODE.T_MAP);m.clearModelQueueByMode(MESH_MODE.M_MAP);for(e=0;e<=c;e++)sa.push(t(G)),sa[e].repeat.set(1,-1),sa[e].wrapS=THREE.MirroredRepeatWrapping,sa[e].wrapT=THREE.RepeatWrapping,sa[e].minFilter=THREE.LinearFilter,sa[e].generateMipmaps=!1,Hb.push(new THREE.MeshBasicMaterial({color:16777215, map:sa[e]})),m.generateTextureQueue(b,a,e,TEXTURE_SIZE.SIZE_256,TEXTURE_MODE.T_MAP);for(e=0;e<=c;e++)m.generateTextureQueue(b,a,e,TEXTURE_SIZE.SIZE_1K,TEXTURE_MODE.T_MAP),ea>TEXTURE_SIZE.SIZE_1K&&m.generateTextureQueue(b,a,e,ea,TEXTURE_MODE.T_MAP);for(c=0;cc&&(c=h);e.lengthTEXTURE_SIZE.SIZE_1K&& m.generateTextureQueue(b,a,g,ea,TEXTURE_MODE.T_ZONE));for(c=0;cTEXTURE_SIZE.SIZE_1K&&m.generateTextureQueue(b,a,-1,ea,TEXTURE_MODE.T_ZONE_WAYPOINT);d==ua?(ua.mesh.material.map=Z,null!=Z&& void 0!=Z&&(Z.needsUpdate=!0)):(Ga.mesh.material.map=aa,null!=aa&&void 0!=aa&&(aa.needsUpdate=!0));d.position.copy(f.position);d.position.add(f.camera.position);d.rotation.copy(f.rotation);ja(RENDER_MODE.ZONE_WAYPOINT)}function bb(a){J==RENDER_MODE.ZONE_WAYPOINT?0!=ca.localeCompare(a)&&(ca=f.name,jc(a),ja(RENDER_MODE.ZONE_WAYPOINT)):(ca=f.name,0==x.children[0].name.localeCompare(a)?kc():jc(a),ja(RENDER_MODE.ZONE_WAYPOINT))}function Ja(a){for(var b=0;bz&&(z=A);w.lengthTEXTURE_SIZE.SIZE_1K&&m.generateTextureQueue(c+"layout/",a,B,ea,TEXTURE_MODE.T_SHOP));for(z=0;z=R.layoutCount)f=Wa(P,d),null!=f&&(ka=f.name,mb(f.name,!0))})});var r=lc(a);null!=r&&void 0!=r&&(D.position.copy(p.position),D.position.add(r.position),D.rotation.copy(r.rotation),D.startCamera=r.startCamera,ma=Q,D.visible= !0,H.render(Ya,q),YGGUtils.jsonReader(h,function(v){for(var z=0;zTEXTURE_SIZE.SIZE_1K&&m.generateTextureQueue(d,a,-1,ea, TEXTURE_MODE.T_SHOP_WAYPOINT);d=x.children[1];d.name=a;x.position.copy(D.position);x.rotation.copy(D.rotation);d.position.copy(f.position);d.position.add(f.camera.position);d.rotation.copy(f.rotation);Ha=new THREE.Matrix4;Ha.copy(f.matrix);Ha.multiply((new THREE.Matrix4).setPosition(f.camera.position));var c=256/G;if(null==C||void 0==C){C=E(G);C.repeat.set(c,-c);C.wrapS=THREE.RepeatWrapping;C.wrapT=THREE.RepeatWrapping;C.minFilter=THREE.LinearFilter;C.generateMipmaps=!1;for(var e=0;e=b)b=7;var d=new THREE.Vector3;if(M==RENDER_MODE.ZONE_WAYPOINT)var c=ca;else if(M==RENDER_MODE.SHOP_WAYPOINT)c=ka;else return;m.clearPreloadTexture();for(var e=new THREE.Vector3,g=new THREE.Quaternion,h=new THREE.Euler,k=0;k=b)b=5;for(var d=new THREE.Vector3,c=0;cq.aspect&&F.multiplyScalar(1/q.aspect);b=new THREE.Vector3;b.copy(wa);b.sub(pa);V.setFromVector3(b);xa=Ra;W.copy(pa);pc();break;case RENDER_MODE.ZONE_LAYOUT:if(null===f||void 0===f)f=Ja(L);p.yaw=f.yaw;p.north=f.north;p.offsetX=f.bound.offsetX;p.offsetY=f.bound.offsetY;p.startCamera=f.startCamera;if(null==p.startCamera||void 0==p.startCamera){a=2*Math.tan(YGGUtils.degreeToRadian(ib/ 2));if(1<=q.aspect){b=f.bound.height/a;a=f.bound.width/(a*q.aspect);var d=YGGUtils.degreeToRadian(-p.yaw)}else b=f.bound.width/a,a=f.bound.height/(a*q.aspect),d=YGGUtils.degreeToRadian(-p.yaw)+Math.PI/2;var c=new THREE.Vector3(f.bound.offsetX,0,f.bound.offsetY),e=new THREE.Quaternion;e.setFromAxisAngle(new THREE.Vector3(0,1,0),YGGUtils.degreeToRadian(-f.yaw));c.applyQuaternion(e);e=new THREE.Vector3(0,0,1E-6);e.applyAxisAngle(new THREE.Vector3(0,1,0),d);F.copy(f.position);F.x+=c.x;F.y+=Math.max(b, a);F.z+=c.z;F.add(e);W.copy(f.position);W.add(c);V.set(1,1E-6,d)}else b=new THREE.Vector3,b.copy(p.startCamera.position),b.applyAxisAngle(new THREE.Vector3(0,1,0),p.yaw),F.copy(f.position),F.add(b),b.copy(p.startCamera.target),b.applyAxisAngle(new THREE.Vector3(0,1,0),p.yaw),W.copy(f.position),W.add(b),b.copy(F),b.sub(W),V.setFromVector3(b);xa=ib;break;case RENDER_MODE.ZONE_WAYPOINT:F.copy(p.position);F.add(f.position);F.add(f.camera.position);x.position.copy(p.position);x.rotation.copy(p.rotation); V.set(1,Math.PI/2,l.getAzimuthalAngle());f.icon.objectType==OBJECT_TYPE.ZONE_WAYPOINT&&J==RENDER_MODE.MAP_LAYOUT&&f.isGate&&V.set(1,Math.PI/2,p.rotation.y+f.rotation.y+f.camera.rotation.y);xa=sb;qb=f;break;case RENDER_MODE.SHOP_LAYOUT:Jb(Q);a=new THREE.Vector3;null==D.startCamera||void 0==D.startCamera?(a.copy(zc),a.applyQuaternion(D.quaternion),F.copy(D.position),F.add(a),a.copy(F),a.sub(D.position),W.copy(D.position)):(a.copy(D.startCamera.position),a.applyQuaternion(D.quaternion),F.copy(D.position), F.add(a),a.copy(D.startCamera.target),a.applyQuaternion(D.quaternion),W.copy(D.position),W.add(a),a.copy(F),a.sub(W));V.setFromVector3(a);xa=tb;b&&Ua({code_name:YGGUtils.getCodeNameById(K,L,Q),support_3d:1});break;case RENDER_MODE.SHOP_WAYPOINT:a=new THREE.Vector3,a.copy(f.position),a.applyQuaternion(D.quaternion),F.copy(D.position),F.add(a),F.add(f.camera.position),f.isGate?(Sa=Infinity>f.cameraLimit.left?f.cameraLimit.left+D.rotation.y+p.rotation.y:Infinity,Ia=-InfinitySa?V.set(1,Math.PI/2,Sa):l.getAzimuthalAngle()=2*Math.PI&&(a.theta=0<=a.theta?a.theta-2*Math.PI:a.theta+2*Math.PI);d=a.theta-b.theta;Math.abs(d)>Math.PI&& (a.theta=0=a?Math.pow(2*a,2.8)/2:1-Math.pow(2*(1-a),2.8)/2;if(1<=a){f=null;q.position.copy(F);l.setSpherical(V);l.update();Qa=xa;q.fov=Qa;q.updateProjectionMatrix();l.fakeZoom=1;var b=M;b!=RENDER_MODE.MAP_LAYOUT&&(da.visible=!1);b!=RENDER_MODE.ZONE_LAYOUT&&b!=RENDER_MODE.ZONE_WAYPOINT?p.visible=!1:b!=RENDER_MODE.ZONE_LAYOUT?(Fa.visible=!1,Xa.visible=!1,qa.visible=!1):(oa.visible=!1, Ca.visible=!1,Ea.visible=!1);b!=RENDER_MODE.SHOP_LAYOUT&&b!=RENDER_MODE.SHOP_WAYPOINT?D.visible=!1:b!=RENDER_MODE.SHOP_WAYPOINT&&(Pa.visible=!1,Ma.visible=!1);ua.mesh.material.opacity=0;ua.icon.material.opacity=0;Ga.mesh.material.opacity=0;Ga.icon.material.opacity=0;l.minAzimuthAngle=-Infinity;l.maxAzimuthAngle=Infinity;b=!1;switch(M){case RENDER_MODE.MAP_LAYOUT:la(Ob);l.target.copy(W);l.update();da.visible=!0;m.textureLoad(TEXTURE_MODE.T_MAP);m.modelLoad(MESH_MODE.M_MAP);l.minDistance=Pb;l.maxDistance= Qb;l.defaultPointFOV=Ra;break;case RENDER_MODE.ZONE_LAYOUT:la(!0);l.target.copy(W);p.visible=!0;qa.visible=!0;Fa.visible=!0;Xa.visible=!0;nc(O);m.textureLoad(TEXTURE_MODE.T_ZONE);m.modelLoad(MESH_MODE.M_ZONE);l.minDistance=Rb;l.maxDistance=Sb;l.defaultPointFOV=ib;break;case RENDER_MODE.ZONE_WAYPOINT:la(!1);p.visible=!0;Ea.visible=!0;oa.visible=!0;Ca.visible=!0;rc(M);oc(O,Tb);rb(oa,Ub);rb(Ca,1.1);var d=ca;if(null!=Za&&void 0!=Za)for(var c=YGGUtils.getCodeNameById(K,L,"s0000").substring(0,3),e=0;e< Za.zones.length;e++)if(0==Za.zones[e].zid.localeCompare(c)){c=Za.zones[e].waypoints;for(e=0;eSa&&(d=l.getAzimuthalAngle(),d%=2*Math.PI,d>Ia&&dq.aspect&&q.position.multiplyScalar(1/q.aspect);la(!0);l.target.copy(pa);l.defaultPointFOV=Ra;l.addEventListener("change",function(){Zb(0);requestAnimationFrame(S)});l.setOnMouseUpCallback(function(a){if(l.isDragging())l.isDrag=!1,U=f=null;else{if(null==f||void 0==f)a=YGGUtils.getMousePos(n,a),ec(a.x,a.y);Ba()}});l.setOnTouchStartCallback(function(a){if(1==a.touches.length){a=YGGUtils.getMousePos(n,a.touches[0]);var b=dc(a.x,a.y);null!=b&&0b.textureId){var e=null;e=b.color?new THREE.MeshBasicMaterial({color:parseInt(b.color),transparent:!0,opacity:$a}):new THREE.MeshBasicMaterial({color:16777215,transparent:!0,opacity:$a});void 0==c.material?c.setAttribute("material",e):c.material=e}else for(e=0;e