class LaunchView{constructor(){window._aliLog&&window._aliLog.loadStepLog("03.打开首屏Loading界面"),this.progressBarWidth=440,this.currentProgres=0,this.aniFrameMinIdx=1,this.aniFrameMaxIdx=14,this.aniFrameCurIdx=this.aniFrameMinIdx,this.aniCurTime=0,this.aniCenterPoint=[500,550],this.aniFrameInfo=[{x:-125.87,y:-5.17,width:303,height:199},{x:-116.87,y:-6.67,width:309,height:188},{x:-101.87,y:5.83,width:357,height:215},{x:-98.37,y:25.33,width:360,height:246},{x:-96.37,y:41.33,width:360,height:274},{x:-18.87,y:111.33,width:225,height:178},{x:121.63,y:14.83,width:272,height:219},{x:142.13,y:28.33,width:281,height:246},{x:97.13,y:90.33,width:279,height:280},{x:6.63,y:85.83,width:166,height:263},{x:19.63,y:61.33,width:206,height:214},{x:-23.37,y:12.33,width:230,height:170},{x:-50.87,y:10.83,width:249,height:205},{x:-106.37,y:14.33,width:272,height:224}],this.catPng="launchview/NoPack/cat.png",this.catPlist=[{x:0,y:0,w:303,h:199},{x:303,y:0,w:309,h:188},{x:612,y:0,w:357,h:215},{x:0,y:215,w:360,h:246},{x:360,y:215,w:360,h:274},{x:720,y:215,w:225,h:178},{x:0,y:489,w:272,h:219},{x:272,y:489,w:281,h:246},{x:553,y:489,w:279,h:280},{x:832,y:489,w:166,h:263},{x:0,y:769,w:206,h:214},{x:206,y:769,w:230,h:170},{x:436,y:769,w:249,h:205},{x:685,y:769,w:272,h:224}],this.start=!1,this.barVisible=!0,this.progress={1:{desc:"loading game package",value:0,start:0,end:0,grow:.05,lapsed:0,duration:.2,percent:20},2:{desc:"sdk login",value:0,start:0,end:0,grow:.05,lapsed:0,duration:.2,percent:20},3:{desc:"server login",value:0,start:0,end:0,grow:.05,lapsed:0,duration:.2,percent:20},4:{desc:"game loading",value:0,start:0,end:0,grow:.05,lapsed:0,duration:.2,percent:40}},this.steps=Object.keys(this.progress),this.createView(),window.Launch=this}onResize(){var e=this.root,i=this.miniRender;e.scaleX=e.scaleY=i.stageHeight/e.height,e.x=.5*(i.stageWidth-e.width*e.scaleX);var t=e.background;i.screenMode==tgui.Renderer.SCREEN_HORIZONTAL?(t.scaleX=t.scaleY=i.stageWidth/i.stageHeight,t.x=.5*(1280-t.width*t.scaleX),t.y=.5*(1280-t.height*t.scaleY)):(t.x=.5*(1280-t.width*t.scaleX),t.y=.5*(1280-t.height*t.scaleY))}createView(){var e=this.readParams(),i={logo:"launchview/NoPack/logo-1.png",loading02:"launchview/NoPack/loading_02.png",loading03:"launchview/NoPack/loading_03.png"},t=538,r=138;2!=+e.pid&&5!=+e.pid||("zh"==e.language?(i.logo="launchview/NoPack/logo_cht.png",i.loading02="",i.loading03="launchview/NoPack/loading_03_cht.png",t=598,r=136):(i.logo="launchview/NoPack/logo_en.png",i.loading02="",i.loading03="launchview/NoPack/loading_03_en.png",t=478,r=188));var a=640-t/2,s={type:"Node",props:{name:"root",width:1280,height:1280},child:[{type:"Sprite",props:{name:"background",var:"background",skin:"launchview/NoPack/loading_01.png",x:0,y:0,width:1280,height:1280},child:[]},{type:"Sprite",props:{var:"logo",skin:i.logo,x:a,y:170,width:t,height:r},child:[]},{type:"Node",props:{name:"infoBox"},child:[{type:"Sprite",props:{skin:i.loading02,x:349,y:860,width:570,height:204},child:[]},{type:"Sprite",props:{var:"progressBar_bg",skin:"launchview/NoPack/ProgressBarBg_UI_TEX.png",grid9Scale:"25,25,25,25",x:415,y:1100,width:450,height:45},child:[]},{type:"Sprite",props:{var:"progressBar",skin:"launchview/NoPack/ProgressBarBg_UI_TEX$bar.png",grid9Scale:"20,15,20,15",x:420,y:1100,width:0,height:45},child:[]},{type:"Sprite",props:{skin:i.loading03,x:550,y:1160,width:175,height:34},child:[]},{type:"Text",props:{var:"loadingDesc",x:430,y:1105,fontSize:20,height:50,color:"#ffffff",font:"Microsoft YaHei",bold:!0,stroke:1,strokeColor:"#e6c9ab",text:""},child:[]}]},{type:"Sprite",props:{name:"cat",var:"cat",skin:this.catPng},child:[]}]},o=this.miniRender=new tgui.Renderer;2==+e.pid&&s.child[2].child.splice(0,1);var h=tgui.Renderer.SCREEN_VERTICAL,n=720,d=1280;e&&"horizontal"==e.screenOrientation&&(h=tgui.Renderer.SCREEN_HORIZONTAL,n=1280,d=720),o.init([1,1,1,1],window.canvas,n,d,h,tgui.Renderer.SCALE_FIXED_HEIGHT,!0,"1"==e.keepCanvasRotation);var l=o.stage;l.on("frameLoop",this,this.onFrameLoop),l=this.root=o.createByJson(s,l,l),o.on("resize",this,this.onResize),o.render(l),this.onResize(),this.setIconVisible(!0)}setIconVisible(e){this.root&&this.root.logo&&(this.root.logo.visible=e)}set barVisible(e){this._barVisible=e,this.root&&(this.root.loadingDesc.visible=e,this.root.progressBar.visible=e,this.root.progressBar_bg.visible=e)}get barVisible(){return this._barVisible}setLoadingDesc(e){this.root&&(this.root.loadingDesc.text=e)}readParams(){var e={},i=window.document.baseURI||window.document.URL;if(null!=window.conch){i=window.conch.presetUrl;var t=window.conchConfig.getOS();"Conch-android"==t&&(i=window.PlatformClass.createClass("game.JSBridge").call("presetUrl")),"Conch-ios"==t&&(i=this.atob(window.PlatformClass.createClass("JSBridge").call("presetUrl")))}if(i){const t=(i=i.slice(i.indexOf("?")+1)).split("&");let r;for(const i of t)r=i.indexOf("="),e[i.slice(0,r)]=i.slice(r+1)}return e}onFrameLoop(e){if(0==this.start)return;e/=1e3;var i=0;for(var t of this.steps){var r=this.progress[t];r.value<1&&(r.grow>0&&(r.value=Math.min(r.value+r.grow*e,1)),r.lapsed+=e,r.duration>0&&r.value<r.end&&(r.value=Math.max(r.value,this.lerp(r.start,r.end,r.lapsed/r.duration)))),i+=r.percent/100*r.value}this.root.progressBar.width=Math.min(1,i)*this.progressBarWidth,i>=1&&(this._runDestroy-=e,this._runDestroy<0&&this.destroyNow()),this.aniCurTime+=e;let a=Math.ceil(this.aniCurTime/.1);if(a>this.aniFrameMaxIdx&&(a=this.aniFrameMinIdx,this.aniCurTime=0),a!==this.aniFrameCurIdx){this.aniFrameCurIdx=a;let e=this.aniFrameInfo[a-1],i=this.catPlist[a-1];this.root.cat.setDrawPart(this.aniCenterPoint[0]+e.x,this.aniCenterPoint[1]+-e.y,e.width,e.height,i.x,i.y,i.w,i.h)}}lerp(e,i,t){return t<0&&(t=0),t>1&&(t=1),e+(i-e)*t}resetScreenSize(){this.miniRender.resetScreenSize()}updateProgressByStep(e,i){i>1&&(i=1);var t=this.progress[e];t&&(console.warn("[Loading] progress step: "+e+"; desc: "+t.desc+": "+(100*i|0)+"%"),t.start=t.value,t.end=Math.max(t.end,i),t.lapsed=0)}destroy(){var e=this.steps[this.steps.length-1];this.updateProgressByStep(e,1),this._runDestroy=.2}destroyNow(){this._runDestroy=0,this.root.destroy(),this.miniRender.destroy(),Laya.stage.renderingEnabled=!0,window.loadComplete=!0,window._aliLog&&window._aliLog.loadStepLog("12.关闭首屏Loading界面"),window._aliLog&&window._aliLog.setStorage("user_sign","2")}atob(e){var i=String(e).replace(/[=]+$/,"");if(i.length%4==1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var t,r,a=0,s=0,o="";r=i.charAt(s++);~r&&(t=a%4?64*t+r:r,a++%4)?o+=String.fromCharCode(255&t>>(-2*a&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return o}}window.launchView=new LaunchView;