From e5469b7ad55bb77c269d3590818e9cfb480f0111 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 1 Sep 2020 15:03:44 +0200 Subject: [PATCH] Deployment fix --- .gitignore | 2 ++ .../icons/android-chrome-maskable-192x192.png | Bin 6401 -> 9983 bytes .../icons/android-chrome-maskable-512x512.png | Bin 23038 -> 23410 bytes client/src/App.vue | 3 +- client/src/components/Game.vue | 11 +++--- client/src/registerServiceWorker.js | 5 +++ client/src/store/socketPlugin.js | 4 +-- server/.gitignore | 33 ++++++++++++++++++ .../DemoApplicationTests.java | 2 +- server/target/maven-archiver/pom.properties | 2 +- .../compile/default-compile/inputFiles.lst | 19 ++++++---- .../default-testCompile/createdFiles.lst | 1 + .../default-testCompile/inputFiles.lst | 2 +- ...T-gltronic.voozik.DemoApplicationTests.xml | 31 +++++++++++----- .../gltronic.voozik.DemoApplicationTests.txt | 5 ++- .../voozik/DemoApplicationTests.class | Bin 529 -> 0 bytes test.json | 19 ---------- 17 files changed, 91 insertions(+), 48 deletions(-) create mode 100644 server/.gitignore rename server/src/test/java/gltronic/{voozik => tronio}/DemoApplicationTests.java (87%) delete mode 100644 server/target/test-classes/gltronic/voozik/DemoApplicationTests.class delete mode 100644 test.json diff --git a/.gitignore b/.gitignore index 11f5d71..d8f597d 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ pnpm-debug.log* *.njsproj *.sln *.sw? + +tronio.jar \ No newline at end of file diff --git a/client/public/img/icons/android-chrome-maskable-192x192.png b/client/public/img/icons/android-chrome-maskable-192x192.png index 791e9c8c2c69ddb7be30cef2517dd6050b079cf0..3c241fa33a10fd046cd51274c7c832a5e6113462 100644 GIT binary patch literal 9983 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 tIXE6m`vU*OhB3C-uvnP zgA0QVV~y3_)m5`*NjG6i3X&*@1c)FI2t`^->>CIK2L1$tKEMILu03WSK_JXyFI7#K zZ$|E94o>#wmNsT&E}jl%WM&?g<{*&A@@~4G8&zp-#Rh&KKA7w6Hx&Fl&)4SPf;m`p zNrmyP<=*E_IxU5A;u0{Mc6N3Wi7RjC{xMIaue+JyvMr6%vX{@Y{I2*u7OxKr=jWR< zFE6)>`jUdg?&k&{LMYBJAM&I3`H`dd4L-Ihq@l+MV7%X{kNT_)?@r_Um< z0{5JMNa3Q-zs64(%-$!5Yy|p@TkW5GccsLk(AE!aNDkn)2hsDkL@H%+4;tXtoOTsfAZ1eY!eKPqOhnjcJ@_gYFP|kWX`xyBH4VqS)tjWh)!z^d%#h8dhb>D;w4&Qb@MC zS7oa^Zq^6TIq@tUs(T&+DOJofE%&s{vutm71 zbzNbt4XzC(Xn7m|1I1F^xs<1u#$NI)2lu(CdFe`Z%bv23`!^fjubZ>=7WiRw^W5`g z>35g1qLJ}Vnl#qVMvkPRpQ#9~vkG5NvI#Y(Su;L$<0Vg6OYZ46$B`Z~hO;*ocw0gL zNi2*gUpy*->&!aNB-!uST`U-NS{@ch^R=5u^ooNUQQccVi111#-Ihb0BtuEgP9l*x z4`OBik**rtv(JW)724M5B%z$op+4p~%ep_PxEbTIw}~jak8e&mRHnzDAjthCp)BE% zM8+0&UIx}Jc%#W4qjl5Y zghH`92~93J#Y(@NQbTxq`F>Nivh7Oe)7qjr_N}RuvyWeVFLCMe#n>M8X4(8F6>Ldr zt&=fJuXXGzoQHJ{W*XPqvDFkH&YN0fvKUH9D))^?;ss^7i~jsTQ!JqH)v<7%;NFds zb*N3e3&Pbse?KsP&}dA+79$Og z*}v|$V%dcytUfbZF;Z)GV}gf*WwsuxI?|>*B{3sZ5j`^09Ks@l*!`3@~G?qw7lsIQDgo5JJ$NqfV0q);W_}^8-EqdRApsns%T+d{O%>_H5 zlY~3aYd{U>@q0!*b7*>5Zf>ag0iMZHa(`FTxrYKOF`N|Jg8bqc^Yd?he7oL+h1(G< zR`8M)Si&ncs})3CY$Tk|+~yz(F8ZO#{LJ*1b3KTEKO{K$k9-~pg#lcWyx5uR&aZOb zrRwI9aFdy)KlDl;F!W83YxIuduiTrYYZ8vJGb>8*U2gH26fwOJB>Y@Ir^=6*|Jd<0 z$yp|;L7F6-KjFCKTaK!Uw2G=jjuegGVtXN8kmL#pr8;QLLyO`XcL~Z-Hk4q*Hl<>( z-2QH9;n<5v{U}2C2{LAZMJ$pLid}#bb$^yN8i3_UU0{eFD}hLcQ}y%n?af)&VN#h1nOsfT} zS1c1RG1Zu`(kW)s@ur*0qM^jHd@8$3FejS^h-2iUv6pyj^{ZsOt}$5&7M#4P(T$!a zO4bm{tn`p*@{s}+^`1Bx1luPhRODqUukiD-0*R60-+syK^#OPM-)Xy~fv@#GF%_7a z>zqzfKb%QBg%{N76<$Z5bGuehe#Xqlh5mZ8KFA~<#haEMI;mXM$l zYpWr%|D+)FeDNdX-#Elu`T%lKKR?VbfiDZDK`Z*>Ovp$(SLa-uXy1 z>K$L+%BF)!lqPb-$cMQ!#IIna&>tKvscK3EnIh#5=v-n4Uj;x#WZ4!<{C?LRNj$7t zLkLl`QQQf?aO$86^JN}=IdR6e4lNE^OAxTF#4fQ_D{)Xh2%D}V2hJ1D84=RvY;YDa z&l78=TV4}J;c_E?Wcl2%J2OcpkvFriAWxi^SWISYCE7pfTUqWrSFYF6b);eHERt4U zj4xx2#A28!B7>oYN1Z*COs;{OY2XvHXK}lP%(lw%Z#4)o*!6Iw7 zhTsn-|5bKZJABU)Hl*d)x6a!n8gtjeRhe{q1af5Lq_NXuZAsOX#Q3RW#SE zDg{XOR6Jo)Wv}W7bK-BY;y{moT7>*Gn%gX)-H$NbraT91L(mqW!Z4U8FH^=sGUnIZ zD2PPsA%>`ZtL-d~zuY3#r+ zYrIGpkPF3J_xlYy>kNx;W2yyjxnIP{S>%)XJ@ozezw^+Y{z{04lg^H4NKYDlc^DYF zD~(@l_(Q|WoGg;ALmO;==Jp7${gYA&hII&|f~&iO(6__6=jiNJV%Th`V4fR#<{IaA zX!iVEROZ&mSb3#}6r#u{zY%^D1gp`qM#u9?&AFYKk2XH64vZ1^jP>x>J-{;lnF#G# zl#S|OrDvu=k}!f9Hi^&FsWrvI3K`Ks#rW3N-Fgvfk>i(kO6xM2^-1J!X>|*^8}f0C zxTfyo=(j@fFpSzDZhG!%zF6E*jv$5wk|^IgB>y^g#4Qc~vWSyG?nZ5f6hzGalg&ik zZl2!OWj>%2fppNurA6GI#B3&Ez>A%`>2ROXJueP}Uh^!>=$yZT?h6Z#7CNCzJ<*`l z{y-*sxI5j)ihnovDwh#wZHBrLUhn?<3)GPB*y$9mS9*COX90A z$kJfiPoGKK!JUmi7UouUCJUC(nyL<#V^z7z7vp4w_yQ-h@~LRGZYPlB{oQX~He~R3B?1JP?G4 z&QS?%Pn4vN{^Q#L!D`VIL6dyoOxt}cO6+ZNJ2yE$Ix8RdG#%f4QhTeF*7Gs^Lr^EM zLZ?tR$%6P(0%opPOwE}eKKct<2dJ$}(HWCM`O6B!tX!S#eUW&Qnm32!NA6o?S)@3N z#vC_ybKmArvUYMLyuTL*Sh4vMAxKey9B{$HvA843TkO75qaTxpuvb93C{jHqMC88p zJ&3=AX=jZ&^w8t(J5XIjzNM8E^C~C5wyrfmHB!-m5zR=dThf^g&25D_gzL%4NQ{!=Qx z6b_YGz(erXcZ{iMqEw_#`{7fL5P~hq$I{}(gf%H->4fl!S2-(IOr!;)&&V62ew?1R zJm0Tb4_W{fx~WI}zJ*%J!E$P&Vm60OtJ3-+zJ)yQC{uDQ9w~ijMXT z|4d4Cxt6aOGaaEN+0^6nrzr8-x198P-2=ye9WcA%N~rSjos`|KI&yl`i<`2XSPDf3 zUu4J^F)10*ERQj6*6ZwC_S2b+l%I}Z+uo~drh=x!L};t$iZ+^`M|g+dph1%Dxx-yT zu(DBkg9B}%6NBLzfvKz!w2fL*T-Y*bB#rW?m z5k4rpx>PVd*wxLU4lw8;=k(Dw{`x%}ABg(UHs{8FrA zx>}XgT@-?mcu@#nKeC#VeME>eSt~w|A9|E9IT%duzxaCASH*u#Cnbqo6mk$rjV7O*9YVtuZTeTtJ%Ht- zuWq}R>PoP93aow1&-`@n<_Rj+V1zmOK+Oj6Mcmt}5A%lyZIh*Gm&dAX9#Qk``Ei~X zSG=?)NL#1lskYGU8mLo8snvolaY4cHCSkSw=5kU z?A=(-$#P`xn_dOYmmR|NBgTHx@lTh@s4p7pTgbr!EXiF?-u^<{6BQopf1)(71U5Yy z-;z86Yzd1wQI!~(bDpLvSyn@tJ}|OT_x>n=+dR-w>Xaz?o{_2ZY&iR1Ci$g$o{mdd z371HmCCu{{K~^G^OEFmDze5^^OS~A2$QmJsIdY@YPp6cuWU-1*)zIHn);-K4r=`S4 zO&7Ve13Lr@$PyZnECr~+iw8p{$_rC{=c8&j{oo9|Ic&F?dJn`U0|#6-dI5le!VVZ+D){ky>sI9tBz6 zvIvz+>|8fr{QbqNON6UFSA#%M!Iq+;O46dD|F`W0G`li=<9MZhD`Ee5D-K7aM|DGY z{Gge|7>eUKOOKr=Qi7xH`laO%DV>dqjyd{2>z5FkWdDtvxu1KCa4=$jwaimFF5xb(i)|g&X;AC(D=>4gVlrHW|4LRdkaRgRH#1(0 z)}$$nVTFYCi4Zc_j)oUY@QD*CvuFJajvS!hXByXT8BV|3`HZ}Kon%%uLm&Z;(EJYu z1F?)Y51CMT+4UP^;Q`;-HmTDKW(&4cQup952qN2H73njY-^Bdzz^9HvC87f#$IKYz zTkv*#HkNd9rM!^l0t7B4vuTniTs;R@OVC~rYdelWK85a z@aq!?8MWQrOp|SUW0juKGw@{cbu#N9_>gYRfZ7G$^|dvDCV%hrt0yS;E~nB+TMk>G z9SLVFD=7xre*cDvU6BQzAUH^AIfFo`zu$kL2JA~rfrs!e((>Z)I|xw7Y&6>`(u*Jv z8Aw`8Sk+_sWX;oKRm1b{?Jmu?aB9yZ#$A?x8^N?LYwRihPqO(=1^PXI5t2)ui?@ty z&U6$m;u>jkvJxiQq=BU@^djX5w#8CYGDs`50AISXXo@x7wr{!VA$vbYSwsZadVw)# z!Sz9g`SrsP|JM!YoG0&b-@wrS|Lgx-13QET=%G6y7PghY`aM4BF?ao%k7y8xywsxQ zP(ltGd~R42>4uPATqbn27QZU5mv%M5ePZHLd3%ESf*J{Bg4>Ub3@!Tk{_BTGZ9L8| zMv?gLKW9v66tZ2e5yEJp(BnLn2*VP2YUaCTSpC%r7Y&VwYY;X0Zx;TRZagZ!ZJE8k z&Mkg?-h%aa)xYRc1b+-T`}k}L&GY3`a05SFD_{RLiJ+sgNKSqzCI}mvQBhW=kL(x?b z*Y_7HW^u*MbBc%|K%~}rysk@DnsrAiMjEEIbx=+~ZUl>L4b2~~5?DJJ6#d#J)KD@@ z1q)2|$*-XV;YjM{{RWzKPx~Fc6gb$Bk25IpVT7o@uj%U?ySC{v$QAQ-AuPh_LaRb& z1UUKq6X=ZPzmv%$w#a_GLcU;|jBZ$ig98R?2FtuJetUX$d=xoyipn!z)wj&w?MEh8 zoJqPv6LPUL$8CyA9v$!LJBj!_*sZ~`2S303ozR3Oive93OjgTgMTrqJ)}CR2It$_r z=ul~Url@_=^JP{?=!Yn5@~Ze}!;Bk_!mggh^-uUJ;D9lxK@>;@Rh{dF#5AUxKT7*v z)mf=u%uG=a51Sgf`UAcPpl&{OH?i#LY?CM+rwBf25z}G=3$b##uRDe~KKb}%cp8wx zp+dWZl1$y+9&ODOMJAzr(6~^a(M^_rxs|ZsW~h1qdkU4a|4AB#N8{Y(N8`Zj@HH*a z#|)x_F|3^|M_FLENw+B&U~hby5QTz5i5T+^j1=a_o13%x?L=eSB9^_X(yUkO$+l-* z#Si1q8?XY_Q4h5NSJ4e72BCc}=0b^}Q0&@ei~2<#1@?X-SX3yDIM1Kw$}azgzodPI z-hd(quqQO(Q7l7<1E!|S6&J*G)G?8%aT9bPbqE^u_M;=30Oj;AOFFh_^D!?hhE4eE zt3d(VjE{+)pMzyFCqyS#`P-E~dgx0hhnjZ#=MDM~dah^?mU&M5DhN*_8()Y|3`;SF&vI zy8aE?!vX*tXXF0ewvvT;0SC?x&I73?X*59K1=aKu5i1r-7t(W*$th>&%~f3w2hS z$7(T+ds8E1upn3f*{6{OmrzX#5O0v8JWAqaez~l4?UgWq$)dfAQJ><1X|tevA(G{z zLN-@kI0Vp~mW3o`oNM=IkRVdUOte8V1Qu>E6XV|7`ZPtMbgkz74TyMG)wrz@U@`&L zkSDA93)$pm7&Z_ZSkNZ2?*}&KJ9bDT{Modl8wMZ-P*qUj*f>M1sA*wAEY_nT$eDJ0 zjv`HP?;_a{g-Jw2HZ*~{B#NC4gp}imCJ}r<_lZc~P=2NIAcX_^IxLBh&_mUYYOtrC zX>_mb9EdlO7>uOy`*P~^vf@u9C{Pmnu2v0zWALnPVf))rJ>YAUftff_eWrSI2uw)q z`5cXP$=|);v+lFCb;tZJk6iI;7ktNl%JVd$&vNhY`QJVqpvX4&q&p@~04y&Y{;u_w>42@1^r>2LDq*I6p;onN!uE`Fq)1Fd0e@ieHGH zox>qC$?raoZ<(pq>%y)T*vtt))3V0;NkHIYrnHyjrXEiWD6_R6?@C~kvfEYrS-gbI z`F8iJKQ*+MybL6zpGL6i3>ls4)H`TM92_}>5-{KDQTesV9W0s%l2YI$h)Om(wFh;f zGS1v7@2JUxHsJhLcAZ{Iw(cD}FadDK>l{&F#6W96cR{ZPF5icbieY**1^5f#N1)IW zvFgw_4gWoRq{L_nHtF7g_J+#Ir(mTlG9@rpQ=glCrk$F-t`MOB*8`tD*5caSvgTtpp9ixcZkg3|q^3!*t7t>6HShEO9h% z8I91Sk&Y-I5yF^O5GRF^7VUQ~^z&I9Hv;;(yH`i=VsS`Q&NfIK0m2wf>FU~#SBHNu zx+##Wsf?keiYo>3hw-Tb97IEEXZHX-ceMP-!2{_crhDxmJZJEm?MW5L4j!)D$|_rm zja{Ce5%5XeKg3fdZLO`3kO24qoyiBxxT3wBMPf0VV$k3-^cnoz3;T;nP_O}57tc2?7AAi!Iy8NV5j*3Wkm-cys6gof_aCv`KM z*cw}#nOQqif7BPB-ed6MsuXS(%QDX2siEH3bl@tqu0l!X`H9aVZ z3BLzQKi`34TeSw)zZ?RnApm-+^FBqUHpP=Xag>>+kv zGpk^!hW0Z6Waz0v^8T`ig;yuMHE6&CO(wYXAX%WFvfbX(Z2*lE9x5fQ1FNfrgX+(O z5rf7+1OQ*4?pA%1-?TL-ER-Yk4t(BK*QtLcpb8c1<3fe$s21|O3E)PZsU>ubhoMi7 z8NcS$fYH1dF^cq5z-SVdH1Rk4fb#nLh(X26*cO!Qz1Bys>fSs=$WB=4mcThQ>hTj9 zMKu{{)vD6Aw5-(gQ=VM_Fwl+{Gb%aGbKn0>HTg5eKN&!a4bgRad4p*5ceo|X7PBUm zzALI=rNYqALAIBe08TBBVisH#Y9SoZ5VgBR0kgF&(?uIVC#F9db?&iT)HD$wJDVYA zT%6#ykD3J*p@Ycyxg_^v1+K2?81cVd4$8X$Td5n4J_Qg?F_2-T5u-Uk_g||9|5l{> z>nKSMz_wP?mQ5Snj?^rg(-AtVjBw$tl7aC4TuslnV?_JOob~+0H#{_SH1Jz)ZEf*h z`Ix+X3N|Xh4@gCozDyUWWF^3|d{yL6Q4Qxj@ugqF0cwzsmY_(26M(Z3J%155eYIto z)Wb)8tKlYDm=gjh%%VNRIV9lvV`z~Tb@S>u1d0IKGYwdN^x~XfSKRC9l6j-3 zjU9$KsBt|fiSbokfdDW1Ry(f`|BO>3Hx;XOie3?N6FApgaf`^x)CBG-{89oYleMrK zoG<|K;-I8O8MdbKm$q@cocYO|u(pPef7v2XG2C&omT9IZvMZ}9wVawHqXyLuo`p;3 zS>D5Lra(oVC*ogelESwc49K5`AQVPu^40`H+EVA^NfS5{@Q7*RG}MuGLs$%C*x2=y zxDr8w6s48rUlVFF9Q@ti6VsEX~Ofy5jQt3VJ9f?h(*J za(epb1~&FmS;ORMd!WhK4}^%iG7rDvLq6`%F-q zSHX#mpvzL<+k*_mwa&?bm?S2}R2j)~AqY(Oc>t8upL(u7KbvW7XZ202Hgp`cGd3~0 zD!O-(GkER(dT5O5vN0iV>%Qq|&Otf6?Xk4v7y5e*4PCArrM=w>XR|u8fe;%}4P=^4 z94663;34QxlutgR-(8u)&p*&y`f{t`voDw>(_I#DAIryY=#QVy`X6@lzaqTVtli*c~X0s-Hb2eu3 zlvbe(q`jiDKQ(#Sb|u?NJ!6ylrznK`=vL~_qFmcXp!Ty_EAQJHu+iOB;`03YKYSj^_*vWI^yHb8Lr z1t38Dlh{wV4?_`2P-jQ!>D5%}=`LhS2oO2z%NU7>05nijuKU|Rt2PIk?$=pg=hl6} zefUV%I&;IXP#PHDMHR~xA?=e%rd6lFj;|bSJoduB(v3+5vt}12&5j!@J|=mQ%NOOMmrOUN7R$ya^L1=!m5zxu8|^$~m&HYM`B6qS9(kO>fSNW0~ch zU5|gr08X3Rj)P_Bnx!Pz`&o0AbX|WPoHU0 znfDwPpjT)8Jf^B2$9Rk!+ies{c5bUUl@gg@)xd~pP`Ac%s(DIaGQk&e?r{>3;j*@ zgY~Xykj{amTmz=4lvmljF=pC+C&g`I}i>{zTUn1ld4(o zz#{+fE%k0GIvs~SKkeE?BR@7D>;A+?@|h`*rUys~0{%h0GfXEpi92?5pHw%sHTQgS zY|CA>n7n@dmEi0R2teYM`QPl3)@GKL7|JX`(M!`bft_C0MLg$(-dq@=iVnoZBB4Pf z_mMW0f#!x&sqv1hE~4t~@818&yuY~{RglQTmVrG6rk1sDc(fw-!$e}U01)f5GWpx9 zHS| z;kM{(>qoS2vyIVCAoKBFYcxO6kr%&sLeV28_Ij%e@BGojPncXX!9<3iZg1Z<0nDB6 z?ltmW0lXeB1KBqD{_hL?x4UiU|EvggHLV~|(Gmq^5PB$D#`#peZd~#Fnujd1Ht%Rh z-+}dZ-+g~>yW_p(Xq}}E-wD+LAv$!DO88wy1^Tg zaUH~YYkPFeG4E{+jatltawKB6#O7k0lo*aOHOSNcV~vOrEnkmIsOVa?$@eFt zRdx3bgQ%6u8h+1M-fU88M$b-(j`eQsU}GphSwvwsE`q4XLF5#Z|=^{ zE5shEw>j&9BduEeH5g4JBTMl=e@WDt{9B}l-arlcJ@IGTQCt)U@@!JsL9kdUg}pxh z=CBWaB1J-<3K0A4MXg<CcLL1$D~N&qqMn%bf#tM0W&x-50|iWG zRYmE8pR-Crm2U|+_M<+MZo!wGCZX2QclkO^(Cm(tg>dsQ9crEg!e`20cG5(dts`*Y zs6j1VPu1mDf4QnNhHa=70SrH>+&Ri-C_H_}tp-5?aj055yaFB3x4!o~a$ zx%!AsI%6_c&L(-^sLNqImg4yS^qeiwAq*yD5^%ZIH>z8wU_w^a2%`vCP5kHX`9FUo z5p22<16apE}$8evD4vXJtib`{iO|(af82;17w^4{Py>5 zSJZAN@~I5H|DlJpeT5EUR2Lr7D@Qp|#sl!+1XqJoqE7ZNV#TYa@*UgI9y9b$-?6H< zcOQ4`+<62d@pOyi_g`=nw zX`9N86=7!Eyz%L$cYk9(d({9vVTV31J&>MxQ39ER!y!!)A)3JPUx2WPPCXKq;r5FW zH?@O}>=Iv@Yk7~4qXKkLo+;8_Q{Z|1KfKn{7`O(wq&|*vb<}!e0=8| zvk(TEnv87m9rW{3ckc|yHFf8;NsnG~p3>@WYB^mwo9c9OB}w1VlO z28sJs^N#&n+H_pNC$ek5nfA|S#|6&?bVxa=(VTOi^luObvu=(htRst|fw$vsHkQ{c z9u4fyp0g-!uZc2R_p4FIAG8sg8%;RjThFOenU#fVH`Gl=t=<(oUmhXm)2-n0Cb)kO z0J|-R@UR@!|3M#NF^zAu=RNc2%WdpgvVpBpH&Oz}-ek%Zm)*T__wU27O*eHnXO$}V zuDN4OV)xkKf*R?N>k25VBZih;g^Iv&qKYXlEI>SP@^z|~c*HfNHkAB_EoiLmTUz`o%KwAydAhGSD6mX4^*vx;H0{(s4x3MVFVAr~Gn%?o-z}6!gkO#3K5Ep9N+DMu(du{602@1;RWI(kZFYcL` zF52ugZm%J2q=3}1>Cb}^&6OFa#PH2^$8R&Bypz8y^Xne6fMX@U)>DyYBqeyera?<%Jm zj@}VQxsB7aeMz~HooZep1j>p`< z5KHy<$WDa@ATEU-YRM=q!4eTD{!KqxBX?UTIhgH_zcprm;QYistzoW>-~fbO5~A&k zs3ZdF_CF&1%X30?@3Xs6gAx)*Hm&-2M`{g@P3({C?B=8l(rl@_FW(vU>D%4rFM(MO zk3%O<7c3zhNX2Mv`#Sr)_L|BVMSzQA@lcG!<1n8p7yz$)IzngXBiHXUKUlNNmVhY4 zKzh)U22_n3e=aJ87LcVb=Cr0{tguaM?3H6~nn(iaLhJeOeVAWmFpPcLjl%B;bCuhJ zgP2E{Ljh&u-BqBk%O{mRMloi=JO4f=pu^tvkAt!vA~|Ono^y3Ue}X z%E9&5Qc8moXW7sRQ)m!w_BDz_J6bF(ibwRl zs18(3zM^?NR~up*78E=;7w9cmZ`v=)mK{@X^FU_+~GCqYMbh zW$5Q|p}a7f4-9NRzH@!)OHI||5T*v$XEkT)uS4Qlk7k}Ho&|+{IAPW5;a%rsi z>cjaNcmM5kiE=h^m;9sLf@q-QTYUICy1(tix|@bAdqXqLYucQm>Rsua+eYIHh{ z{_%dJKA?La1#r9W!mkMaQj>e)N|QRnFA`|*Y9JsaFN}AkzVP2Ubqv3L14(yB?~wb< zPxx29B8#5M;&q5;3RowB-u2J+!6JHf{&&?n?aB(OMPW5|(7q&s`@;5|7e^f;ga@h& z47iOT%nbQ$@!8%FRK1&oURj?e_mhE$nCgm0WKohR%xrUTZlpBe=Xo|RsBSl6Ev535 zzC}t5P=0n&XC_T>A1qDEg?7y;s?kSv$@Ko5Ww$M6uU5n7VBa#2wKnIOkTS3OxZZSq ztuPl(DF+<{0A(j8M0exCrllDL0ECj*vjQZ_*GR3mzN++Hnl}`WCl8n7kg&#%v>RVF zymFPvZ>bf(T#_3U`Z)wn_>PaW?)>>ScXS4?E0w{qO!ZD<(+@)MKRJBj2X{W#H2T+p zDPT*#h#>&~-t@nB0cd9J2s!3F}FW?b5-90`$PiL_s|cj%pz~9`ahz zK3BtGf(z^fJ=xd6jO$Ug_YF+Az-e=JK9E{gOBqHLK%_{{pNV;fwYh&?lE()Gf%Cst zVS;?|i#TI$2i+p(m zOS9m2XS^b>zpTcg76FH!9IyZXfc8(U$d@j!|4!NL9;t@H&0RhT{WII&(3+RA85uZ0 zw%Ql`$tRU=<5vl1$n-YT0seYDRPU*uz9?Hw||N2Jq zioVw4jM)F|Sfh>rfa1ikvLn<><#V&@Cebexv^aV@l`mABZm)!b67E6~Z$5%fQw%^i zf2kL*0I{3m5XI#p?Fen!EtnoEzT;S>Hb2tUi7L_#l}5#soOC%5rBvxNKn+rSR5A${pCjfP`QGH0+Gysehmm-)m_#63 z+nzRI>#GF+itF*a=pD2+(=n}3%zo5{RuHA{hxkBmihASWrwq^pH_Yjq4DN?|pDiU3 z#5k2eHaWb{=^Nxc@|S>&O1A#W{eaef>(5?H+0cYBHE5n53ed6|4#>4wo1&wK%3$$= zj%QdEA+~Sh!96Lvz;T9VZrvRN3snBTEaSflOi0ljzQxvkv43HuZb6XQFSpm^@!GF{ zI0Pzs1R^p)%}MVY&bEcLz(mrb%jzP0pyCFANj2gMlEpQ`q38WQG?p_dwL$&CS5!0* zRSys}xe`K5c|{;pn~UjSye&#KqV38ngln^(LvJ}V?r#|x&kaKh*scg<_z99o5yzhd z=?A6&nkJzJyji=InTwA#K*19wD+4Io6bByoFrhXCaFCp>Of9tceLtqCsX1#AF6vrO z^CIf#7_(aOpo2ibK1s_%Y%uYR3Sg4TNBD8QsUUH9=-q!${u_lG zs~(r#u>+T-ttrF^ko6uw_q~$A4KLkV;uLLJXfBh@uNbW|Y6!8Gv!IF*SNQ>XGxw~Q zT@3r>YAQp^C@t$7L?Hwrjx(H^?rjT3hxudF%w1<4fzcK-c`HK36n}_z%JETlMs=uL zr`hT`wk7iEH2x%x5H(2aP*pUrK?dX`aeh@0G(nHYnuWcgJJ(Rh=5;nk*;((ebg7vS z)2*!sr3#L1NQXK_cM{XcO`5QO{cwtdz>X9@;>2rrH&>dGBF?kHN+K7+_GEHNUBTjo zQUF87i{A{orp0VgMUeUz9Q7t9nFh2(T^OKvhoe9FyDjFRmSEO2ciJ0$GfFl3TZYaU zUFLvC2DVXUa~go`Q=I0R&qv$knO5kAK=01EtIqFgvo{N9j+f;*=gr79_jiO3|0hd$ zKhm!$2Mrus4bEdi@WmHYoftV*!yMJD)t?Ws~$0TJh$Yl zi1S~cvYM7<)QB2tyYSSYylA#xtIYT>Cm-Tn$`Ks&7Mt}hACIW6%p_5!yn(EGhEo-( zy)4+*D^(8tgt z)8+8mBiW|YatCtV&jj$V>=-frl6k3pcPiwXe@;PEQ1V$rjvWE03O2q{&_SlH8LBEX zZ5{26+xr9U(L8YDbu63p@5$?NR%Bl`Z1y)QCj<9Q#sN;B#IwK7Jb1JzyKbvz3ofhL zekUiNqdbUn9s@>m{McZm5QN50U@KmDa(R0_H~;IpdVmt)IbfP8g|Rta`^C6?iK_ux^+@&(m)B2$oT6Gs()^**0nPWU=(kZymvR(MH z1%i#-Ts}C&0f&mXT>lY(ccaKBsK=89eji;%B}OyPFhF_U@Pqm*@bn2w4CfqVhp;$o zKe>K!aO)4~dhNa3Zq=_u6smf@#}|G9{TqMShx?FJvXCIR&21QUd^DbAHdSX&a$5vl z1~aOVGo-32jv!=LlNJUMRHFK)_>NXv&)8ctfH!A6?zNka)3bG|LR~sN8Dp8%>vGec z0!%80-<)$bKoN`>F)B%(C>K}Z{;&AA$g%Wx-){~ih9#<%gm!BCAiJX0zJPV$v}JM} zrp>>N{Z~8yC1AG2Fy^Q?0Ho-mWxZR{n`FT8Oq@R)pD&f@SOv+7)S+hZILx3KJrwi8 zaF1(`Q=8L)%|U$@&{sVKZpBQ}p@7m?+!e_+F@3u~;{14?!?M^1qIeu5&`wU%r`{|( zBQ|Ro$|1hAOuVS~GZq4xy@*2N(toxa%UYL%SulVz?j3vTT*}$r^r^AL5=^qMB`}!` z{9{4N)SGJ0G-o-c~j?haP=hp)}h1ytU)crtb?G*UPG?5RYAa~^2nA@ z2J>96AL(ge!Z@F&1hAHLSn($v9MozUD`o0W=P2HAK;Kc9BYy?T=>a%o|84!e>-GTH zH=&jI!Z>EhvavEE-JO;zModYq+#? z^tx9|qck7{`V`P5==yJG0Vmw^KAH|jHf=it=As#_%moC2dz;(p%0tj+&%*Yp|iTfYxIi`1k@TzUSQil^MZ03ms+r*%x|%PQ&{uZF-K&- z6k$|vf4&B^G{21N%di)s55>64$sLzVPecMb3UCrHbU^lg5 z-`3D0n(VW>|0s`BUGh3nf$Kn>iJ=2CkLrM0Jd@bjQ;<*K8tDjv&Hj89(zxWFN43p! z@ks+yq{xHSk@XL|jE!ymotL&7L1=K%VE^^S$y{E5nEw?b0*C80L|iZ)*m1qA2cF4| z)1TBW6KmwYB4~2EnB`_B{jQ`|#9gM{dV^cf2^|QzkxwP%fsQ5aMAB8oLsU6;E(ns< zNdgVJOoJBY^mt_p_Sac;h2WtF0^q7weD!m>=s})EWvyNy6FcZKoG6h>nCm!3=^8H| z%A$hz;2{kKTr_mD@T~!e?YnGtBkUw&36k|&&DNhV65q!%&`wgAi`QUpmz-J4w_Go< zw1VwDHnG`vY~(aJ>#Cz=W$l$)XG#H@^A)%^^aceDSTfQE4o(#1!?0P}u4uXM?s#}l@+8(_J;S*j{58mbb#ZdCJVqNqNFN~IMtUL+ zhy)B0ban*boVwh#N%5DgYT%vPB*;7Q;<(LCrp3?5wf-x{Gz?H|t9WtYBhfeqvf_tw z!1QppU_u-e{M&0q6m)IHhe0P;F~A#|jXfHwSF7-Bm^>-6XneuUhNo@7bxEr0OJcj=RPP{w=+kW!=I;!xkrO%QY}*yC=*zCw^;54V;Wtji6fNRnoE}8ErD%N%TbT z10HyA0ZxQ_1Z6;o1FGMFb9;JmQGJWS8AVA)hGRGeI^ycV>N!MFd&hVz9TEy0uJ6qE ztP(Ap0PA<9Dk>TxAWjW}EvhZE zTE*K2HCPD6w##8osxSX33wy>VGmR=L$PeDm5R}olIJr7rh`sx^XKIn`krMiteyCt+m>KF0UG1s`j4 zof~f&OHVAe<_(8!Hq%4Z0bGGviKbrTbRajR;x;X3dhEO#qWSbO%)>`1Cmk?8a7pJ5 z)C66QgW_2vBUHvUbQC9_xMxV6+jdP9l|h>KbP%9)Ei7&$tbIH<9pAZY$#cA3)^c6JC&zMmX(P1OwRJ3}(Y?exH$5MHzV%x(z(* z16rbkt++qm*L8Yk=|M%<`ezhhEj7$f5H>`=R+l%#3cHL1ul)DKJoGA96xXFC0zvRR zPLU@~K8>usi+G)Gk&|kfDSEnd1**-i;}I+$os7B=&s12@N=76ceR5n}htZQk-yec8 zDPYapAYYVcziyabXw#({B*t)ZIkUkZs)>QH=H%to-n9F0m984CjP~)=$F2RClbuUqtNn*q5$4%f(Iv|-S<}LL63q@j@f*S4rbzxy0 zkVPOO@!ZX1MN9df1Oed>*5oA6FZLWmVuP{TV ziIX9?Gr4A>MeRpAgO>?ozx*5eCKpe8iT7*z^|<0SC;GBctr!}u8eL_t5>&o+OX*g^ zTVDLYC!ZA0n=^f~K>6n&^}Tz-qNjTe5}3I`L#ASgn^oqY<`ZhY3LC&4)&`_r;r;+Y zl}v;#>K%OfmG*s|h3wMMa>EklZp$I$u%J*O4^K9faQt1~0ECp4QCoMlWe-3&F$Brn zGzn4&kG_*|OK5HFyTedhbp{5LQ0RsCF^8v*uDrn3Orth2#QN6J>l@=QsQWnC2Yg?^ zxK{HPp1^;Zm?QNT%i8>R37XHozvOx*z&!l{FC=(Nj+hUGNo+iC>LAEr4AFxa(`994 zlIIwQK^MQF@Y$j;flEW$SmCz9Y}7YF4OF?e(|b9n@1aTllK>F|CP8{JZgOu-9?C}> z6=uW&-Bbnuo(ZzWqtD^&a#?W@=CO9#JFS;a%R5QA6?B$ zc{k;u&u@WCD8ND5X*{p5)`(J`F!ONoxi(0~H2aPiVI6S)@-T2*1`Ewtb(w!GXUXwO zhqv%Xkp1fib>80CxHoOcTm^e8h6h2kACV$4YMC^L_gNqmrhIgKvr6 zCg}ss)_M+ zeB5FP6C`K0GcaX`)BJhQtDqx6s-lf@?^4N@f3P658q>%pd!63~0YN6qp|Ab8>88Hx z5`Tf~_2tXR_W&d-Q+oi^Bu_$4glD|}-Im9`bH)=v0}%N*?xg7U`$lk{y^&#eskFD^ z%*T7LtJdy#l#?M`lD@*Lxw_!8ckdtQ^L{GF<4)VtYyq<+FZ+d-KnCUQyv{g<@lZ!M zix^`2g>Q&TW}O6@PQh~yp>+}jAA{+cM;UW1^q_w|VD1fo`jNxuA4~>(`BwE!sYF<+ z+cjz{AGG=&zcFYve7TK8<8eZH^2n4ZPo#<_qRSgXZAa>uyeupLqBGG z_`VJnYY}f@BX%rL?Dn}(O|5WnNJ<=4TJjg)y#|w7b!t`VTdNYwPH!tkr%Owhd|-W; zWOK2Y61V&mo6oAL)}>ZHJC=8Lr+(m<|M$LyML8|C>RUNi$ixeluwJ-ailvSR##E^t zs(s*0?=)?^;qvq~FN6X=n{9ecoTmaJO6q%a0g5#I45+c;fVIm0oLBh8R@;)f(u3P_ zP?nKrbl%lZ+17Pda_wF)U0R6Pa(bK+p ztfhjo)@pVJGl)PqE*1tPHYW^4}V4TNMRv8@~Z z0?fn!hEJ$qtaTpsku^M201!E0M2Pe4VS4W!umM6(C&uQjV+-#VBGxM71Ku58a*hgS zyw%tTg+&N{$ek@VltVy~fo#5RgWSP8ES--!V)MbJVn6(t zixqc)xb4O2_07@E)Y1EP$66e!kqM7YRFv0X1lAODWnK5uaFyj>k_r2^J@8Ws?AP`p zUhcJ>Y_jhAO#axn|M;)MlSEBQ;<`qtksRhcN->u>Pha4&J2NY8s|Jv>{egQqgT)aU z6TB0{m0|c-(g_2^GaC%jt*CyOT|WF(GdGf$3)N0Vc<8IG_vLskt-T|T4h7e(-HMRj zndL`I;BMcXfsb%#X5EZzi~3SM@HFioT+a5xk3yKkZ~CB#O0eD3h7en(6s{O;sXlbX zPU;83tOTa(Zp{(YJ2*bi;UD#3u|Nc*PjvEI5&=3=R#M?-F$OedHd4o82ftFO0xnUK zKcPYV{4Xez&`@S_5eJeBi+G+G!TV&^+W)ROh28h?xpg(8S^OTG8N?)2^MZHY9*)i` z=kl~olclh+lt1;H*U(DyM8q5KVVH^=y8i1(mrd4|TEZ>EVc~61UC*%4E$W zm0Evp;nNBoo^C!RIx8hYBGojW-0(0*eY#qfG`mKkadCX6IdOcWq#?!p|R$=!0PwT1~Xx z=AI?=d5Y2K_;L|g53G2u!mG!Qfu=ZhUlf|*N>zAi{)vT_ZqwQnkfxCOO$~_qCvvFx z${(~?(n<8c;9o68oc_lpP!hS-ehWePV)f@u2Su@v#p>CR*~m+Qz(?|#*Vy=Bg|}D9 zxxQe!D$`^^u@^W$@$q=2(44TnT1q0z!!FuCEQ>$;ZSP%{tl)*Tuq;oxgM3w;!b7T< zy?6rI$_;Tjw_P3D64(2peQ$8Zi}-Ex{M2;7Mnd^~ycJAp%Yq}aNw(a3aN|``Icudr z8J7UXU*g+h&CyEhE~RqsoV!SMiLZ~#8$7sor#eQuBxlFl6{^{!AR%Ln<;!#}TISP7 z&0xx}C7stPd<;SZ^B@={cAdBYlO z1BU+js6`vq%3^hRdc`zpbfDjM+jLtQ3@QvSCxBxK6K7PvIf1Oe&?s-RF{0%mAuHPF zr{$obPWwle7PnxU3Uu9sSUBnHX32(>1R*qVa`Lc4?GGY z3E62#zSrv4=g2`k{zg~Yxu9+;=|kzbCd+R)xW70`36;QuoYyqr)D_hu4ypN>4?CIUHVz9XwIKXAo$o{`@sV$B3ulhT$}(yq*x6ElHSWF|C7`@UyoT-^IhH`g82UVt#uL<>`2cojGjQs;-3 ze8IGX^cVZ%l3ORYp?Gm{f{M(>&jrO|#pIwPB(&qq?oYCgt*k&5?|JSJ+VzppA6v+UT{0xn&f!gNi-Ui=idW3I zCi`z)EUVtsOIAA&4+p;fI%&IIAdy}zUii&`23c|toKgs!ORWdJpxo35O~R|E6fcdU z`3oid$;ZJeWFjjw%Jm(wG&zSy&~51UPN>Sv3X4rTI=#8QlO16!q+Z(mW5r%K3)obFS0UQ~X;gew;9x#Km;P3pc~~FDOA6Y(3cL=+uMbt4kIKIQ@iuLJ zgK;%uV&>8Q+%kPg9x4zd_B**DWVzSkeE#WYAoW<3ajGn?-cD|O#XR#9kKJlCAaY2-XeKo)~X zx6Jxxw)emGTfiDg1okkl#Neq+oyD@J)Y`TCr;wd7J-taB756L3Ho|EtGmnVPdDboq zkH(hX)!2r8u~)1_Dz|%VNG(OO5d3_7X7%*Uft^Ng)kylXo26y4;uL`>PdbYMF$4=% zsKc85X_M%D(IE}h=u1$0TFv?0cH@ul5|1Lq{NaqEOl@LZUjUnoH~f-r)~)At_obCw zqs!#46#TyL@?$Yb?h!Ttrb9z%^zP2KPaCFLKGX$n91NLE_K0d-=XdJ2;C+pSNh{^C zatCj-Fu4O*8u|Mz^qQinMQ;tqH);D|(2KFY($0L#L8flT?TN-&ms|YN=oiN*HoRbm z?~M+-O@~cob?iCTE^FVkGk?(^ny8zAep@$^9FU?x-y|-~BoLeZ)?f#$A%%(p7c=op z|DEqIV`CG4b+L-ZkQN$7D$0Q)vNlP{dPkN18TfStkMjT*&s_)L?zxe_cL5pywVWy< zwIUsk4kv92H3e6XO&FxE2!arRiqVyJh^L%bIw$pJG3yY-fQ9gfR-gLxOX)oG=cXRw zzphmgj_hFxM)1p_`luBiDe$0xBlBH=cSjFH4mftJ6sLB856(=1KnVo)D;or`Sz#@) z1kuF#`!r4`B@I!jh3UcP=Ru1;Qi{$wE7fB=%QVt?T|V_{G6MS#Xxk^e3eBGi{R$H zvV3T&wCtRJV|FE`}WRW2rNHUC$CP_qp@v8={j%?Gjm*Mq$oo2+B;i;!vY=m0! zq1_j8DJtQ742*mfeSIA6@Hs33uZBnA&uWZI8#ckTXo8AUCMlKggto(_9)~oml?^=2^Nw z{!oxuQ!cB6zWadFVY9sEW-)=i<4cw-vDUcyK5!y0UJqK|VpZnvFM(^5do93lq(!@K zABr@3%#s4#=VvJ6fmcoRsx{MBea@2Y&G(hkvWjFQ>B8`~wabapCsAKuI<9|~QJk7{ zcdK|0H^pZ2i+~=)Wdc8KRg@xvrb0`lh0?5)A6O%6_Ab#yX(-?kzbE3NXg|#d8n`9H z8!gf_;4kn88Uw|$Ok&tMJC5Q77_i2WUZK@d*;vVRi@%kpy^qzkLJ2Z^6uKOD2l z#68?PV?1RxN`N}D)C8e@|2^@!lCzck_1nQ`)Eru`@k&VQF?Ve)SaT zGF|zg;N#A%GAie1$bMev?&GWg1f~lZphVQ0rQlt!Prci8*kcc^XV)9?CBG&e*E_~< z?QHD%t*rj-n>W}RkNU$KbyHHj|6x`)!`n4>xI3I0H0Jvk9dL^i3!V$nZSL~f35kS0 zl|vAkaY1{h4=#Vf^zP}FR$&32KT0uw7s+SYVG9Gau&nGfVH*}~U-gz!e_zlcUgYWipc*Rh4S|$A>GNx`p zB4fS=X+|qI*o3b6B0BZ39>>M zl0Y6PXuBQOb$#%;tMBze3ROQ&^9Pm3;;vM_R_a)9L(I@Y#SyudGH$nB!*N%_Da-V% zvJ!(1*($RZazb8NZ*T1lP)-nCEH&L{wp!d^!)kQV0Czu5^O8hOyk>%{M_j%^xvRBb z<%r3CgQ6qhPMAx|5Z32bK@@f!hn@OfqA8LXkw5)Ogvrk>>DikC^2 z>+ilk_=;-m;_u{rJ1{E4341-+u;+t}FS)JEb;nxor$)JL+-)(!JuT(D==iPZ+=8YZ-|WmIZ%7R)8XXL Rd|ex2pl71{LEGuU{{g$bGqV5y literal 23038 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 diff --git a/client/src/App.vue b/client/src/App.vue index 04785d7..ea0934b 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -3,7 +3,7 @@ @@ -34,7 +34,6 @@ export default { this.$buefy.dialog.prompt({ message: 'Choose a name', trapFocus: true, - canCancel: false, inputAttrs: { placeholder: 'pedro', minlength: 3, diff --git a/client/src/components/Game.vue b/client/src/components/Game.vue index 29fc3d7..8136cbf 100644 --- a/client/src/components/Game.vue +++ b/client/src/components/Game.vue @@ -68,11 +68,10 @@ export default { this.canvas.height = window.innerHeight this.canvas.addEventListener('mousemove', this.mouseEvent) this.canvas.addEventListener('touchmove', this.touchEvent) - this.renderTimer = setInterval(this.render, 1000 / 60) + this.renderTimer = setInterval(this.render, 1000 / 120) }, methods: { render () { - this.stats.lastFrame = performance.now() this.context.clearRect(0, 0, this.canvas.width, this.canvas.height) this.renderBorders() @@ -99,6 +98,8 @@ export default { this.renderMouse() this.renderDebug() + + this.stats.lastFrame = performance.now() }, renderBorders () { this.context.strokeStyle = 'white' @@ -138,11 +139,11 @@ export default { this.context.fillStyle = 'white' this.context.textAlign = 'start' this.context.fillText('camera x: ' + this.camera.x + ' y:' + this.camera.y, 10, 12) - // this.context.fillText('a:' + player.angle + ' a_t' + player.targetAngle, 10, 24) - this.context.fillText('canvasX: ' + canvasX + ' canvasY:' + canvasY, 10, 36) + this.context.fillText('mouse x: ' + this.mouse.x + ' y:' + this.mouse.y, 10, 24) + this.context.fillText('canvasX: ' + canvasX + ' canvasY: ' + canvasY, 10, 36) this.context.fillText('Total walls: ' + this.stats.totalWalls, 10, 48) this.context.fillText('Last update: ' + this.stats.lastUpdateTime, 10, 60) - const fps = (performance.now() - this.stats.lastFrame) * 60 + const fps = 1000 / (performance.now() - this.stats.lastFrame) this.context.fillText('FPS: ' + fps, 10, 72) }, renderMouse () { diff --git a/client/src/registerServiceWorker.js b/client/src/registerServiceWorker.js index 76cede0..89294b3 100644 --- a/client/src/registerServiceWorker.js +++ b/client/src/registerServiceWorker.js @@ -1,6 +1,7 @@ /* eslint-disable no-console */ import { register } from 'register-service-worker' +import { ToastProgrammatic as Toast } from 'buefy' if (process.env.NODE_ENV === 'production') { register(`${process.env.BASE_URL}service-worker.js`, { @@ -18,12 +19,16 @@ if (process.env.NODE_ENV === 'production') { }, updatefound () { console.log('New content is downloading.') + Toast.open('Update found, downloading...') }, updated () { console.log('New content is available; please refresh.') + window.location.reload(true) + Toast.open('App updated !') }, offline () { console.log('No internet connection found. App is running in offline mode.') + Toast.open('No internet connection !') }, error (error) { console.error('Error during service worker registration:', error) diff --git a/client/src/store/socketPlugin.js b/client/src/store/socketPlugin.js index caeb423..76e8f55 100644 --- a/client/src/store/socketPlugin.js +++ b/client/src/store/socketPlugin.js @@ -1,7 +1,7 @@ import { ToastProgrammatic as Toast } from 'buefy' -const connection = new WebSocket('ws://localhost:8181/socket') -// const connection = new WebSocket('wss://tronio.gltronic.ovh/socket') +// const connection = new WebSocket('ws://localhost:8181/socket') +const connection = new WebSocket('wss://tronio.gltronic.ovh/socket') export default function createSocketPlugin () { return store => { diff --git a/server/.gitignore b/server/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/server/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/server/src/test/java/gltronic/voozik/DemoApplicationTests.java b/server/src/test/java/gltronic/tronio/DemoApplicationTests.java similarity index 87% rename from server/src/test/java/gltronic/voozik/DemoApplicationTests.java rename to server/src/test/java/gltronic/tronio/DemoApplicationTests.java index 959f824..3c89998 100644 --- a/server/src/test/java/gltronic/voozik/DemoApplicationTests.java +++ b/server/src/test/java/gltronic/tronio/DemoApplicationTests.java @@ -1,4 +1,4 @@ -package gltronic.voozik; +package gltronic.tronio; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; diff --git a/server/target/maven-archiver/pom.properties b/server/target/maven-archiver/pom.properties index e042275..c836038 100644 --- a/server/target/maven-archiver/pom.properties +++ b/server/target/maven-archiver/pom.properties @@ -1,3 +1,3 @@ -artifactId=voozik +artifactId=tronio groupId=gltronic version=0.0.1-SNAPSHOT diff --git a/server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index d43349f..63d5040 100644 --- a/server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/server/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,7 +1,12 @@ -/home/thomsb/Projets/web/voozik/server/src/main/java/gltronic/voozik/web/SocketHandler.java -/home/thomsb/Projets/web/voozik/server/src/main/java/gltronic/voozik/business/IYTSearch.java -/home/thomsb/Projets/web/voozik/server/src/main/java/gltronic/voozik/business/RoomManager.java -/home/thomsb/Projets/web/voozik/server/src/main/java/gltronic/voozik/business/IRoomManager.java -/home/thomsb/Projets/web/voozik/server/src/main/java/gltronic/voozik/web/WebSocketConfiguration.java -/home/thomsb/Projets/web/voozik/server/src/main/java/gltronic/voozik/VoozikApplication.java -/home/thomsb/Projets/web/voozik/server/src/main/java/gltronic/voozik/model/BiMap.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/TronIoApplication.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/model/Game.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/model/BiMap.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/business/IGameManager.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/business/GameManager.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/model/Player.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/model/GameUpdate.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/model/GameSettings.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/business/SocketUtils.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/model/Wall.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/web/WebSocketConfiguration.java +/home/thomsb/Projets/web/tronio/server/src/main/java/gltronic/tronio/web/SocketHandler.java diff --git a/server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst index e69de29..3496e8e 100644 --- a/server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ b/server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1 @@ +gltronic/tronio/DemoApplicationTests.class diff --git a/server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst index 03dc03e..7db41f6 100644 --- a/server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ b/server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -1 +1 @@ -/home/thomsb/Projets/web/voozik/server/src/test/java/gltronic/voozik/DemoApplicationTests.java +/home/thomsb/Projets/web/tronio/server/src/test/java/gltronic/tronio/DemoApplicationTests.java diff --git a/server/target/surefire-reports/TEST-gltronic.voozik.DemoApplicationTests.xml b/server/target/surefire-reports/TEST-gltronic.voozik.DemoApplicationTests.xml index 7f03235..1fc5a83 100644 --- a/server/target/surefire-reports/TEST-gltronic.voozik.DemoApplicationTests.xml +++ b/server/target/surefire-reports/TEST-gltronic.voozik.DemoApplicationTests.xml @@ -1,9 +1,9 @@ - + - + @@ -12,9 +12,9 @@ - + - + @@ -22,17 +22,17 @@ - + - + - + @@ -40,7 +40,7 @@ - + @@ -50,5 +50,18 @@ - + + java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test + + + \ No newline at end of file diff --git a/server/target/surefire-reports/gltronic.voozik.DemoApplicationTests.txt b/server/target/surefire-reports/gltronic.voozik.DemoApplicationTests.txt index 59cdb84..52bef72 100644 --- a/server/target/surefire-reports/gltronic.voozik.DemoApplicationTests.txt +++ b/server/target/surefire-reports/gltronic.voozik.DemoApplicationTests.txt @@ -1,4 +1,7 @@ ------------------------------------------------------------------------------- Test set: gltronic.voozik.DemoApplicationTests ------------------------------------------------------------------------------- -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.292 s - in gltronic.voozik.DemoApplicationTests +Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.013 s <<< FAILURE! - in gltronic.voozik.DemoApplicationTests +gltronic.voozik.DemoApplicationTests Time elapsed: 0.013 s <<< ERROR! +java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test + diff --git a/server/target/test-classes/gltronic/voozik/DemoApplicationTests.class b/server/target/test-classes/gltronic/voozik/DemoApplicationTests.class deleted file mode 100644 index d0f95b3a79b132f221b21c550a1c9f719f681dc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529 zcma)2%Sr<=6g`<%t8KNlx+%DDA>sqfP8W($6<33TE!}6PaZEc+hD@f4f8|PW;RpCp z;>}n@#D$C8=eZ~6-uI8!Hvq@js3Bn3PEu!$RxzI$^Q0#HQcg`T%Tg5!r;HxR+~qY? z8QNnp6Fe0<;WyD(#*Sg}RB7eT7%IDaLx$>w8Ob^-SZ-ngiwvz$X?a~tBWVXBN+m-l zG_gpB!YZH7i&b~8a)zDoKUz*0nz7MNKDy9|5zTdP3+>cY4ppv*w5PRkrFQCVhQ=m* zT#!t%nR3!{kty!iBBpxZ6gHMu%4_TXwfdpon&GJA$up~Ta%aUDsb2noEzoi3+(1B&jzW2jB2J$9%Ki(Mp38QftZ#z=4YJKI0QnWlfK}=SXi?-* eZStPzfS#XWzeyTDNa$oGNq{wi2Izd#tOK8Rt9&E? diff --git a/test.json b/test.json deleted file mode 100644 index 0c35ed8..0000000 --- a/test.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type":"gameUpdate", - "message": [ - { - "color":"#0deeff", - "x":361.69764869823257, - "y":427.9410817135364, - "angle":0.0, - "targetAngle":0.0, - "walls":[ - {"x":323.69764869823257,"y":427.9410817135364}, - {"x":335.69764869823257,"y":427.9410817135364}, - {"x":347.69764869823257,"y":427.9410817135364}, - {"x":359.69764869823257,"y":427.9410817135364} - ], - "lastWall":0 - } - ] -} \ No newline at end of file