From 75603094bb20be415327b938cf6fef162dd17094 Mon Sep 17 00:00:00 2001 From: GrandPLAY Date: Fri, 5 Sep 2025 22:17:21 +0300 Subject: [PATCH] Find a pair init --- assets/find_a_couple/back.png | Bin 0 -> 3911 bytes assets/find_a_couple/back.png.import | 34 ++++++++++++++ assets/find_a_couple/envelope.png | Bin 9876 -> 22259 bytes scenes/find_a_couple/level.tscn | 37 +++------------ scenes/find_a_couple/level_handler.tscn | 27 +++++++++++ scenes/find_a_couple/tile.gd | 58 +++++++++++++++++++----- scenes/find_a_couple/tile.tscn | 38 ++++++++-------- 7 files changed, 133 insertions(+), 61 deletions(-) create mode 100644 assets/find_a_couple/back.png create mode 100644 assets/find_a_couple/back.png.import create mode 100644 scenes/find_a_couple/level_handler.tscn diff --git a/assets/find_a_couple/back.png b/assets/find_a_couple/back.png new file mode 100644 index 0000000000000000000000000000000000000000..b2232924d5b1c4440d52fac1046afec7b01e195d GIT binary patch literal 3911 zcmeHK`Bzg(7QP8clqG262skQ?K8PZ+?}6Z`(0MHaXVeB2B!~f5$gm?I5k_rA5FQ5% zYmR3|85aUHwh##rIx4;fOna~eS))8f0RaO_A{geWr~imKhac+Ht$XX%a;xfoUtI|F z|K31%wJrb{pzIz00HBg06_)Cd)lBl!Ph_=>$KDqQpl9@@P@tsD1c0tacl>=%a@o6q zq05o9(6;w-mS}11oq?ZkZMAw^v}KQ8jxT!r;;z*2BQp=pE;!db6Fe*VDM;|lZIwHraRo{=t7SQuZcixtRUnHF^U9Pq(op@sEDm>LT!qVyMa|XTiJqY zHsE@wW(yuv;8{*&qw97l=R;&C+caWY&;5L45{>P8TV3D5q=V$QUc(9+CP~PiOmV@t zSGKTo5J(KW+Q{=T|1n$p+jNj z_%A8LL6T!9cBd-dp{zV27pX4)L_p1X2}VSqtTN)lrT~dxDkP>oka^ic%q;Q-iHpoX z%^DXT?kOw~tOvTKm?5iNKjiwvoub(G^P{P|Dr3j-j;!5fJnK2EznH+0mf|M0F%4?2 zjLT~rg?_O?=R!R$)>0KWk%c^B5V>+Wo(>Jcp%p~%xzJO8m@rH>K(3`a4LjiL<^oP) z3z@&yy-}@d2WYn4UX|vFU)$_y15S-jvS_cO@NUuln^Z*($|`vASr<4TCVs0qK6K|| zR@HhK%zu%oGr7OD7Wh?7n{kqwJ)?mJASdk2#JLNj7u8amq7S}v^NP+7$-Z;%Q^-vuor($92;#LF4p`Ia5 z9L_3TB8`c8?*_aV`w+D>(omFS*C)wb4!l;klJGWRtvyVzmG|&3V@%ycTJCAis_|eD=vTne#aKp<6|QgR1iG1$ezwH1YYe5fIxC5TmMEru(R3#E5BP*EXHH; zIxN11#bmIU3;%DiVLzgli_epQm~becSa|&v@^Bx__#61`%tmZGzM|=fG1}}hyAq`T zX>MjKJNkD66r768C*FQT(?TDt?VIzJRVd5*YsYn=ND2#&iwhv>z)LYQ6x_ISDr%%m z8w4Fu1$DF3>@bV7Jy4RCa4qk7&)ozUkaY96+`;F1)6U`Ifl`z z09CdkjJ7fzlF#9YS?~CTDypI#WqI_vfpldqS2f)d^gK!Rw8$9JwquNfH6}+l0>{(V z(j6m8OTEN@#6aw)B`wTfw}Mo4nsLB-f#|2?=^N{OdTLck0pHmhWg{<7kLd9y5%n*K zZS@gz;Dp#l^$ZNTce|F`0!G|I2U{}F0RR2xAI}Y>`}Zy5A8yF}J-xB`%aYPjR&#kw ze>5Pn7>efT_rm}YsmRXxho_4{HHowc2r-vI1>X-Lm{4AGtDaj7!OT`Ul5!O9roeFW zCRy~sQQ8bw%N%XaBkm%M#HszjN$@}1gNFrwJj-0hM^fByxvw@zLrCQV!%5-+(|}ak z;Q>(%PtC!uoaFrq8p)gow6{9!Y3oEQ244LW`0r9&WD^5V0yM`H{|fk2vy9~G^_dYA zI50;prGq{=J#^$RlsqI%9=O3~l{O4F*vdqod#&hqZvq<&!ukt|pqGObsIjtTh&RY` z)46+TpF_Ouk85_X}CSPvs&)cI>gtII8q4 zLEeVWn$1JP@TA;h7a@3h2R3V=&PU8Tb-f>vzpMWSIgH;Q!z8XUQQ7@wS!HfOf+&an zYP@oFb@}n7AZQ&%Cw3`o5xLx6T1KfE3_!$QxZJ|sVR9qbU980Bxfl)eBwMKrc*evC zFEsiGE6FIZkydY7-3|Ih3Z}xMd7uQA-1E6kdPW1FRyw{ z@m6WPfFb6Z&w~5Ev%X4?t*o%S^nayFU(IpP*_RltTH_uzdEg@Cg5v_+r5q zzyGN#N>1LRvL$m3iKX7w-F9a_aQ?x(&HEwUhQNh;3>IXhuok?m#{J6nXG@WhkrxrB z<`TUxv87kX9I!@rE;jDX&rmK;+CIsc#u6odcg;lh69k%x_BFK;T5utY7I+niWN?v= zPqEQ&ie$l;n@IX<78kPW?rU7Oc@RCJ37Hyf?{T0jIeCK6Fv&E@1%VGw3XNAG(kSBk z3-L;9!NGX}7M4Us2ekkO0|kdqYHxHYL%1!lstprvJoZor-P9IYjtnjyJhghJ$Ibta zms$(|8@7qOUyCa<=%*pk+4b8y#J;m@xIpO%)=feQ+-a<2b_6X83yX#x-n51TFGI## zBDQ=;4aW?oz`igIK1^6sR^Rh{nx~od6Be)fshk%}g~G=SOy%%I*1@4Ud)y%N`WtTO z9BU&|vhq6ky)zT6Y%4c1i5+Z7+2K*>4GI^2a&q$101jw?g3kZEpb~eU&4SOU(i{$F z)5E(#=dZcmt9hV*n{r9ue}`g{ zs)R0xk!*aiKtKv!;h&u51U=Qno!6Qlwk`s*BqV>u5#9VO-B1j3`M!G509siy(zsma z1i5(YZ7vbYVrIN|hk|ZNdUpbLm*A(SAw6bsuLCUhwxy91p3tlX*#H6CX-9nw4?R1@ zo6U=+m|_kkO*x*0f5LY5tjjMVik`@pGr;A@*NC6W=ZA?mRm+i&pb1$LZ9dV9s^iYGt#{X11ky zU4Gvdyo{3z4OTJG&eZb0E`GCXgn^}YMsf9p@mi2S&jK0U8>h)f%QJBcOTtxKdwm#JqDLPmoz+WHJT%Pi? z{t3&AxjQ%>H;ju&E9o|RLw6Y^lc%l7@|GJyBZ*7eOp_zZM47%AyAR)Rpcf}<+m3@~ zu}JTy{B&)6bs$v#)X}NH^E=&vgHQJ0nMm81qgZ;Rl3&^HZqM~JPN@}D%IphviBN6= z{p5MRzm#=2K5657ZMl>o*xso32lDQ83*~(W-#*8T)>RJeudZ4q4R~;qC;Wb*C$pX2 zt>x2IP08pElS8h~WAJcWG0bc>4BdVRN1Y`i;4Cb$ zsqRPjD6@hIe<+f@4n0fKd15E_xG0@~cU%uj&Hsz`V?XJ7(wG|#VOb@jM0lr{uGD2+{OKGmDD~SQYO0oI?)r;IzUR(a!LqPy!dn<*a+-y_lJP znir@ZUL#DT`fmdj8&b=*EFW72|nKoO(CVC^)T&LVxFwuDNjd zv>bkhhSj7AMv1?-eJx6QM`=%36*$WZXAGb|uiLtsfWk21&pe|@7HTXftuG0esV-bz z{}Nkt)`LRF$QfmR5zWYPw)kvB8<@A0SSFRz6YXTvw3NA*=2f6!AVmBio9(X=(i*Ob|wSqRS3+6l1Yzp&(VjYMusb8&TPGug4k;t#A2V!$jE zgyzvtujY25TGQV?c;DfXp^G#ICjygs!uxUh+X)v8-3*)k`#T8OT+Puc!e1@Yu{F1B zGh!1RwlKigy(7fr7mUvo?0tJdy7k(J5`-u)8U54z603~eZPI@hX-5YIdzXQoi{2PwQOByEX?XRsFYXb1?o1xeM#@O@@P?w+ zerAu)c}luQl2$AaWI1)G0i{lBJEwABZmb3loSZ|{>)L~T{^GR)xoXo?gb=|(32dG) z-2R&_pX1nUIK#D!SYQw}9&Z+|lhrMo3P)v0R3d}||J`R`wloqO-|Jn$Szmu}5*?|u zSchxhctK6u`sH1G>vxX~Dfdo>koh7!FB3D(lQ;V6ir{*AEwX(nv7Nrs?hMk7XfLMj zdP5xoj!(}gq{lFD%4H>uBAgmHA;=bJu@zI9zTXJpFrr16a(1n@ra8cO+tx9q@9EMX zE-M8xVky$z@^=<$_r^%^w)Fa4Ve}bv>-4!7#!Vs#u ziL)j4la{7V%;*V{>nEpyCqX`65I4`+tO(m8q)k=UTA73x`;e+7))fd!a>i;3C%Thc)V>^Ifu=kf0x4va;rq#1klh-aWX-efj)>w+|1=ECz2T{ zj~hC>JZOyp-)cBs?#!xBZN+8ARx8>YLt>~snB!-sh~MwjxL8>Bavkh4eCe{|q@2Zi zf|Yt<*ZmeuX*n(lIJM&2DtcPNAbykD{ z;5-`__?PWD8MU1LphxlnCzPO+JZj9y>T|ABln*eFP0wfHIjwVWmQv@Ygh<>_+0LK+ zKfSe=X=cY$9Ml$u)vY^cSkW^mLpYoKW_IwFpJ^|igR!&oR_M{rocz!S>>l)_{#zT2 zhTgg?Cv0vFb+o;>c8;Cfa})6cX2So|(^8LS>7m=TqrsqMvJz%z3#tSxs%5>D>$`qG z`TFB7o0-Qvo|E_7m&}%I2(|Q^Y;?i@?g9J^W5EwweIAa-mcht-3Hl;(I^qZL+q8NQ z$74J#9)#vzP*vRi`>evb1_F3nA9Q{Ue^NAep1_s15xxg=ixrRW&>`#g?7SWodrLtB z?dFgc9goYXYQ8VeCK%?JNl*95F1cb$ibWt$X03p&W;`5x zlIs5oj2tejj_(BG@Xbv4dbibZX6q~d_-k8;8ZIJ~S&iNqayg5u!v1F~Tcle}Gxi8T zvp;dlYL-$vQXpM}jpeECac}0D&&fkroD{yZQ|M7VLW#>J#Rt)PCbG;Z$Xhq|KpX1F zmUN&yx5^tR8vCfE{NO##@mhXKj%e3f0U2<^MvuM(57%tkvuv1!0?cuJYWhx>IYT<6|C{T`lPh6XFk z;g2cUcH^eztS7CPx;Z=uQTpApWc?SQ>F zdIzzn$Vk@L=96%_%lw1s(^>>)kL9Bu9qGv$j7b-&g&!d}ozXyI)Ew@ zo6g!&3qm8xaCnXE#^r{+DUvgx&N(wS(Pi}Z17cIOe+jR~y65A1nzkd~I8is`alo<3 zS>;&*@IMnMxtmXP@hUIKbC}F6#8f&aoJFddQ9}jh9PHkZm^nJ0fg`ZnaL0?Z{QcAI zmE;`vR|qy17Q^zxq2T$Z1yY|cLmtVUT)j4JUDEOXYi$LlETA84aO<#kXzRve(#?Z4 zO^kUicscB@VS!|o{t>tUY_T$ZFj-%)LCPOhwr1$yQ*h|oux(;sdUDU@ggkMx74<_! zyS&^;rA8Mf;rK`1W^z3O{P!5xE&Zq~KUjUwR2B~&#@H(~QTVZh#xtf_zV?~*Y%U!whO32>^NmDhHhN%L2hLq@f6L4 zO6Sef<4YP-kh?a#a&J*t`7YhQu5Tx%G6&BS5(uE@$vCMNvd4Yzf5;QIGxP4#NO4!t z58?(i{&Ji|hX(~YIihfJB-WxW5RH4zejIpaO*H#C=cw3R`NTKr31r0RgSYwn^2qs6 z;KN*?H1n~p;}{Q1V(B+l(&B$F(XZNVit;-Jo-YMkn09DpCc_3l@AAFsy}=}G!@XBx zxEn|q{sKuu-sADQn7*rxeePwA2>?54lU?GO0d}vy-@|A^svJiS*4)$2XIp#o+!h>2 zP%JE@iwv%!4^*9gPJh9^kgS#3<6Xd+HPrOMy4F&iGT;2-M&RTh7en1?-v{igId)=i zfT1;5nCRAV>;8Mo7}mILs(R4pNFZ+BK_s)%J_-%=LW~U_6H#8nFu=1nu zb8av1DE<6OVFY04lyRt-Voc-l585Y>UOzdxLEb}HkqA3OKV<=;UX*`e1fZUv<-|<3 zKcxyd5{h>In?K;${GM(zy8Pc_FR+gVvoS#>+iFMryeM!xk%Xd!gzkE z9!$V)Qp^aKpSguue&p?yk=Ag}MXVyLgZ?Av!q8Bs2d0jm(2$b@ z3E;4O@~jz`+N3^Xdn?d?Md~*0`;EWq<1Z~(G*T!=gFj77YO2 z8-9+ex&1?{FpJ|bB>HltCFf4zFWaCSFIw-9+yjWJzI-51eDLwJdiPpNeX;rah*e0- z9G0CE>)Gn+SwKeeLpO+hq~)2|Yv6IFFWxebV8wqITRq?hyn=)xnd$E1uTa<*VXNTy z+p6eB-e0yk(RxM}7!fH*&#IA)s+8ieIwFj0sSB-$Gg_2t(Zp?wn)Gl8_$*MY#5Jam zr{guj`QJKHOoa)-55VgfXv_%~-)4ZF>q4(yYE0%{=$mUKh*2-c(P5pMVN4yHx-X#{ zSA(6Xb(cCcnR7z3Eu(MJeN+m;v9rT+{OZ8i*_L|AeLp{qNr2XeDwU!{;d<$@)tZ~F zt!hGpx5laixuFC;^})YiUSE6sL)=Mp_Oas;@HYKd`TB~Hi^LOrReVZ5FWgNcx=f)@ zCF-k0J6--h&kd<@FL~69uahSbTOL;8@CfE$dtB^GezMzH#p*Q0Aeo0m+U*;VBOO{G zb*Mg|9AhvO|A{dgXr5PYzZT^fD>NE&cb3)Htc;6BlgoHtKc67xf}j?sjLL86ZBd@C z1Mh&hw@NrA{E}+JE=!mxW6{6DN!I0iW>}M7E3NZ1F7x>0o92h8V>0zB>_-_J|3>N@ zVpKvRBLi3*rVgfCbN<~Ty8qnXADVUUc)oF&3GL2d`S|-!N6`MgRb+1@Iivcd3@0-3 z8kBu3Dfj)4?_jEBC|YA?C+N?H)gm|(rR4dIz`5x0cNWQA2%@!yb9>Bzcix@b^Ayrd zPrK(_x223cBzptTYZkjx0h=ccC-}B&DG^Z=r$uQ#12fw3`-QP__X=z#XpJ}qUgtz2 zI0J`w|54|Cn5BBxKqw1`yQliw(^d&#lJbK)^>`LfQ^W%leU=`-pxiutrK1H-_;_8E&=?M!V>YawPWgg5oEt~onKtyUd8!yJQX_DIWV za7TEBW3w@ZXp1$C`Z=FkB#GfuCMwdS?R5Mt_Z zP0ctYxaawmFg^lp+IQx`9FxOM)el=>gOri0RlmvW>`Tjv9T8WJ3gX1J{qfL$P6vCB zmj%_mbzW2k1qSe735$P&ps;+QzoRd(Zv(0NXa4nNxUxI_?#DSAg7ZoL!;Pg(?7`k> z>rXDpMWy?CFc3$?2e056-RXPzejh(LB(kzxzg4PV9BOV-QXo>W%Xp&M9XRk#19;o# zB`fVQwQA`}L%rumMgracPM*Mihbux&8-ycw9iMNNqaoBE^cB%b^B&F1Vfa5mFAi3alEnQyaflJSr`=38UX|t$)^u)?_OW48+MG~KXIqH46}{(neojx8!YX=XGI>~ z1~ZyfhtNCh2{63uu2JKlAn)O}oGP*f8+rC8RGMhDC@_2`>D5+<>$XZ%^9Xf;y@I6U z@h5hN4e6*zrH`Am7j(saWAm-50%;FpcSu7na%1nJZV^G8s3RqeL@K|G#TTA0%f#O@ zL@70rEjD2@=Z;c!nd@tw4?n<&ps1O}53vB9f6tLStW+Uz0tLI$^5R2&M|NJ8L|(_< zv0({cGp}-F8k-+Zyix*ZOCxTWV@cNiF5sAwE7}{@->EM%r*_y(B5cHtx6{s)F_nBN zAB?$<&U+YXlJ?EPL*qQgQo^JApC~JbXyT#G`rXo+b+D9Dv)SMKR{sM6+^HHGyjKFT zC6T;r^h<%r6GUtI%*)!P-{?Y#ec^4jxPIa?AbAqdJ2q6%E?ue%J-+>XDYG6zC;r83 zqo5hsoLY_aGJ;^`B3L{(d1h*(pHZrPH8Xj_z=$8(F9WD>JRaH_Oj_td8N3y+#lp!_ zgO5s~L#k(BKO#YuzK6v>|G-&Zw}0&uM&%|71OF-*75#o`wr$6;tAlm-1BdK>?P=|7 zD@crxlP^s&`lS|4ejWU<5~!oBij_G`9=m0Yn`{>Fap5it%d>#{C-|?5@~s(WuoDU6Gm9Z+&Wn-N(8?+BsSp;A zw<&XdZiPq}24~}`t(;U^A|^o<*^|m-U`(bhFF>GWb1_()O?oUFOQH)PE8fr{9Q$>=Z zgZU^}%WDkoT_W;1zfR*YeTbTc-1~~0w!GF%p!a*Pg-&eos6x~%<@RfFxv^LhN5K!I z;D?&eI6?wJ82g-ne%~(rxdgJNrGt4A*)^*I4IhqhJ{7yr0c|N1siCsqH;8LJHd80- z)br*wlbE}M@r(|M`SQcFBu|Vl3Dp&qI6=FyaRHs6UaI-!m4kd?zPdwTnK4_pt{y!f z8t?U_!%YR9@NXo|l_WM+C(n2lF2I$k-wvCI2ClSAs6V+7Y9 zaLB+ZFe?W#YlTUTBkG`ik<|Vi>M1Hc8Y+TlBEA5*LH_ zhOw6CtiU3M4orjw|L7Cs{C4r8$f`hXlnRQo(bn=8Yv9c&o*}Lmq^bB%(wXUBN9_U; zpkPA(A~~`B6Pna|YOIBl*4Gl=B6jHQA^I6$1Uio!!iwJBwl>5m5^&jG*K>SiBv8qL zpLwCGINy_pu9h!w?xJ)L82rA-!6|qgraUC7UUu2GSd;xF&D^sjS$yx}JhM0sW^wfUjKVpP0X|d1dDMRArHen->}CJq*c3 zwWO%!eq7hjk42s-GXn!Q7Ub$|Uf5*_k;#(Ij&pR&|7FnE5wfpEu-Uh_vzi7Fc9YB* z!m{c%MvBLUfmMb@qnv<76ubnzkif|y$0tKE(%2B$YD>5#gHCd|7G$7L@iRnSf6h(2 z|0%8Ec2c|a`aD606OEp?sT|m>8iz6uDdWOf5i(Dw)X=T`vpKmg!S$Z!hWEgcex&Xz z@VQVLQ67#BRs7PzLobpw++-U%)m|C7$%_SyWTNS0YNaP?-We0d)j6F91A`!-buS3V zCb|-fLx93k&SDZaxf6uZbmf--6@(rJAtMsSA4~;1>q1A5FsE%UL_|N06*(z1%GcIv zT?c&IL^uO*BlnkmuX`cGq~GiAoCe>f3JKH&PW_dJvjPn_T3_Gg8++2hqVWevFGP_3B0l>=03+ z2Ue2%L`OW{zWo5Z9s#UCzW|o0C2dh(@geFEz@HM6ht!41W`&vmPmkmRZo|9TAA4J$ zi76;(V@2vH&lvo2Y8v)~wrJsfducXY~Wnf(@fes#> z)(U0?bG(;?_j*W@UhfgY=)V1=1oHSD&}}M_fx&qu4yq8TU*X+YUd&40sW8xV9}djV z?m!8?`4^1sx{yxODVajK0;COjH91oHZU4Eg0QK_D2Ui8jmsEc8T5Q>Mm6MUdX90HG z_ZirIKaD$}*Acdh)$|u%Gp+qd?qW%#%C{%q3*(Ijupet`+DnRKpHm&;LaD;fP$BKZ zV&B#3CbyXx936_W0bUy^$z!oUy!O&6D7CPZuK%aNj6?w=PF~yf8NdYC{{GJdl;8l_ z1xbU?ZrCV{0xt~MX!}j2P-;pt80Sg`7AZmmlss5goaUk<6UGGIVfMfUosxV(FxCHU z>UN^C-xH_zAG~rt;|G6<{xwyZm*@4V#fL32RFTX57eAf+M2F$LCo*`p;x4MuZ!)a{ z7-qII&*@`gk|YLHPH=2=lz2s+^*W*`Ni>QPi%l8GVU;Pr(TmkbadKlbq!_=e+iHqZ zoz_t-MroAblL5`tcz4f>bN?CLIjYQH@Ic#Vs8n1v1o$7z)wi`U!s3AO0zD>7B1L^*72WcP z#ffB1(LN6fMR36h1_TYG6VCYHXxa3@s6y%)8{>5fkc+YIjAu+et0oqHoC2a4qv!^H z3=Iqyxq-F>gIQ2Q=b1Iqdru@dP5y75A!Qtsy_oV77o<{hj*5U(%EzWk*Q1(t;r|b^ z6|a3VP#jtI?Pt8;0|!|-Du||hjCJ=tuoNGu2i&{}A}4GA^#3nLxo-plhfcFY_dTG= zd$DDl*%DnIZ$IV1ER?`TlLazxNw*=mL&ozBd&8n1ui%SAyKR27clun9%7SE8wv3j$ zaj2kB%$+Ty(Wur6#yK~j#lv)4Wx`!gPKduWt083jWFC(ZykLe=GA z*}OMD)Oj%iV`2raMZpfZdNE1PuPUlAngQGkN=<2?##gSLN>Ppmfa5Jpzo>tjcn!Hqd+IWL`@0KH(WN&Qa*ZCcgge(<0DJBC$ z>S#B8#t}W)g2b;E*qjCQ5nP`r1+kWpdM;Uu(};GWN@%d(kXM_12@u?Iei{G*E^CcU zK=YU0`Z3pACMwlG2RlUZ-n=LSj?RU>?Yr39O+ySJLd(^>DjadK%`9tP+vS+iE&VpB z+N-t(i&$%DfF;b5J~5`oSWe}cTRyz2K{+-oGgwMGjJJj{#79v@AQQTLEqDNax7LZ5 zDl;|HQc0*IHh>up&{>tu3^hOOb=3}BRpTzUb3}UpD{(6ih@C^4{C=|U;L@OHd#E-L zr8nc%Hi`0CcR*zL8BL7sGm|_Q^g#YhFzbl^B4yZDh5y#0A2VaJ6&S@LP_!@2*4!}F zOxIvZ)M{DTu*(q|+YJq#$QIO_7Yy5mtltesYyR*utX2Eg^OcE>oX*^Flj@Np8MnqD z2HunY$#%B8n|yOpp#gw;LSB^gQ)-wYgjm;Wf$I_f=myyMHw?lz{$2=e z1)7`pqGWJBSDRkqm8kK8eDUMJ0TN)cmO`$AFqIJNqW=NAHUM@fnnLfs(fQn$y3l=t zAzTif&j&_G(UUJj;WF9VI7843h<+bhl zO(923xx(3S>)eyn%KRS00MOn&`OloWE*S_m3J&}@+KK$-L~`AkK#~UfZ{y*PBL>EC z|79bNxT~ImfFeukMD9mN*@G$R@1>9^eD@?lmoH~!%@pSiQ25c2{}NOFfBxS9PcChH zwiKxRVR$Td2_%ZqcU^%D8!-hp`8*-@bVU&B0u__`0pjr%Wq0N^WIOt(j5FP@5pgpS z;)Y0p`y<3o1m2btOg?b-C9Mv-&Itm1g{t`ijf;M}ZcoyS|L{7bdm$Fi7D*U_t*3EI zZY5hk6Ettx zwlw;l=sVrbhS%uMC#>3i^gQX30&0BqynUOX2sUp)RcDoL4x5xa+3?_yd0e^m!Pctj z?4hr!xzLGtI$_9ny+5%rlB6!kDS*e3J9~b81o6rC{{@(q|9RxJ7uo8#%tXm*lG%yk zwy##^spkO}hpU9JnPYHUGnY)tmJEf_#UT&Leee5JA-q>EaP+fRQ(xKJ0QkN$tJKF~ zx4+;K5e-Iud0Kf!H5T(@X<2|I4;Ie{zgg<^QEbS z-v8x5Xp8$WZu%Gb9^jeYKlE_m5a8j@bwP46=N9`ca;ne_;8lhOpNn@0{p~M)F+rOG zA(C=HxOUf*->a>?@@%C6tSkB#m(@X^bhM}sPJDAIz|UVz&*ZN35b-xtA)Ij*$mTqvgi+H;(Mneq%aCNlM{%#x1F%%I>$<=Ibt-ojy{V%3a}Y zS( zosyPSJliygE}-sENZ<)UyyOeRdOS4nTs@JU+8`&-KK9tH=h}#J=Ux2ZNmXYmQ%$ZDsed~uTj_8XBcVr-Y>rqUw)O3D0q0~bQ5uJ z|0xUF%hiRJ-SyrwJ(@5b6ZPY`5b8Lft)9+uDj%jyT>3m98Vas zsRvxC5;LLR33g`6Lf<_TNA@iFNqxrx*J1U+rTOEFH(Tra+Tx=g#L7C{(BA8)J26F1 z7t}`XCGy-Xv|N_}Yj75O!)7=oH!v(}L+T;s^IH1-W<3vA>Bzi5t|qR`kut#cWYK0E zkJr0@OL0UEF#s)LLs}aFJp7M)#ue`aCc&GDQieN{1(|4T^W%p$tJx6804C(VAK3B_M^p*ZTF8;{ z#2+(7%~Zvod4Y2^Tp7P|w_oqZvmpE(Iw$;BLMGKR>}^8M-ZRHJ&#w#?Nk^i;;4*lD}edjCBn>TtG_@o9mz|HGIZ2XM9EITy- z3xR#L3Eh&3zsg^lD~@|1Ra{9iAx}_o@V>X9?yM_SijGG2(!97^B7Ohma%#c80rlw( zjeLh8UR!78Khy=DT>*{TdIUdlfEq8oJQUK%T-|J+bHoI`lxnv^x0c0S6NN}oe^Pak z2GlE{=kwhM{j(|!tRUy)ml8reh>5Q}uUzz{ytDpvU5#7$&L|2I{NSgm+*EN)%6$Mz zTSDh}w+KgsJf%!0#hD#3t~OuNstg9O_Zv%%M3eHA^VK;Lh>Ky&1UjNlqEykg;!QX> ztU~JL-B&^1-YxJn@s#dd)c3V?WiXshS9Tbe9>iE*$&X1;dr5(LCGNf><> z$lTbB3BJ+IgG)f{U*Rqcsqp&Oez5xz-p=g1?{R>C~isUse6e3;S%0^5kSD zY!tceK1epX4_;1Pug_q`7jQNqDY>^#`6fw{0Q$8`Gjs=akHXXC+% zYDX!gGz?y>Wk2Ciih|{XEE7m_G5@W3iac)QY+CjEH6T3!hGeFKls|&!>GyMcJ2F?+ zZNisB#vS&!`%6IfK0cbB#-`U9@NJdzVa&?f>?9lb%aw+trvH@2XLWInZmU3HBYd)YwKHYzK1b)S^vm}-n;jkPe`DSF|?h0>$mZM zHj{*cpB%>lccC3VRk9lBo#xUTg zyC(KJYPa~L=A1^mazly2dmLE`eKi|d%}<#_9B%|J=Q^DJatLTOelv69e)i9sO&npt z+xYcIRy&G{~E&z|JN8{Oghz0}AfW?vPuz<*VX8oMtX zcP7v{+M>|#x!a>4nZOetVRTNLsfY?m-Jp4hHkJ+`@x_HTz={}_Sr~+ZFOuoI@J~`Z}*!nf@ z=dkBIQs5#N*~n??0RRwlp=3b7Rc&Z;WHs1SFwcD}ND8Q$1vyCM5WI#fQJ23ay3*JvXnvd_jJX1uN)pmJg{rPpQ^?8jJq^H2!#Ig=Bca8w7HDY@6EPt7- z&Jm2O1HP4%Ndql-!PnJ9i){;#beQTr6?{N&tZ5?(Wzyq|M$~L*a#R*EY zf|x+IOJHV=c!1P@H07t|n8RV1(1Ag(RC6t-hHYJ99%dz$+Qy^*%Kc<8d7YAJB{pgH zx-qn&UWojpTfCM(0CtWTQ&+s7KPY!-I;QROvi>0Dpa8~fU%B=w$@Q!0<~wBfr^Xvq zst2WGyV8eZs3-}yR>`Pgkgq(Ce@RJPdS_idPP)TOGji>p!sOhf!m1Uz!1k1OGnMz< z_^~gc#DTFNHtw9*kOxJ=Kni0nBa8X_d1H>pbq9VK{O3BOGXy7Lm6c^~emDx&=}k5VOnk=k0T^GO2X69UKMq5Xdmzzd}virIOHp1GX;d8}2p=@&I1 z-UBuv01oF?A#!u6)W}OxJq^`9;s5=3v}}r?r7@d1xR|8sjB1f~n9N^^WcK!7A3VJ! zKE5`cchM=Ca%|mlv16erO#U;2+v~R}iI+%USNqF`iThov_oA4cRI=8=9^#9Ei|n+` z4p|<}31<76f{o>a+wI~48|&zGZj(mEabx9vpB;K+-F=R{I1kuP@=3!z6=%BTA%CFW zA|S#43z+M0SCrd}MWvP1T(!T=b1&&H1?az&Fl2&s@aX&;jT6lS)yhKP!>MtQBd7xX zRJypq=pWPO=1)v<*kiu(a;No=vPdT;9Q1JADhEH_Qcz)e#s`Q>pC)0nHAnqq>7=jQdZIW+d3BBLe9$P5EneX`5w4}~&a-l}kq zd%z$+{Pr*=|JKEP+!a-vlZER8jM=bzvhuCv@g=l#a1Sgt<7YWt-ynWaq(7P)kV79U z;L6lI{P6sn*1O$*m(_n_XDS|vyY6c))4>gL8+XQMD}$4Qn~;HHXufQtBrLXi?G!V zlGDGuHuiQzT`_@eUxVp;NJP+E@6H8461@qarAF2Fww%+~j6~d#L#4KtfDEQWt!4|B z)l)v2r^UhzvE*v|u85TQo^&^~_`U_pUIZUH<&_NtDfXLq!HqW<|rZuVP=g(x+;(X42n=DSk96@|@xQzWSHoAqEr z;EsLm9!7@~9egrhb}xY<172PvC~94q8{obuz4rIi#bvhmE2kx*$wff!Fj+^qJPk0NUd|0)DUPPXQL1n>F5b-WR zEJoTKPr%_m0}s#FRzK*k^ttdU2Ls{CYq&Z-MGrGLB-a`hB2KXlQNmd1$Rpdif|V}+ zH!Tel9-lT{Hm^T#@xFbUAKRg)^Bk;N0jwIqs;|xk2xNd9%4#=va;Lo2SlMI7xX9|^ z$gW)JX+Q3AtR$YMd;&s<<(4|G4BI0KD*5E>K#3LBxc7&MwB4Dr*73MjLh_k++c&;M zXH_z(@4j``3Ya7Zls`ZLa0Thd1f0*&`&`+57uwPvTAy0QLRxH(Cr`HLIfNh0e?Bcd+yv6v}?&z@d8XJr~9%lshdAi5&u)>MU;@|3Kk(|_4QMS(#b^^p^iT0+omR~2zn&`1N@I=2!rCR*Rm2W*B zv`jzFwDa=Zl4PTJ^@QaX92_sUd^4jP8H3XH2W%|PxvkaBQH@tjU#>ejeg8YDT-6+H z_kv?c27i0|`i!Zh!4M}PKDp>`ZolM^#{V)UKe)vrEltBC5|K5`vY8n0P5u&8bsrO)I<%=_y2bKKMsPk1!lo6D*wtbp#*V_ zg=O(Buw!w26|*G$yHrr6c*Xa}?DWK$vEVpK7pomj?4{}rzBbckF7ZIV4_z5jxhpKL z#W@1B2H&50bW^%K z4St<8eGs?C5GF<88v55JhXY7uY?Ld5d;`3pkAB_>$3M$1}gIAv({p-FiRWY zVR{#fd@XUVf4Dx@tp`n?+sa`1EXm0tTApL5L6S`z@PqQLBCCMgWAPcYmuEiwi?{wX zrCP$@M-0AT%FqBudW-*J_|CNhKnV4wUMBmr`S&&;d~yEz&OH#lI{1e`9uaiJH^K#^ z|GTF{zztbMbK@sHoolDf#zoQL#-4Vagrp15x$j_VPW=A6fo?Ktj_s~B85H$KcG4+Nl1yL@r% zpd~P&q^EPh4cd`_8_dkds-dnc2Tu7dC;y-Z(`Ck%U_e)VqKPv%XLdJR77*%^(Us^B zz#zG4{?q>i)iBdcH@sv_a2-jX_0JvhT0h+&s&=FY)hB+p0gpivB>)6Lx&P();n}+e zqL4B+rtl}7{yyst&)L5Hd+^_G4=51eW#O{6Ovi04yJI}x{oRIxexz2 z_XznWO|5&JqmY9U@APZ46#q8NqKQ`}R{ZYlcbylX<0@>*{-dW3)jNm@J-g@9q9@m4}YzvIc5_3qUQlZV zDw}{wEHXkJ%d=>V3F-UE;}3E?Ulf6@s3i2}PN)>+$i{2$yn?tEllXG$spq zN7!L-xP{-&#qpc(M;nLKZA}~QST6chOPBu$0wvXd!5RHu&$A9(S%9l2aD~A0f%AU^ z4LnhRj=bXyxw&(SUA_afXivaK3UZeok}1Ao?cM=pZ2_$f9D>hKJITS5+VJMx);D9T zFi0z4*@AQ9k_D#-o)gT3VbWoE>lt<}rU0-(k167=R8=3!@Av8Ix-t6I}Le%ic_N$_NS+ zcp~KPbPR@n`n7|+9_{wfqX?aWZsK9^SIc!m%e^9mWctbFs?O3dr1hcC0oX77N5Nwv z3ro1r%%xC*UiyQ3)3gSYt5fLsHkg)Z0qt?8_8T$N=i`GOhkRk?lh#*EZG$oC*+S1F z$9PMTSIsvxSiN25%v&`Lup<4Yb+gh9^MkOrQCxs!{K%On}cC<9u!Zax6GD6K^BL@Jt z=^(@NpEf0ZuohtJ55i=8Z~vf)Q(EKFVLzFQus3gKBUKUd->X%Y zrY=@LQy4?g4pN|fu%$V}BFu3q(@QX$OxhN+6Eu_mrV#9poDzqs1mdQP zL~Ut!3DTCjd77ED37q10E)uqj&AXP53UBLS&$jwMTq6J}gI& z3m0NWztU+-X(&p3KJ>*4xtp8`I3n=-1}BB;0TL^BHowrRDZa_=&0Fu#p$MJ~%XKZz z8&X_g%spuHSYP+*MFybwU5SJFdyuUTxF|QjBC`$K=Jc>~N%1`-+GMYTAYC&Q zi3`W&{T`aw#ir%B6KB6L7uz`CxT6?e54gz{p4Vw{Fqry&RJS^+}jcqCvnX52ZzK}bF$H zx6pHrLt0Qu`!V@bBt57P_Ut@<(^AJum8Qxya7*#A#L`AG`+_9+|1q3uG6ef#&1FRp zpf4YcXjAli+DYS8pe1vn@|MjwN^R$2nm&frFqshFLOq$!!Kh8DYp})n!Rf)b!mn5? zEIq^fqr&xOfkY%U7t)HPC>U)l9+cdTDCSp&z+USR zSLgYE31%z6JIO&&LhXQWSn3bWjwVnV%@(tf*?kwekjv)LhaN~8hC$Uw^_O8AA0(51 z^%iA$cHAZGm&yTkaI(H1FeSmadbSCMM0d2s^c~x-im?;R#(Pl$vtg_6m!;0<*jI3& z_bX`05Oli?9%z=x0Lx(#>7sEvc_)nG|?(_UH5u@0N{En&2R#t8ItXwi~39tBD z*_PR#G0`egK^}2`zS=xKDXmfeUmqp(eszwiD)2X1d#-8Oy5Wj%LoBV@?1XvYo-xOQ zlr@N>Sy&VfztzRWM&uT52?$uUHcpVMo*bzd@}Emz(t$uMW4M==2ZCOnwGK-7-yZK` zd1qy)l^*BWY4NN7gz&Xhobq~ihp z^;;Kkyei?8$~sZZJC=UIE$dem0wdF8dbQf*;vfb;Q#hxP1NF_vc9Bk1WnE54NM8n%Kx|X~Quoyv)#*!*?2d zEQVdA;g}TOD@$bEjl(ZDcI(K`s?u}F=+=VJR(X|9FBwqd|0EXdM#)Z^K9iPyKre|T ziZ@LDK2)cHLSjMj%y$vzFbvriF;IhYzE^1Kjl)a-wJkBS;9(}3ZqR$ChL z$6Z@q+JGKxBB=3Sy>F@8hJwz+6%U8B3F9yJ+7RTn_ifXA$;M^x(SHTM-97k2J0eN9 zr9F4fgL7&@EzQ@z?8JtC*r4S7svw!-7wzMIl(%U_(??KA&D=)_g}gA3#w$O&_vEYa zFepQ}1(`KsgVX%v^8HqU;R*=yX^}{-X{wCKs(lLzziW2BIXzD`i8~(0R^vELu4S<7 z1^V$Tvl9BA#0CIl@!6x5SG`=Kt7Sz=7ZJ655CkYhTur6m;S>aV4U}kCZt#P8_jrCS zKLo9O?k~E~U%IOKMx-Rt2^6kRx~p}cnAn>`(61n$d#BPWGmJd|V*?j1+kJIWc3Fs< z{wd@@$=1_uATJC6Q5!y-d5ph$5829*9=rSceh~zo9WH|(CPdAdKf_dz{$!*=1(+xh zqvG%QV;v|UNLH;@{Onu)XWRmH&j0oQY2wP`q2Ai~&)AX>QkGDb=$55q z-&!cHy+SIxLJh{fYAiEjsV)+tuHA6m;tInkOU5!NldRWRhGCH2>>0}#3^VVUKKFj! z_ph1HoZtM;InVQ)=Q+=F&iDJM48Z9n0TsjVK}Hru^>N-XChpJGF)DG=mrH|Skl>8H zGGs^Ylt=z#7~w$<-RX7$!4!a@;HaeH(K-oq=v%HI`@%;Od(GKBMMp8bOfqzWb&YWl zs_1>PMoVMnCymq#>Yz*o@^htB;gE@dH<$>S_d~sri{0<}y-I51v9GrqsQ-f0v;7=p zbff=zjTlFet<&39L2o;)qP3V1@w6+RF@@g+xC|E{(a4L2@nSra?pxh;*r3XR2{=RQ zdh#k#;3DqpdH=4diOXDtsL0DZT5dBni{KsE#V=HD5p+*Cyx~{Z$yd2^(`ak!3X+WO zlU+LB&qa<{3*LGE)gyerb4$a45P;tcyxJNfl7!oVr0*G7zp2?1r{IUsjK=a(N2S!U*49;(T% zNpy&7^a8Jqlr|U%lX!8FEh;-}W=o%*1*dR7LPEOj712U^(e%q6_F+(nBnR3?4E~Q= zgIg9N6{!UhkRqFMirfgGB;+T5BROh!-_8&=5gCv?Z&2K`4z1+cr)dJbbUO2ejXJ@P zkD6&_xxr>wOpbXQWq`fXM{ibI^z_N=9!BYT$^yCeFEnXy0WLq8AFG|OB5z3>zs&N) zk~p8%Ek>H|a4lh@1Aj@q(U0#nC^3Snk6nqi{tu3jH?acXUbGt`zMz(~rv}g-%4;Ja zi2|#$2~ohf^HkH|_iA#>(%ci&PJlU(krXkWc&y!fz|%&sLaW(kB*%5`=Gr0nYAyh@ zD?va5gZUReW|OWWc7Y!cFmf`Y?q6ytgH8)->gKAw<(s7ZJhC1_2Jp$m@*P1+il-A` z8)&LOeftR3YSfMNg83hB0DbQcE3ysM(#HJDA|RV}-p;Zq!Qo zwmrQ1G7l+Xct!L$r;rWmO~uN0a@@}E;b4ekblj*(w${>pwZ@vnxo-kFSXAPiua-|s z#k>@7AXl?fS>-dOCM>>jfbkFE+?)8alKY6VeVB+-49~nF{@h}2|G>ofZwznAWx2`1 zcfvHWr5t9M=f7!TY;-qzmJ{z zc6o_u)<#>1pX=>>lH;qclzn%EvRn=7mEQ88{P+Cc_@#UFqb3P)%A2I2$^)nL1-lkw zQCbQ%yqNTSVlN)Ugh6xxL{_2&42O7(Mev2F{OmyKkl+6|x&P_VA!6`yVcC0m6i)*x zs9@X~@uZz%idQRfI7jnVH|3zBwtYhpx_4!NvcuV!ZvUdl;u5CQ$s*<7M*T~ax z!AIUJ=yQwdyYP*}gydCh-|km=qT*HAD`w)1`p(sQJdYN%edzk{sI~RT9aW|5&vr|f z?}{GO%~MU9Xl9w$o2|b<^0=3Ff#s-lvfmQ^jPt=?_`GD*xjUgC%&16Z{6pph(bdA@ zF9W35$s(d%!CtGWRE&PCly&M4@~EmfiVDYJ^coMeWmuR=2Ak!xx1_f|VliI;#}t(q zWS#WmF@!OGgu`z4AK{_6tI|asv9BCKujwWjpDwoE%DkHSiYR0(wuO;^fvm-94V~I2 zv+KRW5BUi5R@nOiPb6;LF!Z5=-p8=yCkhn9V)^(1Kq&3&{)2J^WxBMu4e z11m(579bBAD!RIBpy#7s9Ih7uDjDQXDtf(3f$BOtKbo+H3aQtK&V7H@Pl)(G1 zd>BhOEDVNeonoArTtk%%t+oJj5B8Ep$czE#orQ`MjHu${3r7~&=X`=ybzPl0Ma)sj zy9HWu%a7|7eEuTQ!vw(&5ET-fV$tjhB^LB*g5q9r};pL4v6iW8>Qgw*X z$ZrdY3I;33O3HvKoV~7(KeM`Tiu$4B^Ghz($?Jui1Ug^8kK4kY zv~9KPxgQq{(YA7ZAn6jMV}DIf{y~M~r0o^7aKAT@PtnBY3i(M&+JFfNC5`_wDM7PCEnPj%?dLucu%Ye;g_YVQfqe&%ZQx-#_Z=cPA&--)OQ z0m$n@_(wrq_p-_4TiU=_5|jJoygtbx`BKQrxJ%Wr7XN18HT?y|5zEU`&8)vKL$}oHP zh0kZZ{|6%9yh{@gs~sZ!Q~*X{k^Qy;n~{xt91~a&y~bH@4io@lUJ!w87U;QlAOAY% z!aaj25;hc-E9s4m*&~5QMkVWg$Z3eMXS6%mzlp8KcfCXlm+;6Az^Rwk*Sln(H5A#Np8SE}9Ah;w2@g8KK9N zFg9lz9)fkg>$?1RBs=Oh^pNEgK1xUp`75g;9tPIF#Q9I56vs2U^lGG{Am&{O=|LH^ zL^~aDJG^t@NS!;{AF0Fb_GJ)Z$G*+RrR5Wj#hx}b#SwJ4l3yk=+kP#$UAJ8#Oo-x= z3R-l2E6`LiVRq`rl98!>QRP&Si2wyd9go=?TXMPnWN*cl2g+2r9e1-VutP)YVEd8{So2N#P^J5s(`%p zfgdu<6*4&4=*O6mvv0;aq8IBFxS=9VXsE7w{-xYLEw?>Bf&eFBWZ@qnjm6;0cj(_V z;_XY8&2OHz0`@dE#$Ff770XR&THA9Y8WKp832wlm!_s*cO?^qz`0wgDI;zI3H8S1J zWw2KR#GI!WQ!Y^_*_M0G$l7I(ul|AOdgX>-P!&yQ^OzT&(bS%DG>qhY1D#Y93AohK zu1~|u{AUIY4IFS$BK7s%xJdn*v)@-WVzj98-@|7+AGA=bnC~0`Lrq&XBLf)KCu}u5 zevFFsX{V7d0;|D@n;^$x!ZuyF4ExA(zSUi zxHaO}#V+EzkgF7z;OKg?;Z}F(A>OWIvy=wpROAwfg#Sm}7p2LGlptG3M|E3t|^~PniAfQx2hMpi_ydqf;<1zV^-a*?g1=TRi?ba>LAEROUBH zV76hYL&MhVrxeM}YZ_w(7!en=G~@z_!JL7HEB;0$Iznb4P5y9EgoL()fr3Fgn?G>4 zmG_f@-!U1M7}0ZB*fUh&VekoB-hsx^`S7*sXWu}kIq0olCmFn`G(MJC^7@gZyG|@) uC=64T-CL(O-S}3f_MAZMNK6g!?9?RarL8=h!+~z_^B2>P*<1X7l=?4oHi>5d literal 9876 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 diff --git a/scenes/find_a_couple/level.tscn b/scenes/find_a_couple/level.tscn index ef67359..5eaef95 100644 --- a/scenes/find_a_couple/level.tscn +++ b/scenes/find_a_couple/level.tscn @@ -1,34 +1,11 @@ -[gd_scene load_steps=2 format=3 uid="uid://cignc2wdaxuro"] +[gd_scene load_steps=3 format=3 uid="uid://b2u1412b6fugp"] -[ext_resource type="PackedScene" uid="uid://blfx4g52uaopo" path="res://scenes/find_a_couple/tile.tscn" id="1_hr0pl"] +[ext_resource type="PackedScene" uid="uid://cignc2wdaxuro" path="res://scenes/find_a_couple/level_handler.tscn" id="1_hr0pl"] +[ext_resource type="PackedScene" uid="uid://blfx4g52uaopo" path="res://scenes/find_a_couple/tile.tscn" id="2_0am66"] -[node name="Control" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="Level" type="Node2D"] -[node name="ColorRect" type="ColorRect" parent="."] -layout_mode = 0 -offset_right = 1280.0 -offset_bottom = 720.0 -color = Color(0.787759, 0.787759, 0.787759, 1) +[node name="Control" parent="." instance=ExtResource("1_hr0pl")] -[node name="Label" type="Label" parent="."] -layout_mode = 0 -offset_right = 99.0 -offset_bottom = 69.0 -theme_override_font_sizes/font_size = 50 -text = "1:00" -horizontal_alignment = 1 -vertical_alignment = 1 -justification_flags = 162 - -[node name="Button" parent="." instance=ExtResource("1_hr0pl")] -layout_mode = 0 -offset_left = 519.0 -offset_top = 298.0 -offset_right = 669.0 -offset_bottom = 448.0 +[node name="Tile" parent="." instance=ExtResource("2_0am66")] +position = Vector2(239, 223) diff --git a/scenes/find_a_couple/level_handler.tscn b/scenes/find_a_couple/level_handler.tscn new file mode 100644 index 0000000..2c9d9e0 --- /dev/null +++ b/scenes/find_a_couple/level_handler.tscn @@ -0,0 +1,27 @@ +[gd_scene format=3 uid="uid://cignc2wdaxuro"] + +[node name="Control" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 1 + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 0 +offset_right = 1280.0 +offset_bottom = 720.0 +mouse_filter = 1 +color = Color(0.787759, 0.787759, 0.787759, 1) + +[node name="Label" type="Label" parent="."] +layout_mode = 0 +offset_right = 99.0 +offset_bottom = 69.0 +theme_override_font_sizes/font_size = 50 +text = "1:00" +horizontal_alignment = 1 +vertical_alignment = 1 +justification_flags = 162 diff --git a/scenes/find_a_couple/tile.gd b/scenes/find_a_couple/tile.gd index f4d57bb..b6d9ceb 100644 --- a/scenes/find_a_couple/tile.gd +++ b/scenes/find_a_couple/tile.gd @@ -1,16 +1,52 @@ -extends Button +extends Area2D -@onready var image := $Image +signal tile_clicked(tile) + +@export var front_texture: Texture2D # Изображение на лицевой стороне +@export var back_texture: Texture2D # Изображение на обратной стороне +@export var flip_duration: float = 0.3 # Длительность анимации переворота + +@onready var sprite = $Sprite2D +@onready var timer = $Timer + +var is_flipped: bool = false +var can_click: bool = true -# Called when the node enters the scene tree for the first time. func _ready() -> void: - pass # Replace with function body. + sprite.texture = back_texture + +func _on_input_event(viewport: Node, event: InputEvent, shape_idx: int) -> void: + if not can_click: return + if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT: + emit_signal ("tile_clicked", self) + flip_tile() + +func flip_tile(): + is_flipped = true + can_click = false + + # Анимация переворота + var tween = create_tween() + tween.tween_property(self, "scale:x", 0.0, flip_duration/2) + tween.tween_callback(_change_texture) + tween.tween_property(self, "scale:x", 1.0, flip_duration/2) + timer.start() + +func _change_texture(): + sprite.texture = front_texture if is_flipped else back_texture + +func hide_tile(): + is_flipped = false + + var tween = create_tween() + tween.tween_property(self, "scale:x", 0.0, flip_duration/2) + tween.tween_callback(_change_texture) + tween.tween_property(self, "scale:x", 1.0, flip_duration/2) + tween.tween_callback(_enable_click) + +func _enable_click(): + can_click = true -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta: float) -> void: - pass - - -func _on_pressed() -> void: - image.show() +func _on_timer_timeout() -> void: + hide_tile() diff --git a/scenes/find_a_couple/tile.tscn b/scenes/find_a_couple/tile.tscn index cade03c..892b198 100644 --- a/scenes/find_a_couple/tile.tscn +++ b/scenes/find_a_couple/tile.tscn @@ -1,28 +1,26 @@ -[gd_scene load_steps=4 format=3 uid="uid://blfx4g52uaopo"] +[gd_scene load_steps=5 format=3 uid="uid://blfx4g52uaopo"] [ext_resource type="Texture2D" uid="uid://bsj2xqsrkncfw" path="res://assets/find_a_couple/envelope.png" id="1_dgwjn"] [ext_resource type="Script" uid="uid://c6slf3hspqeef" path="res://scenes/find_a_couple/tile.gd" id="1_kwys0"] +[ext_resource type="Texture2D" uid="uid://yn1hkayub20t" path="res://assets/find_a_couple/back.png" id="2_npifk"] -[sub_resource type="AtlasTexture" id="AtlasTexture_kwys0"] -atlas = ExtResource("1_dgwjn") -region = Rect2(0, 0, 512, 512) +[sub_resource type="RectangleShape2D" id="RectangleShape2D_npifk"] +size = Vector2(102, 102) -[node name="Button" type="Button"] -offset_left = 428.0 -offset_top = 300.0 -offset_right = 578.0 -offset_bottom = 450.0 +[node name="Tile" type="Area2D"] script = ExtResource("1_kwys0") +front_texture = ExtResource("1_dgwjn") +back_texture = ExtResource("2_npifk") -[node name="Image" type="TextureRect" parent="."] -visible = false -layout_mode = 0 -offset_left = 25.0 -offset_top = 25.0 -offset_right = 125.0 -offset_bottom = 125.0 -texture = SubResource("AtlasTexture_kwys0") -expand_mode = 1 -stretch_mode = 5 +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("RectangleShape2D_npifk") -[connection signal="pressed" from="." to="." method="_on_pressed"] +[node name="Sprite2D" type="Sprite2D" parent="."] +scale = Vector2(0.2, 0.2) +texture = ExtResource("1_dgwjn") + +[node name="Timer" type="Timer" parent="."] +one_shot = true + +[connection signal="input_event" from="." to="." method="_on_input_event"] +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]