From a2319b3b88067bb40c51bcbd4880ef5fd8b747fd Mon Sep 17 00:00:00 2001 From: Marco Date: Tue, 8 Apr 2025 15:02:41 +0200 Subject: [PATCH] Difficulty Selection --- .../DifficultySelection/DifficultyButton0.png | 4 +- .../DifficultySelection/DifficultyButton1.png | 4 +- .../DifficultySelection/DifficultyButton2.png | 4 +- .../DifficultySelection/DifficultyButton3.png | 4 +- .../DifficultySelection.pxc | Bin 9327 -> 6400 bytes .../DifficultySelection.pxc1 | Bin 9327 -> 7701 bytes .../MenuBackgroundSmall.aseprite | 3 + .../DifficultySelection/export.png | 4 +- .../DifficultySelection/l1_robot pov1.png | 3 + .../l1_robot pov1.png.import | 34 +++++++++ Resources/Enemies/Thermathron.tres | 5 +- Resources/Enemies/Turret360.tres | 5 +- Resources/Maps/Tutorial.tres | 7 +- Scenes/HUD/DifficultySelection.tscn | 68 ++++++++++++++---- Scenes/MainMenu.tscn | 14 ++-- Scenes/test.tscn | 29 ++++---- Scripts/MainMenu.cs | 12 ++-- Scripts/UI/DebugMenu.cs | 1 - Scripts/UI/DifficultyMenu.cs | 39 ++++++++++ Scripts/UI/DifficultyMenu.cs.uid | 1 + Scripts/Utils/SessionSettings.cs | 2 + 21 files changed, 188 insertions(+), 55 deletions(-) create mode 100644 ExternalMaterial/DifficultySelection/MenuBackgroundSmall.aseprite create mode 100644 ExternalMaterial/DifficultySelection/l1_robot pov1.png create mode 100644 ExternalMaterial/DifficultySelection/l1_robot pov1.png.import create mode 100644 Scripts/UI/DifficultyMenu.cs create mode 100644 Scripts/UI/DifficultyMenu.cs.uid diff --git a/ExternalMaterial/DifficultySelection/DifficultyButton0.png b/ExternalMaterial/DifficultySelection/DifficultyButton0.png index 5e929571..ca6abe20 100644 --- a/ExternalMaterial/DifficultySelection/DifficultyButton0.png +++ b/ExternalMaterial/DifficultySelection/DifficultyButton0.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bcabf9a8301e56265d09547017b22b1b15b22a846df0bf173d611b8d6078f1ea -size 1613 +oid sha256:d87bc03488b4fdc168c25bb1c74ef1fbf60cc650d7a3659aaee90e490328fa72 +size 1647 diff --git a/ExternalMaterial/DifficultySelection/DifficultyButton1.png b/ExternalMaterial/DifficultySelection/DifficultyButton1.png index cbf3a733..df70004d 100644 --- a/ExternalMaterial/DifficultySelection/DifficultyButton1.png +++ b/ExternalMaterial/DifficultySelection/DifficultyButton1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d5870a73bee14877a48240656ccb6b79450ab2d513a0cf3f3fa98d880074fec -size 2403 +oid sha256:af9383558c52052acd7cc4a72c07840f298c5b01dbde446ccd9315c011ccf01d +size 2471 diff --git a/ExternalMaterial/DifficultySelection/DifficultyButton2.png b/ExternalMaterial/DifficultySelection/DifficultyButton2.png index 8e7b1b5b..cac5ca7c 100644 --- a/ExternalMaterial/DifficultySelection/DifficultyButton2.png +++ b/ExternalMaterial/DifficultySelection/DifficultyButton2.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:32bf7d986a47efe21e1b95b828aba8b40846f20a2df243057375149de8cec724 -size 2288 +oid sha256:4c6130ccc08cd06537c9c55e76dd2094d1b24e7fa6743a54b4a3f6308411a3a0 +size 2325 diff --git a/ExternalMaterial/DifficultySelection/DifficultyButton3.png b/ExternalMaterial/DifficultySelection/DifficultyButton3.png index 1f61415b..c4baddc6 100644 --- a/ExternalMaterial/DifficultySelection/DifficultyButton3.png +++ b/ExternalMaterial/DifficultySelection/DifficultyButton3.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:97a280c234ecfe607e321526b03142e66b6a4230796b95fb7d5f7040c685b8fb -size 2148 +oid sha256:be6a30305bc4b894aba0e094e32afd4e2fb4b9b2315f8cf1675cfefce27479d2 +size 2184 diff --git a/ExternalMaterial/DifficultySelection/DifficultySelection.pxc b/ExternalMaterial/DifficultySelection/DifficultySelection.pxc index 3d3b2c1428e41b70e120d1642e317f47dc8faf36..57111e10b1340628e2085bdf0326e2d5accf5a2f 100644 GIT binary patch literal 6400 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

