import{C as d,a as _}from"./index2.js";import{R as p}from"./RadialProgressBar.js";import{r as m,o as i,c as n,f as o,a,h as C,d as f,t as u,n as b,p as g,g as S,_ as T}from"./index.js";const N=e=>(g("data-v-52f13b9c"),e=e(),S(),e),v=N(()=>a("div",{class:"connect__background"},null,-1)),B={key:0,class:"connect__background_lines"},y={key:1,class:"connect__background_pattern"},R={class:"connect__content"},w={class:"connect__content-label"},x=["innerHTML"];function E(e,r,c,P,t,s){const l=m("RadialProgressBar");return i(),n("div",{class:b(["connect iface-container",{connect_mobile:s.isMobile,connect_error:t.error}])},[v,s.isMobile?(i(),n("div",B)):o("",!0),s.isMobile?(i(),n("div",y)):o("",!0),a("div",R,[s.isMobile?(i(),C(l,{key:0,class:"connect__content-progress",style:f({opacity:t.progressBar.show?1:0}),value:s.progressBarValue,size:t.progressBar.size,width:t.progressBar.width,transitionDuration:t.progressBar.transitionDuration,type:t.progressBar.type,isMobile:s.isMobile},null,8,["style","value","size","width","transitionDuration","type","isMobile"])):o("",!0),a("div",w,u(t.messages[t.currentStatus].title),1),a("div",{class:"connect__content-text",innerHTML:s.getContentText()},null,8,x)]),t.button&&t.button.length?(i(),n("div",{key:2,class:"connect__button",onClick:r[0]||(r[0]=(...h)=>s.exit&&s.exit(...h))},u(t.button),1)):o("",!0)],2)}const M={props:["openParams"],components:{RadialProgressBar:p},data(){return{label:"Вы 3 в очереди",text:"дождитесь своей очереди на подключение к серверу...",button:"",progressBar:{show:!0,size:8.15,width:.75,transitionDuration:500,type:1},error:!1,currentStatus:0,messages:[{title:"Загрузка",desc:"Идёт загрузка игрового мира.."},{title:"Подключение",desc:"Выполняется подключение к игровому серверу, ожидайте.."},{title:"Вход в игру",desc:"Подключение выполнено, начинается вход в игру.."},{title:"Неудачное подключение",desc:"Подключение не удалось, идёт повтор.."},{title:"Сервер полон",desc:"Идёт повторное подключение до появления свободного места..."},{title:"Отключение",desc:"Вы отключены от сервера, попробуйте снова"},{title:"Соединение потеряно",desc:"Соединение с сервером было потеряно, попробуйте перезайти.."},{title:"Недопустимый никнейм",desc:"Ваш никнейм должен быть уникальным в формате Name_Surname <br>и не повторяться у других игроков."},{title:"Отказано в доступе",desc:"Ваш ip адрес был заблокирован администрацией"}],statusCodes:d,statusInfo:_,isReconnect:!1,reconnectCount:0,queue:0,initialQueue:0}},computed:{isMobile(){return this.$root.isMobile},isLoadingQueue(){return!!this.initialQueue},progressBarValue(){return 25}},created(){this.$data.noAdaptation=!0,this.openParams&&(this.label=this.openParams[0],this.text=this.openParams[1],this.openParams[2]&&(this.error=this.openParams[2]),this.openParams[3]&&(this.button=this.openParams[3]))},methods:{getContentText(){const{desc:e}=this.messages[this.currentStatus];return this.queue>0?`${e}<br><div>Ваша позиция в очереди: <span>${this.queue}</span></div>`:this.reconnectCount>0?`${e}<br><div>Неудачных попыток: <span>${this.reconnectCount}</span></div>`:e},setStatus(e,r){if(this.queue=0,e==this.statusCodes.START){if(this.isReconnect)return}else e==this.statusCodes.RECONNECT?(this.isReconnect=!0,this.currentStatus=this.statusCodes.RECONNECT,this.reconnectCount+=1,this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.currentStatus=this.statusCodes.START,this.isReconnect=!1},3500)):e==this.statusCodes.DISCONNECT?setTimeout(()=>{this.error=!0,this.button="Переподключиться",this.currentStatus=this.statusCodes.DISCONNECT,window.App.isMobile||window.setCursorStatus("Connect",!0)},8e3):e==this.statusCodes.BANIP?(this.error=!0,this.currentStatus=e):(this.timer&&clearTimeout(this.timer),this.isReconnect=!1,this.currentStatus=e);if(e==this.statusCodes.RECONNECT_FULL){this.reconnectCount=0;const c=Number.parseInt(r.match(/\d+/g)[0].replace(">",""));this.initialQueue||(this.progressBar.show=!1,this.initialQueue=c),this.queue=c,this.progressBar.show=!0}},exit(){engine.trigger("ExitGame")}}},D=T(M,[["render",E],["__scopeId","data-v-52f13b9c"]]);export{D as default};