!5dhSa&7#{+fC2oFoK^?iqmeO4U74L`4DYopCZQ zjr3-(@+Ox$dh_bIa`nYAR1VU=K1feg?b{GATo97~%VBzoqVYLQ$JcnEiYhfsuT-DU zWxS_B>W=m5)zzzd&V#$MFgPEUU@wR1e;rJpk86TKBS=P4gS;Z;FFF50px)W`XU@Dl z8ry$xB`k572WJG}6^SUki>OM=(DR5s<0|Oj{71D@Q6^ zWnM@%!60k{sLZylZW6d}*$y%l46!Pi80ZV@B?S-`HbE)r_S0_aIGp$UE?j%y%O}qK zTYAYmajIXBIay@!8I|S`jAbx71y{F@cxROlyh3F35E?QmE2JX^DAbnV3%J|~K#(Ye zY-klpZ!p3}Ivj3#{PNre=_XU0>ePv;$%eA%dlu8zsWP1?Nw!|iE~Cx*pJCc7IY^a( z*t9cNsA}@iP``YB}&OWaVnkDI3nVRCk>~x9{#BZn0WkR9Nt)PKj z@+V7$jSuAhL)lUZN5qqPmu>_9reU|m%Qi_0`aS2ptvNz1Y(uIt2uTXlW9sip{Sv9k zmE-2han8sEUqyrpSB9yU^j{Ks#QIMK!J4G1g0#yqYeZtHr_|>GuMyQHV${I_nhZk^ z4(M|M#L^0Z8mV3yyRdKbQzIPg)tI`a&3J-n$NzDDe`9IymXXWWfhFPJIj$N3nb zN6r=)@#+>xKw=e6ytUltYQqM7_P8kAj>-aty0!x+I((@(SgZdmSmA~Nj3>~K#QB*m zC%8y$EWVhUy+~vrehfa2SdwG_czL#f@Pi9ZMxMWC(XgbQwS5OdOk%c{VQIZK(t?N+ z^J|FzCa!R6yv{En-ya9Gf1)>zp{E786+a84&QFkJp}U8$uldG;jHeCUU_dqBYhymJ zOM}SzcNxAhO#YIGR12Nh=nBcK8FjZGbJ@I}zC9 Oe*OCOKmP?^aX3X-HeY-I literal 9327 zcmZ{oQ+FHy!>z-{w%ypaZ8lD0TNA6X-Pmr^xQ%U3Cbo^q#QffGt#_TX&c(TT*8Tze zV($l#e`#Xxxu=l6RV0N8mb>_JMPB3OI~2Ub@feg>5`n1z6PD6|ULX5>ZKS)0Nf;4% z;4+K8u;5ZhTX8lv5y-{NeEz4}V&YaW=|e+iI<2TQmr4m%b%QV|h{5RRtybnYBJIpl z@sBt|982%6s(R~7H|x{AJwOR{M@ZTQ&iF@Q95IS}`C8ry#-1<)my9UaTrOlT)YbqU zD(?05rl5(c|FKj_w4fjZT3!Qg8u-VvSTpba48RR2dFe1$_UZwT_xn1Lt%M9`#NF8M&>FGFNPTG{ zNEA5E>pG1Z16@t7o3U`EpK_vZ)iz8BgiwUJB?q#$YRd z_pnc_^?lpBvYGb&5ejUp`Ge#S3RY#l-yalonrR6i6yRZMcw33jTLs2a})wnq;FXO+9uBDZ6S+&VDVkdDO zLImbUo8TY(454wm?6fG z!I7hh#J)q;lwcnvM(iSXo<*N>N*>0&1P1atH+`gqIyD()75~Io!b^ke^i!7jE-J5yusC#MAljzT~*o30*NRm5hZ{#b(l5gGFv~Ow|b8mz2FK%IlesmwN z1}%J_I6WlbUgf58A;@fTKA!3+_X$3kNz3B=W_dSEF#~iIEU6?=EsN>vUgTb&i2W=` zrMoWb@~Pae@cWf#V3vTsY7`ZrT*=BZIL(asMcD&Hs1B*=-cN_s_fNSPynI&PEDR+O zIQrWm>dFB=?huvDqa5@Gq>eqm`v-Jdf9aHNdG;+pMA3z!Za80% z)tFg(c;SpnHC!>hs&@u%V!6;oSXvo*aIV7|Bt`Q+RM|b+A)IrHHmWm}N=h}5cgdf{ z@P-WXl>-Uq3g?4OY2MK7HXCHO@3vY(yW&L0aV}1YEvR(2@jfME{6J2_XyuQxSJV-y zyPPX%iJ0gSsRzEfy+c;lJO?gcA=2z{Ur}ma*wW#te8R@XRA%Ba9Ax{j;nWxIsKuzU z>%QcjAonTGH@hE_QZ!ueMrhv$g=1CI$O(wZVuy;F5T^20gAqpDkUs^lT(S6@1l_J< zrO{4R-*oTxk3Sx?T0wswXR;0ZT^fJD48a24^1=`h5darN%Z&&913Z}P=t)1&X#gn2 zfv8c&;OP+KFb#9Y6csf?t%N=emXkY=$=k`&G?HcP3+CRX94iH6IFT^riTwh(jo%_~ zb10I2KXih=`N2{7NcufdJ+5M|n8GCO+sEw}E}RmJPJ=Q6A9+PhHKv{I5F-O5c0yR; ze2_!;k@96X)CMq0HcOYMiC${V z5Wl16<{NgMLR<>ePx26B=>d9mKTdGT^KaWem|QDphF|yP*1yPFw}_LoDze`I1a?DM zSEkOnLhH4xJUrfaP&3e$i4%73CoAcr1JG=^h`C3BawL~@Hdh5-w`sVHOvV^k`qNdG z8%&!Q;Wc6c^RH%rJkRxGZ$J*gVs99#vjs*KXBM9_!thX)y4)y>tRn&E@NGO{Qvt}I zQIc6$1ub%rH5NQ>@o9n<$A+Nid6UINRuTMc$ia_po72Mg5PQBJq;}@FlgH60tCjZ; z1zzv6ZC92#>h8tszaHAjvxxlMFL(GFe-`g!Ej3&FBq4Vz z#_B+xRC(^z4V>2)A2Hnt3xoz1MnpKq1fVLWtJo~Dmx~nPnpd~>1nqQZ9>Nw&#o^H& z;aO5Fi}*k&Y^}|=VtJqRyScKhJlI)P;*^WwK*a3jXK@qjN$tK{Ql1LMn_8EryU9}1 zlr!r_?QI`%r^BZt9B*M-3wV?!aNlc3o&6yy!(R zO^hh#6CsS)v=d{tIc3k>O*vH(?XZHB_6R85LR;%k`+aK0Po~q71gqM*1#?iJ|Am42 zYMp}Iq?$&vxKYGRVtoTqNN-5c+#qfT4Vfx>lsx7YIZc$(wGZ(aX?jb_H7!`;dKv0$&_KA591dZ_7Xk;W{;N0B+9g@uSxn|7MK5`;W~NV#b$CVeD2X;-&#-b zn@Bxn@9K3jp1LN4bQ8u<&^BBzOp+$3&9VoQ8IS@-Lw~1iuzDOz>qcdD=Te#L-0YgC*J%%;Z}(iWKohiB&)G-J58>c-5wzkEJ?}GA5k5ok4c~YM)W|h zjEqaQ8g-iYk&bS;igt!9@M;F#}y zna5k32SyV<3xh$)=wz~~s({txiRb$}I-);Tg(P69O(uMgAI-*xrrG-{ZMo(9V5Vw1 z?Ag!t7L(b1l<rGZjCYOHcIs=Bkd71CQ9!EVa>AbfWedzPhSc3Et~Yj5be$e1JA% zn|mUZhy$B09#`BfB(?VvUnOad&U~hVl2E{GEPU4;u)}`{Z>xDK9ZSE9>jb1*_82x@_x5fnRtC`%2~`<1UGNR+Z9|h{?4W=cY6Y!rZ{9+MO{9OMggY z0XIL#+9>tnNASWDrj@jY@Gebb|IHu%FH$_Cw?PKF;s$+1X`Y)r?nXGQ+kQ{zjiDLB zhtOaFh6C*^dbMM4>(1787N6^^+A{SY-=3;|V-T6zOSBwcJW z^#V5~$iW=0w`^sa;05d%BzT3-^6W7r?}6bgBZRudFLaD6P-~;pK^boOow2HN+SIvz zPSx!$;!*AQq!CWfsOb+CrhF2XR1Mm#rJ4TyM z9=%^c^Z!FuUf+w(^nzQKEO5!!D_8Wbwib;+7e0$t(M2%Bd#_#ZyI!V)sQF>X^_TvO z^8C)h!P}o`og~8cW1hI)Y16py=zWTjY|(xp%W57u4J0}@Ew800*DQ}~ z1PG@bZ$?r{6dh7c?#!)6ccEE*A^+d*Km#A$S$E@4RF=5>!f+9n#vAj~m)7H@gs7@U zrgcvv+piMd2`0$W!2jUsOY0HVj_>g*R?_K3M~sax+L0t*9e=LK?7DS0!8h7=y?N3i zzFK01G7KZa91`&sIp$`+z!af)vHH`@)zcx&kC>L6PV8&M|G4UpD>Ee?O#tM{GslKl*Njnk>ojJJjMN z@sqNvqH$aO+H1AnLHZvfBJEDA3=O&ZQvSieb->|Qsk)Ykyo&%uDUJcM7$9yiI7}#_ zM2(+~HuyqW9o)x?51=$gRr9xfy`}d@b|GY>AaKl1nc&|Op7{EnbQnYcc>bsGel?sB z<&sx=$ozMN?o|FqjpJ47A7A_EcnX*z<}rK9IhaZ4Fu`;;$@3ssopvpqyS#sNUXy1Q zo2Mw=;s&ZW1R`!=5(4NA-;XKiBl{JIzq$UkOVtP2QlYItBl2y)({i3SDm(WTGJ1{} z+ixq<=wXIN}C&l8(??Wkb;`J zW%~9^}NTUeOHej?3vZ;Tu8>g3msFgsg)8N;YDqUdayOq zh8J$Z=dc4xbNrCz5*79LFa-$EGHc`*?gc{A7pYf-Btz=Vl2Oj-g(?f_e8t|gZ)t#=yS-(Drh&-~6z0MIcuN0Ymx72T;N&3vkHNXe& ztj|7EesmL&9!Jb1I&=m8X=FeTfu3vKV+!f@U6@wX%t7L!{NlO1vwor&vY`Z$IM|b6n|=pAuFMY_UwSXP zY79~ZCG8n1bt)M$KoS#SVi*!IqjcjHf@m@3>NQZ|(vGWtrz!x3NeFU=d;p+Y`PFLC zUx$%Mle{@wPK4>YNRXC(R>u|fyLl~+a6kC8MR#*Wl)V?G0S1=~e_#gtmDmvmQ%(=uemw=%_bKqb*O!&O;AZAD0Ev3BMFL{O5 zjd+P(&fULlG3n9g%3->85dwZqvKvOpJJ0KZ6djZ5-_ zcVT5PI}EP;g&7>U@?jX?t9B&AF;!4dRU_!(grU^AN!)obp~B#4XVXL|Toaq!{W*`$y1kfECobOsomO8jp7$(a&x(d4+F`l=RuOc=vnU3} zw1)H=xLxL7CR1wz)3Fyn74s?JD1c(*@z^$MDy8kUPS_Vj6FTr zFa8k6MQ1?y3cIj5MY!=J!YeMkUkwDn!ClTN8{w*{$gspx-(!|k3;(65xRLtNIF3aw znhlnwLkwV-@khYCOg=ac^Ya3#ZPNejo$%IOAj}iBv&!2B{OpixPrJF-MvA z9;~E`>wRGNP#KnN7MfDAo$Y?!%T9?eU~rcYCq(!t4h-?a=&lqov-|kMDdOat2&^|v zZ7fsrNWm}iPYCRwa-FJfLHbN2M2RT}InROMFwMg}L0s9>61CyfGfa+Ad`tF$PzF$j zed+mKM=`m*pxxzxvx9H)OY$C849SZUvF(p>;Pn8P=JX6FHvT8?MUz-JI{|4rJNESB z`(`J>A)=HaTo~!x$=r!K8Z^$SKFOA&d^erxkIJ*u##$N5Ji`7`#Qsf{z$iW?L}x_O z;=@8I&gs+-pe8|uRLwsvU%Lp;Z^b!~^fz)l8krVoDEZACRAHW$UGXpnw-$F66@fPA zlcF%;k20~8QCL5b{~}wG+^PuBFDwF z;^2ma&r$4P52Vk(EObPRiI@UeTH3Fh-=#N?*nFUbSdA$a%rjiV0T92XVo#ibxytiL zkWn9vL*IYA7v3)$$^c#~&9g+=ewFKh5>X9>^6liHMgb>vIL|rI7kY+)2k)~vDnY`D zt}xP^jXbN)EzfC+rc2nS%grfLSL~zUOYUF6^gp_eQ@Z1Yb_&KSgmwB@%ibVThcJ<5 zewKTvMt7?0`YS?PrkGmyCh;7IoES=*L=in>CRQBOA_?yM62qOi&4p*kbKCV1^b_VD^j+X>vAXr@&l^Wm|$4u?_2LR|CzN2a? zJgA+E$@03>2(hRkHegRfk#wea&dg~i8{51zTVtzFoXeB1j39+aejqP>?h z%^h=tu1Ahqq^fKV5PtQZKTqQ2hwMaO39_O7pRcVVfT-77#Gz{trqs1Pd)kI{{c~il zfd<8L_1f`Z$4%B$AN{Vs<1bc3G!6G^urDiTb~CFj{@vy8pg$!Kl06Ct#hFHM$E%Pq8(v|#rRjnM_nH79fVSOa!W*l zRS&pJiq#j1pROw>_1Q4DTjJ2>;cl2m*V}wjO?RD3Ten)dStxUN(~^$xg}Z(dU3QUv z7L`loQ(4NWi-yca_T8g+6jJep2!948W+T4M*U?VX} z93kxtWaK8UMeOVpDds)|~{b42kYkx6k>Y?LqhFRd! z_b1|2$v0{3E`Efl)h z-BNY+;R}V}zOREjoHqEnR`OX=AA)hZotmBk*xRT&*G(Q;c1V#}<5tD@b)tcpzQyFe z;pO|UUD)KA!6Zpdy-FmM9E}s8XHiaNin~OYfMDMWU_Qc2s@=K$f6Ul{8peX~%FDyt z^!YBDnbD_d4DpZp07cTZQ&JFhoO2za%K$bU@U1q&BCHpn z@Dt~8*L!=I$@BIsJoGsS6|kLcZ)5O4)$LC4of9%(12#KZG`;>t1ch>(r)4C60=#66 zYVO;%QWV8Dxyp{dQe1-KL8BXZ#oHfHvI(q7to$=dty)dgLb*X5^;K6t;VPu0EcNac)UIKo}P*2*U8)H^7sz6C*3fs&^le z=>~rTL5Pv;0|Ewt!^6A27r*5wxP1c1=ES6qE(EM6=r}kildE6cD;6*7(`hySVZ)B& zHAY0nJS6Py^ZIN=5w3)3JAVfKMP)T|MCkZ8w|{gm;y@B*Qx|>4uHsiSQ5VMC9Gt=c zA{LKU#_$?9IVJQ>daeD(qhntjEB*Xru3klEJZV>tYM#icjYg$Mkzk&Fw5P&n4w;*y znsIk6KJ-&Bfj7HnVY;|2FN2SRG@S$>a7a+sBkf)$mvL}<>2oyLFdfZq0^ZsKib^pV z6*4IW@l(TZEUL$WjYac%Vj#hkC}&ck#m$vaOolW|JIk$P@!m_UKVbnds(IarGG=lS zqPX(hQ)Lt8WhWR8A%ZJdQd%ek`Zw`>x3Igcm7VShdj~cEx#ErG&{4(dsHD=duPi6> zhi^+u(Mjn+E{k8YGN!8N+3$YwsU1bng16$A;vKuKnhI-0NB37{GOsdC@zj>4xF~SR9c;zLj%I?n|mAMRXe3?YarP+J|(7o z_wY#nF6{1=W3~oUl)iK;!+Sn~iKh$66M)$}HDbtrU*T5>!j{4bi3#Qc&D#uVU#5<~Z=0SyIy{Stxf7mIdS; z#pK1G@MjvT`gIhnu+3+xHFR`4&9Ly*=izQ=Mg3{iC)p-CJ)scGa#>z;S0ih-PW*!wbjD$ZbOHPDRFH<-Q`CF_ZFtRDCQ4c-JRM=35+^gBaku##T2Hc-@~RV# zYYN>y)%wXHr(@^#ZKze+-m1H2{GErq(E)dK!;5kMRM)}`F_I14Rd}@yWmrtjl6g6Q zyBlRCsXwnO5Ydg*Zl%<|cun7^af@4Kf=anTcxs7@mW!9Pi&{r?0Wb%I7j170vd1~U zkhR{jT)mB8u3iqCgwBr^?Z37BIQ+#>pH`+-)y&~oAfu$(zuP5?fn@7~Mnmyx9 zG3-^$oMGDp`w!7t4HCWM)7dJjljiEO%o2D<4cj6poK$N(a_hmyzL9L}Do%DxQj2Mp z_jKDOtxhbx8LW61pUm2a6N@#&?s$Wuw7%-rLLpF z_k}TNg%7m6oU&vuo!hUP(i?|P11;!EQe}PTo8%;_%AFSZYgwU0!|Z`VZPYeq3q^KG#AfhZM~}7M8eE==gk|Yo5Q!LI=Vq5BbP>Fd!BDs`1UMl9Nb(^RYtmb`4giSlZSD8%D?rg z)HKcyg$|uEb?yzuZM}GP$7ecZX$S~bn%ES)wluOFatP8nr_gz}mtsiOE!kp;7`5vO zyME!?=9wzGa`6;7H~7fL<}}+#*C1sm<~X9`BHgaqS7try$Wr3$vnc-*+9tDMf}_^H z=Ba2aemGKdwO^FW(KS8Z!&}+X;g=i9)br+Bzfr9?XoxUAabf^%UG1j%9_<^(VSE!!XEjhkk`0g%3HaS zW$rF*F2>%JA)KM~L?40M6Mcex;jk`8|a}Kbe2^esd zMV9FbK|KQEuhR$*;i7D`(XrMRe=AJV9@LLuqQh7E)xlRt5XWP)E+R=+dEbpqgmh9h z?z2W`Jm0lMvK)*5jfFvNS|5r1mTAdUeI5Ov_Z}vFd&WY)e!?-hiG>%Q?l12=Z{6*= z=~NtStE3}(H5=i~VW<<0Ud>3`zYzCc4P`n(?rHQe*@2&~V4p6b-?t8|qVjZjNVHn( zHl}6^m1|yWr~gEn>^NIlS^?h7sOdv`JNVjF8yk9&%9B1440XzTPLPk?#0B$yL=$orz@LD0u-*oGYEh@eT#cw;E=SRbu%TH$ovncNj1;YShZE?% zeN6fSwQ^GzY8UZI4&oK~5|IFOZIC2`oK!#0wES;HkV)OMoB^0}ixJta9GB?}4-m(3 z)t(ty8S@j{D`mT?u);EU$u}eK{>o>YdCWYVRc5y;^%tx7~LabA! zc=oDIyg9yAk~k+;dL~-B4O-e6`qtlye-mHwJOediue?lh&h9U7{e)(3b1eL8X|rl#TvfS2)Eu7n0rO(Xz!#w~SC+bhDR~@lg z5}rqw3&g8Zfuv49wrF?4h8g6+O0ehDbXNYi`&+6VV;NJov(DaRZ7t$N3;BAMkp9O| zg_^v#g+=C(w`#7qa#5F2>Xs4PP6r zI&9nhKl%dM8GCVfd#h|_j(g}Py70gRf>%vM?M)pL%*rOhRy8Xtg*#1sE~Sou{`yTn Wdfg!7kMD5SrRa&Ewx(RPq$jFpE=F*9KAdBpqu;lGuPG4erKpn;6xikr({?->FSo5`}Um&hdlUk7<|d$@0J6fVEUU0TexX|&IMd+^BKfnO8(7Xn^V+#@(lLA3&b{b; zZ-m})Kq2o(P#=!)$DIFpcRCnA2fc6S;Mtouxj4NXKIN~j8m=u$PIGuOd3u(o7Z3gG z+qa(i_|$H<|2~r|jd5KrlrJl%ef#PGu%3Q3d+zd2^NZJ~(%EfG8dlzFqtn5&`OwHW zq^s^DH}(#^%1imJXcG*PV}MW@9`r-Os8Q zx-zoIeC6@rrSdeJ;cq=od!!-f@|^r;C;V$eJ?o3gx_52iSSISGH+``um^n&y@>sGHX zr{oFXqy_E;kDnS7(gp>Hwk#P{rT&25KL{iIt6y`}D$CX@t%GxGin`dnwJUYf`h2Y- z6G~8hz2`4xidew!)T@*7WkbCx*AHa;z9BRYF4e&S{~(U!``%++mJNJeGHkVe)=(hZ zXeh>k)OhCaPUL)r1tsgEe%88pkmd!2yY=wRr!r}zihsy2CGvb@#t!%c{Hp1SZHwR69atZJr?1j};p3>Y{_`rVFad76>?#`X`n}nk!jGA9Zk@g8|o$&{Isr0jygQG1KZ} zLf?PpkTyM1BqWEg_$E9&x{3Phe~7=)=}leFnk?u!8fw30Od)OtYOjE(>27CY_4R=c zmmLV6b&Xs0>yV1lqNCfXwa_4GeMWN}?Uj~luAq&z+-9;f!u)`E6?dDO>Zv(2ba%uQ zARMGmy#bv8n*L15f$$BcPrq(4O{lp@ROv}0IddSsw7iQ53O2|c1DZtJ1cF#c($&e6 zQNnlmWXO9UaSDenT2pT+WcXp2I+p(2pjoOE&w&N66?J&#tZE(0~k_!`_r= z@!jXZuJo~@h$DMr_pu?u#Qaggua@I-QUxLaq9F3nzC*C$?EH12y$OS!2Cfl9u_lp3 z$=4(R2y2>T!;=S&HR&Ma2j|52EP95FRWA4tYbiRJpb>g3>!eqdlce~q{r8QF%u4(3 zn%3`I2%XsW2@)y5Dd}h&?qANV4>UEf0vL_MmM`isw}6&^1`v_ZBq_GZ}C@X zWkZS9jrv=Pnl^8G`jKYnnyZ^bhL$b{^axD<*i3o>l6-+cmwABc_6Y#T3LtoPafEDj z51DGFNl+5y!v&xKRT7ZkMfR*n>>+K30Fr0qq9pAQda>$H2}wzxIa#6u%4c(t-Ka2m zgbz|8cAJbC8%gYvsP^Rj{mveezqHI|173gpy<&X>&08eE>2T=+`c5>J~d4~y2FGh8LM(PwHHiiSq*1QB5ZteSZe6rRKf?=kEv zE*ZIEF1aQGi5E7yiF_R3Q!$1PxS)kXVs?`4H%TPBr)Sf71^m{-=%? z)Qo*lu4qnwA9OFKrsnCrB&1UbeDZ?AigAI@i#`x#AhVn>t?(Cx{Q1RXIJzC{<>tMf z1wMaY;Ik&9aS=sU6bHQYJe(;r%X}#ITEnNalSSZD21I+{CAJj9o-q>fmBOBy$8zZg zJh^CGl|?*(%5y+u)o4Ct5zj2*xs^-D%K8d?76Q#epjiks3xQ@K&@2R+g+RYR2oxx) zyxDPF1TMHB<${ygECl)mG1fmD0*&!izjz3=j#{s9f}nznE3aw{d-=u#9o|cT>ca9#WavNZ(@3W=Ud|&TV6N|R5mwrZlKrXR>aT^3IMicKx zz&P$$pbn-*3K^HOkWtf1N61oYzAt3d#OQ>KqgWE**MWf_EJiM62plZ0aV(HFBHY8} z?=_5Ybpa%nRRlq>^F6lk(vk}IDwv)K8}3qvn`-Q3PoDO-OPXoE$}!3!RiSQ61y;80C<4pz~d8GVky^C7j|sN z!craHbF>)S514~WSuf-MpE4l)2Ln>B_Gi4Pio68w9;>tZgMC>YUKONgWp0YaJsA*i zNDb5?jR&8y@t~%cj`2vT`M&X>CPrsG`1ByKHv_V)2)rzxmP%K`Q~7FecK=)&+Whs~ z-VlnMLEwK41fHG)Sz%?Mf(qXs&j;P!lf?7V%UQYqv^N1e5;Oe!@4~;xNb*Vo{M&3I z{EIw)kuBE1pgg{RG+U*rQCH5y)7|jz>PHk3Ub`#9#Cy#=x;X_B5I6~d^SN1ct@%`M z-VA%Q+QZo}$UKr+fAhA$ukYPXtOBd%1|4{Fj~XDc3MbxM?sKJKg8_S%7w*R;f%}9G z{Mxve5@Q~I3TJM2H(Iu#_flF_Ea`@U6PPAsgMa8Db-dKrA`i+Y;_l0J>WY;s{&vVk zl@)}I3m&UfW7Q9|3)1=~X$mIgPQJCKmrwO%wIMsJ?y=qE=%*REw-u(+3`53*sREh)qwB88z#<;YJ-%<+8 z9kSso)rnfq;MV(=V6Qr&2?q{zsk0uwnrc|H(b^r5Bu-UXPVJShLH_!5+!CrI)-s;v zfsN(_#ot`;eq}8kBMqN`q{zq{=D@T5s+1n==6Sza*Y28c_xlR9q>v`+>nz4ikWv$k z(3{pv0yjn2#ZAdikZPsQ+(Ukyu+!q%p{Ao!RF|Hd?!YSplkltXQ z80kkyonaYGw5I7MlO*4UBB6ciSqw4{Mv6(RuV#gU}-@7cI{ zdz6ZgsY36){K)Y9F6+>wi~!lj$9@i{t2Djp<@~bzC_ZxPd0)Elp2HJwS@su~ z2_8;5WBBTqQgx;VBoFk(Ktl)!S!hSYrAWyI(r4IT-t%j%pKfNS6Hk~$&ZzX+a(_#{ zzn?EL(y)*DA|&t$H_n!tW+!rIX||>MB1`RNs4B~=(I}pHEfljE??E8-WW$p=xGM01 zym3MwZuz}7(NEFPN}S4b`I~(GsxF^ZA0I1Kt~7hN3QzR#+(xhcR^T^1&75iIp=(9G zIbp4;x3FH*TliSgd;auL%wLvITlw>*dvRW6r?Z#p^K4kIG>Sq#-vC#I!YQfnysjsh z5Mwf3kz7}NItZ32i+`iCn4qCmMM(hF%3OT8ZYd4ztXMhaD$R?3R9W=OH~D9y*Ve>uH1g~CZ?)T`&q)$^iulPQd}6b7d%!e_nnFA$RaSM5iMnWg(sz}bG3 ze^WAE3}*bw0+!|Ctpx0g=i*5~6gHkuuq79-Cjv?4fXYeN>fK0WWwlk9NH6vA<>)Ni zi}J^zj@7tYXk0~E=EXDb>8Ywe_s{Z`>yx+9t;hvy`hdkp#NbUU$xDx>Z^S7cs<51* zNEB#4joD7t#8%td>D28`MMV53Rv0HqF_Cm0+WH+2y-oH|s+vhP%^j~L4O+UJDG*8p z66qtaI2qzB$BOdC%MdP=0 z!cWv}Ov%ftIq9g(Yl)-Yv4K*WYJRvX6i-{tZ&XJP4$lgb@H}y@ zE~KZob5FgJYx(ey`Ru78Zjq|d*sgZv5i zFs^QM*gcHK6eLpXcAC&Ow6)#B!Ij_!MdtaE@eJnKS}J-s>?UoIQX zf?K^0D^r~H+Hrz>>;=EqAM5W}aWjSbiIpJ-sU9>4JkLAhkv#Oc$D3Df)_=S!^9w&v zQT&A=Abc{3JVNo7E3TucoXSemsw7WK=B<5RD!`NB^-JwR+>he@*Ju+?j9$|kX{JfP zjqJDUrkyA*^~prD7ZR$hG)ck1sd6TCshyNeN!1k+&!|m;$(=k zGTPB}JP3SJVGBSNR7nPEG}iMM`1a6l z{?|KgsU@oa@=tkC8{00d+MZ98Byg;}i&Aar#m1+Gpxf!(wp_d^`uBKs(Z-M1wL~X| zeP0RV;i^;!?UF=Tl7kD&Y9sGb{C*c&_ygSF^fNg2;-1D3T^NlNNhWj^_JZKkM%S_K z91-x;=n*BEBE5zB^GUv&<4nH)gotN2I|ZCg7~0WR3=Q$QK4Xek?gBG&1J5F3t# z%Z&ofe3&oh&;6KCj9H!`Rhb`69zpETxTF810fj*$v{X3LNXANE(nn&g^R4q z8U`UThi_#dNi~OX7X9&M}>ed>4oA`a#Nhej<2LcC@|@>9a(l)lQNWg(EeIBOJ;v z%A3Okd%6=PONH~L5nrYWa5;+!3FyUR z22;o7kr|Tkk=pJ6Uj-&=QSYumMk=18;G@~UwyXl7{|GW@hV zep+MZipk6C94CN{MLpMnRE&#GfRqpfI;3~G)^zSV!fC1~2;dNd4WJ03%k0H)dNr^z$p@^DEXUVB`?@Rx%pT+DV$Un zalD|Ii3DO79lwB^kl@sAZcEwIIG~#Bl+Q$M)>Kb)b+QMET%JHKQ3cv=Rym8Y%|Rip{YN& znOb^z!^8zikDf31sS-roOOf6ZR3{+0S8$I{)M+LG_glqrq2e5C=p@)ahEbFx%QE2T zD?u(g7JTo0f;jcFd7edXd1@i%Pt}VivowQyX~4Y@E5p2%IF<(N-JJkcl~_rUYF59% zKY+(LCBGjL)X8oj@j9*m2j6ts&OPW3*d?s06eC`km8;s9_5{bnp1fhYYf z+2+&Zn4;M}K$$>?-YW1hg|2a9oz%vP#Tif}-%o~K;;Ehzoyb@w z)6&w+`@_r2g{f|MN4m)j^#Oy##7d9^7(HAuLL3f&$J|3szb3Ck;^i}C-ykJ;O3KhA z7|^^ylOT~kC<(DH+#VHqi4+0WyBY>1stg49IN-(Wp80U6+qLuB#fu(*lHi0;QP?f( zeb1Ft=|RbUpvYf(21YV4l7W#7jAUTs4*(+{bohxr80fvJ;k_27o@d3lmKlioM?eff z=wN%P{{@IS^DcQo6*+-r`&GSF?ZM~%+5L1n0NzPqc`~41kV|6saTr_#k)B#|xF zz@R+7e>7XAs!>=KvEc0VEgE~9oxZgz>$B6hveUQz zD_1l&p1#F%k{W;d*4c~0i=4#rfG@FvbN~2!Ej2M#3LrQpDko1l{p!bM{Z5#< ze)L~rBf)*N5pllZK5RrvIeheaVbKHHv^*^ty`A&x$v%jbn(up!)Wo8ZY~U~kCtET6myBw=)d5mq%+HHgDEZ=cSlDQHkpzaG3MWes!L>q=D+@h}?+*i7~ zIOU2xl{rD+MfdUb>7g`!I=S$;*7;nznTzJTx;TgxBiI|`>NtL5$lH!<8+s2e=U-1l zmpga@p(o@P@24*Out{TWZ1z2)n!yQnDNm##?%m#JkI4F%U1o(p5VJ=wh;78|Uvq~L zCkeiTodUWqSKM<&R20BI80VA1SikC*-{eA9zq&aq-+XcKm7)8ukM3ht`#uB=AEnFx z;rKp5h&03Z_!}UA?kHh!Nag8x( z1j$IMpOLBjA(ev!>WKR9sTO=Xv43L@LF|$a&ZWX@xnX!0Qk9mWXKSI9Q!UaJTyZkQ zSpjbVj9UwhJpkHY3k@oAlCuF*KY}{OAnXIEEH?b_67lx~5Dc*@sTk;{^^yPx3%j6{ zWR(bZbsR1S0~c;BmGy~gscR2;Cr-872`7szuI_7&z(fY)3vhGqh!0k&=;cDAhtLpm zVky^G4;5-l@C97%7$8U#LOQhaq&FC0BOMNREnL5}LAuH0=Q?#tf4rg0Pd$qn=u|nP zlq6fPW{=Sp{ZDbj04YJuKy2C>E74fRCiNl0u+KE~Ieke~N?@}j9w3~sp2Pt{CWzOL zAk4~CrD5|)__xzq@-xirPKen+5T)pFa2O6$`!iltMP34TkJVZI!M>~xuL{z$GB?HI zqOMN>;`ehxaLf_KdqD$PW>l6Lm1Rc#7b(XLnNcD_g&V_EYx*w^J!1W*0)H`6RYB6_ zm@Oi))>GRUv0jTm)sfF?KFgG2f(>S*ad(OuinQfysoWWC_cU_-;|YSiFnSI?%b zzfCO0TKP9SV_%=5n`8r6G^YcC-fPMP{X(R>MV{6v63p^X=IjN}B@TQTuP!{pOb_p> zhi?)4EC;Ls)CG4V)(aMj`Nwh$&{yiK{b4cnh-?SWbof$suvY(>vx2Qw7*C)NiSx5q zPH>UhSiLbddzHvQ{1{xwU6Nz~czLma@SXE($}gW2Zdi0pf`J1eCb3w{u(W;$X+gw^ zB& z`dY^w>n2&X!CQy1yda_I8nC}?k-z8p+xH_3CYS8}9=Ml0k58RZ1(oGwiN(z(TcG?Q zL*zYV&lf;BU;vKoTgb`ryXouwz>)a5GRtc#1w?i`Lr1em3u(my&z-{w%ypaZ8lD0TNA6X-Pmr^xQ%U3Cbo^q#QffGt#_TX&c(TT*8Tze zV($l#e`#Xxxu=l6RV0N8mb>_JMPB3OI~2Ub@feg>5`n1z6PD6|ULX5>ZKS)0Nf;4% z;4+K8u;5ZhTX8lv5y-{NeEz4}V&YaW=|e+iI<2TQmr4m%b%QV|h{5RRtybnYBJIpl z@sBt|982%6s(R~7H|x{AJwOR{M@ZTQ&iF@Q95IS}`C8ry#-1<)my9UaTrOlT)YbqU zD(?05rl5(c|FKj_w4fjZT3!Qg8u-VvSTpba48RR2dFe1$_UZwT_xn1Lt%M9`#NF8M&>FGFNPTG{ zNEA5E>pG1Z16@t7o3U`EpK_vZ)iz8BgiwUJB?q#$YRd z_pnc_^?lpBvYGb&5ejUp`Ge#S3RY#l-yalonrR6i6yRZMcw33jTLs2a})wnq;FXO+9uBDZ6S+&VDVkdDO zLImbUo8TY(454wm?6fG z!I7hh#J)q;lwcnvM(iSXo<*N>N*>0&1P1atH+`gqIyD()75~Io!b^ke^i!7jE-J5yusC#MAljzT~*o30*NRm5hZ{#b(l5gGFv~Ow|b8mz2FK%IlesmwN z1}%J_I6WlbUgf58A;@fTKA!3+_X$3kNz3B=W_dSEF#~iIEU6?=EsN>vUgTb&i2W=` zrMoWb@~Pae@cWf#V3vTsY7`ZrT*=BZIL(asMcD&Hs1B*=-cN_s_fNSPynI&PEDR+O zIQrWm>dFB=?huvDqa5@Gq>eqm`v-Jdf9aHNdG;+pMA3z!Za80% z)tFg(c;SpnHC!>hs&@u%V!6;oSXvo*aIV7|Bt`Q+RM|b+A)IrHHmWm}N=h}5cgdf{ z@P-WXl>-Uq3g?4OY2MK7HXCHO@3vY(yW&L0aV}1YEvR(2@jfME{6J2_XyuQxSJV-y zyPPX%iJ0gSsRzEfy+c;lJO?gcA=2z{Ur}ma*wW#te8R@XRA%Ba9Ax{j;nWxIsKuzU z>%QcjAonTGH@hE_QZ!ueMrhv$g=1CI$O(wZVuy;F5T^20gAqpDkUs^lT(S6@1l_J< zrO{4R-*oTxk3Sx?T0wswXR;0ZT^fJD48a24^1=`h5darN%Z&&913Z}P=t)1&X#gn2 zfv8c&;OP+KFb#9Y6csf?t%N=emXkY=$=k`&G?HcP3+CRX94iH6IFT^riTwh(jo%_~ zb10I2KXih=`N2{7NcufdJ+5M|n8GCO+sEw}E}RmJPJ=Q6A9+PhHKv{I5F-O5c0yR; ze2_!;k@96X)CMq0HcOYMiC${V z5Wl16<{NgMLR<>ePx26B=>d9mKTdGT^KaWem|QDphF|yP*1yPFw}_LoDze`I1a?DM zSEkOnLhH4xJUrfaP&3e$i4%73CoAcr1JG=^h`C3BawL~@Hdh5-w`sVHOvV^k`qNdG z8%&!Q;Wc6c^RH%rJkRxGZ$J*gVs99#vjs*KXBM9_!thX)y4)y>tRn&E@NGO{Qvt}I zQIc6$1ub%rH5NQ>@o9n<$A+Nid6UINRuTMc$ia_po72Mg5PQBJq;}@FlgH60tCjZ; z1zzv6ZC92#>h8tszaHAjvxxlMFL(GFe-`g!Ej3&FBq4Vz z#_B+xRC(^z4V>2)A2Hnt3xoz1MnpKq1fVLWtJo~Dmx~nPnpd~>1nqQZ9>Nw&#o^H& z;aO5Fi}*k&Y^}|=VtJqRyScKhJlI)P;*^WwK*a3jXK@qjN$tK{Ql1LMn_8EryU9}1 zlr!r_?QI`%r^BZt9B*M-3wV?!aNlc3o&6yy!(R zO^hh#6CsS)v=d{tIc3k>O*vH(?XZHB_6R85LR;%k`+aK0Po~q71gqM*1#?iJ|Am42 zYMp}Iq?$&vxKYGRVtoTqNN-5c+#qfT4Vfx>lsx7YIZc$(wGZ(aX?jb_H7!`;dKv0$&_KA591dZ_7Xk;W{;N0B+9g@uSxn|7MK5`;W~NV#b$CVeD2X;-&#-b zn@Bxn@9K3jp1LN4bQ8u<&^BBzOp+$3&9VoQ8IS@-Lw~1iuzDOz>qcdD=Te#L-0YgC*J%%;Z}(iWKohiB&)G-J58>c-5wzkEJ?}GA5k5ok4c~YM)W|h zjEqaQ8g-iYk&bS;igt!9@M;F#}y zna5k32SyV<3xh$)=wz~~s({txiRb$}I-);Tg(P69O(uMgAI-*xrrG-{ZMo(9V5Vw1 z?Ag!t7L(b1l<rGZjCYOHcIs=Bkd71CQ9!EVa>AbfWedzPhSc3Et~Yj5be$e1JA% zn|mUZhy$B09#`BfB(?VvUnOad&U~hVl2E{GEPU4;u)}`{Z>xDK9ZSE9>jb1*_82x@_x5fnRtC`%2~`<1UGNR+Z9|h{?4W=cY6Y!rZ{9+MO{9OMggY z0XIL#+9>tnNASWDrj@jY@Gebb|IHu%FH$_Cw?PKF;s$+1X`Y)r?nXGQ+kQ{zjiDLB zhtOaFh6C*^dbMM4>(1787N6^^+A{SY-=3;|V-T6zOSBwcJW z^#V5~$iW=0w`^sa;05d%BzT3-^6W7r?}6bgBZRudFLaD6P-~;pK^boOow2HN+SIvz zPSx!$;!*AQq!CWfsOb+CrhF2XR1Mm#rJ4TyM z9=%^c^Z!FuUf+w(^nzQKEO5!!D_8Wbwib;+7e0$t(M2%Bd#_#ZyI!V)sQF>X^_TvO z^8C)h!P}o`og~8cW1hI)Y16py=zWTjY|(xp%W57u4J0}@Ew800*DQ}~ z1PG@bZ$?r{6dh7c?#!)6ccEE*A^+d*Km#A$S$E@4RF=5>!f+9n#vAj~m)7H@gs7@U zrgcvv+piMd2`0$W!2jUsOY0HVj_>g*R?_K3M~sax+L0t*9e=LK?7DS0!8h7=y?N3i zzFK01G7KZa91`&sIp$`+z!af)vHH`@)zcx&kC>L6PV8&M|G4UpD>Ee?O#tM{GslKl*Njnk>ojJJjMN z@sqNvqH$aO+H1AnLHZvfBJEDA3=O&ZQvSieb->|Qsk)Ykyo&%uDUJcM7$9yiI7}#_ zM2(+~HuyqW9o)x?51=$gRr9xfy`}d@b|GY>AaKl1nc&|Op7{EnbQnYcc>bsGel?sB z<&sx=$ozMN?o|FqjpJ47A7A_EcnX*z<}rK9IhaZ4Fu`;;$@3ssopvpqyS#sNUXy1Q zo2Mw=;s&ZW1R`!=5(4NA-;XKiBl{JIzq$UkOVtP2QlYItBl2y)({i3SDm(WTGJ1{} z+ixq<=wXIN}C&l8(??Wkb;`J zW%~9^}NTUeOHej?3vZ;Tu8>g3msFgsg)8N;YDqUdayOq zh8J$Z=dc4xbNrCz5*79LFa-$EGHc`*?gc{A7pYf-Btz=Vl2Oj-g(?f_e8t|gZ)t#=yS-(Drh&-~6z0MIcuN0Ymx72T;N&3vkHNXe& ztj|7EesmL&9!Jb1I&=m8X=FeTfu3vKV+!f@U6@wX%t7L!{NlO1vwor&vY`Z$IM|b6n|=pAuFMY_UwSXP zY79~ZCG8n1bt)M$KoS#SVi*!IqjcjHf@m@3>NQZ|(vGWtrz!x3NeFU=d;p+Y`PFLC zUx$%Mle{@wPK4>YNRXC(R>u|fyLl~+a6kC8MR#*Wl)V?G0S1=~e_#gtmDmvmQ%(=uemw=%_bKqb*O!&O;AZAD0Ev3BMFL{O5 zjd+P(&fULlG3n9g%3->85dwZqvKvOpJJ0KZ6djZ5-_ zcVT5PI}EP;g&7>U@?jX?t9B&AF;!4dRU_!(grU^AN!)obp~B#4XVXL|Toaq!{W*`$y1kfECobOsomO8jp7$(a&x(d4+F`l=RuOc=vnU3} zw1)H=xLxL7CR1wz)3Fyn74s?JD1c(*@z^$MDy8kUPS_Vj6FTr zFa8k6MQ1?y3cIj5MY!=J!YeMkUkwDn!ClTN8{w*{$gspx-(!|k3;(65xRLtNIF3aw znhlnwLkwV-@khYCOg=ac^Ya3#ZPNejo$%IOAj}iBv&!2B{OpixPrJF-MvA z9;~E`>wRGNP#KnN7MfDAo$Y?!%T9?eU~rcYCq(!t4h-?a=&lqov-|kMDdOat2&^|v zZ7fsrNWm}iPYCRwa-FJfLHbN2M2RT}InROMFwMg}L0s9>61CyfGfa+Ad`tF$PzF$j zed+mKM=`m*pxxzxvx9H)OY$C849SZUvF(p>;Pn8P=JX6FHvT8?MUz-JI{|4rJNESB z`(`J>A)=HaTo~!x$=r!K8Z^$SKFOA&d^erxkIJ*u##$N5Ji`7`#Qsf{z$iW?L}x_O z;=@8I&gs+-pe8|uRLwsvU%Lp;Z^b!~^fz)l8krVoDEZACRAHW$UGXpnw-$F66@fPA zlcF%;k20~8QCL5b{~}wG+^PuBFDwF z;^2ma&r$4P52Vk(EObPRiI@UeTH3Fh-=#N?*nFUbSdA$a%rjiV0T92XVo#ibxytiL zkWn9vL*IYA7v3)$$^c#~&9g+=ewFKh5>X9>^6liHMgb>vIL|rI7kY+)2k)~vDnY`D zt}xP^jXbN)EzfC+rc2nS%grfLSL~zUOYUF6^gp_eQ@Z1Yb_&KSgmwB@%ibVThcJ<5 zewKTvMt7?0`YS?PrkGmyCh;7IoES=*L=in>CRQBOA_?yM62qOi&4p*kbKCV1^b_VD^j+X>vAXr@&l^Wm|$4u?_2LR|CzN2a? zJgA+E$@03>2(hRkHegRfk#wea&dg~i8{51zTVtzFoXeB1j39+aejqP>?h z%^h=tu1Ahqq^fKV5PtQZKTqQ2hwMaO39_O7pRcVVfT-77#Gz{trqs1Pd)kI{{c~il zfd<8L_1f`Z$4%B$AN{Vs<1bc3G!6G^urDiTb~CFj{@vy8pg$!Kl06Ct#hFHM$E%Pq8(v|#rRjnM_nH79fVSOa!W*l zRS&pJiq#j1pROw>_1Q4DTjJ2>;cl2m*V}wjO?RD3Ten)dStxUN(~^$xg}Z(dU3QUv z7L`loQ(4NWi-yca_T8g+6jJep2!948W+T4M*U?VX} z93kxtWaK8UMeOVpDds)|~{b42kYkx6k>Y?LqhFRd! z_b1|2$v0{3E`Efl)h z-BNY+;R}V}zOREjoHqEnR`OX=AA)hZotmBk*xRT&*G(Q;c1V#}<5tD@b)tcpzQyFe z;pO|UUD)KA!6Zpdy-FmM9E}s8XHiaNin~OYfMDMWU_Qc2s@=K$f6Ul{8peX~%FDyt z^!YBDnbD_d4DpZp07cTZQ&JFhoO2za%K$bU@U1q&BCHpn z@Dt~8*L!=I$@BIsJoGsS6|kLcZ)5O4)$LC4of9%(12#KZG`;>t1ch>(r)4C60=#66 zYVO;%QWV8Dxyp{dQe1-KL8BXZ#oHfHvI(q7to$=dty)dgLb*X5^;K6t;VPu0EcNac)UIKo}P*2*U8)H^7sz6C*3fs&^le z=>~rTL5Pv;0|Ewt!^6A27r*5wxP1c1=ES6qE(EM6=r}kildE6cD;6*7(`hySVZ)B& zHAY0nJS6Py^ZIN=5w3)3JAVfKMP)T|MCkZ8w|{gm;y@B*Qx|>4uHsiSQ5VMC9Gt=c zA{LKU#_$?9IVJQ>daeD(qhntjEB*Xru3klEJZV>tYM#icjYg$Mkzk&Fw5P&n4w;*y znsIk6KJ-&Bfj7HnVY;|2FN2SRG@S$>a7a+sBkf)$mvL}<>2oyLFdfZq0^ZsKib^pV z6*4IW@l(TZEUL$WjYac%Vj#hkC}&ck#m$vaOolW|JIk$P@!m_UKVbnds(IarGG=lS zqPX(hQ)Lt8WhWR8A%ZJdQd%ek`Zw`>x3Igcm7VShdj~cEx#ErG&{4(dsHD=duPi6> zhi^+u(Mjn+E{k8YGN!8N+3$YwsU1bng16$A;vKuKnhI-0NB37{GOsdC@zj>4xF~SR9c;zLj%I?n|mAMRXe3?YarP+J|(7o z_wY#nF6{1=W3~oUl)iK;!+Sn~iKh$66M)$}HDbtrU*T5>!j{4bi3#Qc&D#uVU#5<~Z=0SyIy{Stxf7mIdS; z#pK1G@MjvT`gIhnu+3+xHFR`4&9Ly*=izQ=Mg3{iC)p-CJ)scGa#>z;S0ih-PW*!wbjD$ZbOHPDRFH<-Q`CF_ZFtRDCQ4c-JRM=35+^gBaku##T2Hc-@~RV# zYYN>y)%wXHr(@^#ZKze+-m1H2{GErq(E)dK!;5kMRM)}`F_I14Rd}@yWmrtjl6g6Q zyBlRCsXwnO5Ydg*Zl%<|cun7^af@4Kf=anTcxs7@mW!9Pi&{r?0Wb%I7j170vd1~U zkhR{jT)mB8u3iqCgwBr^?Z37BIQ+#>pH`+-)y&~oAfu$(zuP5?fn@7~Mnmyx9 zG3-^$oMGDp`w!7t4HCWM)7dJjljiEO%o2D<4cj6poK$N(a_hmyzL9L}Do%DxQj2Mp z_jKDOtxhbx8LW61pUm2a6N@#&?s$Wuw7%-rLLpF z_k}TNg%7m6oU&vuo!hUP(i?|P11;!EQe}PTo8%;_%AFSZYgwU0!|Z`VZPYeq3q^KG#AfhZM~}7M8eE==gk|Yo5Q!LI=Vq5BbP>Fd!BDs`1UMl9Nb(^RYtmb`4giSlZSD8%D?rg z)HKcyg$|uEb?yzuZM}GP$7ecZX$S~bn%ES)wluOFatP8nr_gz}mtsiOE!kp;7`5vO zyME!?=9wzGa`6;7H~7fL<}}+#*C1sm<~X9`BHgaqS7try$Wr3$vnc-*+9tDMf}_^H z=Ba2aemGKdwO^FW(KS8Z!&}+X;g=i9)br+Bzfr9?XoxUAabf^%UG1j%9_<^(VSE!!XEjhkk`0g%3HaS zW$rF*F2>%JA)KM~L?40M6Mcex;jk`8|a}Kbe2^esd zMV9FbK|KQEuhR$*;i7D`(XrMRe=AJV9@LLuqQh7E)xlRt5XWP)E+R=+dEbpqgmh9h z?z2W`Jm0lMvK)*5jfFvNS|5r1mTAdUeI5Ov_Z}vFd&WY)e!?-hiG>%Q?l12=Z{6*= z=~NtStE3}(H5=i~VW<<0Ud>3`zYzCc4P`n(?rHQe*@2&~V4p6b-?t8|qVjZjNVHn( zHl}6^m1|yWr~gEn>^NIlS^?h7sOdv`JNVjF8yk9&%9B1440XzTPLPk?#0B$yL=$orz@LD0u-*oGYEh@eT#cw;E=SRbu%TH$ovncNj1;YShZE?% zeN6fSwQ^GzY8UZI4&oK~5|IFOZIC2`oK!#0wES;HkV)OMoB^0}ixJta9GB?}4-m(3 z)t(ty8S@j{D`mT?u);EU$u}eK{>o>YdCWYVRc5y;^%tx7~LabA! zc=oDIyg9yAk~k+;dL~-B4O-e6`qtlye-mHwJOediue?lh&h9U7{e)(3b1eL8X|rl#TvfS2)Eu7n0rO(Xz!#w~SC+bhDR~@lg z5}rqw3&g8Zfuv49wrF?4h8g6+O0ehDbXNYi`&+6VV;NJov(DaRZ7t$N3;BAMkp9O| zg_^v#g+=C(w`#7qa#5F2>Xs4PP6r zI&9nhKl%dM8GCVfd#h|_j(g}Py70gRf>%vM?M)pL%*rOhRy8Xtg*#1sE~Sou{`yTn Wdfg!7kMD5(DifficultyMenuTemplate, SubMenuHolder); + + return; + //GetTree().ChangeSceneToFile(GameScene); } diff --git a/Scripts/UI/DebugMenu.cs b/Scripts/UI/DebugMenu.cs index a97f56d8..c6fd8afd 100644 --- a/Scripts/UI/DebugMenu.cs +++ b/Scripts/UI/DebugMenu.cs @@ -7,7 +7,6 @@ using DebugMapSelectData = Cirno.Scripts.Resources.DebugMenu.DebugMapSelectData; public partial class DebugMenu : MenuBase { - [Export] public Theme ButtonTheme { get; private set; } diff --git a/Scripts/UI/DifficultyMenu.cs b/Scripts/UI/DifficultyMenu.cs new file mode 100644 index 00000000..d8f54668 --- /dev/null +++ b/Scripts/UI/DifficultyMenu.cs @@ -0,0 +1,39 @@ +using Cirno.Scripts.Enums; +using Cirno.Scripts.Resources; +using Godot; + +namespace Cirno.Scripts.UI; + +public partial class DifficultyMenu : MenuBase +{ + [Export] public MapResource StartMap { get; private set; } + + private void StartEasy() + { + StartGame(DifficultyLevel.Easy); + } + + private void StartNormal() + { + StartGame(DifficultyLevel.Normal); + } + + private void StartHard() + { + StartGame(DifficultyLevel.Hard); + } + + private void StartLunatic() + { + StartGame(DifficultyLevel.Lunatic); + } + + public void StartGame(DifficultyLevel difficultyLevel) + { + if (StartMap is null) return; + GlobalState.Session.NewSession(); + GlobalState.Session.AllowSaving = true; + GlobalState.Session.Difficulty = difficultyLevel; + GlobalState.Instance.GotoScene(StartMap); + } +} \ No newline at end of file diff --git a/Scripts/UI/DifficultyMenu.cs.uid b/Scripts/UI/DifficultyMenu.cs.uid new file mode 100644 index 00000000..d13b53fa --- /dev/null +++ b/Scripts/UI/DifficultyMenu.cs.uid @@ -0,0 +1 @@ +uid://bst70cv5631js diff --git a/Scripts/Utils/SessionSettings.cs b/Scripts/Utils/SessionSettings.cs index 549a5031..aedfdb85 100644 --- a/Scripts/Utils/SessionSettings.cs +++ b/Scripts/Utils/SessionSettings.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using Cirno.Scripts.Enums; namespace Cirno.Scripts.Utils; @@ -8,6 +9,7 @@ public class SessionSettings public bool SkipDialogues { get; set; } = false; public bool GodMode { get; set; } = false; + public DifficultyLevel Difficulty { get; set; } = DifficultyLevel.Normal; public bool AllowSaving { get; set; } = false; public Godot.Collections.Dictionary Items { get; set; } = new();