From b9f4971d318cfe05f140728085887528ee7f75a4 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 08:05:39 -0600 Subject: [PATCH 01/29] Initial commit --- .../assets/Bottom arrow round button2.png | Bin 0 -> 1371 bytes .../assets/BottomLeftButton2.png | Bin 0 -> 440 bytes .../assets/BottomLeftCorner2.png | Bin 0 -> 146 bytes .../assets/BottomRightButton2.png | Bin 0 -> 439 bytes .../assets/BottomRightCorner2.png | Bin 0 -> 149 bytes .../assets/HorizontalEdgeIcon2.png | Bin 0 -> 145 bytes .../assets/Launch round button2.png | Bin 0 -> 1822 bytes .../assets/Left arrow round button2.png | Bin 0 -> 1347 bytes .../assets/Red playerShip (1)2.png | Bin 0 -> 2674 bytes .../assets/Right arrow round button2.png | Bin 0 -> 1357 bytes .../rectangular-movement/assets/Saw_Off.png | Bin 0 -> 681 bytes .../rectangular-movement/assets/Saw_On_1.png | Bin 0 -> 681 bytes .../rectangular-movement/assets/Saw_On_2.png | Bin 0 -> 704 bytes .../rectangular-movement/assets/Saw_On_3.png | Bin 0 -> 826 bytes .../rectangular-movement/assets/Saw_On_4.png | Bin 0 -> 733 bytes .../rectangular-movement/assets/Saw_On_5.png | Bin 0 -> 668 bytes .../rectangular-movement/assets/Saw_On_6.png | Bin 0 -> 707 bytes .../rectangular-movement/assets/Saw_On_7.png | Bin 0 -> 827 bytes .../rectangular-movement/assets/Saw_On_8.png | Bin 0 -> 760 bytes .../assets/Top arrow round button2.png | Bin 0 -> 1349 bytes .../assets/TopLeftButton2.png | Bin 0 -> 434 bytes .../assets/TopLeftCorner2.png | Bin 0 -> 143 bytes .../assets/TopRightButton2.png | Bin 0 -> 439 bytes .../assets/TopRightCorner2.png | Bin 0 -> 141 bytes .../assets/VerticalEdgeIcon2.png | Bin 0 -> 140 bytes .../assets/tiled_Summer Tile Water.png | Bin 0 -> 2892 bytes .../rectangular-movement.json | 2876 ++++++++++------- 27 files changed, 1693 insertions(+), 1183 deletions(-) create mode 100644 examples/rectangular-movement/assets/Bottom arrow round button2.png create mode 100644 examples/rectangular-movement/assets/BottomLeftButton2.png create mode 100644 examples/rectangular-movement/assets/BottomLeftCorner2.png create mode 100644 examples/rectangular-movement/assets/BottomRightButton2.png create mode 100644 examples/rectangular-movement/assets/BottomRightCorner2.png create mode 100644 examples/rectangular-movement/assets/HorizontalEdgeIcon2.png create mode 100644 examples/rectangular-movement/assets/Launch round button2.png create mode 100644 examples/rectangular-movement/assets/Left arrow round button2.png create mode 100644 examples/rectangular-movement/assets/Red playerShip (1)2.png create mode 100644 examples/rectangular-movement/assets/Right arrow round button2.png create mode 100644 examples/rectangular-movement/assets/Saw_Off.png create mode 100644 examples/rectangular-movement/assets/Saw_On_1.png create mode 100644 examples/rectangular-movement/assets/Saw_On_2.png create mode 100644 examples/rectangular-movement/assets/Saw_On_3.png create mode 100644 examples/rectangular-movement/assets/Saw_On_4.png create mode 100644 examples/rectangular-movement/assets/Saw_On_5.png create mode 100644 examples/rectangular-movement/assets/Saw_On_6.png create mode 100644 examples/rectangular-movement/assets/Saw_On_7.png create mode 100644 examples/rectangular-movement/assets/Saw_On_8.png create mode 100644 examples/rectangular-movement/assets/Top arrow round button2.png create mode 100644 examples/rectangular-movement/assets/TopLeftButton2.png create mode 100644 examples/rectangular-movement/assets/TopLeftCorner2.png create mode 100644 examples/rectangular-movement/assets/TopRightButton2.png create mode 100644 examples/rectangular-movement/assets/TopRightCorner2.png create mode 100644 examples/rectangular-movement/assets/VerticalEdgeIcon2.png create mode 100644 examples/rectangular-movement/assets/tiled_Summer Tile Water.png diff --git a/examples/rectangular-movement/assets/Bottom arrow round button2.png b/examples/rectangular-movement/assets/Bottom arrow round button2.png new file mode 100644 index 0000000000000000000000000000000000000000..20778061b8a6a48390429fd4c5ead410597cba3c GIT binary patch literal 1371 zcmV-h1*H0kP)Hq_aj%wu1;%KJUhg@Xk*Zqg2`gyhr{9S`T2SA(o#WNXcKL(*Xy^P0u2*#6TERX zdr>NoQuNscX&XDq_!F8a{>@Evw%u-jqHZ>uFIDya{{9=Db?W;I?^d-B^N^I9=fF)v z6WZ-|zaJkTf2>xkPww$IZB(>{HUVgfRF0zt5~>=KI84k9{`-7Bf7cdhp^83oFtdO} z#%Cv;N`3S#3hr+csGT%up$c_}#QPQ5JiMcx5=Hd4gRJNu{XQDRI1Ky$w;4u&vVjyCpPQ^TBwJlR;W)ts3{JbuL zM?qwM;_X%7fzhB1!jI}Ic+^*9F3wFWD=yfNu7h`~nCsOmGi6jj2J{8IQ>DxfuxJY2 zkbZ&Xa`~Ze0AkKm18eV_v3%1P;j#A(Ji1$g`30jEd(p}vAgR5_!hY~{j1S0L#< zE*w~Dup0)FW*U2N^g;VAT~H7|&|Ek;E7G(;tqc~FQ7zl2@papXz-bY(m9~&N&04lE z6#%&{^g7q{0R(_v0W4Nv!UQb5cxW*#DFFyff{O`toDqD{8dOREqSC-r!Lg=vm6rOZ z2q0DC0^LOiq`7TN4M1SS`u-OrqD-^qfKmf6Uyc7W*T*1~mHkTS~EC!_#s2gp+dkZ$Xa07?$#bc~|x+@3^1f9O{#09L?E3P2tv zv?>xHssQLaPG(UgXgL)C+dPFI8)v8j;7dd$RSBF#qQZ+L0pwvpt0Ljs7BHi>s%;{{ zdL@=%mMEcclx}H9+6qJ|TJFq|rd*)ZR!$p4Nlue)<&K;n4P{D_30fdZ6T*y47!{&% z(sY(Ih#G7<-5?yJbJ~Qe6o^`(h%-Xfg3{+FL9Z=Z2cW!^zEx0(257EylqcpvB}(gC z4JdZ-`0lC@)}(=T*eA^^43~na4IVI|w)^aqmc`MIOF`5IukvVzM~!Ee1B?wk&k?tw z_jsH2eUK^;t-#}6L-43Cy;Ng0*bsTHQ**hW%u)@ze64JD0x7J0naA zdv`yi!uC~P{o*&2QoKwpb+otkjU~#^X#0gRU4dm6ZAMKm8ZKfm;4v&5ImyyIH-ZJ* z5kuvkz{R-~xGHz~u5gHMYpl9uw>G5j z(qiZ#Z zqK&e%Hpv0!W4OU+Xr2#*q@&Ny<<-Zk2Z@ll0+E9@c0a!k`cNR5IiTbGKMzaI_y2w!Q{%NJZy%MGmKmg0_3@t+ELqF>*p>HK!`tQw&o7qk zp8I3pdZy>Ee9zwHXmSw!{r6vf&$f<}66K0KhxwGHv@gf^J)(lDO+uWUxBO0b{{47vpHJ7Dk^Zfa1Lsk5 zu+#9(o}Cjc4JRx1A9p@*OY#1(4W9)*)!0ECS-CfkX-f~#u#iwyhtnXlVy{C4Onj9O ztbPBRKU%ta{Ygi%e}oSsbozZ|MPRUFaBw5R8_DS{lK=qGqNE)W9ueh PR4{nD`njxgN@xNAf6%=d literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/BottomLeftCorner2.png b/examples/rectangular-movement/assets/BottomLeftCorner2.png new file mode 100644 index 0000000000000000000000000000000000000000..607d523ed912e2fcc1529b8fad2dc6417861c84d GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(HG z#W5t}@Y{16c^MRVjvRPn|2Ch&i;;=#K(Fr3{a!|0YZx_>7!8haItVbaa0n$eGajxO51 zE%#{Q?z>Ow_Mhi^&a(e#eDfYPHb>vfC%#sNb{2nEtU0{)^)B^d>FSN2ACy15U{tnE z{Lww*1*vax^p~v5W{f&^?wga|^lk>-dDsk3SAw?fBpo!mp z?`6Q%*RwSNPDm&D@S>jw@!);sUz*o1*6=4zTNmj&FoGHc*5UBG9&wp*$q%U2z}K zzH6_y?zgzg-ckPSpU=VTJAY45;Fu?FVq_7r*f4Ep%)dIX6L%xlhH1TUw_*78F|uK~ TT!sWNCKxJRm8q;LyOp$i%`S q0Aw_<7ueVH^yV{&&Sx;PyT-U8Fr`bn*f<_&B!j1`pUXO@geCwIktx6c literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/HorizontalEdgeIcon2.png b/examples/rectangular-movement/assets/HorizontalEdgeIcon2.png new file mode 100644 index 0000000000000000000000000000000000000000..2d9897d6fd9cccb4e6f0fc2beafa4b536800794e GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(@a z#W5t}aB_kK>*55F2Mppfmi!ME=C@_Hsr&Q8o+DUlQp#-OR}F#eJyr=<7#H(Nlpa{Y o%+|}iqP2YFVdQ&MBb@06O_9Bme*a literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Launch round button2.png b/examples/rectangular-movement/assets/Launch round button2.png new file mode 100644 index 0000000000000000000000000000000000000000..01fc3586bd24e37afa3c0392b5a7b855c969b21e GIT binary patch literal 1822 zcmV+(2jTdMP)saQpE;l0S*Wq zPC`Cxz%?;}83V?A49I}Z&)|OdV2K)w+xoP+rJmtd-FmJ!Qg`2@`%_Dz*XvNOudf$= z|Ni|(bX9b4dwV;oq8xj7ch~1!#^}8i!PwOBq5OApe}8X$C}X8#_Rr4FUdB-6Y~o@Rq4x0bVE+91^QdK#9mhFonATR-%9^8qCyQB^D{HDM24ui|Nd`3a zvdW4#b{(?gs*AY)MtM4nI}_kD})%V)ge#F;NzkNbQ!L7!ny>a|D4ExS65eKsanRS zvjA@zVv#M_>J_34IJ8a1Rf{oXtAsRbFMv4omG{<*uGTEVn}%3q8@4yCxXUt#vFR*@ zZBaNE*$4yIytg1HC-V%i3Pc#dqBg)^zkZEugT~b3`Ro;K_QIkTyvxhWz9dnjDZSLZ z3bxtohDqg?MGj81LAV<8F4$-Rm{e+QB<2UUt1wS_uP7hd?1xQh;gEPYn$C0RYN2f7 zP*_mJO;@#(px>ozY;2g7l@+tOx!KyB*sQUDku~>STwEmDNnKZ6;JtqR`cdD#d-n*m zjjF7%fRUOD<%ea7ag$e0>RRx;3}B{j-@Y{;K77ESVDn$|0jSbAE^WRWAi028h2q8)VsR}VGI3GWLY?LQqps|73bo-(n6oXJe z@TfZAYz4wf7<#|D9#=)lr7k_8#t3!*>}x-=q1c5`1VVtzbZKd+ z_L^W}0od>T`0-<){n&Q?W6mm-wrME4gfT2MMzHIho}P}RqL{q4xp6>+4e526y0$p5 z&=|qa3b4&wSJWi?QmSziu>#b7XsZHK8AF51?o@oF7>yM<(B!oZfEd*VJc@>o`(>DD ztU3W0x>z(V8c_oz=d}T^NzteUP1Umo@wI6*wNNUn7mxW`uDN+F;jr#OXtGMDWKYK&k9z(wuHri*Ig zeIaw1t1T9Qf8XlYer#GuT<6ys)@85@#5KUg24Hj1n~IyxUU`L`dqlqBgmLT7lDDs24+tHrKeiZ4#G`cgqET%Jf6J8C@|32!0ey5 z6C@#y#Vt)dgi-(N|tkib|h3vW{N0V1>oL&1TLX(END6HFf->N^n&dtkhiAp3suxmuUdl`6X`52d`=-6{;NT#UN@Mcs8p^XI z*r?eKlTz=?L=Iln20^=i=_vH3fz581)cRU!e}8|X4TLMt<0lW;gl(G5u&Dj5+}E#P z7bWJ6rc5+X-^*c3n&VW3h0_AJ;*$8sf%rc5-85Lt8TVX9)Y^^U_OABraP0N9T1#B4P3-29PrcPVvYE37gd~U%n&))wH29*MvDc zt*#-2swc*+V_*nqqJzm~@?Y;INa~pY9neqKftq^QC_Q(XvAVM3f3S0kwcw7|N&o-= M07*qoM6N<$g5Ru;H2?qr literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Left arrow round button2.png b/examples/rectangular-movement/assets/Left arrow round button2.png new file mode 100644 index 0000000000000000000000000000000000000000..67a58b14bced1ed7c5250c9f6786609b9e1bda50 GIT binary patch literal 1347 zcmV-J1-$x+P)Ph;06t}Qw?eD)0AMIWP~JeVvd{`~wre|&sgZW2A{3w@&R>+9>cRYAjq+yqZt zYc`o4NGaY~gS1VYWc-dz6#wQXdcIn%exTjl+gtpG_?r|BeW6bPJs_16(;%U$F^R*(+~7|yE-v1sf);Cdhlklj zB+{OpbSm{RyEg1M z+h|H$7m4JWf-z@TX|J*z-YkcWOJO51Rt_47mmh`(5Oby)*m>Oy_f5Zuh<#}A=xT)uQm4=cIXxN=4HX_y<%T9@TO9}WKqanm zB~oFO$w7yL{R0b*!>>_i7y}x-qUOqnIh1iH+ovUcd~IsMnNcZ>+CmyMYuUaSJeujY zU<-r6HT?iKfULpWJz4<4gb7&OdE~Y?UEyg0#2BN_ga*#J)uazRO@L^0V`?w3rs=Aj z>f0BdHbAPzd+9DZz+9g0HSn|nf(;wX-%TQ#Y1Y__C-Gs_*|9IwC`auw! zQmbCrLAv(Esi&IYNoW=r?X8Vz-cK^)tOYN%>eGz%HcvsJz>6?jDgv;?n6fGJPm4-(+U*z;ckhX#-?ysHLCB_(wtfu97e0U%8%Y*#qa zfwUEfVu3Wx1xhXDEI^c4%58IkbSqObnV=0(D48(c+l`Y>XK6u1KrfNb+V0NfPN?RF z2zV(?(~E?vMoRw}h~`rITANDrChNZ2>_|)>}_k(jdj?JoEz(XA!=@{ z)9liVQ(BrwJNiI0d9)*-#^;&?%n^L~F=|3hvYZF;Hwmt^f}&`BXYY1j<~q#H$x^ zn}`9FcqyB1Pi8Md7OC7;bn&t572JHq$^{>Y<d%njrD+&>pm@5}-__C$Us~&a@cb6|3m0TK2O?yf}~D7()F6iO>ho z(0A-$JCdR1r0&pzI`=VCz>VR{{VqpkF&|yFKPe)002ovPDHLk FV1nhVfwKSr literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Red playerShip (1)2.png b/examples/rectangular-movement/assets/Red playerShip (1)2.png new file mode 100644 index 0000000000000000000000000000000000000000..213f1be09db97d002aec20fc919718185a83518e GIT binary patch literal 2674 zcmV-&3XS!NP)2%r`8EAK7sVY-w1}CEuU}m#f4z7Oem}^6Qw7Wq@r9v}cp)6`)VS%kIEwSj1 z9j*=a(M|>NkTa>}Z9EaGIWJzz>-KLRsrVf>Z&g?(2g=Hg=WAarnM7w zb)LvTeKEZq8XCG=AsSLzi=ga<3<}~Zy$z8JN^9d46`sgIeKEZ?l7amS)sWKK-j`qY zL%Pc9J2Ab*vk`@?#{x|N@W#i-IhbArpD6s$9{s5FHYAOajz)cvfp((S zP#KlKc(Gspw$=|B7T?}hD|CHojC?-N!A!jUwl6Z!jxTdYKPtTqDXsM?_+;Uy(%TTo zptLq987jREDXoRI?cVK+478IsC#a0dL!liZl-Bwce4_9Z(_3Sy+M`f*Sx$9!m5FKX z)#>R#WT3s6-nMo3)+&@YC~q`0++7uEZhiOU7p&&Xb~cfo3MBYs;djv><&(A!hW@LX zPQ~7dG^^!GE(dCAwjOS3sRT%{_nKQ-V{DL3U%nD58R!rFqJJ9eP*Y1SE&|1ZQK}-R z$__`Os{~GM*BSQh`3tP~;tX5-@me6kCksFHhknsN#-TAWJ}w4a6n7*ESR$$-EqZ~3 z&TiH*I>x~w`|+pMP{}}lV*eNq;|h044j0Fr6&H;4ngBT7+QGUEP$uTDurmTsFv^1Z zUU?-D8E8*^iTz_djEnIx51P}a#ghYf-L0*WP^6`r z96r+0#@YrG?A+V}2LvVpHISLR37}8GCksCq`W45au`v(K2lFa+JORGIxq!KWKX}k8 zAAGR&^^y`Mno(i3{GNM4n?zM(^L{ZdH1+nINZ?>(7fm1~=JEvqJNE7kLBUz{~LPnMF% zn7nk^B>2ABwTqp8>M75LcB1e@zv4Ja>7pRRJc|)efGh9?&V)H}pb<-v?c4dJ@s~b) z?cRHLh7}k3#-}WuCL5WZH-VI1Tr!c-wEJ1s_{<*9*6{T6CNj{kIL`3QyyLtu@37(t z@FZ+yyuky=h|!%vxApNyAEjGI_Z%0DbykcE9m6R{XUPDH2oj~Wq%r>V>lfH_zxll{ z6SW4Vw`4=pIal+8A3@^@@C2^Fm$0Tg13VPS`1J9|3l&a1@dW$V4F-+i;_BAKx+=zn z==bq;aly$3GFcNy%hy&+WcVclR=ENaeOHVnGC9`{k^vN}w3hbQ1|j3jts{=rW-@r1rz0FJ;DxQaN_Dg+*E$$%X>P;R;k#9Q;N`je$%T==N{+YRG_lbx|i zYa!SGW>7Ln_*td5WBDatbB4e0+bW&_C*UQn7Qj=+*i6R#_wT_!haP@-UBz!swz4k= zlkDGL-5ihxwGwSX%r33Pe%YX8lt1}&Vc)Hr^wz6ciAE7G;0GLmr;IUh=VTZ>6e7GG z8C~bn+}h$g`?Rx%If*vECTooI`2~~U1DHX{5QQK5H<3SkDYy?7q7irjH^R_~44%0{ zgiv5{B7^MfkulaBi~EWTb|z~KF|7@Qj8~t0#zcnK^ww)U0Y1P<#?FciN|XvBn{r<_ zWWeI-@QAR|81q+uFlme+X)O%xMXiDU&0oD_L-hyvSm9Q)CpEjCF#~N%(C<##nBN zC1)2D8HND|;Ng}GOTp(P{5B#(pSi$>M(S8ka)kAq&#=CUS^imK<`UDhm;W!xfM4(r ze!^e)4gY}y@Ni3prQmZCejAaInfiiV>-`0{%duavT;Fy!oBA`GNF8K}R2{Dy8=ql= z7qjf_RNnS3x>dX0p}zFWGGWZl=fo!LJ^)m+zv%Om0)j_&zI!>`%1vc~1@e zj{70|Cj0J025l>kfOS*0%CDw_>0Zb$`=iH5!xcY^}!h zMvdj#4f}d+(zi1im_Pi0Kky6wS@{h-fD7=k+I2`5yl5Nl1GP=LY|3}XwVgf3wEevw zYPCHdYL*1S20vN5i{R9i(?+HhyS2#pPygDyFh9%_^R@E@esX^ezu~`Itg!pMfbmBA znXz5n?;cw_f((n%Rf_~gKKnyqojn$9W0_2*sAQmjyuc~OzG4A?TNM!Waou0b z@FES?+wT4WCLUAa_ho#$m-Fe^3XFsCuk>F<-q4 z?&fp^I^~&;H}ZN=q}{=hbj%U@SHGv>ve3^oq*5t<081F}fukSvr+&V{A0e?I2MpUC zG_1~>@=@rFLJH>i`30}R9QDzTg0?yjJ=opBPh-<{ouBsa^_)V~M?17v=M#pLUFG~7 z!7U%XtxjMIq0lLwbSj(MPx#07*qoM6N<$g4#MDI{*Lx literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Right arrow round button2.png b/examples/rectangular-movement/assets/Right arrow round button2.png new file mode 100644 index 0000000000000000000000000000000000000000..0abd109d182c179053b1013c7e9f9b6d79ece047 GIT binary patch literal 1357 zcmV-T1+w~yP)a>50wEO$sbJHA z)q&H2bnHHTT=KIt6+9a?nmNqxLgw;VmK0)d^E0PfgEEpSSGz>;&J%7^9&yEEWqt91gdyudmCar-rdGCdPhvc=(VMXjqV0;Mny1 z7^p!?@yryYEi;nw=vpZL&n$GY-EM!QKRrEtZ|dvy`X@eX)b|g*+cZARL$B1l1a9tH z&~CT;yV-1h-QVATH6Oq7(J>ar1fVrinMDmGRMjPMSeTjo_1)dwM_-`1I-XI2nL8vh zK09et>Wj@OnBUEycG94^I@BE!Z*w}Ba}?m2H+sV-h)MfY(MvmCq76t$qqcX=*_+KZ zC9aJ`a!tXUgR69@vK+iw2pi|aMq;iU#9%6o2T@0XpJSFfSBInF>ktPKVE}z7)FCEY zcTV_2RT^s(3w5~7!_R$C*_JAui`qmBc*_*PV<0ZYK*UC!ig};awoaXyO}rI}^HKzl zg2>{;n~T5$qd^Bm9F;0~G*)CG&e)5`1^baYc&CoFUhJ7EqXIHuDBztsWp;o?SMVnE z4XjqH&qD(cYo;35dfyE9O}~hUeQ4m(-3k??R-p|zJsJ-U6+EKKIVEKq9S8M5eca

<<_d%mE!-o~9jU4rSWP_Gw8UH{LPqfT$EYZ6OVsHEo}bIgSBD z#s!RR0Omx`ueAVdI`h>65tuLmb2|@Brlrlnxdw>9#OX|E;0zVg^m=Wx4>Ule=A{x? zQ@To1eY*gt0U}l73f)B~rM+$Ingp96pAwi_fb#VwKW&cjW zaHx!|P$0gsgLLnUtS5=+JtYuC;wdf+v{>#mIzdVs*uLhgU;KvBkQ2>$ zYH#ZsOO&C}jte!fz_N=r)2iuDvUIPFpcVCNcN#QTSeG*{98OceXx()2 zy0hxm-P%mu9$M_)d~|6`wb(?^;uE}93&@WD^||=L}D(Dg1Palv^X46t!Qa0 z`>B0F+TmpvmIAnORQh$50EL~=1k!ccC#n*lOrWXpq4mcab4MwAG zkrFx4cxG~S_2Km(5fWKjC1{!X_s3`m4U$;`nw5V%VA&C@c?sB9v&8#9)#sA4LxWr# P00000NkvXXu0mjfBrPx%V@X6oR9J=0SUYaQKoA`x4v>N(9kLV=ND*-YdL*PsoWW9*f)tzpEhfc+t3d(&W2ikwjZjjELU?S3vJ=7kdc$d z7z*6n-qcPiT87d+Wjg!qejYqN)J6_TsY;5nTx7?@Q@u?U(2)W#6xeg30U)m}btk|g zT1o99npj(ggHc|#h4ebU@V|;~;h|@G9Uq2+5!EOM_JXXZ*6ytf!NPWD2JCQ@MEWj3ounAm@vst$# ztk2%Qtb?C-2tGdzCStGT3tkb$v~`u0MY$7Vl%#DfqhVlMCg>duPc2%8>T6FCRCNRS zy*T9AG4Zr5sLptFyt55?hn1 z1EjkYroja88JkXl&+&4$IB_BE00{n$j>oPmqe8#$zyb_%Gmq?>D0wHv=)8F P00000NkvXXu0mjfzU4E& literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_1.png b/examples/rectangular-movement/assets/Saw_On_1.png new file mode 100644 index 0000000000000000000000000000000000000000..1a3c128b50a45ecefc4d4c590da754ed03d5119b GIT binary patch literal 681 zcmV;a0#^NrP)Px%V@X6oR9J=0SUYaQKoA`x4v>N(9kLV=ND*-YdL*PsoWW9*f)tzpEhfc+t3d(&W2ikwjZjjELU?S3vJ=7kdc$d z7z*6n-qcPiT87d+Wjg!qejYqN)J6_TsY;5nTx7?@Q@u?U(2)W#6xeg30U)m}btk|g zT1o99npj(ggHc|#h4ebU@V|;~;h|@G9Uq2+5!EOM_JXXZ*6ytf!NPWD2JCQ@MEWj3ounAm@vst$# ztk2%Qtb?C-2tGdzCStGT3tkb$v~`u0MY$7Vl%#DfqhVlMCg>duPc2%8>T6FCRCNRS zy*T9AG4Zr5sLptFyt55?hn1 z1EjkYroja88JkXl&+&4$IB_BE00{n$j>oPmqe8#$zyb_%Gmq?>D0wHv=)8F P00000NkvXXu0mjfzU4E& literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_2.png b/examples/rectangular-movement/assets/Saw_On_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec99a465ecf793d24f353038d77735792247437 GIT binary patch literal 704 zcmV;x0zdtUP)Px%dPzhSV#o=+4+MG%Lnn)5kqb;tkVUdc7d}B3 zg@Ho%?FCF=oS8CUyc?KV%ndw?=?k(dId;>lX)-E9PvrnUO;exYv ziXqoayTGQ=xYV|-Lx6Oh5-(QPaY`NwdVPT6>G_dCIJ6Ebs`A!6UhaHWpj;}Enw~Hh zvUt)QxT&fVW-BRY&PMWe^T|xxeM%O9;T-%{hZ`*mwhNUb8J=(CZf+iS|LSU&yb{`jY7V za(~P3ZyNw+muK7mc(L-@-Cdy-S4z9C1gb5`*j=;ZBcyxw`qMRVfP><%AAcJ?Z=N!u z$p`@D6SKtV-OV`wpTGWOc6r9^`yZmoXgm8V*-kK7o+u>^A+2M~2B)holnqSu?yMz% zO(4zP*JN@oFnx_FfOxUm#56Fyy3f@OK4%!;RNX~Dge z7Ejh=N2$bR*P4M;HjORoRDw0FxLr^Jq=$ugu_^@4mh3AlabGB?zGRWW{svy!l}?XE zlaaNg2fQM^DOZi@jAMG5(v86TI}Lf(gsW3=yX5p(mM2Qj0ydys+83%4Y#$I^zO||M m&7bX)gP*sc1u!_w1@S-L*p7W-G)Jre0000Px%^hrcPR9J<@SUqdoKp1|`ZTAoe?Gj``NfQl5f1rkr0YkTj?1I`uJh)4@q<^4; zTW|~d1MLt91hS`7AOvBkU59`WbTG7o`wOm%UiozTx;v@O10Jl8({s-~@5dd30c^|V z(j^u~fyq#Xc&PKRZMguzFD}mk0Q1`r05I~7H~@BU#E29TibYEI*|22%n1m6Cl#0hvirJP6nzj636X_sUN=XcPDU(zn!?xU7Y7tZ?n6Q_l zj?zFF1&xuSakZCHglOodNYS`t7127feNu`wNuUbxijV-<+p)3V?IoPp4K&DpCrZYGlM~hS}e*&GFDt=eQ1M$!5&+=Wk_<6G3 zZe#25meOEv`XihkckyE55qi6u=uWrJ^%3s^_BTt68Zo$`-Kn9GfyDycGZiTQO25uA=gt#ayGUDS?Bpgs{QMf=?zC)HX2 z*vLD|WZwS`dBsRE=8q>_ToUq)u3wr$DiWk-t?}*^NC%5NX|cOaCD_PnBwI;m`}R+^ZnoueZ#c-@Q)(1V%an++{bb&@PBmRpz|pm$>Q7sH&@m4oG&%m4rY07*qoM6N<$ Eg6npG*8l(j literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_4.png b/examples/rectangular-movement/assets/Saw_On_4.png new file mode 100644 index 0000000000000000000000000000000000000000..4f704ea180714fc8ca2be325c3093deef0dca1ce GIT binary patch literal 733 zcmV<30wVp1P)Px%mq|oHR9J<*m_2IaKorOS3O+)5BM2c;VSEDh218(*y?~0{!dv(P&R#%;RXByt zU>|c{BQYBgy`QK$2(letz>lG;(l3xzl+;=UJXOHgl~8 zOAXPuZM+UB*ncLD|Ha z$YX8daTmtXC{Tb9%=AJSM_31|q77!KI{$?`ofl&mxAmH6;3eRA2oOt_Csi;S*pzK! zEg5AdJ@4_}1pqAkr3RPn}PQwubyFQ1N!Bu7e-nb+DnL047PhLw>OT@b~o+3tA;< z3u~)wD){+YOO>8eEc_+*8y_!Ecj{R9OVRVfII62>pI}*@IPrFe^qh(TDL(caAAgfS z+HcPfx1i@qC=-ritY8ha;5!|OyqTvRV@PXBVH~OUB5f;u#Y2EEJ=v{f z<=cC9HK;649A4ak&o)J1&N^82YD+_)=$;7&=&#lQQ1Dj|0JZKOqPER4L26(ej^E>( zhcV!!yCv(7D%XOuYDsmmz(sE-={dzZSYb%qj`9XeP`m?>N8;_SmzS-;+LqGHv?fVC zDEPx%R!KxbR9J=0SUrluP!OJo_mF@HT8JmG7X-__Knk~Ti(J4PSZJX|&L9Ya{hlCL zD2fo$EV7k1$TmBV$@u<~m#q6$`d;SEm-&4Y4=RM;8f1JeNn@|fS*3(HkkH|C4*&q? zYa;f-U{;EpQ2>>y4)B3fxlguyJQn1=?QFLS$+m`o`uG7(bA>Ab+n6(Uv#PREn@9WB>_oHWKzpx5u! zPAXcirF+VB_FIE2_;|049FkI%6lJ+c(%4hIO%>3Q0x%TVSE2zRuPt>az#>{n^&*;B zTSmiiRH%nY1BVu5-oHg!46l!{=VaopV-FQuoUPw)3IukpKYD zNYdD&elCmq>ShGO^~7%bb-hMY(WT{z{NP*OxjOGZG)d01fLIs zS-w}&f>-2V-nz=lqTCZPPSUoP@i4G06Z{T_UW=A%^|hx6s=9&vUL3L{jXiA(s8W78?{ zIVxw1Clm4xfS`ADbi1yQ(&9~yB zFpY1eEhBRy64EI(eF$_Srb`eTr8aP~7+Px%eMv+?R9J=0m_cgeFcgM=g&bk_#!yO|Mezx|HyGv;S~Lr1;R~cE$Rb%}7Cu9u zQ0TrVFj=_MQZU(+q0C}#;8`@!$f~4BmXqcOFC^R2rzhz>Ju!GH45CJ^t9K>yZP%-T zFo>GRrw0JQ^K0GK=REU<>-{r9i9ka^0l?U|0T;>BZW=%@FrBpy0m;*z^Q_UqDJ!WV z-A{+Wa-Ma{s&xne)wV*hTr2zOSS$=80B9bc9+1STvQv`DT8m_fr0YV<9=T1W&SX+|6V*pU^N&o|er0dJDQ?`u=H2CYw5J{ZU)UrXq_KkMxT*4LbIS`5tNt`zI zu4E%XeWtQewXKlEDK_&M0I-?I*vw-jaq7H*o?q)0Fbtw*MBY9OqJ|!u^+n!$Gmr66 zzT@udNBi#A&kGdGwb$+*6D^sN%C`C_-+Oni67@ZnE51XbWhXZi07p0|x>`^^W$@V) zfQN&f+)Th{Q{3La;m^xI-2MLBLfziKfzPJx=uM)4P7jqC@VP6A)TS{}s&kbs6rj%$ zzMQoP&;?T7eJ+F3fr)F30YI@_w?55wk@2v0ikK-x4n}bjIOEfW5v<;oOwM?Q zmf+kwVexD&c9Kk-cCGA4Y162pjuFf?p_Rj@Z^;=WLT`I3bk`yRZr zE43Emv#Bzr2jJ!DW$AKEtsfJ^l-LOH^-hDnmEmkMZk@Ci+XqzZYa^BVLK(sOfQa(V pO}%gaR8tQ4Sqm5d3^>jO@qhmSlq1MQEusJb002ovPDHLkV1gCJPXGV_ literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_7.png b/examples/rectangular-movement/assets/Saw_On_7.png new file mode 100644 index 0000000000000000000000000000000000000000..8e4008436f1a24f6faccc1ca827f8d40368d3f3b GIT binary patch literal 827 zcmV-B1H}A^P)Px%^+`lQR9J<@SU+pqKpcISX6urnp;>|~FiGRV=nK?j4WtcZsMijH)LLjJ(n)9& zvn?k>s_cCLkktiN3KuQ^nl72v)NG_-ej6lp=ccZ4@5yF%d{WM;Ftdcv!gZ^XG?VZ`W7G%DOM2# zph&R1eKEn-?gkcTxuAhQ3KINY(VJ-)YE~z4NiTOCtEk$aw2y)$UM_(6swjgj-vgfYFnq9E{x7C@?cv|rY`1@ zEnG@|Fp@_~&iqADth;psG?vmG4sy>RxNlU3u7fhg03eb}4zS8|3Nt7F;mVnuTL2{< zi~S(H$+XhpTUAm(!^e}rD*QPVU1}*BCkChwj{&n2qkpVi)GKT)v_}8{002ovPDHLk FV1lu1clrPT literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/Saw_On_8.png b/examples/rectangular-movement/assets/Saw_On_8.png new file mode 100644 index 0000000000000000000000000000000000000000..9ceb91b905c33ce7a44c5215c314c81853e77641 GIT binary patch literal 760 zcmVPx%vPnciR9J<*n9pk4KoG`11wTL!J@jS-A#HRpegfYOhCrS{koaI9`~pp1KnMHa z9P|RsArLV5?!168RBlZ`_*Q5SeFODi&t`V@Z&s51fk2XXcYdCoo!OOx6UuFO6S|N0 zYsaRqRb#0kYPVc1u-(M~fQdh{0u+O}?QUWk$}&Rj0I0THdHqbaP63q#ME#^H1uHXV zstC#^&O{z75|6teoHYUk2*FG*1mO%5f0Pu#)K%%faNFIa3FEe26E!>q91j6viTCR? z7&XjWZB0!XtxOv4`pN|W^m_vhPSGz{3-o(~6j+l`MY_InHMk4@<8rmoTzoDl;IP1s zwh{nnnR)8yxs$Fqu4ogfd#~fE`xen=ke>xAoX*v=KOX8}bwvS8l2(Z$l*67AdRD<- z)k`dBm82!CD7UHL=W{Jpw29E~4eBbN5I_p5DQS7^INuImDP_9-w!-Fnq+RzfZ{q%x zyUZ!Q$ZjszLeg2>>0C@QF(Q1q!oTZX`3XB)hB6%GT{&)WH%N3+g*G%sCd72cyb5c%M^h*6Ms~xEY*Rc zcP1R5Z><3!;ad*?neMKmqQf#lYG53WzvG98Cg7x}CF_qW=Yq2;Nm;SLMZ1$|6Jg?y zP$zC1*})PNuK?tca5}H#Wh=0vsWewwo}?ZWe})3`SElXeva#UL^ArK)8KZtADU=wD qi~#x(i(*Rh*|V%&Ww5%2Z1o?I67~X8u?@5U0000Mkly# z5O0ufU_bfwMlk%E2gff#KJ8ThgIw?!=|18UDd}>6&>;2cPCt_(MN!OTqIlij-hO<1 zeEfPi9OkAKrY$=*e0GL=(Z^&g7Y2)gACJe&r>CdQ^FSB+LZ9e+x7)qX3K|Av1~@gX zd=|POrFdoz(pDJBxb_Vc|7Qley1&2wjke$KzqPfSo0}i_tWn=TxVNo;Obwt1sr`?}ljT3w;7;gH#q#gM_O3Bn|^JFaLABUVj)0ny=v*7G~*@ z$oS?-qf(z;M#21U0ksPa&DWsrka(BT!8=C*&wQg7`~~sSL#pVx4PT-QB&1Q>x|Zyl zEj1;si$row!8?nqv{hLSZy_ zJqMl!M5@NMa2I_csb$*`@T4Jv4SnwaO(Gg;P7R(kL>jrSHld{FzYy>wA-Dm`r zPpQI_iXMScZEZ~Bej$A;33w7ahBRVb#R)0EP|G(-c%dQEWnBf3S(Pl{g@#yT77`%e zZ_Ndw7(kxHqX==8B*5p0t~Y>V1n9~NRZ`(ak^o`ywJdPRbd(x1Y9&K>@PH_J$c87A z5AEC1fI<~JkZ`0!&y!mFBb6gfV}TmUL#Y9zOSvj0NVhUW2NQAt$bt#;+HRb5I6p;z z)U&8|=QIMUDFb{FP}K_QrwGs)(%0NnN)4cQQ;CN4hxXcY0!V`+wQWthv5u94g` z0KtT=s$OJiX{C0g0PZZl_ko5p#N6aeykMQ^GvJyauQOq%K(blt`j zHXaw9Q+y?)&_-)sy>AkFzUI=`dS--4;ponXw9I|&N5A+9r4$cShf3}3d}4`4Xr%qZ zn2x}*gEsTN2Msq`tCL7ncfo=z{c9s=Cw6N!>NMA)F0VLnIM4l{bz3S*Z`Ex&wVC^T z=$QAGlXI_Ji%p0YpWwA((0NYkY|EdNL2Jmk3hv|p(NSz7Tmc?l@+ozQJaa;%1QeeW z@d7Cx%BI_s;zh_jmD`doJ|pJOUiVXf@S zQ2;lNO257mpqOVgLE_o2G~=jBfHIXXTtQDrq-0pk25DEGYQD2c%$M~SFMauXs0tLq z^#L^W?MvuHFf=-;Yr0V9-UpJ_ls*;U?gJH{#XYzeeKcjkCI`+H;YLJ5GSwH7j%Q|9 zS07dn5)tC?jfGa2f4@)0a6vLH(8B)lfK5+WOABnOS>pX4tWS)?FyDYJ00000NkvXX Hu0mjfWdv?j literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/TopLeftButton2.png b/examples/rectangular-movement/assets/TopLeftButton2.png new file mode 100644 index 0000000000000000000000000000000000000000..f446b5370240ca42865d2a3fbf3c6ca21ffe920b GIT binary patch literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^MnG)9!3HFQziaLSQk(@Ik;M!Q+(IDCcB}c^xxhC4a8+Q-RtI^J#V?NM zZJ%xNYv1%liL}<@ruZ+n71no7U-0^?R_yhaM|S=euzOgx|Nj1&w{LXMji1NeK5gUX zy#nR)8FiD>s}-l8c5MI&OxTvonjvX@o7-~!d8TD=UQen|J$2(|yNR!|Ldl6M8$Z8s zx_2|<#LE&P0j(!@H-0|ulg3zIJ-<)3U5?i3!GWTt3NT{lVHwVZV89t^h zEgLrTYn~2jm?luRO?=b+_pBM5i9kDD134ht%689X&{cesqpxzlm@&%f#!qF%g=SKl z?&h)X5f&l3(~wdbIh2w^vtdGn3f8n-?px~p3N9_3}|cE>ZuH1Ph`&GD%kIJ zruN*#xwR*Xc79=BzAvVA&hG~d@z4K#k#4tMF!5;8M;W2x8~<_ic}{X+Jva5P{Cxe$ VhC7w}&4H1?;OXk;vd$@?2>_0m!wCQY literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/TopLeftCorner2.png b/examples/rectangular-movement/assets/TopLeftCorner2.png new file mode 100644 index 0000000000000000000000000000000000000000..ae105d8865c3378a00ebd101badfe9a2f8cc89d5 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(rS z#W5t}@Y{2%1sM!@4hOuqUu*uNomDiRom68I5aRYGO=(7 jD1aC*ez3G~$=c_hf1c76zj6O-pkWN2u6{1-oD!M<486!bs_09Kc#;9ZGzBw(@5L%G>CP)8Cfd$6}qcS!1ToxT!L(`VI;lhUmH#ONVSPx$G=Z{h;zf4zSu;2j z)2kKVwK882I&{wY#MdfOi0YI`HHhk+ck`IGv~1YCcY@7%km~2_TlRR@G~2g}xGE;R z>{zMz#zyVj|(Obvj-q=*R{b2X)nI|Z-ep_y+p;g%X!#j)3cloPcV|ilFYQxAK71?lcerPN( PCKx*55F2Mqo4_W%5OYZ^VJdfL}9Yw(^7Wbd&`xWc%YPong|3T8K1gD=^WCM*B| literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/tiled_Summer Tile Water.png b/examples/rectangular-movement/assets/tiled_Summer Tile Water.png new file mode 100644 index 0000000000000000000000000000000000000000..d6ccdf41fd576d65428255342a967dd8d30f435d GIT binary patch literal 2892 zcmcJR`8U*y8^=GC-H>J6MlQ+{$qXY)7;Cc67&{YLv+t8(Y=dk=BUy^6td|j4#?sKB zkS)0?*(x%&>|`zE>;4hnbDr1pKF@Q``<(ZW?=%afA&66$6952^vC$37Q`PwocGlDV z+$Ut}RL*+on(G2UJt_JSoqc+XyBk@W13(Hd0A!qUd}@l<0f3lD09Z-~0L^&-fDDFd zCgA{pQ`tvf-y+P?P*2?0Kwm}ix{8WC9I6NaM!iq-aMspiLMi{Y;qb-p6+S}n*-!<- z4pjW_v*`18SkDgtUEJpWsT7?Xe0)p>4~hs(rNu_oscsi#C@#E4=PcY5h!l#)%~6x+ z$jFWP`TgFu=}E7Ru>Fas!X_vni4udtSn`;~^DlpA!>fI=OEMg;KL%JM2u$UGg2Pf} zyYBiM9Z8t#U-;HOj-&J`ZYHCncF!M6sEWiB)W>S;b^z$R-M!$CR5$JZbqP5jSVmk^ zx>VjHNrc=?%ZHg*bcec;FmwMD#t2QI2Uk5rG2M(ORuldHiuNc8nA!rDP%!l@L%*f0 z?9O&e$QE-e)HE~DH{g9yR46=KjXAzpJ3F^;u3-r(+h1wstOBHa{kaMW30Nw*geh>u zI0_d)@?+7Ilhy-Osr9u>ZJY;Rl~PCdQ`TyaESCY7L85QN3NL0b7Eo_y7RR0Nk{2!l zk_It;9b0cBy%~{df3aHzWZYL$Qo2tQ$;+Y@b*#jxAAw@F5E5JA9gkAh2huz_v(I8f zzS+wf%j#(%5V`$~VbF0d)2cb0}lo>Zot zD6FC!pZI0T>=pvb1MEiMikRmXwFo8WnD`?tzV1#RE+q1@Fvx$EtJkaT7qT25)&!>= zWDVUv6j|gyZ|24E3zF`~@Z%UJ0Fq4LzBAw=CT#pgg)_FVh18f;>zEJXUC!~0G7F`$ z^%HpEy3lcMP945+mc0ZMi!;l*65dRgb=cHEP{ONJjZ0-MX(jKoD3Ryx!6xwEbp z;Wy&vF4`Dz!3l%ntRB2Ax>^?Ef;)_R(3timf9DB)$Gs?jtPgoaU|Jp>-m}?R<->hx29H>XLiN+Up zHL&ZXvV+k2+Lb)Ki<%&VWD&DZ2D_9YA0Ve{~P_^jG@S|be@azxO z^W4eFAKuuzYAVh=K0Byxrnmr#O47 zB8NhT-Ia{N;B^|i2=Aj5xnAX&AqH!R04mSqQ~s2RGcuZN4pVW6k#CA|2b{68@Tj{mS(T3iKOd^NVQA!KiDybmKi;K(3p+A zhkb_4+##At`(^*#&*#AudATJkI_v21k!`{ySIHTvH+kbSXsHiSMVT!m00UFLu{;UEW}c=_1Nqkn7<#jt zlNSt3OLB*i!^z$ok7QsWj-3uvcjI>t-$;dp5<^L$A}x9?wk;Z=8}my)1AnIdd^N8z zCnj4YxC3SugoAmm+_HRZTXtpg3RRE`jFOqMOUT{HWzHRy{o8igs=&q;y=Q^6nW~LO zM>-~zGbj&>EXzY}Jxy{;d}{}65x@c7CdE zsF#_|+8)}BqJ`I3N>~JgGSe6CAN(ZvW0*;>`od1=I{~Po&GW z6(0OJ+>B|BcAW;dM@5U(j5zjVCT7@<=tp}8h@WFysO=LiK;XNW1$gt?@HGY1I@MHu zLGXy+j`a9-n&g3QYGA5DnT9p|8oW^v3msIhzUJ?dyY+mxswPG5URalgL>*r-ABeA^ z>YMF`6GGI7&*9wl#+zQ|qXkud;8E!p2mvX`+YEKceG*T4Ao0)Z9rsa1FL%1zbN4&; z(CV1#MSsI^NEFe%S9ad4d-82w53*i zq*BNp#0C{Y~9%z#e8q0lg(8sRg;rHx z|G{as_I~$IAKu@4pGJ=BQ|gy{AJr!1Z)(>b`ltM;{)H%p%q7Wrz|!@_|K(?Y!+^!W zjcM0*_Y)E-X|>bOK-ys5K#b_{cB~zK{G3sh^t4{%(DbS)&wA%7V@-H+t?tmf66=Fp z8W){Ltaz)rF+iuw{4vpGV4&Zpt8=2lCX}2KTe0*);)Gpm7z7hFKnMrp%FMj zjLT-x?3+B{`GS&y{S;ct`Y3*+dCX@lSFA^5NbRUmtFe9GuV?H&h!bQ063g5qWr%<@ zCqH?A9v?3ovHr-d%0;dq8Hm36b$>^(0ozAb2mSclMKEM5fU_u-}qQjh8R%3s;)mm+|$c5V>Z#T8zmxX5?d+)wm zS&I>h3DCAb8XgUrn2zmQzPV_=LUuayj%|oXo!gl|-adk@^ym!;*sLr$u9WBgPK3R*$=*7uZ%)h?#h?S6Y#Ac-jMc z-R6b;d)tTVw05i0vdIx_KIwiugx6{PY=bd_&hd!g+1Dp6RvtIl^mIzn14@ t$L?hL@51;|t$nfjOkZWf|8Gp*YZ_LaL2C%s-8~Hh7#kpO)abb+{0|7#YLEZ` literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index b905fc20e..bf70cf044 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -44,10 +44,15 @@ "showGDevelopSplash": true, "showProgressBar": true }, + "watermark": { + "placement": "bottom-left", + "showWatermark": true + }, "authorIds": [ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2", "gqDaZjCfevOOxBYkK6zlhtZnXCg1" ], + "authorUsernames": [], "categories": [], "playableDevices": [], "extensionProperties": [], @@ -62,7 +67,7 @@ "resources": [ { "alwaysLoaded": false, - "file": "assets/Red playerShip (1).png", + "file": "assets/Red playerShip (1)2.png", "kind": "image", "metadata": "", "name": "Red playerShip (1).png", @@ -75,7 +80,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Bottom arrow round button.png", + "file": "assets/Bottom arrow round button2.png", "kind": "image", "metadata": "", "name": "Bottom arrow round button.png", @@ -88,7 +93,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Left arrow round button.png", + "file": "assets/Left arrow round button2.png", "kind": "image", "metadata": "", "name": "Left arrow round button.png", @@ -101,7 +106,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Right arrow round button.png", + "file": "assets/Right arrow round button2.png", "kind": "image", "metadata": "", "name": "Right arrow round button.png", @@ -114,7 +119,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Top arrow round button.png", + "file": "assets/Top arrow round button2.png", "kind": "image", "metadata": "", "name": "Top arrow round button.png", @@ -127,7 +132,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Launch round button.png", + "file": "assets/Launch round button2.png", "kind": "image", "metadata": "", "name": "Launch round button.png", @@ -140,7 +145,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopLeftButton.png", + "file": "assets/TopLeftButton2.png", "kind": "image", "metadata": "", "name": "assets\\TopLeftButton.png", @@ -149,7 +154,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomLeftButton.png", + "file": "assets/BottomLeftButton2.png", "kind": "image", "metadata": "", "name": "assets\\BottomLeftButton.png", @@ -158,7 +163,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopRightButton.png", + "file": "assets/TopRightButton2.png", "kind": "image", "metadata": "", "name": "assets\\TopRightButton.png", @@ -167,7 +172,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomRightButton.png", + "file": "assets/BottomRightButton2.png", "kind": "image", "metadata": "", "name": "assets\\BottomRightButton.png", @@ -176,7 +181,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopLeftCorner.png", + "file": "assets/TopLeftCorner2.png", "kind": "image", "metadata": "", "name": "assets\\TopLeftCorner.png", @@ -185,7 +190,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopRightCorner.png", + "file": "assets/TopRightCorner2.png", "kind": "image", "metadata": "", "name": "assets\\TopRightCorner.png", @@ -194,7 +199,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomRightCorner.png", + "file": "assets/BottomRightCorner2.png", "kind": "image", "metadata": "", "name": "assets\\BottomRightCorner.png", @@ -203,7 +208,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomLeftCorner.png", + "file": "assets/BottomLeftCorner2.png", "kind": "image", "metadata": "", "name": "assets\\BottomLeftCorner.png", @@ -212,7 +217,7 @@ }, { "alwaysLoaded": false, - "file": "assets/VerticalEdgeIcon.png", + "file": "assets/VerticalEdgeIcon2.png", "kind": "image", "metadata": "", "name": "assets\\VerticalEdgeIcon.png", @@ -221,12 +226,155 @@ }, { "alwaysLoaded": false, - "file": "assets/HorizontalEdgeIcon.png", + "file": "assets/HorizontalEdgeIcon2.png", "kind": "image", "metadata": "", "name": "assets\\HorizontalEdgeIcon.png", "smoothed": true, "userAdded": true + }, + { + "alwaysLoaded": false, + "file": "assets/Ship 8.png", + "kind": "image", + "metadata": "", + "name": "Ship 8.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Space Shooter by Pixel boy/Ship/de9c11db444fa822127f9a23d83a400b8b8ad889c8e539d75664d6fe8693a88b_Ship 8.png", + "name": "Ship 8.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/tiled_Summer Tile Water.png", + "kind": "image", + "metadata": "", + "name": "tiled_Summer Tile Water.png", + "smoothed": true, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/pzUH Pack/Worlds/Summer/91910f5fb077be639f7415954118355ac8dc9ad2ae61b49c04f6bcce451f7fda_tiled_Summer Tile Water.png", + "name": "tiled_Summer Tile Water.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_Off.png", + "kind": "image", + "metadata": "", + "name": "Saw_Off.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/8215537950e4e02640f87df890132c2d9c19c42dbaf5d0cc8237272112941978_Saw_Off.png", + "name": "Saw_Off.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_1.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_1.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/8215537950e4e02640f87df890132c2d9c19c42dbaf5d0cc8237272112941978_Saw_On_1.png", + "name": "Saw_On_1.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_2.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_2.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/1d982f3e006a7ac6b76bca8cefbf716fd017b25f7e0218942276b4dd92ac1813_Saw_On_2.png", + "name": "Saw_On_2.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_3.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_3.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/b208726b0292bb1f401f3738902ec190c004841ae8c555b2817d9f19ef46ca62_Saw_On_3.png", + "name": "Saw_On_3.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_4.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_4.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/b6119060081879814ea630f152a39fb3c303d421b797515814c045b73b94abdf_Saw_On_4.png", + "name": "Saw_On_4.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_5.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_5.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/2cfa1cffe1380dd56016085e018c4b68844c6f669e67925dd365481f8ef26586_Saw_On_5.png", + "name": "Saw_On_5.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_6.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_6.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/75d8836f8bfc835f3217c0468d04f8aae970f136231c792f1251b73f5e868058_Saw_On_6.png", + "name": "Saw_On_6.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_7.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_7.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/6351b1a83d1930df91b19b49cc23a375aa154ee74f7a31280acc6abb6f1b1fd2_Saw_On_7.png", + "name": "Saw_On_7.png" + } + }, + { + "alwaysLoaded": false, + "file": "assets/Saw_On_8.png", + "kind": "image", + "metadata": "", + "name": "Saw_On_8.png", + "smoothed": false, + "userAdded": false, + "origin": { + "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/63cce13ef5f9e917ed2de1359357510061e462e6cc8183553c0fb0c70a3c03f9_Saw_On_8.png", + "name": "Saw_On_8.png" + } } ], "resourceFolders": [] @@ -275,6 +423,17 @@ "name": "BottomLeftCorner" } ] + }, + { + "name": "MovingObjects", + "objects": [ + { + "name": "Ship" + }, + { + "name": "Saw" + } + ] } ], "variables": [], @@ -284,11 +443,11 @@ "customSize": false, "height": 0, "layer": "", - "name": "RedPlayerShip1", + "name": "Ship", "persistentUuid": "dd4c94fd-46c2-4295-a91f-dd5bd83adcdc", "width": 0, - "x": 135, - "y": 191, + "x": 83, + "y": 242, "zOrder": 3, "numberProperties": [], "stringProperties": [], @@ -317,7 +476,7 @@ "name": "BottomArrowRoundButton", "persistentUuid": "df762352-5127-472c-93a3-0afcdde4d15e", "width": 32, - "x": 777, + "x": 770, "y": 70, "zOrder": 4, "numberProperties": [], @@ -332,7 +491,7 @@ "name": "LeftArrowRoundButton", "persistentUuid": "82b9d847-0e61-44ff-9347-fc1e56a83474", "width": 32, - "x": 750, + "x": 743, "y": 43, "zOrder": 5, "numberProperties": [], @@ -347,7 +506,7 @@ "name": "RightArrowRoundButton", "persistentUuid": "92a19aae-673d-4369-93a5-75c5f2a646a6", "width": 32, - "x": 804, + "x": 797, "y": 43, "zOrder": 6, "numberProperties": [], @@ -362,7 +521,7 @@ "name": "TopArrowRoundButton", "persistentUuid": "c61738a6-47b5-4043-a440-c74dfd737dcd", "width": 32, - "x": 777, + "x": 770, "y": 16, "zOrder": 7, "numberProperties": [], @@ -387,13 +546,13 @@ { "angle": 0, "customSize": true, - "height": 32, + "height": 53, "layer": "", "name": "LaunchRoundButton", "persistentUuid": "dbb9127d-4786-4677-8bbd-7d82ac5ffe6c", - "width": 32, - "x": 117, - "y": 46, + "width": 53, + "x": 160, + "y": 38, "zOrder": 8, "numberProperties": [], "stringProperties": [], @@ -407,8 +566,8 @@ "name": "HorizontalDurationSlider", "persistentUuid": "4fc8c105-82d3-4ac0-bd31-ed0b22e65bcf", "width": 0, - "x": 284, - "y": 32, + "x": 323, + "y": 30, "zOrder": 9, "numberProperties": [], "stringProperties": [], @@ -482,8 +641,8 @@ "name": "VerticalDurationText", "persistentUuid": "c9d9f889-f23a-4d32-8052-5ba2fd810116", "width": 0, - "x": 512, - "y": 78, + "x": 554, + "y": 102, "zOrder": 14, "numberProperties": [], "stringProperties": [], @@ -497,8 +656,8 @@ "name": "HorizontalDurationText", "persistentUuid": "fd3d01e7-ecaf-4235-a687-7512106f5a39", "width": 0, - "x": 512, - "y": 18, + "x": 551, + "y": 16, "zOrder": 15, "numberProperties": [], "stringProperties": [], @@ -512,8 +671,8 @@ "name": "VerticalDurationSlider", "persistentUuid": "cf4d24ec-5bfb-49ba-91f9-854d4e576372", "width": 0, - "x": 284, - "y": 92, + "x": 326, + "y": 116, "zOrder": 16, "numberProperties": [], "stringProperties": [], @@ -527,8 +686,8 @@ "name": "VerticalEdgeIcon", "persistentUuid": "85025344-06bd-4f92-b80f-e90d74bb8941", "width": 0, - "x": 228, - "y": 76, + "x": 270, + "y": 100, "zOrder": 17, "numberProperties": [], "stringProperties": [], @@ -542,18 +701,153 @@ "name": "HorizontalEdgeIcon", "persistentUuid": "4eed9e50-163a-47c9-86ed-29d24ee93c4b", "width": 0, - "x": 228, - "y": 16, + "x": 267, + "y": 14, "zOrder": 18, "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 100, + "layer": "", + "name": "SummerTileWater", + "persistentUuid": "e4b04c66-ff59-40d1-a414-ebdb15a389f2", + "width": 300, + "x": 491, + "y": 244, + "zOrder": 20, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 75, + "layer": "", + "name": "Saw", + "persistentUuid": "8c073ed8-b5c1-44a4-805e-c7af80f24014", + "width": 74, + "x": 492, + "y": 245, + "zOrder": 10, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Reverse_Text", + "persistentUuid": "17525b1c-04eb-4ee7-b613-7ce09cad0bb7", + "width": 0, + "x": 143, + "y": 112, + "zOrder": 21, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "MoveToCorner_Text", + "persistentUuid": "bcb0d6b4-0a06-435d-9e56-e8db4ab3d5b7", + "width": 0, + "x": 18, + "y": 113, + "zOrder": 22, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "MovementDirection_Text", + "persistentUuid": "56979510-ddf5-478a-bb63-9b4f03c84f9e", + "width": 0, + "x": 744, + "y": 111, + "zOrder": 23, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "HorizontalDuration_Text", + "persistentUuid": "43e10301-cb97-4f29-aa58-79f4b80ba31d", + "width": 0, + "x": 336, + "y": 50, + "zOrder": 24, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "VerticalDuration_Text", + "persistentUuid": "5c85ceea-1fdb-471e-876f-38618854fda2", + "width": 0, + "x": 345, + "y": 133, + "zOrder": 25, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "InstructionsShip_Text", + "persistentUuid": "299a4b99-214b-4dd4-a260-68c567e329d1", + "width": 0, + "x": 49, + "y": 423, + "zOrder": 26, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "InstructionsSaw_Text", + "persistentUuid": "0caace04-0116-45e1-928f-944a81fb94a8", + "width": 0, + "x": 475, + "y": 426, + "zOrder": 27, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ { "assetStoreId": "2b2dfbbe01d820384d341ecfa1cf553b2700019a4f78c1d6fc4c55cb4b373bf5", - "name": "RedPlayerShip1", + "name": "Ship", "tags": "", "type": "Sprite", "updateIfNotVisible": false, @@ -563,8 +857,8 @@ { "name": "RectangularMovement", "type": "RectangleMovement::RectangleMovement", - "Width": 500, - "Height": 200, + "Width": 300, + "Height": 100, "CounterClockwise": false, "LoopDuration": 4, "Left": 4, @@ -1363,6 +1657,7 @@ "behaviors": [], "string": "1.25 seconds", "font": "", + "textAlignment": "", "characterSize": 20, "color": { "b": 233, @@ -1384,6 +1679,7 @@ "behaviors": [], "string": "2 seconds", "font": "", + "textAlignment": "", "characterSize": 20, "color": { "b": 233, @@ -1472,52 +1768,490 @@ ] } ] - } - ], - "events": [ + }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Drag", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "assetStoreId": "78fbaed77b34f218e20f8182f106b74730c23ec24b4b8cec88c1cc88b07e3094", + "name": "Ship8", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 4, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "easeInOutSine", + "InitialPosition": "Top-left corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Ship 8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 49, + "y": 44 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } ] } - ], - "actions": [ - { - "type": { - "value": "Create" - }, - "parameters": [ - "", - "TopLeftCorner", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Top()", - "" - ] - }, - { - "type": { - "value": "Create" - }, + ] + } + ] + }, + { + "assetStoreId": "3f294355a854e85aeb0e08c0e0ab9ad836c01468f7623e583beff5fe0c173a44", + "height": 128, + "name": "SummerTileWater", + "tags": "", + "texture": "tiled_Summer Tile Water.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 128, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Draggable", + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": true + } + ] + }, + { + "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", + "name": "Saw", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 2, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "bounce", + "InitialPosition": "Top-left corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "On", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.05, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_On_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Off", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_Off.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Reverse_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reverse\nDirection", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MoveToCorner_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Move to \nCorner", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MovementDirection_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Movement\nDirection", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "HorizontalDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Horizontal Duration", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "VerticalDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Vertical Duration", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "InstructionsShip_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Drag corners to change ship path", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "InstructionsSaw_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Drag blue object to move saw path", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Drag", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "TopLeftCorner", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", + "" + ] + }, + { + "type": { + "value": "Create" + }, "parameters": [ "", "TopRightCorner", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Top()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Top()", "" ] }, @@ -1528,8 +2262,8 @@ "parameters": [ "", "BottomRightCorner", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Bottom()", "" ] }, @@ -1540,8 +2274,8 @@ "parameters": [ "", "BottomLeftCorner", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Bottom()", "" ] }, @@ -1576,7 +2310,7 @@ "value": "RectangleMovement::RectangleMovement::SetLeft" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "TopLeftCorner.X()", "" @@ -1587,7 +2321,7 @@ "value": "RectangleMovement::RectangleMovement::SetTop" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "TopLeftCorner.Y()", "" @@ -1614,7 +2348,7 @@ "value": "RectangleMovement::RectangleMovement::SetRight" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "TopRightCorner.X()", "" @@ -1625,7 +2359,7 @@ "value": "RectangleMovement::RectangleMovement::SetTop" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "TopRightCorner.Y()", "" @@ -1652,7 +2386,7 @@ "value": "RectangleMovement::RectangleMovement::SetRight" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "BottomRightCorner.X()", "" @@ -1663,7 +2397,7 @@ "value": "RectangleMovement::RectangleMovement::SetBottom" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "BottomRightCorner.Y()", "" @@ -1690,7 +2424,7 @@ "value": "RectangleMovement::RectangleMovement::SetLeft" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "BottomLeftCorner.X()", "" @@ -1701,7 +2435,7 @@ "value": "RectangleMovement::RectangleMovement::SetBottom" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "BottomLeftCorner.Y()", "" @@ -1720,9 +2454,9 @@ "parameters": [ "TopLeftCorner", "=", - "RedPlayerShip1.RectangularMovement::Left()", + "Ship.RectangularMovement::Left()", "=", - "RedPlayerShip1.RectangularMovement::Top()" + "Ship.RectangularMovement::Top()" ] }, { @@ -1732,9 +2466,9 @@ "parameters": [ "TopRightCorner", "=", - "RedPlayerShip1.RectangularMovement::Right()", + "Ship.RectangularMovement::Right()", "=", - "RedPlayerShip1.RectangularMovement::Top()" + "Ship.RectangularMovement::Top()" ] }, { @@ -1744,9 +2478,9 @@ "parameters": [ "BottomRightCorner", "=", - "RedPlayerShip1.RectangularMovement::Right()", + "Ship.RectangularMovement::Right()", "=", - "RedPlayerShip1.RectangularMovement::Bottom()" + "Ship.RectangularMovement::Bottom()" ] }, { @@ -1756,9 +2490,9 @@ "parameters": [ "BottomLeftCorner", "=", - "RedPlayerShip1.RectangularMovement::Left()", + "Ship.RectangularMovement::Left()", "=", - "RedPlayerShip1.RectangularMovement::Bottom()" + "Ship.RectangularMovement::Bottom()" ] } ] @@ -1795,7 +2529,7 @@ "parameters": [ "HorizontalDurationSlider", "DraggableSliderControl", - "RedPlayerShip1.RectangularMovement::HorizontalEdgeDuration()", + "Ship.RectangularMovement::HorizontalEdgeDuration()", "" ] }, @@ -1806,7 +2540,7 @@ "parameters": [ "VerticalDurationSlider", "DraggableSliderControl", - "RedPlayerShip1.RectangularMovement::VerticalEdgeDuration()", + "Ship.RectangularMovement::VerticalEdgeDuration()", "" ] }, @@ -1817,7 +2551,7 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(RedPlayerShip1.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" + "ToString(Ship.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" ] }, { @@ -1827,7 +2561,7 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(RedPlayerShip1.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" + "ToString(Ship.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" ] } ] @@ -1862,8 +2596,70 @@ "value": "RectangleMovement::RectangleMovement::ToogleClockwise" }, "parameters": [ - "RedPlayerShip1", + "Ship", + "RectangularMovement", + "yes" + ] + }, + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + }, + "parameters": [ + "Ship", "RectangularMovement", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", "yes" ] } @@ -1889,7 +2685,7 @@ "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "HorizontalDurationSlider.DraggableSliderControl::Value()", "" @@ -1902,7 +2698,18 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(RedPlayerShip1.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" + "ToString(Ship.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" ] } ] @@ -1927,7 +2734,7 @@ "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "VerticalDurationSlider.DraggableSliderControl::Value()", "" @@ -1940,7 +2747,18 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(RedPlayerShip1.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" + "ToString(Ship.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" ] } ] @@ -1973,117 +2791,125 @@ "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "RedPlayerShip1", - "RectangularMovement", - "\"Top-left corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "RedPlayerShip1", - "RectangularMovement", - "\"Top-right corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObjects", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomRightButton", - "", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopLeftButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Top-left corner\"", + "" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "RedPlayerShip1", - "RectangularMovement", - "\"Bottom-right corner\"", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopRightButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangularMovement", + "\"Top-right corner\"", + "" + ] + } ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + }, { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomLeftButton", - "", - "", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomRightButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangularMovement", + "\"Bottom-right corner\"", + "" + ] + } ] - } - ], - "actions": [ + }, { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "RedPlayerShip1", - "RectangularMovement", - "\"Bottom-left corner\"", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomLeftButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangularMovement", + "\"Bottom-left corner\"", + "" + ] + } ] } ] @@ -2112,10 +2938,10 @@ }, "parameters": [ "Trajectory", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Top()", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Bottom()" + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Bottom()" ] } ] @@ -2128,7 +2954,7 @@ "value": "RectangleMovement::RectangleMovement::IsOnTop" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2141,10 +2967,10 @@ }, "parameters": [ "CurrentEdge", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Top()", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Top()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Top()", "2" ] } @@ -2158,7 +2984,7 @@ "value": "RectangleMovement::RectangleMovement::IsOnBottom" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2171,10 +2997,10 @@ }, "parameters": [ "CurrentEdge", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Bottom()", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Bottom()", "2" ] } @@ -2188,7 +3014,7 @@ "value": "RectangleMovement::RectangleMovement::IsOnLeft" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2201,10 +3027,10 @@ }, "parameters": [ "CurrentEdge", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Top()", - "RedPlayerShip1.RectangularMovement::Left()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Bottom()", "2" ] } @@ -2218,7 +3044,7 @@ "value": "RectangleMovement::RectangleMovement::IsOnRight" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2231,10 +3057,10 @@ }, "parameters": [ "CurrentEdge", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Top()", - "RedPlayerShip1.RectangularMovement::Right()", - "RedPlayerShip1.RectangularMovement::Bottom()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Top()", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Bottom()", "2" ] } @@ -2290,7 +3116,7 @@ "value": "RectangleMovement::RectangleMovement::IsMovingUp" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2316,7 +3142,7 @@ "value": "RectangleMovement::RectangleMovement::IsMovingDown" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2342,7 +3168,7 @@ "value": "RectangleMovement::RectangleMovement::IsMovingLeft" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2368,7 +3194,7 @@ "value": "RectangleMovement::RectangleMovement::IsMovingRight" }, "parameters": [ - "RedPlayerShip1", + "Ship", "RectangularMovement", "" ] @@ -2388,6 +3214,42 @@ } ], "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Move saw around object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::MoveAroundObject" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "SummerTileWater", + "" + ] + } + ] + } + ], + "parameters": [] } ], "layers": [ @@ -2419,6 +3281,10 @@ "name": "DraggableSliderControl", "type": "DraggableSliderControl::DraggableSliderControl" }, + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement" + }, { "name": "RectangularMovement", "type": "RectangleMovement::RectangleMovement" @@ -2431,7 +3297,6 @@ { "author": "Tristan Rhodes (https://victrisgames.itch.io/), D8H", "category": "Input", - "description": "Draws a draggable slider that users can move to select a numerical value.\nThe value range, tick spacing, and the appearance of the slider can be defined with properties.\n\nHow to use:\n- Add this behavior a **Shape Painter** object\n- Place an instance of that shape painter on the screen where you want the slider to appear\n- Use the \"Value\" expression to find the Value based on the position of the slider\n\nTips:\n- You can disable the slider to prevent a user from interacting with it\n- You can set the Value of the slider and the slider will move to the correct position\n\nFurther details can be found in [this tutorial video](https://youtu.be/iiTUwdAT_hs).\n\nBreaking changes (1.0.0)\n- Track thickness and length properties replaced track width and height. These 2 properties must be set again if they were different from the default size.\n- Hidden sliders can be dragged. The \"enable\" action must be used to disable them.\n", "extensionNamespace": "", "fullName": "Draggable slider", "helpPath": "", @@ -2440,6 +3305,26 @@ "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/UI Essentials/UI Essentials_sliders_options.svg", "shortDescription": "A draggable slider that users can move to select a numerical value.", "version": "1.0.5", + "description": [ + "Draws a draggable slider that users can move to select a numerical value.", + "The value range, tick spacing, and the appearance of the slider can be defined with properties.", + "", + "How to use:", + "- Add this behavior a **Shape Painter** object", + "- Place an instance of that shape painter on the screen where you want the slider to appear", + "- Use the \"Value\" expression to find the Value based on the position of the slider", + "", + "Tips:", + "- You can disable the slider to prevent a user from interacting with it", + "- You can set the Value of the slider and the slider will move to the correct position", + "", + "Further details can be found in [this tutorial video](https://youtu.be/iiTUwdAT_hs).", + "", + "Breaking changes (1.0.0)", + "- Track thickness and length properties replaced track width and height. These 2 properties must be set again if they were different from the default size.", + "- Hidden sliders can be dragged. The \"enable\" action must be used to disable them.", + "" + ], "origin": { "identifier": "DraggableSliderControl", "name": "gdevelop-extension-store" @@ -2465,12 +3350,9 @@ "objectType": "PrimitiveDrawing::Drawer", "eventsFunctions": [ { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "onCreated", - "private": false, "sentence": "", "events": [ { @@ -2610,22 +3492,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -2633,12 +3507,9 @@ "objectGroups": [] }, { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "doStepPreEvents", - "private": false, "sentence": "", "events": [ { @@ -3270,22 +4141,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -3293,12 +4156,9 @@ "objectGroups": [] }, { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "doStepPostEvents", - "private": false, "sentence": "", "events": [ { @@ -4024,22 +4884,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4052,7 +4904,6 @@ "functionType": "Condition", "group": "Slider", "name": "IsBeingDragged", - "private": false, "sentence": "_PARAM0_ is being dragged", "events": [ { @@ -4082,22 +4933,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4110,7 +4953,6 @@ "functionType": "Condition", "group": "Slider", "name": "IsEnabled", - "private": false, "sentence": "Interactions of _PARAM0_ are enabled", "events": [ { @@ -4140,22 +4982,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4168,7 +5002,6 @@ "functionType": "Action", "group": "Slider", "name": "SetEnabled", - "private": false, "sentence": "Enable interactions of _PARAM0_: _PARAM2_", "events": [ { @@ -4302,33 +5135,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Enable", - "longDescription": "", "name": "Enable", - "optional": false, - "supplementaryInformation": "", "type": "yesorno" } ], @@ -4340,7 +5160,6 @@ "functionType": "Expression", "group": "Slider", "name": "Value", - "private": false, "sentence": "", "events": [ { @@ -4358,24 +5177,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4388,7 +5202,6 @@ "functionType": "Action", "group": "Slider", "name": "SetValue", - "private": false, "sentence": "Change the value of _PARAM0_: _PARAM2_", "events": [ { @@ -4550,33 +5363,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Slider value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -4588,7 +5388,6 @@ "functionType": "Expression", "group": "Slider value configuration", "name": "ValueMin", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4606,24 +5405,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4636,7 +5430,6 @@ "functionType": "Action", "group": "Slider value configuration", "name": "SetValueMin", - "private": false, "sentence": "Change the minimum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4670,33 +5463,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Minimum value", - "longDescription": "", "name": "ValueMin", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -4708,7 +5488,6 @@ "functionType": "Expression", "group": "Slider value configuration", "name": "ValueMax", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4726,24 +5505,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4756,7 +5530,6 @@ "functionType": "Expression", "group": "Slider track configuration", "name": "TrackThickness", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4774,24 +5547,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4804,7 +5572,6 @@ "functionType": "Expression", "group": "Slider track configuration", "name": "TrackLength", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4822,24 +5589,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4852,7 +5614,6 @@ "functionType": "Expression", "group": "Slider thumb configuration", "name": "ThumbHeight", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4870,24 +5631,19 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -4900,7 +5656,6 @@ "functionType": "Action", "group": "Slider value configuration", "name": "SetValueMax", - "private": false, "sentence": "Change the maximum value of _PARAM0_: _PARAM2_", "events": [ { @@ -4934,33 +5689,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Maximum value", - "longDescription": "", "name": "ValueMax", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -4972,7 +5714,6 @@ "functionType": "Expression", "group": "Slider value configuration", "name": "TickSpacing", - "private": false, "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", "events": [ { @@ -4990,35 +5731,25 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Tick spacing", - "longDescription": "", "name": "TickSpacing", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5030,7 +5761,6 @@ "functionType": "Action", "group": "Slider value configuration", "name": "SetTickSpacing", - "private": false, "sentence": "Change the tick spacing of _PARAM0_: _PARAM2_", "events": [ { @@ -5064,33 +5794,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Tick spacing", - "longDescription": "", "name": "TickSpacing", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5102,7 +5819,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetTrackLength", - "private": false, "sentence": "Change track length of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5175,33 +5891,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Track width", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5213,7 +5916,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetTrackThickness", - "private": false, "sentence": "Change track thickness of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5317,33 +6019,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Track thickness", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5355,7 +6044,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbWidth", - "private": false, "sentence": "Change thumb width of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5417,33 +6105,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Thumb width", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5455,7 +6130,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbHeight", - "private": false, "sentence": "Change thumb height of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5517,33 +6191,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Thumb height", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5555,7 +6216,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetHaloRadius", - "private": false, "sentence": "Change halo radius of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5588,33 +6248,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Halo radius", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5626,7 +6273,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetHaloOpacityHover", - "private": false, "sentence": "Change the halo opacity when hovered of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5659,33 +6305,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Halo opacity (hover)", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5697,7 +6330,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetHaloOpacityPressed", - "private": false, "sentence": "Change halo opacity when pressed of _PARAM0_ to _PARAM2_ px", "events": [ { @@ -5730,33 +6362,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Halo opacity (pressed)", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -5768,7 +6387,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbShape", - "private": false, "sentence": "Change shape of _PARAM0_ to _PARAM2_", "events": [ { @@ -5854,32 +6472,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "New thumb shape", - "longDescription": "", "name": "Shape", - "optional": false, "supplementaryInformation": "[\"circle\",\"rectangle\"]", "type": "stringWithSelector" } @@ -5892,7 +6498,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetRoundedTrack", - "private": false, "sentence": "Draw _PARAM0_ with a rounded track: _PARAM2_", "events": [ { @@ -5968,33 +6573,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Rounded track", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "yesorno" } ], @@ -6006,7 +6598,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbOpacity", - "private": false, "sentence": "Change thumb opacity of _PARAM0_ to _PARAM2_", "events": [ { @@ -6039,33 +6630,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Thumb opacity", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -6077,7 +6655,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetInactiveTrackOpacity", - "private": false, "sentence": "Change inactive track opacity of _PARAM0_ to _PARAM2_", "events": [ { @@ -6110,33 +6687,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Inactive track opacity", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -6148,7 +6712,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetActiveTrackOpacity", - "private": false, "sentence": "Change active track opacity of _PARAM0_ to _PARAM2_", "events": [ { @@ -6181,33 +6744,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Active track opacity", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -6219,7 +6769,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetActiveTrackColor", - "private": false, "sentence": "Change active track color of _PARAM0_ to _PARAM2_", "events": [ { @@ -6252,33 +6801,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Active track color", - "longDescription": "", "name": "Color", - "optional": false, - "supplementaryInformation": "", "type": "color" } ], @@ -6290,7 +6826,6 @@ "functionType": "Action", "group": "Slider track configuration", "name": "SetInactiveTrackColor", - "private": false, "sentence": "Change inactive track color of _PARAM0_ to _PARAM2_", "events": [ { @@ -6323,33 +6858,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Inactive track color", - "longDescription": "", "name": "Color", - "optional": false, - "supplementaryInformation": "", "type": "color" } ], @@ -6361,7 +6883,6 @@ "functionType": "Action", "group": "Slider thumb configuration", "name": "SetThumbColor", - "private": false, "sentence": "Change thumb color of _PARAM0_ to _PARAM2_", "events": [ { @@ -6393,33 +6914,20 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Thumb color", - "longDescription": "", "name": "Color", - "optional": false, - "supplementaryInformation": "", "type": "color" } ], @@ -6465,22 +6973,14 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, "supplementaryInformation": "PrimitiveDrawing::Drawer", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "DraggableSliderControl::DraggableSliderControl", "type": "behavior" } @@ -6773,51 +7273,361 @@ "name": "HaloGrowSpeed" }, { - "value": "", - "type": "Number", - "label": "", - "description": "", - "group": "", - "extraInformation": [], - "hidden": true, - "name": "TargetHaloRadius" + "value": "", + "type": "Number", + "label": "", + "description": "", + "group": "", + "extraInformation": [], + "hidden": true, + "name": "TargetHaloRadius" + } + ], + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [] + }, + { + "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", + "category": "Movement", + "extensionNamespace": "", + "fullName": "Rectangular movement", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", + "name": "RectangleMovement", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/shape-rectangle-plus.svg", + "shortDescription": "Move objects in a rectangular pattern.", + "version": "1.0.0", + "description": [ + "Move objects in a rectangular pattern with easing functions from the Tween extension.", + "", + "It can be used for:", + "- Moveable platforms", + "- Enemy movement patterns" + ], + "origin": { + "identifier": "RectangleMovement", + "name": "gdevelop-extension-store" + }, + "tags": [ + "rectangular", + "movement", + "rectangle", + "patrol", + "platform", + "enemy" + ], + "authorIds": [ + "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", + "gqDaZjCfevOOxBYkK6zlhtZnXCg1", + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "dependencies": [], + "eventsFunctions": [ + { + "description": "Top-left corner of the object (X coordinate)", + "fullName": "TopLeftCornerX", + "functionType": "Expression", + "name": "TopLeftCornerX", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Return corner", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.CenterX() + ((Object.Width()/2) * cos(ToRad(Object.Angle()))) + ((Object.Height()/2) * sin(ToRad(Object.Angle())))" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "disabled": true, + "name": "First try", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalX", + "=", + "Object.CenterX() - Object.Width()/2" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalY", + "=", + "Object.CenterY() - Object.Height()/2" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalRotatedX", + "=", + "(Variable(__RectangleMovement.LocalX) * cos(ToRad(Object.Angle()))) - Variable(__RectangleMovement.LocalY) * sin(ToRad(Object.Angle()))" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalRotatedY", + "=", + "(Variable(__RectangleMovement.LocalX) * sin(ToRad(Object.Angle()))) + Variable(__RectangleMovement.LocalY) * cos(ToRad(Object.Angle()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.RotatedX", + "=", + "Variable(__RectangleMovement.LocalRotatedX) + Object.CenterX()" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.RotatedY", + "=", + "Variable(__RectangleMovement.LocalRotatedY) + Object.CenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Variable(__RectangleMovement.RotatedX)" + ] + } + ] + } + ], + "parameters": [] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Top-left corner of the object (Y coordinate)", + "fullName": "TopLeftCornerY", + "functionType": "Expression", + "name": "TopLeftCornerY", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Return corner", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Object.CenterX() - ((Object.Width()/2) * cos(ToRad(Object.Angle()))) + ((Object.Height()/2) * sin(ToRad(Object.Angle())))" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "disabled": true, + "name": "First try", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalX", + "=", + "Object.CenterX() - Object.Width()/2" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalY", + "=", + "Object.CenterY() - Object.Height()/2" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalRotatedX", + "=", + "(Variable(__RectangleMovement.LocalX) * cos(ToRad(Object.Angle()))) - Variable(__RectangleMovement.LocalY) * sin(ToRad(Object.Angle()))" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.LocalRotatedY", + "=", + "(Variable(__RectangleMovement.LocalX) * sin(ToRad(Object.Angle()))) + Variable(__RectangleMovement.LocalY) * cos(ToRad(Object.Angle()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.RotatedX", + "=", + "Variable(__RectangleMovement.LocalRotatedX) + Object.CenterX()" + ] + }, + { + "type": { + "value": "ModVarScene" + }, + "parameters": [ + "__RectangleMovement.RotatedY", + "=", + "Variable(__RectangleMovement.LocalRotatedY) + Object.CenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "Variable(__RectangleMovement.RotatedX)" + ] + } + ] + } + ], + "parameters": [] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "objectList" } - ] + ], + "objectGroups": [] } ], - "eventsBasedObjects": [] - }, - { - "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", - "category": "Movement", - "description": "Move objects in a rectangular pattern with easing functions from the Tween extension.\n\nIt can be used for:\n- Moveable platforms\n- Enemy movement patterns", - "extensionNamespace": "", - "fullName": "Rectangular movement", - "helpPath": "", - "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", - "name": "RectangleMovement", - "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/shape-rectangle-plus.svg", - "shortDescription": "Move objects in a rectangular pattern.", - "version": "1.0.0", - "origin": { - "identifier": "RectangleMovement", - "name": "gdevelop-extension-store" - }, - "tags": [ - "rectangular", - "movement", - "rectangle", - "patrol", - "platform", - "enemy" - ], - "authorIds": [ - "wWP8BSlAW0UP4NeaHa2LcmmDzmH2", - "gqDaZjCfevOOxBYkK6zlhtZnXCg1", - "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" - ], - "dependencies": [], - "eventsFunctions": [], "eventsBasedBehaviors": [ { "description": "Move objects in a rectangular pattern.", @@ -6826,12 +7636,9 @@ "objectType": "", "eventsFunctions": [ { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "onCreated", - "private": false, "sentence": "", "events": [ { @@ -6993,22 +7800,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7016,12 +7814,9 @@ "objectGroups": [] }, { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "doStepPreEvents", - "private": false, "sentence": "", "events": [ { @@ -7140,22 +7935,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7163,12 +7949,9 @@ "objectGroups": [] }, { - "description": "", "fullName": "", "functionType": "Action", - "group": "", "name": "doStepPostEvents", - "private": false, "sentence": "", "events": [ { @@ -7242,35 +8025,102 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } ], "objectGroups": [] }, + { + "description": "Move around the rectangular border of an object.", + "fullName": "Move around a rectangular object", + "functionType": "Action", + "name": "MoveAroundObject", + "sentence": "Move _PARAM0_ around the rectangular border of _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "Object", + "Behavior", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "Object", + "Behavior", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "Object", + "Behavior", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "Object", + "Behavior", + "CenterObject.BoundingBoxRight()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, { "description": "Teleport the object to a corner of the movement rectangle.", "fullName": "Teleport at a corner", "functionType": "Action", - "group": "", "name": "TeleportToCorner", - "private": false, "sentence": "Set the position of _PARAM0_ at the _PARAM2_ of the rectangle loop", "events": [ { @@ -7388,32 +8238,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Corner", - "longDescription": "", "name": "Corner", - "optional": false, "supplementaryInformation": "[\"Top-left corner\",\"Top-right corner\",\"Bottom-left corner\",\"Bottom-right corner\"]", "type": "stringWithSelector" } @@ -7426,7 +8263,6 @@ "functionType": "Expression", "group": "Rectangular movement shape", "name": "Perimeter", - "private": false, "sentence": "", "events": [ { @@ -7444,24 +8280,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7472,9 +8302,7 @@ "description": "Return the time the object takes to go through the whole rectangle (in seconds).", "fullName": "Loop duration", "functionType": "Expression", - "group": "", "name": "LoopDuration", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7492,24 +8320,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7520,9 +8342,7 @@ "description": "Return the time the object takes to go through a horizontal edge (in seconds).", "fullName": "Horizontal edge duration", "functionType": "Expression", - "group": "", "name": "HorizontalEdgeDuration", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7540,24 +8360,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7568,9 +8382,7 @@ "description": "Return the time the object takes to go through a vertical edge (in seconds).", "fullName": "Vertical edge duration", "functionType": "Expression", - "group": "", "name": "VerticalEdgeDuration", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7588,24 +8400,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7618,7 +8424,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Width", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7636,24 +8441,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7666,7 +8465,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Height", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7684,24 +8482,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7714,7 +8506,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Left", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7732,24 +8523,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7762,7 +8547,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Top", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7780,24 +8564,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7810,7 +8588,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Right", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7828,24 +8605,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7858,7 +8629,6 @@ "functionType": "Expression", "group": "Rectangular movement/Shape", "name": "Bottom", - "private": false, "sentence": "Set initial Y of _PARAM0_ to _PARAM2_", "events": [ { @@ -7876,24 +8646,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -7906,7 +8670,6 @@ "functionType": "Action", "group": "Rectangular movement shape", "name": "SetLeft", - "private": false, "sentence": "Change the movement left bound of _PARAM0_ to _PARAM2_", "events": [ { @@ -7940,33 +8703,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -7978,7 +8727,6 @@ "functionType": "Action", "group": "Rectangular movement shape", "name": "SetTop", - "private": false, "sentence": "Change the movement top bound of _PARAM0_ to _PARAM2_", "events": [ { @@ -8012,33 +8760,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8050,7 +8784,6 @@ "functionType": "Action", "group": "Rectangular movement shape", "name": "SetRight", - "private": false, "sentence": "Change the movement right bound of _PARAM0_ to _PARAM2_", "events": [ { @@ -8073,33 +8806,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8111,7 +8830,6 @@ "functionType": "Action", "group": "Rectangular movement shape", "name": "SetBottom", - "private": false, "sentence": "Change the movement bottom bound of _PARAM0_ to _PARAM2_", "events": [ { @@ -8134,33 +8852,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8172,7 +8876,6 @@ "functionType": "Action", "group": "Rectangular movement speed", "name": "SetHorizontalEdgeDuration", - "private": false, "sentence": "Change the time _PARAM0_ takes to go through a horizontal edge to _PARAM2_", "events": [ { @@ -8195,33 +8898,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8233,7 +8922,6 @@ "functionType": "Action", "group": "Rectangular movement speed", "name": "SetVerticalEdgeDuration", - "private": false, "sentence": "Change the time _PARAM0_ takes to go through a vertical edge to _PARAM2_", "events": [ { @@ -8256,33 +8944,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Value", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "expression" } ], @@ -8294,7 +8968,6 @@ "functionType": "Action", "group": "Rectangular movement speed", "name": "SetClockwise", - "private": false, "sentence": "Use clockwise direction for _PARAM0_: _PARAM2_", "events": [ { @@ -8351,33 +9024,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Clockwise", - "longDescription": "", "name": "Value", - "optional": false, - "supplementaryInformation": "", "type": "yesorno" } ], @@ -8389,7 +9048,6 @@ "functionType": "Action", "group": "Rectangular movement speed", "name": "SetEasing", - "private": false, "sentence": "Change the easing of _PARAM0_ to _PARAM2_", "events": [ { @@ -8412,32 +9070,19 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" }, { - "codeOnly": false, - "defaultValue": "", "description": "Easing", - "longDescription": "", "name": "Easing", - "optional": false, "supplementaryInformation": "[\"linear\",\"easeInQuad\",\"easeOutQuad\",\"easeInOutQuad\",\"easeInCubic\",\"easeOutCubic\",\"easeInOutCubic\",\"easeInQuart\",\"easeOutQuart\",\"easeInOutQuart\",\"easeInQuint\",\"easeOutQuint\",\"easeInOutQuint\",\"easeInOutSine\",\"easeInExpo\",\"easeOutExpo\",\"easeInOutExpo\",\"easeInCirc\",\"easeOutCirc\",\"easeInOutCirc\",\"easeOutBounce\",\"easeInBack\",\"easeOutBack\",\"easeInOutBack\",\"elastic\",\"swingFromTo\",\"swingFrom\",\"swingTo\",\"bounce\",\"bouncePast\",\"easeFromTo\",\"easeFrom\",\"easeTo\"]", "type": "stringWithSelector" } @@ -8448,9 +9093,7 @@ "description": "Toggle the direction to clockwise or counter-clockwise.", "fullName": "Toggle direction", "functionType": "Action", - "group": "", "name": "ToogleClockwise", - "private": false, "sentence": "Toogle the direction of _PARAM0_", "events": [ { @@ -8562,22 +9205,60 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the object is moving clockwise.", + "fullName": "Is moving clockwise", + "functionType": "Condition", + "name": "IsMovingClockwise", + "sentence": "_PARAM0_ is moving clockwise", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::PropertyClockwise" + }, + "parameters": [ + "Object", + "Behavior" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -8588,9 +9269,7 @@ "description": "Check if the object is moving to the left.", "fullName": "Is moving left", "functionType": "Condition", - "group": "", "name": "IsMovingLeft", - "private": false, "sentence": "_PARAM0_ is moving to the left", "events": [ { @@ -8665,22 +9344,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -8691,9 +9361,7 @@ "description": "Check if the object is moving up.", "fullName": "Is moving up", "functionType": "Condition", - "group": "", "name": "IsMovingUp", - "private": false, "sentence": "_PARAM0_ is moving up", "events": [ { @@ -8768,22 +9436,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -8794,9 +9453,7 @@ "description": "Object is moving to the right.", "fullName": "Is moving right", "functionType": "Condition", - "group": "", "name": "IsMovingRight", - "private": false, "sentence": "_PARAM0_ is moving to the right", "events": [ { @@ -8871,22 +9528,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -8897,9 +9545,7 @@ "description": "Check if the object is moving down.", "fullName": "Is moving down", "functionType": "Condition", - "group": "", "name": "IsMovingDown", - "private": false, "sentence": "_PARAM0_ is moving down", "events": [ { @@ -8974,22 +9620,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9000,9 +9637,7 @@ "description": "Object is on the left side of the rectangle.", "fullName": "Is on left", "functionType": "Condition", - "group": "", "name": "IsOnLeft", - "private": false, "sentence": "_PARAM0_ is on the left side", "events": [ { @@ -9033,22 +9668,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9059,9 +9685,7 @@ "description": "Object is on the top side of the rectangle.", "fullName": "Is on top", "functionType": "Condition", - "group": "", "name": "IsOnTop", - "private": false, "sentence": "_PARAM0_ is on the top side", "events": [ { @@ -9092,22 +9716,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9118,9 +9733,7 @@ "description": "Object is on the right side of the rectangle.", "fullName": "Is on right", "functionType": "Condition", - "group": "", "name": "IsOnRight", - "private": false, "sentence": "_PARAM0_ is on the right side", "events": [ { @@ -9161,22 +9774,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9187,9 +9791,7 @@ "description": "Object is on the bottom side of the rectangle.", "fullName": "Is on bottom", "functionType": "Condition", - "group": "", "name": "IsOnBottom", - "private": false, "sentence": "_PARAM0_ is on the bottom side", "events": [ { @@ -9230,22 +9832,13 @@ ], "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9256,7 +9849,6 @@ "description": "Return the duration between the top-left vertex and the top-right one.", "fullName": "Duration to top right", "functionType": "Expression", - "group": "", "name": "TopRightDuration", "private": true, "sentence": "", @@ -9276,24 +9868,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9304,7 +9890,6 @@ "description": "Return the duration between the top-left vertex and the bottom-right one.", "fullName": "Duration to bottom right", "functionType": "Expression", - "group": "", "name": "BottomRightDuration", "private": true, "sentence": "", @@ -9324,24 +9909,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9352,7 +9931,6 @@ "description": "Return the duration between the top-left vertex and the bottom-left one.", "fullName": "Duration to bottom left", "functionType": "Expression", - "group": "", "name": "BottomLeftDuration", "private": true, "sentence": "", @@ -9372,24 +9950,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9400,7 +9972,6 @@ "description": "Return the ratio between the covered distance from the last vertex and the edge length (between 0 and 1).", "fullName": "Progress on edge", "functionType": "Expression", - "group": "", "name": "EdgeProgress", "private": true, "sentence": "", @@ -9445,24 +10016,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9473,7 +10038,6 @@ "description": "Return the X position of the current edge origin.", "fullName": "Edge origin X", "functionType": "Expression", - "group": "", "name": "EdgeOriginX", "private": true, "sentence": "", @@ -9514,24 +10078,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9542,7 +10100,6 @@ "description": "Return the Y position of the current edge origin.", "fullName": "Edge origin Y", "functionType": "Expression", - "group": "", "name": "EdgeOriginY", "private": true, "sentence": "", @@ -9583,24 +10140,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9611,7 +10162,6 @@ "description": "Return the X position of the current edge target.", "fullName": "Edge target X", "functionType": "Expression", - "group": "", "name": "EdgeTargetY", "private": true, "sentence": "", @@ -9652,24 +10202,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9680,7 +10224,6 @@ "description": "Return the Y position of the current edge target.", "fullName": "Edge target Y", "functionType": "Expression", - "group": "", "name": "EdgeTargetX", "private": true, "sentence": "", @@ -9711,24 +10254,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9739,7 +10276,6 @@ "description": "Return the time from the top-left vertex.", "fullName": "Current time", "functionType": "Expression", - "group": "", "name": "CurrentTime", "private": true, "sentence": "", @@ -9759,24 +10295,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9787,7 +10317,6 @@ "description": "Return the covered length from the top-left vertex or the bottom-right one.", "fullName": "Half Current length", "functionType": "Expression", - "group": "", "name": "HalfCurrentTime", "private": true, "sentence": "", @@ -9807,24 +10336,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9835,7 +10358,6 @@ "description": "Return the displacement on the X axis from the top-left vertex.", "fullName": "Delta X", "functionType": "Expression", - "group": "", "name": "DeltaX", "private": true, "sentence": "", @@ -9855,24 +10377,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -9883,7 +10399,6 @@ "description": "Return the displacement on the Y axis from the top-left vertex.", "fullName": "Delta Y", "functionType": "Expression", - "group": "", "name": "DeltaY", "private": true, "sentence": "", @@ -9903,24 +10418,18 @@ ] } ], + "expressionType": { + "type": "expression" + }, "parameters": [ { - "codeOnly": false, - "defaultValue": "", "description": "Object", - "longDescription": "", "name": "Object", - "optional": false, - "supplementaryInformation": "", "type": "object" }, { - "codeOnly": false, - "defaultValue": "", "description": "Behavior", - "longDescription": "", "name": "Behavior", - "optional": false, "supplementaryInformation": "RectangleMovement::RectangleMovement", "type": "behavior" } @@ -10098,7 +10607,8 @@ "hidden": true, "name": "ToogleClockwise" } - ] + ], + "sharedPropertyDescriptors": [] } ], "eventsBasedObjects": [] From 8aea59409ba1424b64aedfcc8c6f6d339a95a34b Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 10:32:40 -0600 Subject: [PATCH 02/29] Added saw to example --- .../rectangular-movement.json | 1154 +++++++---------- 1 file changed, 473 insertions(+), 681 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index bf70cf044..7bb5fa3b0 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -1769,65 +1769,6 @@ } ] }, - { - "assetStoreId": "78fbaed77b34f218e20f8182f106b74730c23ec24b4b8cec88c1cc88b07e3094", - "name": "Ship8", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 4, - "VerticalEdgeDuration": 1, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutSine", - "InitialPosition": "Top-left corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Ship 8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 49, - "y": 44 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, { "assetStoreId": "3f294355a854e85aeb0e08c0e0ab9ad836c01468f7623e583beff5fe0c173a44", "height": 128, @@ -2214,7 +2155,8 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "name": "Drag", + "folded": true, + "name": "Speed", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -2233,336 +2175,478 @@ "actions": [ { "type": { - "value": "Create" - }, - "parameters": [ - "", - "TopLeftCorner", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", - "" - ] - }, - { - "type": { - "value": "Create" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "", - "TopRightCorner", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Top()", + "HorizontalDurationSlider", + "DraggableSliderControl", + "Ship.RectangularMovement::HorizontalEdgeDuration()", "" ] }, { "type": { - "value": "Create" + "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ - "", - "BottomRightCorner", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()", + "VerticalDurationSlider", + "DraggableSliderControl", + "Ship.RectangularMovement::VerticalEdgeDuration()", "" ] }, { "type": { - "value": "Create" + "value": "TextObject::String" }, "parameters": [ - "", - "BottomLeftCorner", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Bottom()", - "" + "HorizontalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" ] }, { "type": { - "value": "ChangePlan" + "value": "TextObject::String" }, "parameters": [ - "Corner", + "VerticalDurationText", "=", - "3" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "TopLeftCorner", - "Draggable" + "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" ] } ], - "actions": [ + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "TopLeftCorner.X()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "HorizontalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + ] + } ] }, { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "TopLeftCorner.Y()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "VerticalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + ] + } ] } ] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "TopRightCorner", - "Draggable" - ] - } - ], - "actions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Change duration", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "TopRightCorner.X()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" + }, + "parameters": [ + "HorizontalDurationSlider", + "DraggableSliderControl", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "HorizontalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "HorizontalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + ] + } ] }, { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "TopRightCorner.Y()", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DraggableBehavior::Dragged" - }, - "parameters": [ - "BottomRightCorner", - "Draggable" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" + }, + "parameters": [ + "VerticalDurationSlider", + "DraggableSliderControl", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "VerticalDurationSlider.DraggableSliderControl::Value()", + "" + ] + }, + { + "type": { + "value": "TextObject::String" + }, + "parameters": [ + "VerticalDurationText", + "=", + "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + ] + } ] } ], - "actions": [ + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Change direction", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "BottomRightCorner.X()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + }, + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "LaunchRoundButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::ToogleClockwise" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "yes" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::ToogleClockwise" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "yes" + ] + }, + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "yes" + ] + } ] }, { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "BottomRightCorner.Y()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + }, + "parameters": [ + "Ship", + "RectangularMovement", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "FlipX" + }, + "parameters": [ + "LaunchRoundButton", + "yes" + ] + } ] } - ] - }, + ], + "parameters": [] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Drag", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "DraggableBehavior::Dragged" + "value": "DepartScene" }, "parameters": [ - "BottomLeftCorner", - "Draggable" + "" ] } ], "actions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" + "value": "Create" }, "parameters": [ - "Ship", - "RectangularMovement", - "BottomLeftCorner.X()", + "", + "TopLeftCorner", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Top()", "" ] }, { "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" + "value": "Create" }, "parameters": [ - "Ship", - "RectangularMovement", - "BottomLeftCorner.Y()", + "", + "TopRightCorner", + "Ship.RectangularMovement::Right()", + "Ship.RectangularMovement::Top()", "" ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreXY" - }, - "parameters": [ - "TopLeftCorner", - "=", - "Ship.RectangularMovement::Left()", - "=", - "Ship.RectangularMovement::Top()" - ] }, { "type": { - "value": "MettreXY" + "value": "Create" }, "parameters": [ - "TopRightCorner", - "=", + "", + "BottomRightCorner", "Ship.RectangularMovement::Right()", - "=", - "Ship.RectangularMovement::Top()" + "Ship.RectangularMovement::Bottom()", + "" ] }, { "type": { - "value": "MettreXY" + "value": "Create" }, "parameters": [ - "BottomRightCorner", - "=", - "Ship.RectangularMovement::Right()", - "=", - "Ship.RectangularMovement::Bottom()" + "", + "BottomLeftCorner", + "Ship.RectangularMovement::Left()", + "Ship.RectangularMovement::Bottom()", + "" ] }, { "type": { - "value": "MettreXY" + "value": "ChangePlan" }, "parameters": [ - "BottomLeftCorner", - "=", - "Ship.RectangularMovement::Left()", + "Corner", "=", - "Ship.RectangularMovement::Bottom()" + "3" ] } ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Speed", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ { "type": { - "value": "DepartScene" + "value": "DraggableBehavior::Dragged" }, "parameters": [ - "" + "TopLeftCorner", + "Draggable" ] } ], "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "RectangleMovement::RectangleMovement::SetLeft" }, "parameters": [ - "HorizontalDurationSlider", - "DraggableSliderControl", - "Ship.RectangularMovement::HorizontalEdgeDuration()", + "Ship", + "RectangularMovement", + "TopLeftCorner.X()", "" ] }, { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::SetValue" + "value": "RectangleMovement::RectangleMovement::SetTop" }, "parameters": [ - "VerticalDurationSlider", - "DraggableSliderControl", - "Ship.RectangularMovement::VerticalEdgeDuration()", + "Ship", + "RectangularMovement", + "TopLeftCorner.Y()", "" ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "HorizontalDurationText", - "=", - "ToString(Ship.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" - ] - }, - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "VerticalDurationText", - "=", - "ToString(Ship.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" - ] } ] }, @@ -2571,43 +2655,35 @@ "conditions": [ { "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - }, - { - "type": { - "value": "SourisSurObjet" + "value": "DraggableBehavior::Dragged" }, "parameters": [ - "LaunchRoundButton", - "", - "", - "" + "TopRightCorner", + "Draggable" ] } ], "actions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::ToogleClockwise" + "value": "RectangleMovement::RectangleMovement::SetRight" }, "parameters": [ "Ship", "RectangularMovement", - "yes" + "TopRightCorner.X()", + "" ] }, { "type": { - "value": "FlipX" + "value": "RectangleMovement::RectangleMovement::SetTop" }, "parameters": [ - "LaunchRoundButton", - "yes" + "Ship", + "RectangularMovement", + "TopRightCorner.Y()", + "" ] } ] @@ -2617,50 +2693,35 @@ "conditions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + "value": "DraggableBehavior::Dragged" }, "parameters": [ - "Ship", - "RectangularMovement", - "" + "BottomRightCorner", + "Draggable" ] } ], "actions": [ { "type": { - "value": "FlipX" - }, - "parameters": [ - "LaunchRoundButton", - "no" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "inverted": true, - "value": "RectangleMovement::RectangleMovement::IsMovingClockwise" + "value": "RectangleMovement::RectangleMovement::SetRight" }, "parameters": [ "Ship", "RectangularMovement", + "BottomRightCorner.X()", "" ] - } - ], - "actions": [ + }, { "type": { - "value": "FlipX" + "value": "RectangleMovement::RectangleMovement::SetBottom" }, "parameters": [ - "LaunchRoundButton", - "yes" + "Ship", + "RectangularMovement", + "BottomRightCorner.Y()", + "" ] } ] @@ -2670,45 +2731,34 @@ "conditions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" + "value": "DraggableBehavior::Dragged" }, "parameters": [ - "HorizontalDurationSlider", - "DraggableSliderControl", - "" + "BottomLeftCorner", + "Draggable" ] } ], "actions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + "value": "RectangleMovement::RectangleMovement::SetLeft" }, "parameters": [ "Ship", "RectangularMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", + "BottomLeftCorner.X()", "" ] }, { "type": { - "value": "TextObject::String" - }, - "parameters": [ - "HorizontalDurationText", - "=", - "ToString(Ship.RectangularMovement::HorizontalEdgeDuration()) + \" seconds\"" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" + "value": "RectangleMovement::RectangleMovement::SetBottom" }, "parameters": [ - "Saw", - "RectangleMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", + "Ship", + "RectangularMovement", + "BottomLeftCorner.Y()", "" ] } @@ -2716,49 +2766,54 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "DraggableSliderControl::DraggableSliderControl::IsBeingDragged" + "value": "MettreXY" }, "parameters": [ - "VerticalDurationSlider", - "DraggableSliderControl", - "" + "TopLeftCorner", + "=", + "Ship.RectangularMovement::Left()", + "=", + "Ship.RectangularMovement::Top()" ] - } - ], - "actions": [ + }, { "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + "value": "MettreXY" }, "parameters": [ - "Ship", - "RectangularMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" + "TopRightCorner", + "=", + "Ship.RectangularMovement::Right()", + "=", + "Ship.RectangularMovement::Top()" ] }, { "type": { - "value": "TextObject::String" + "value": "MettreXY" }, "parameters": [ - "VerticalDurationText", + "BottomRightCorner", "=", - "ToString(Ship.RectangularMovement::VerticalEdgeDuration()) + \" seconds\"" + "Ship.RectangularMovement::Right()", + "=", + "Ship.RectangularMovement::Bottom()" ] }, { "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" + "value": "MettreXY" }, "parameters": [ - "Saw", - "RectangleMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" + "BottomLeftCorner", + "=", + "Ship.RectangularMovement::Left()", + "=", + "Ship.RectangularMovement::Bottom()" ] } ] @@ -2771,6 +2826,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Teleport", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2817,7 +2873,18 @@ "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ - "MovingObjects", + "Ship", + "RectangularMovement", + "\"Top-left corner\"", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Saw", "RectangleMovement", "\"Top-left corner\"", "" @@ -2846,7 +2913,18 @@ "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ - "MovingObjects", + "Ship", + "RectangularMovement", + "\"Top-right corner\"", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Saw", "RectangularMovement", "\"Top-right corner\"", "" @@ -2875,8 +2953,19 @@ "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ - "MovingObjects", - "RectangularMovement", + "Ship", + "RectangularMovement", + "\"Bottom-right corner\"", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Saw", + "RectangleMovement", "\"Bottom-right corner\"", "" ] @@ -2904,11 +2993,22 @@ "value": "RectangleMovement::RectangleMovement::TeleportToCorner" }, "parameters": [ - "MovingObjects", + "Ship", "RectangularMovement", "\"Bottom-left corner\"", "" ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Saw", + "RectangleMovement", + "\"Bottom-left corner\"", + "" + ] } ] } @@ -2924,6 +3024,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Draw", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -3226,18 +3327,11 @@ "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "RectangleMovement::RectangleMovement::MoveAroundObject" + "value": "RectangleMovement::RectangleMovement::MoveAlongObject" }, "parameters": [ "Saw", @@ -7298,13 +7392,14 @@ "name": "RectangleMovement", "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/shape-rectangle-plus.svg", "shortDescription": "Move objects in a rectangular pattern.", - "version": "1.0.0", + "version": "1.1.0", "description": [ "Move objects in a rectangular pattern with easing functions from the Tween extension.", "", "It can be used for:", "- Moveable platforms", - "- Enemy movement patterns" + "- Enemy movement patterns", + "- Moving along the border of another object" ], "origin": { "identifier": "RectangleMovement", @@ -7324,310 +7419,7 @@ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" ], "dependencies": [], - "eventsFunctions": [ - { - "description": "Top-left corner of the object (X coordinate)", - "fullName": "TopLeftCornerX", - "functionType": "Expression", - "name": "TopLeftCornerX", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Return corner", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.CenterX() + ((Object.Width()/2) * cos(ToRad(Object.Angle()))) + ((Object.Height()/2) * sin(ToRad(Object.Angle())))" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "disabled": true, - "name": "First try", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalX", - "=", - "Object.CenterX() - Object.Width()/2" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalY", - "=", - "Object.CenterY() - Object.Height()/2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalRotatedX", - "=", - "(Variable(__RectangleMovement.LocalX) * cos(ToRad(Object.Angle()))) - Variable(__RectangleMovement.LocalY) * sin(ToRad(Object.Angle()))" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalRotatedY", - "=", - "(Variable(__RectangleMovement.LocalX) * sin(ToRad(Object.Angle()))) + Variable(__RectangleMovement.LocalY) * cos(ToRad(Object.Angle()))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.RotatedX", - "=", - "Variable(__RectangleMovement.LocalRotatedX) + Object.CenterX()" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.RotatedY", - "=", - "Variable(__RectangleMovement.LocalRotatedY) + Object.CenterY()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Variable(__RectangleMovement.RotatedX)" - ] - } - ] - } - ], - "parameters": [] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Top-left corner of the object (Y coordinate)", - "fullName": "TopLeftCornerY", - "functionType": "Expression", - "name": "TopLeftCornerY", - "sentence": "", - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Return corner", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Object.CenterX() - ((Object.Width()/2) * cos(ToRad(Object.Angle()))) + ((Object.Height()/2) * sin(ToRad(Object.Angle())))" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "disabled": true, - "name": "First try", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalX", - "=", - "Object.CenterX() - Object.Width()/2" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalY", - "=", - "Object.CenterY() - Object.Height()/2" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalRotatedX", - "=", - "(Variable(__RectangleMovement.LocalX) * cos(ToRad(Object.Angle()))) - Variable(__RectangleMovement.LocalY) * sin(ToRad(Object.Angle()))" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.LocalRotatedY", - "=", - "(Variable(__RectangleMovement.LocalX) * sin(ToRad(Object.Angle()))) + Variable(__RectangleMovement.LocalY) * cos(ToRad(Object.Angle()))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.RotatedX", - "=", - "Variable(__RectangleMovement.LocalRotatedX) + Object.CenterX()" - ] - }, - { - "type": { - "value": "ModVarScene" - }, - "parameters": [ - "__RectangleMovement.RotatedY", - "=", - "Variable(__RectangleMovement.LocalRotatedY) + Object.CenterY()" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "Variable(__RectangleMovement.RotatedX)" - ] - } - ] - } - ], - "parameters": [] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "objectList" - } - ], - "objectGroups": [] - } - ], + "eventsFunctions": [], "eventsBasedBehaviors": [ { "description": "Move objects in a rectangular pattern.", @@ -8039,10 +7831,10 @@ "objectGroups": [] }, { - "description": "Move around the rectangular border of an object.", - "fullName": "Move around a rectangular object", + "description": "Move along the rectangular border of an object.", + "fullName": "Move along the rectangular border of an object", "functionType": "Action", - "name": "MoveAroundObject", + "name": "MoveAlongObject", "sentence": "Move _PARAM0_ around the rectangular border of _PARAM2_", "events": [ { From 0c9305333a2dbbcb7a8fef8fc08407a033703d8c Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 10:35:37 -0600 Subject: [PATCH 03/29] Wording improvements --- examples/rectangular-movement/rectangular-movement.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 7bb5fa3b0..0d3ff7403 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -7831,11 +7831,11 @@ "objectGroups": [] }, { - "description": "Move along the rectangular border of an object.", + "description": "Move along the rectangular border of an object. Run one time, or everytime the basis object moves.", "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", - "sentence": "Move _PARAM0_ around the rectangular border of _PARAM2_", + "sentence": "Move _PARAM0_ along the rectangular border of _PARAM2_", "events": [ { "type": "BuiltinCommonInstructions::Standard", From d22133ff89334c0adfdb17ab8dd7c43b70261332 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Mar 2023 16:42:25 +0000 Subject: [PATCH 04/29] Optimised images with calibre/image-actions --- .../rectangular-movement/assets/Saw_Off.png | Bin 681 -> 451 bytes .../rectangular-movement/assets/Saw_On_1.png | Bin 681 -> 451 bytes .../rectangular-movement/assets/Saw_On_2.png | Bin 704 -> 444 bytes .../rectangular-movement/assets/Saw_On_3.png | Bin 826 -> 488 bytes .../rectangular-movement/assets/Saw_On_4.png | Bin 733 -> 459 bytes .../rectangular-movement/assets/Saw_On_5.png | Bin 668 -> 446 bytes .../rectangular-movement/assets/Saw_On_6.png | Bin 707 -> 438 bytes .../rectangular-movement/assets/Saw_On_7.png | Bin 827 -> 488 bytes .../rectangular-movement/assets/Saw_On_8.png | Bin 760 -> 468 bytes .../assets/tiled_Summer Tile Water.png | Bin 2892 -> 179 bytes 10 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/rectangular-movement/assets/Saw_Off.png b/examples/rectangular-movement/assets/Saw_Off.png index 1a3c128b50a45ecefc4d4c590da754ed03d5119b..368b463ea0c6f419698bb2d09d288104cd77a3f2 100644 GIT binary patch delta 425 zcmV;a0apI01;Yc7B!3BTNLh0L01FZT01FZU(%pXi0004XNkl8PuHA$27Pagyao90W}q)msR;5VJjUa<^4 zKY+MDo*y}$FQZh0OL@)#Rfh@&IRo&24AcZlGSVC@HYkBnP=6^McY;unz!SiP92C}x z^>8e00000NkvXXu0mjf3Z}9- delta 657 zcmV;C0&e}o1E~d&B!2;OQb$4nuFf3k0007GNkl=7kdc$d7z*6n-qcPiT87d+Wjg!qejYqN)J6_TsY;5n zTx7?@Q@u?U(0`EvFcjExq5&YUEp;crB3eo9BAQrRhJ#UFwuSUMzVN?_ZsDP4dL18z zgAv=X^%j)_(AO&ptZ@Kh2k`hK^ApL1F4)+twOtv@NL4ercMb{`c)d2GdOG3ckwA zAOs#2tbco^r2UbH5d3^R{l%cGv%!uMTa&5-q`MTR!36Lbn@)kx@p85}aUtyh2>ye^_dq#GQNJwYY r^dZoRm@YwVjM~7-V|1;`*!%(M)WtWn7JbG5015yANkvXXu0mjfx^ObN diff --git a/examples/rectangular-movement/assets/Saw_On_1.png b/examples/rectangular-movement/assets/Saw_On_1.png index 1a3c128b50a45ecefc4d4c590da754ed03d5119b..368b463ea0c6f419698bb2d09d288104cd77a3f2 100644 GIT binary patch delta 425 zcmV;a0apI01;Yc7B!3BTNLh0L01FZT01FZU(%pXi0004XNkl8PuHA$27Pagyao90W}q)msR;5VJjUa<^4 zKY+MDo*y}$FQZh0OL@)#Rfh@&IRo&24AcZlGSVC@HYkBnP=6^McY;unz!SiP92C}x z^>8e00000NkvXXu0mjf3Z}9- delta 657 zcmV;C0&e}o1E~d&B!2;OQb$4nuFf3k0007GNkl=7kdc$d7z*6n-qcPiT87d+Wjg!qejYqN)J6_TsY;5n zTx7?@Q@u?U(0`EvFcjExq5&YUEp;crB3eo9BAQrRhJ#UFwuSUMzVN?_ZsDP4dL18z zgAv=X^%j)_(AO&ptZ@Kh2k`hK^ApL1F4)+twOtv@NL4ercMb{`c)d2GdOG3ckwA zAOs#2tbco^r2UbH5d3^R{l%cGv%!uMTa&5-q`MTR!36Lbn@)kx@p85}aUtyh2>ye^_dq#GQNJwYY r^dZoRm@YwVjM~7-V|1;`*!%(M)WtWn7JbG5015yANkvXXu0mjfx^ObN diff --git a/examples/rectangular-movement/assets/Saw_On_2.png b/examples/rectangular-movement/assets/Saw_On_2.png index 6ec99a465ecf793d24f353038d77735792247437..6c4d4a0faa5a7a8330272d4d1bf6bd9a9fda72f0 100644 GIT binary patch delta 418 zcmV;T0bTyU1-t{0B!3BTNLh0L01FZT01FZU(%pXi0004QNkljJV1E%k(a6K?L zPdH!zB?V?zY=7zslmye?ffWM-qk`eT3}}-DhC9_>f~4nq%eU})FW8l-|5bR_Vmkot zlnaU5a3@CrvwLOA%qO>JA`P7Y*tg;SVD74oEv)QQlhpYU!*LG2N&<>f%Rt~XPx&;= z7m^{pqZC=#x#cQ)sH50KidA(eWup+-C~9RcSTS$qgd4m%RLKJI3-%=axXjnu6951J M07*qoM6N<$f@>eO4FCWD delta 680 zcmV;Z0$2UK1Hc84B!2;OQb$4nuFf3k0007dNklC?0Ho}Lt*3VQv*?91{*`P%g|5cK-R)AJ($o7ZgHKYxwJ-f(-rEKoX7TTlR9 zUjt2Ke)g&f>;>lX)-E9PvrnUO;exYviXqoayTGQ=xYV|-Lx6Oh5-(QPaY`NwdVPT6 z>G_dCIJ6Ebs`A!6UhaHWpj;}Enw~HhvUt)QxT&f-OV|J zaM*YQZCtjv*RPAd-nR%HE@7~;;$cn8$EBHGNQ={0Ob?2#OU44IRKx({$zG}#_anaqRD7G z`zqN^Fj<}`B@H31W6TDpt1grcO!V%oC4fyJ&E3~zaxO4^jVXY5vD(J8x-)O;?e6V|tp>jllam4SCjt zt5b2iwW;^bpCRp&gP*sc1u!_w1@S-L*p7W-G)Jre O0000>e; zUDE*o0P=bdlU;82$>3dUupc0Vk|M@LcdQO2fgwZ~U5zs?V1L|1F(9KjfSw74KJB$_>z*xZ4WlCGDLof=L3zj-%W}P57Ffe%M z0!9mW?v6q@nqRreA3HS65wdC!-BEOBH4{}%gQyn$1z43*gb8o)wAOKmg3WMf)_kdQ zh~(OS@1>TUHl1!gp|}((>7c5#Zpp%3yQh>|!s52BNk>m9d82LlQ@hypz9Kdel@+Zf zy5CoXB}cj#iNU$v@K`S2IIt>E*5zlS+ch8D<#8_92cXR%TJ5Xks{jB107*qoM6N<$ Ef|~!%ZU6uP delta 803 zcmV+;1Kj-R1G)x~B!2;OQb$4nuFf3k0008?NklfaJE_eB9;}bkbI(2R#~p(KY|G`+B^E}3$xwxOsPnLGxqkq_FD}mk0Q1`r05I~7 zH~@BU#E29TibYEI*|22%n1m6Cl#0hvirJP6nzj63 z6X_sUN=XcPDSwkxAj7uYT51tgCz!C8qmI%*7zK@yqH(pCQiN#erbyAaWEIgmvVBsD zHA$cf@rsZD*xRwO-|Z!w?u}R;L~^wgY?GMZhEyqdLM)5|M)K-nZ^usknn0#j&ZaXs z9Y>2)EPn!>nks%*!~^lq>d*3BxcGUp-EL#+@s`qHZ-4qDoE~@aV&f5dyPN3kZsPFm zN2rcLN-CQs{{fK_U-FyJb(2WpI$yq?kyK9oc#C=Z#bw_U#OkL zg@;kVbo;RketnWs+t7ZWNC_2z0XYd)Y+rQHIdHICtc>2xD^snQ43D!g zP@{wB9Dg|IpWPX~D}zyuq{z~VDDsEsF97JD-6{DCSVy&7KN%UF@{dWF%Z;BZsWNhj z`E>~qoQ^}Sa_U-L)Q(D^J`pNK``sQV)mi}9$UDkp-v14G#Yi#ck0)GQ67r3%Uz$QH z5~OCW@$MB!2a7yuvAazr*f0v1@Jp_lb{$2e;(w1be>_PnBwI;m`}R+^ZnoueZ#c-@ zQ)(1V%an++{bb&@PBmR?+B#f|;R+WEB>}l-O*%{i)1Zo$kbfV7x~m4IWnl-?J3*CE4f=Ln}YZ2i{;1ZZ8lolc!nj%kk4JfhP+zx=e3dnZ1|3&~-J1Yo<4M3mW zz(@w#j8qz-fe1C`Alg=XtH|;;N@Hp%Zih{K-mJe7v!5Bxx?vyGJC3WR8BR4B(xW-bOsR$f5${gzn%11^Q>uoqz zQlUgRf=DsRQg0bSc4Ehh$DHI@9&M2S3~M%dM2+R@BL#}X1>YeYMsBBBXQOJe(4B!B zd%+d^w=_vOs|2co@d==43NQ3;?hWR)1E2Vla0)FHA#qMra%W zHI}Pso~g+tpz45Vo>ZM+UB*ncLD|Ha$YX8daTmtXC{Tb9%=AJSM_31|q77!KI{$?` zofl&mxAmH6;3eRA2oOt_Csi;S*pzK!Eg5AdJ@4_}1pqAkr3R=t^ z-*vE|q5vjIyF>})uD8Dp43mmEvBT z5z;KBI5R!;?e(`+IFKmAvpjKHHxxE-Tz#Nw!OE;q#VyMdtJ-E}UmqwFj$*7}4Yc4p z9f`b|r+*z|NNY)99I5sqZ7Y4nLx3+m*{x*d+k193s4Pz$UfhAtHbr30I#~5;OGBXO zo(Tu&uhsxi@K+B2weB9Gw#_m@YG53W-{YHyG2o=TCF_qW*MhTZNp-QnMQ*F$u&d!b#=WxJAA%&|<^l7-7EtE>RvS*`p&lX4Dkt5+s6j0fK!oFt z9Saz)O;SlPgTdrDJ1kIfW?A9LjKmPuRYPXokK=S1w?RA^{S`IuUXq}Sz~zErsMBU0 zK)ZP@1_P)ZFn`i()=4lJgcOIh2pEO~@rKh1McE`X6vPTwLKpN@_076!OZcdwo;=)p z9ZB6UjQ@SRu(oC;MCw5glTwk+W8hnw5fQ^s{Et}U8Eih-ns zn>%q$TP4A1bh0`nZ|GBC)u1FW$*AhsDGjCZMAauyDIGz6=H0c{L+~3G>-bP)=z4_! O0000UAP9o}o*-B#iV)H)vXwW;Ham~W`2LcYtov2^Ugpi0`F#@) zDumw}WPB}2W3S9vrGz+;(BX3r008G}BKE>yR*IZa0F|l^_kUZ1Oh(9s6aYZOL<*Ja z_RrU(Qc_xCROu_wlr0t^Rg}1Gf@tGL6~uV>B3fxlguyJQn1=?QFLS$+m`o`uG7(bA z>Ab+n6(Uv#PREn@9WB>_oHWKzpx5u!PAXcirF+VB_FIE2_;|049FkI%6lJ+c(%4hI zO%>3Q0x%TVSAU`bAg?WTC%__FN%bO{SX)NJaaOj4bUS|Te-+)rL(6nKK8%KAv0-a1 zE(f5mR~%U50P-Ecqb{RwZgVhZ)^yZEe&`8qQqkb-n`+wyD{WrH_Osys?R>bTa)7?#w zq84<4$O3FZ2%EsgINMCxPeg5lpBe<84})30SJHx4wDMa)HMM>z*ljf27C- zKaHoq7<_bfI)p2+HK{tl>3D)Lm;pXx(<$&dDrbu)6Y>s#pm%h1yRMMZ;z{MWj4C^o zb0uGs3F{^)l|m|`o0Oyl*5xaWElQ7Xu1ZZXjc=tbBXc7X(kV542y`N*OAs5SHgK{S dU#l`Ue*i+J$G(X=uetyL002ovPDHLkV1h|yDm(xH diff --git a/examples/rectangular-movement/assets/Saw_On_6.png b/examples/rectangular-movement/assets/Saw_On_6.png index e8c657efed1244b98a36f6ec8fbc7875fb9c3903..6c143571ada7375302183eb938b20ca90235631b 100644 GIT binary patch delta 412 zcmV;N0b~Bd1-1i_B!3BTNLh0L01FZT01FZU(%pXi0004KNklCJ|OD?8V3x^ik^p~$oo2JP;=CeiT zMpOGRh}-?q$MJlzQ58oh1XV|+!isl!2o-`6#O-!5Zm32v7=Jww!#561Y_>Zd?sbuU z=nyP~;s&9(uxL|LL0YJ+v4dTb3(6W>S`YsjSdTMfU{tu#!fJFWMBgx~FiN1IM9R6J zmD40JEEF?+3hpDZ`x2=nQC|10{iXk@ z6J}>@>I~F`nSbjjioxid3&Xbzx+e>Ug&GthC9UO~cyA}zl&SAkSZlQv01K5O@g8aA zI54|brqq0LYbNB-3BbOM`@`H>8=F|!Urk!ykBF0e_;wm7&RzzTtG=La delta 683 zcmV;c0#yCB1H%Q7B!2;OQb$4nuFf3k0007gNkl;)80HdMGz(|p3#2E=B3Wb>K0}~T=)NZ~S-8_uFxix$%wlffSv1ecs-#Gklja96 zB-_%bC+R&sF?cErqDHQ(cO~;}*QWz2LQnHYu(o8Jb&|s>-{r9i9ka^0l?U| z0T;>BZW=%@FrBpy0m;*z^Q_UqDJ!WV-A{+Wa-Ma{s&xne)wV*hTr2zOSS$=80B9bc z9+1STvQv`DT8m_fr0 zYV<9=T1WRiGV@Hr5Q4oRFg^{!+iKz*jNQMIj*#3?rO7yz)D$JoqcBysAz zfu3LM7BCE=W<=gT45Ee}oApKBdoz#mQNH8u>PP$T*MH9o6w9^O?j92@nUc!3`Y7Lf zcdiokJ(erJL!xCTHxmFyI4HVWP(Eew*%W|>gPq(=z-Lq3-oN3`%Rk)x{@X&`-oJs* zrtRoWqJT~hl^O84D~Z&mF;S{>l`RyY&k??ywFuA!Qr>+ogVTYDYm5Ovv0S%4&35Fj zR<@Dxuzz-nm?=aKMsX522gf19}~lr*a-0T zPJ_Oc;cPN)owOF)2UP28BbE9>8NvF1i1N)%y(Dk`R8tQ4Sqm5d3^>jO@qhmSlq1MQ REusJb002ovPDHLkV1iQ$P9XpQ diff --git a/examples/rectangular-movement/assets/Saw_On_7.png b/examples/rectangular-movement/assets/Saw_On_7.png index 8e4008436f1a24f6faccc1ca827f8d40368d3f3b..516e953a79cf1ef9cc53e74818b68be6ada20800 100644 GIT binary patch delta 462 zcmV;<0Wto&2IvEjB!3BTNLh0L01FZT01FZU(%pXi0004+NklUPVib#2$x&@aZRV9LI4KBDvrslFyFwJI*i|#&Yp9 zMK*LD0U&_f?vIz9E`Kiz-+F_601=cFF($fGb0`UnAmZq1oPTiv;}%K*k^OG>evu0k zaf?K7ljHzGd4gr(a%PScEuQ*wEtomCXd5`NS}3!u#JPdqc|e)r1dVcois3MIlE5th zG^dz;QwqId`+;$Wa9;(6a4y?PDle&hHCPZqWB66dFNrU$%^rjjI8yS*|8BY-#@R|8 z#4;sT2hEn!1b+mAVCQk8h6AWsKFkFhCkzn5j_Z{POkJk5#X1HIUA=nH@X3du- zmq@Pd_ugvBY18f26N*crnhvT->y|Ctt$RwTC9H1ix<~Ysk~i9xKX-~<-z!oJp{!^% z(fz$5E;-V}ND9vNg~#&v#(_0~vTi>U-J$#79*;}Gp3kx&S_iBzJpcdz07*qoM6N<$ Eg6A*JEdT%j delta 804 zcmV+<1Ka%Q1G@&0B!2;OQb$4nuFf3k0008@Nklyn|NS%NGu zN#nuj3)Ex{qzz=K*A9Z#Lp-=2pw85-gFDy-eSvi76v*yQfe?fTr_CY+rIga4{RHYz z{p6ocC+SX7$O8?QmKULLjJ(n)9&vn?k>s_cCLkktiN3KuQ^nl7d>nWO?4w&m1Pi=aEfguNVflm>#(Z;TX;YrK>k+|W&tqH)P8+&Z#- zQi?T6pbYVfkO0`*v2oBlOgP;eF%>wu+6lHv+}s9KDWZf}5c-1THO1bJow}MprdBQ& zOLV#&BT}*a2~27#|1QS^{^QTzpQpjM@8j)O3!9HOwSNYC^Lm6YpI+fv=OOz07W(@Z zp1*tt-7#n!Z!*R89Q+SN zK_$zyAIspE{{yq5HWp_~bo=@iAP^~55d@$}u)KXS!Pf2u7H8!Osh}!T>oFPL8duI| zTe}-LK7XBKcGRx)e-1%4k|N6_qR1cPCy!G1$6tTL9S*djo1$8-pMo+z<)12HE(eP) zsUmWT`ArECI^7Pn%Bg#GQ9CMu`b4M{9rO+(Qf&=@7`Z1}Ip;1RuNWyNyva1;OG3Ue z^-EJoMS|30ps3&AZ!Ff(=4nuq(M&wSVi#BNcyK@UkUa$z=O>CtEk$aw2y) z$UM_(6swjgj-vgfYFnq9E{x7C@?cv|rY`1@EnG@|Fp@_~&iqADth;psG?vmG4sy>R zxNlU3u7fhg03eb}4zS8|3Nt7F;mVnuTL2{V4u3`O@Q z5jWrvNL+w(a0|-Rhz5xhP@|NosA$th;vO4;F#34BUeAm@WRZS>7@9$;1F7P$` znD?aaKWs#6etxh0@$37pFhFS|Z5^&fxx(c_NkHyZlQz@9G=HejBjlT)@0vkrRTzVL z8(6L;1BVuPNY9=~Fv$WGEg~ElTmtii(j>xRDDrZ*fD(_J#{rNx0oi=+o=U)4R|TQ4 z0qDIO7}-FZkxCimGg*GL|02^}Ovb`}I>f*E7ReFE|8s(`mgj!>QrQ zL)LOZ0^?92V1ExdljpFb4$H-ha(BK)*mHM94`3`;ZU`m zW}S^{$U=7}Y3v0T_HSvDa8?U61>+MyTOaZqW2jo1sWb6ALtR<*z)m|t3z#d^*zsAQ k#@4x2jT?MY&tYp{e>(60kNZ|MRsaA107*qoM6N<$g8Svh+yDRo delta 736 zcmV<60w4X<1Na4yB!2;OQb$4nuFf3k0008ANkl1NC6fW_I;& zR+9aJK$3TNex9A3*_DG6%58TOx{vp3$EL4UW2qr(w_Gi--G9XZfQdh{0u+O}?QUWk z$}&Rj0I0THdHqbaP63q#ME#^H1uHXVstC#^&O{z75|6teoHYUk2*FG*1mO%5f0Pu# z)K%%faNFIa3FEe26E!>q91j6viTCR?7&XjWZB0!XtxOv4`pN|W^m_vhPSGz{3-o(~ z6j+l`MY_InHGjAZ{^N4B&|G{jDB!Tbj?Qr1*G!y2GCzTYv4h$D2#gcoMnoZZ;T)vl$RT z3aTk-dF(jf4qqu{y8X7o=6j@F_b+ea{*=4SDZR*UF4yDDB|d%rpe_J-`0~+ej3At) zl6wk_7t$hm9S{C^i2Ii}{QmV%T>$X#^Dq4IP)nF)+U{ZvuJAx1Ng-yE1YiwCqSO=b z*AC?|;D1n~9N^$Jo7`qDmMTyt98G1y3TVPlIudyuPrI6sR+55nrpk-7tW*^b0Y3F) zHx>NbU3@mEc)xadatGea6oEMte^jX~)q$dSCLEw|tpOn6TMq!4?yjSv!!ki?U>uIW zyIkug0m_~S+T%HyOU@WVd9TaCs}SA*})PNuK?tca5}H#Wh=0vsWeww zo}?ZWe})3`SElXeva#UL^ArK)8KZtADU=wDi~#x(i(*Rh*|V%&Ww5%2Z1o?I67~X8 Su?@5U0000+JJ6MlQ+{$qXY)7;Cc67&{YLv+t8(Y=dk=BUy^6td|j4#?sKB zkS)0?*(x%&>|`zE>;4hnbDr1pKF@Q``<(ZW?=%afA&66$6952^vC$37Q`PwocGlDV z+$Ut}RL*+on(G2UJt_JSoqc+XyBk@W13(Hd0A!qUd}@l<0f3lD09Z-~0L^&-fDDFd zCgA{pQ`tvf-y+P?P*2?0Kwm}ix{8WC9I6NaM!iq-aMspiLMi{Y;qb-p6+S}n*-!<- z4pjW_v*`18SkDgtUEJpWsT7?Xe0)p>4~hs(rNu_oscsi#C@#E4=PcY5h!l#)%~6x+ z$jFWP`TgFu=}E7Ru>Fas!X_vni4udtSn`;~^DlpA!>fI=OEMg;KL%JM2u$UGg2Pf} zyYBiM9Z8t#U-;HOj-&J`ZYHCncF!M6sEWiB)W>S;b^z$R-M!$CR5$JZbqP5jSVmk^ zx>VjHNrc=?%ZHg*bcec;FmwMD#t2QI2Uk5rG2M(ORuldHiuNc8nA!rDP%!l@L%*f0 z?9O&e$QE-e)HE~DH{g9yR46=KjXAzpJ3F^;u3-r(+h1wstOBHa{kaMW30Nw*geh>u zI0_d)@?+7Ilhy-Osr9u>ZJY;Rl~PCdQ`TyaESCY7L85QN3NL0b7Eo_y7RR0Nk{2!l zk_It;9b0cBy%~{df3aHzWZYL$Qo2tQ$;+Y@b*#jxAAw@F5E5JA9gkAh2huz_v(I8f zzS+wf%j#(%5V`$~VbF0d)2cb0}lo>Zot zD6FC!pZI0T>=pvb1MEiMikRmXwFo8WnD`?tzV1#RE+q1@Fvx$EtJkaT7qT25)&!>= zWDVUv6j|gyZ|24E3zF`~@Z%UJ0Fq4LzBAw=CT#pgg)_FVh18f;>zEJXUC!~0G7F`$ z^%HpEy3lcMP945+mc0ZMi!;l*65dRgb=cHEP{ONJjZ0-MX(jKoD3Ryx!6xwEbp z;Wy&vF4`Dz!3l%ntRB2Ax>^?Ef;)_R(3timf9DB)$Gs?jtPgoaU|Jp>-m}?R<->hx29H>XLiN+Up zHL&ZXvV+k2+Lb)Ki<%&VWD&DZ2D_9YA0Ve{~P_^jG@S|be@azxO z^W4eFAKuuzYAVh=K0Byxrnmr#O47 zB8NhT-Ia{N;B^|i2=Aj5xnAX&AqH!R04mSqQ~s2RGcuZN4pVW6k#CA|2b{68@Tj{mS(T3iKOd^NVQA!KiDybmKi;K(3p+A zhkb_4+##At`(^*#&*#AudATJkI_v21k!`{ySIHTvH+kbSXsHiSMVT!m00UFLu{;UEW}c=_1Nqkn7<#jt zlNSt3OLB*i!^z$ok7QsWj-3uvcjI>t-$;dp5<^L$A}x9?wk;Z=8}my)1AnIdd^N8z zCnj4YxC3SugoAmm+_HRZTXtpg3RRE`jFOqMOUT{HWzHRy{o8igs=&q;y=Q^6nW~LO zM>-~zGbj&>EXzY}Jxy{;d}{}65x@c7CdE zsF#_|+8)}BqJ`I3N>~JgGSe6CAN(ZvW0*;>`od1=I{~Po&GW z6(0OJ+>B|BcAW;dM@5U(j5zjVCT7@<=tp}8h@WFysO=LiK;XNW1$gt?@HGY1I@MHu zLGXy+j`a9-n&g3QYGA5DnT9p|8oW^v3msIhzUJ?dyY+mxswPG5URalgL>*r-ABeA^ z>YMF`6GGI7&*9wl#+zQ|qXkud;8E!p2mvX`+YEKceG*T4Ao0)Z9rsa1FL%1zbN4&; z(CV1#MSsI^NEFe%S9ad4d-82w53*i zq*BNp#0C{Y~9%z#e8q0lg(8sRg;rHx z|G{as_I~$IAKu@4pGJ=BQ|gy{AJr!1Z)(>b`ltM;{)H%p%q7Wrz|!@_|K(?Y!+^!W zjcM0*_Y)E-X|>bOK-ys5K#b_{cB~zK{G3sh^t4{%(DbS)&wA%7V@-H+t?tmf66=Fp z8W){Ltaz)rF+iuw{4vpGV4&Zpt8=2lCX}2KTe0*);)Gpm7z7hFKnMrp%FMj zjLT-x?3+B{`GS&y{S;ct`Y3*+dCX@lSFA^5NbRUmtFe9GuV?H&h!bQ063g5qWr%<@ zCqH?A9v?3ovHr-d%0;dq8Hm36b$>^(0ozAb2mSclMKEM5fU_u-}qQjh8R%3s;)mm+|$c5V>Z#T8zmxX5?d+)wm zS&I>h3DCAb8XgUrn2zmQzPV_=LUuayj%|oXo!gl|-adk@^ym!;*sLr$u9WBgPK3R*$=*7uZ%)h?#h?S6Y#Ac-jMc z-R6b;d)tTVw05i0vdIx_KIwiugx6{PY=bd_&hd!g+1Dp6RvtIl^mIzn14@ t$L?hL@51;|t$nfjOkZWf|8Gp*YZ_LaL2C%s-8~Hh7#kpO)abb+{0|7#YLEZ` From 7f703a398c029a39a7229ca931886db15cba2b33 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 18:15:33 -0600 Subject: [PATCH 05/29] Change ship behavior to use new behavior name (RectangularMovement -> RectangleMovement) This is what was breaking the object groups. :) --- .../rectangular-movement.json | 569 +++++++----------- 1 file changed, 233 insertions(+), 336 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 0d3ff7403..54ea41490 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -1,5 +1,5 @@ { - "firstLayout": "", + "firstLayout": "Rectangle Movement", "gdVersion": { "build": 99, "major": 4, @@ -386,8 +386,8 @@ { "b": 31, "disableInputWhenNotFocused": true, - "mangledName": "Rectangular_32Movement", - "name": "Rectangular Movement", + "mangledName": "Rectangle_32Movement", + "name": "Rectangle Movement", "r": 31, "standardSortMethod": true, "stopSoundsOnStartup": true, @@ -855,20 +855,21 @@ "effects": [], "behaviors": [ { - "name": "RectangularMovement", + "name": "RectangleMovement", "type": "RectangleMovement::RectangleMovement", "Width": 300, "Height": 100, - "CounterClockwise": false, - "LoopDuration": 4, - "Left": 4, - "Top": 4, - "Progress": 4, - "Easing": "easeInOutBack", - "InitialPosition": "Top-left corner", "Clockwise": true, "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1.25 + "VerticalEdgeDuration": 1.25, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "easeInOutBack", + "InitialPosition": "Top-left corner", + "ToogleClockwise": false } ], "animations": [ @@ -2155,7 +2156,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Speed", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2180,7 +2180,7 @@ "parameters": [ "HorizontalDurationSlider", "DraggableSliderControl", - "Ship.RectangularMovement::HorizontalEdgeDuration()", + "Ship.RectangleMovement::HorizontalEdgeDuration()", "" ] }, @@ -2191,7 +2191,7 @@ "parameters": [ "VerticalDurationSlider", "DraggableSliderControl", - "Ship.RectangularMovement::VerticalEdgeDuration()", + "Ship.RectangleMovement::VerticalEdgeDuration()", "" ] }, @@ -2202,7 +2202,7 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" ] }, { @@ -2212,7 +2212,7 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::VerticalEdgeDuration(),2)) + \" seconds\"" ] } ], @@ -2226,18 +2226,7 @@ "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" }, "parameters": [ - "Ship", - "RectangularMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "HorizontalDurationSlider.DraggableSliderControl::Value()", "" @@ -2250,7 +2239,7 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" ] } ] @@ -2264,18 +2253,7 @@ "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" }, "parameters": [ - "Ship", - "RectangularMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "VerticalDurationSlider.DraggableSliderControl::Value()", "" @@ -2288,7 +2266,7 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::VerticalEdgeDuration(),2)) + \" seconds\"" ] } ] @@ -2324,18 +2302,7 @@ "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" }, "parameters": [ - "Ship", - "RectangularMovement", - "HorizontalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "HorizontalDurationSlider.DraggableSliderControl::Value()", "" @@ -2348,7 +2315,7 @@ "parameters": [ "HorizontalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::HorizontalEdgeDuration(),2)) + \" seconds\"" ] } ] @@ -2373,18 +2340,7 @@ "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" }, "parameters": [ - "Ship", - "RectangularMovement", - "VerticalDurationSlider.DraggableSliderControl::Value()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "VerticalDurationSlider.DraggableSliderControl::Value()", "" @@ -2397,7 +2353,7 @@ "parameters": [ "VerticalDurationText", "=", - "ToString(roundTo(Ship.RectangularMovement::VerticalEdgeDuration(),2)) + \" seconds\"" + "ToString(roundTo(Ship.RectangleMovement::VerticalEdgeDuration(),2)) + \" seconds\"" ] } ] @@ -2444,17 +2400,7 @@ "value": "RectangleMovement::RectangleMovement::ToogleClockwise" }, "parameters": [ - "Ship", - "RectangularMovement", - "yes" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::ToogleClockwise" - }, - "parameters": [ - "Saw", + "MovingObjects", "RectangleMovement", "yes" ] @@ -2479,7 +2425,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -2506,7 +2452,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -2529,6 +2475,159 @@ ], "parameters": [] }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Teleport", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "MouseButtonReleased" + }, + "parameters": [ + "", + "Left" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObjects", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopLeftButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Top-left corner\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopRightButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Top-right corner\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomRightButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Bottom-right corner\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomLeftButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "MovingObjects", + "RectangleMovement", + "\"Bottom-left corner\"", + "" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, { "colorB": 228, "colorG": 176, @@ -2559,8 +2658,8 @@ "parameters": [ "", "TopLeftCorner", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Top()", "" ] }, @@ -2571,8 +2670,8 @@ "parameters": [ "", "TopRightCorner", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Top()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Top()", "" ] }, @@ -2583,8 +2682,8 @@ "parameters": [ "", "BottomRightCorner", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Bottom()", "" ] }, @@ -2595,8 +2694,8 @@ "parameters": [ "", "BottomLeftCorner", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Bottom()", "" ] }, @@ -2632,7 +2731,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "TopLeftCorner.X()", "" ] @@ -2643,7 +2742,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "TopLeftCorner.Y()", "" ] @@ -2670,7 +2769,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "TopRightCorner.X()", "" ] @@ -2681,7 +2780,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "TopRightCorner.Y()", "" ] @@ -2708,7 +2807,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "BottomRightCorner.X()", "" ] @@ -2719,7 +2818,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "BottomRightCorner.Y()", "" ] @@ -2746,7 +2845,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "BottomLeftCorner.X()", "" ] @@ -2757,7 +2856,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "BottomLeftCorner.Y()", "" ] @@ -2775,9 +2874,9 @@ "parameters": [ "TopLeftCorner", "=", - "Ship.RectangularMovement::Left()", + "Ship.RectangleMovement::Left()", "=", - "Ship.RectangularMovement::Top()" + "Ship.RectangleMovement::Top()" ] }, { @@ -2787,9 +2886,9 @@ "parameters": [ "TopRightCorner", "=", - "Ship.RectangularMovement::Right()", + "Ship.RectangleMovement::Right()", "=", - "Ship.RectangularMovement::Top()" + "Ship.RectangleMovement::Top()" ] }, { @@ -2799,9 +2898,9 @@ "parameters": [ "BottomRightCorner", "=", - "Ship.RectangularMovement::Right()", + "Ship.RectangleMovement::Right()", "=", - "Ship.RectangularMovement::Bottom()" + "Ship.RectangleMovement::Bottom()" ] }, { @@ -2811,207 +2910,9 @@ "parameters": [ "BottomLeftCorner", "=", - "Ship.RectangularMovement::Left()", + "Ship.RectangleMovement::Left()", "=", - "Ship.RectangularMovement::Bottom()" - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Teleport", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "MouseButtonReleased" - }, - "parameters": [ - "", - "Left" - ] - } - ], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObjects", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "\"Top-left corner\"", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "\"Top-left corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "\"Top-right corner\"", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Saw", - "RectangularMovement", - "\"Top-right corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "\"Bottom-right corner\"", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "\"Bottom-right corner\"", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Ship", - "RectangularMovement", - "\"Bottom-left corner\"", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "\"Bottom-left corner\"", - "" - ] - } - ] - } + "Ship.RectangleMovement::Bottom()" ] } ] @@ -3039,10 +2940,10 @@ }, "parameters": [ "Trajectory", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()" + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Top()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Bottom()" ] } ] @@ -3056,7 +2957,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3068,10 +2969,10 @@ }, "parameters": [ "CurrentEdge", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Top()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Top()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Top()", "2" ] } @@ -3086,7 +2987,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3098,10 +2999,10 @@ }, "parameters": [ "CurrentEdge", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Bottom()", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Bottom()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Bottom()", "2" ] } @@ -3116,7 +3017,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3128,10 +3029,10 @@ }, "parameters": [ "CurrentEdge", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Top()", - "Ship.RectangularMovement::Left()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Top()", + "Ship.RectangleMovement::Left()", + "Ship.RectangleMovement::Bottom()", "2" ] } @@ -3146,7 +3047,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3158,10 +3059,10 @@ }, "parameters": [ "CurrentEdge", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Top()", - "Ship.RectangularMovement::Right()", - "Ship.RectangularMovement::Bottom()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Top()", + "Ship.RectangleMovement::Right()", + "Ship.RectangleMovement::Bottom()", "2" ] } @@ -3218,7 +3119,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3244,7 +3145,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3270,7 +3171,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3296,7 +3197,7 @@ }, "parameters": [ "Ship", - "RectangularMovement", + "RectangleMovement", "" ] } @@ -3378,10 +3279,6 @@ { "name": "RectangleMovement", "type": "RectangleMovement::RectangleMovement" - }, - { - "name": "RectangularMovement", - "type": "RectangleMovement::RectangleMovement" } ] } From 8047a097b91b0048990e006f4a0fc88dc99e8855 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 18:17:26 -0600 Subject: [PATCH 06/29] Renamed to use new name --- examples/rectangular-movement/rectangular-movement.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 54ea41490..8ba2ff60b 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -18,8 +18,8 @@ "templateSlug": "", "useExternalSourceFiles": false, "version": "1.0.0", - "name": "Rectangular movement example", - "description": "Show how to use the \"Rectangular movement\" extension.", + "name": "Rectangle movement example", + "description": "Show how to use the \"Rectangle movement\" extension.", "author": "", "windowWidth": 854, "windowHeight": 480, @@ -7283,7 +7283,7 @@ "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", "category": "Movement", "extensionNamespace": "", - "fullName": "Rectangular movement", + "fullName": "Rectangule movement", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", "name": "RectangleMovement", From 418e6e9aaeb7b0410f8d071f0c439a764fcbef4d Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 18:41:25 -0600 Subject: [PATCH 07/29] Removed unused ship sprite --- .../rectangular-movement/rectangular-movement.json | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 8ba2ff60b..6761e6c27 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -233,19 +233,6 @@ "smoothed": true, "userAdded": true }, - { - "alwaysLoaded": false, - "file": "assets/Ship 8.png", - "kind": "image", - "metadata": "", - "name": "Ship 8.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Space Shooter by Pixel boy/Ship/de9c11db444fa822127f9a23d83a400b8b8ad889c8e539d75664d6fe8693a88b_Ship 8.png", - "name": "Ship 8.png" - } - }, { "alwaysLoaded": false, "file": "assets/tiled_Summer Tile Water.png", From c706e83a272570bea5f535e0035ef507000f45c7 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 19:18:41 -0600 Subject: [PATCH 08/29] Added standalone function to move objects along the border of another object But... it doesn't work. --- .../rectangular-movement.json | 136 +++++++++++++++++- 1 file changed, 132 insertions(+), 4 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 6761e6c27..d3d1f9c36 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -2143,6 +2143,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Speed", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2265,6 +2266,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Change duration", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2353,6 +2355,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Change direction", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2467,6 +2470,7 @@ "colorG": 176, "colorR": 74, "creationTime": 0, + "folded": true, "name": "Teleport", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -3214,6 +3218,20 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Behavior action", + "comment2": "" + }, + { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -3229,6 +3247,37 @@ ] } ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 27, + "g": 2, + "r": 208, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Stand alone action (NOT WORKING)", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::MoveAlongObject" + }, + "parameters": [ + "", + "Saw", + "RectangleMovement", + "SummerTileWater", + "" + ] + } + ] } ], "parameters": [] @@ -7270,7 +7319,7 @@ "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", "category": "Movement", "extensionNamespace": "", - "fullName": "Rectangule movement", + "fullName": "Rectangle movement", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", "name": "RectangleMovement", @@ -7303,11 +7352,90 @@ "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" ], "dependencies": [], - "eventsFunctions": [], + "eventsFunctions": [ + { + "description": "Move along the rectangular border of an object. Run once, or everytime the center object moves.", + "fullName": "Move along the rectangular border of an object", + "functionType": "Action", + "name": "MoveAlongObject", + "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement_Behavior", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement_Behavior", + "CenterObject.BoundingBoxRight()", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + }, + { + "description": "Rectangle Movement (required)", + "name": "RectangleMovement", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] + } + ], "eventsBasedBehaviors": [ { "description": "Move objects in a rectangular pattern.", - "fullName": "Rectangular movement", + "fullName": "Rectangle movement", "name": "RectangleMovement", "objectType": "", "eventsFunctions": [ @@ -7715,7 +7843,7 @@ "objectGroups": [] }, { - "description": "Move along the rectangular border of an object. Run one time, or everytime the basis object moves.", + "description": "Move along the rectangular border of an object. Run once, or everytime the center object moves.", "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", From 508a852d41040efb9e2d57dc42c98f2552825eec Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Mon, 27 Mar 2023 19:50:17 -0600 Subject: [PATCH 09/29] Added functions to help users - LinkNearestObjects - Added ForEach and object linking to Move Along function.... which still does not work right :( --- .../rectangular-movement.json | 228 ++++++++++++++---- 1 file changed, 185 insertions(+), 43 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index d3d1f9c36..c2bfec7eb 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -3261,6 +3261,30 @@ "comment": "Stand alone action (NOT WORKING)", "comment2": "" }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::LinkNearestObjects" + }, + "parameters": [ + "", + "Saw", + "SummerTileWater", + "" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -7361,51 +7385,71 @@ "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", "events": [ { - "type": "BuiltinCommonInstructions::Standard", + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "MovingObject", - "RectangleMovement_Behavior", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, + "actions": [], + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "MovingObject", - "RectangleMovement_Behavior", - "CenterObject.BoundingBoxRight()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement_Behavior", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement_Behavior", + "CenterObject.BoundingBoxRight()", + "" + ] + } ] } ] @@ -7430,6 +7474,104 @@ } ], "objectGroups": [] + }, + { + "description": "Create an object link between two objects that are nearest to each other.", + "fullName": "Create object links between nearest objects", + "functionType": "Action", + "name": "LinkNearestObjects", + "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that is closest to it", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "FirstObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "FirstObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "SecondObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "PickNearest" + }, + "parameters": [ + "SecondObject", + "FirstObject.BoundingBoxCenterX()", + "FirstObject.BoundingBoxCenterY()", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "FirstObject", + "SecondObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "SecondObject", + "__RectangleMovement.Linked", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "FirstObject", + "__RectangleMovement.Linked", + "True" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "First object", + "name": "FirstObject", + "type": "objectList" + }, + { + "description": "Second object", + "name": "SecondObject", + "type": "objectList" + } + ], + "objectGroups": [] } ], "eventsBasedBehaviors": [ From 5904d98100b31fd6a82ad783c50df472be1d2e1f Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sun, 9 Apr 2023 15:19:25 -0600 Subject: [PATCH 10/29] Got object linking working and example shows multiple pairs of objects --- .../rectangular-movement.json | 111 ++++++++++++++---- 1 file changed, 86 insertions(+), 25 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index c2bfec7eb..cad485569 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -390,7 +390,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 1.1333333183288583, + "zoomFactor": 1.026002653128652, "windowMask": false }, "objectsGroups": [ @@ -698,28 +698,28 @@ { "angle": 0, "customSize": true, - "height": 100, + "height": 181, "layer": "", "name": "SummerTileWater", "persistentUuid": "e4b04c66-ff59-40d1-a414-ebdb15a389f2", - "width": 300, - "x": 491, - "y": 244, - "zOrder": 20, + "width": 87, + "x": 492, + "y": 190, + "zOrder": 0, "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": true, + "customSize": false, "height": 75, "layer": "", "name": "Saw", "persistentUuid": "8c073ed8-b5c1-44a4-805e-c7af80f24014", "width": 74, - "x": 492, - "y": 245, + "x": 534, + "y": 284, "zOrder": 10, "numberProperties": [], "stringProperties": [], @@ -829,6 +829,66 @@ "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Saw", + "persistentUuid": "b1df6c0b-eb4f-4be9-9758-5cc4184a35e4", + "width": 0, + "x": 660, + "y": 334, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 71, + "layer": "", + "name": "SummerTileWater", + "persistentUuid": "65f6a78d-5715-4e21-b12a-d34a59d15109", + "width": 72, + "x": 626, + "y": 298, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 71, + "layer": "", + "name": "SummerTileWater", + "persistentUuid": "118918d5-ac00-4278-abe6-515da1e3816e", + "width": 188, + "x": 626, + "y": 189, + "zOrder": 0, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Saw", + "persistentUuid": "3ed137c5-c0dc-4612-91df-c0137605426d", + "width": 0, + "x": 722, + "y": 225, + "zOrder": 28, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -2126,7 +2186,7 @@ "variables": [], "effects": [], "behaviors": [], - "string": "Drag blue object to move saw path", + "string": "Drag blue objects to move saw path", "font": "", "textAlignment": "center", "characterSize": 20, @@ -3251,14 +3311,14 @@ { "type": "BuiltinCommonInstructions::Comment", "color": { - "b": 27, - "g": 2, - "r": 208, + "b": 109, + "g": 230, + "r": 255, "textB": 0, "textG": 0, "textR": 0 }, - "comment": "Stand alone action (NOT WORKING)", + "comment": "Non-Behavior action (handles object linking)", "comment2": "" }, { @@ -3274,7 +3334,7 @@ "actions": [ { "type": { - "value": "RectangleMovement::LinkNearestObjects" + "value": "RectangleMovement::LinkCollidingObjects" }, "parameters": [ "", @@ -7378,7 +7438,7 @@ "dependencies": [], "eventsFunctions": [ { - "description": "Move along the rectangular border of an object. Run once, or everytime the center object moves.", + "description": "Move along the rectangular border of an object. Run once (or anytime the center object moves).", "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", @@ -7434,7 +7494,7 @@ }, "parameters": [ "MovingObject", - "RectangleMovement_Behavior", + "RectangleMovement", "CenterObject.BoundingBoxLeft()", "" ] @@ -7445,7 +7505,7 @@ }, "parameters": [ "MovingObject", - "RectangleMovement_Behavior", + "RectangleMovement", "CenterObject.BoundingBoxRight()", "" ] @@ -7476,11 +7536,11 @@ "objectGroups": [] }, { - "description": "Create an object link between two objects that are nearest to each other.", - "fullName": "Create object links between nearest objects", + "description": "Create an object link between two objects that are colliding with each other.", + "fullName": "Create object link between colliding objects", "functionType": "Action", - "name": "LinkNearestObjects", - "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that is closest to it", + "name": "LinkCollidingObjects", + "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that are colliding with each other", "events": [ { "type": "BuiltinCommonInstructions::ForEach", @@ -7513,12 +7573,13 @@ }, { "type": { - "value": "PickNearest" + "value": "CollisionNP" }, "parameters": [ + "FirstObject", "SecondObject", - "FirstObject.BoundingBoxCenterX()", - "FirstObject.BoundingBoxCenterY()", + "", + "", "" ] } From afb50f7437656ddb2072c4ce4a634fb017c50a8c Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sun, 9 Apr 2023 16:00:40 -0600 Subject: [PATCH 11/29] Cleanup and object linking improvement - Object linking now loops into both object lists to cover situations where objects overlap. - Removed original "move object around another object" function --- .../rectangular-movement.json | 354 ++++++++---------- 1 file changed, 157 insertions(+), 197 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index cad485569..5957cb1cf 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -698,13 +698,13 @@ { "angle": 0, "customSize": true, - "height": 181, + "height": 69, "layer": "", "name": "SummerTileWater", "persistentUuid": "e4b04c66-ff59-40d1-a414-ebdb15a389f2", - "width": 87, - "x": 492, - "y": 190, + "width": 170, + "x": 493, + "y": 300, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -718,8 +718,8 @@ "name": "Saw", "persistentUuid": "8c073ed8-b5c1-44a4-805e-c7af80f24014", "width": 74, - "x": 534, - "y": 284, + "x": 554, + "y": 348, "zOrder": 10, "numberProperties": [], "stringProperties": [], @@ -838,8 +838,8 @@ "name": "Saw", "persistentUuid": "b1df6c0b-eb4f-4be9-9758-5cc4184a35e4", "width": 0, - "x": 660, - "y": 334, + "x": 722, + "y": 225, "zOrder": 28, "numberProperties": [], "stringProperties": [], @@ -848,13 +848,13 @@ { "angle": 0, "customSize": true, - "height": 71, + "height": 66, "layer": "", "name": "SummerTileWater", "persistentUuid": "65f6a78d-5715-4e21-b12a-d34a59d15109", - "width": 72, - "x": 626, - "y": 298, + "width": 77, + "x": 734, + "y": 302, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -883,12 +883,42 @@ "name": "Saw", "persistentUuid": "3ed137c5-c0dc-4612-91df-c0137605426d", "width": 0, - "x": 722, - "y": 225, + "x": 770, + "y": 327, "zOrder": 28, "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "height": 177, + "layer": "", + "name": "SummerTileWater", + "persistentUuid": "1b96dea9-1205-4cb1-98c4-9b89974bb767", + "width": 84, + "x": 493, + "y": 192, + "zOrder": -1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Saw", + "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", + "width": 0, + "x": 516, + "y": 323, + "zOrder": 29, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -1826,7 +1856,20 @@ "type": "TiledSpriteObject::TiledSprite", "width": 128, "variables": [], - "effects": [], + "effects": [ + { + "effectType": "Outline", + "name": "Effect", + "doubleParameters": { + "padding": 2, + "thickness": 2 + }, + "stringParameters": { + "color": "0;0;0" + }, + "booleanParameters": {} + } + ], "behaviors": [ { "name": "Draggable", @@ -3287,38 +3330,7 @@ "textG": 0, "textR": 0 }, - "comment": "Behavior action", - "comment2": "" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::MoveAlongObject" - }, - "parameters": [ - "Saw", - "RectangleMovement", - "SummerTileWater", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Non-Behavior action (handles object linking)", + "comment": "Non-gehavior action (handles object linking)", "comment2": "" }, { @@ -3342,6 +3354,16 @@ "SummerTileWater", "" ] + }, + { + "type": { + "value": "TiledSpriteObject::SetOpacity" + }, + "parameters": [ + "SummerTileWater", + "=", + "210" + ] } ] }, @@ -7403,7 +7425,7 @@ "author": "@4ian, Tristan Rhodes (https://victrisgames.itch.io/)", "category": "Movement", "extensionNamespace": "", - "fullName": "Rectangle movement", + "fullName": "Rectangular movement", "helpPath": "", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLXNoYXBlLXJlY3RhbmdsZS1wbHVzIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDZIMjJWOEgxOVYxMUgxN1Y4SDE0VjZIMTdWM0gxOVY2TTE3LDE3VjE0SDE5VjE5SDNWNkgxMVY4SDVWMTdIMTdaIiAvPjwvc3ZnPg==", "name": "RectangleMovement", @@ -7416,7 +7438,11 @@ "It can be used for:", "- Moveable platforms", "- Enemy movement patterns", - "- Moving along the border of another object" + "- Moving along the border of another object", + "", + "The platformer example uses this extension ([open the project online](https://editor.gdevelop.io/?project=example://platformer)).", + "", + "This example can be used to check some settings ([open the project online](https://editor.gdevelop.io/?project=example://rectangular-movement))." ], "origin": { "identifier": "RectangleMovement", @@ -7438,7 +7464,7 @@ "dependencies": [], "eventsFunctions": [ { - "description": "Move along the rectangular border of an object. Run once (or anytime the center object moves).", + "description": "Move along the rectangular border of an object. Run once, or every time the center object moves.", "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", @@ -7549,70 +7575,78 @@ "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "FirstObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "SecondObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "CollisionNP" - }, - "parameters": [ - "FirstObject", - "SecondObject", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "FirstObject", - "SecondObject" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "SecondObject", - "__RectangleMovement.Linked", - "True" - ] - }, + "type": "BuiltinCommonInstructions::ForEach", + "object": "SecondObject", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "FirstObject", - "__RectangleMovement.Linked", - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "FirstObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "SecondObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "CollisionNP" + }, + "parameters": [ + "FirstObject", + "SecondObject", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "FirstObject", + "SecondObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "SecondObject", + "__RectangleMovement.Linked", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "FirstObject", + "__RectangleMovement.Linked", + "True" + ] + } ] } ] @@ -7638,7 +7672,7 @@ "eventsBasedBehaviors": [ { "description": "Move objects in a rectangular pattern.", - "fullName": "Rectangle movement", + "fullName": "Rectangular movement", "name": "RectangleMovement", "objectType": "", "eventsFunctions": [ @@ -7713,7 +7747,7 @@ "Object", "Behavior", "=", - "Object.Behavior::TopRightDuration() / Object.Behavior::Perimeter()" + "Object.Behavior::TopRightDuration() / Object.Behavior::LoopDuration()" ] } ] @@ -7742,7 +7776,7 @@ "Object", "Behavior", "=", - "Object.Behavior::BottomRightDuration() / Object.Behavior::Perimeter()" + "Object.Behavior::BottomRightDuration() / Object.Behavior::LoopDuration()" ] } ] @@ -7771,7 +7805,7 @@ "Object", "Behavior", "=", - "Object.Behavior::BottomLeftDuration() / Object.Behavior::Perimeter()" + "Object.Behavior::BottomLeftDuration() / Object.Behavior::LoopDuration()" ] } ] @@ -8045,84 +8079,6 @@ ], "objectGroups": [] }, - { - "description": "Move along the rectangular border of an object. Run once, or everytime the center object moves.", - "fullName": "Move along the rectangular border of an object", - "functionType": "Action", - "name": "MoveAlongObject", - "sentence": "Move _PARAM0_ along the rectangular border of _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "Object", - "Behavior", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "Object", - "Behavior", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "Object", - "Behavior", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "Object", - "Behavior", - "CenterObject.BoundingBoxRight()", - "" - ] - } - ] - } - ], - "parameters": [ - { - "description": "Object", - "name": "Object", - "type": "object" - }, - { - "description": "Behavior", - "name": "Behavior", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "", - "name": "CenterObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, { "description": "Teleport the object to a corner of the movement rectangle.", "fullName": "Teleport at a corner", @@ -10448,6 +10404,7 @@ { "value": "100", "type": "Number", + "unit": "Pixel", "label": "Width", "description": "", "group": "Dimension", @@ -10458,6 +10415,7 @@ { "value": "100", "type": "Number", + "unit": "Pixel", "label": "Height", "description": "", "group": "Dimension", @@ -10478,7 +10436,8 @@ { "value": "4", "type": "Number", - "label": "Horizontal edge duration (in seconds)", + "unit": "Second", + "label": "Horizontal edge duration", "description": "", "group": "Speed", "extraInformation": [], @@ -10488,7 +10447,8 @@ { "value": "1", "type": "Number", - "label": "Vertical edge duration (in seconds)", + "unit": "Second", + "label": "Vertical edge duration", "description": "", "group": "Speed", "extraInformation": [], From d20eb8926c4fa264111941121921130422cc3e0f Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Wed, 26 Apr 2023 22:33:08 -0600 Subject: [PATCH 12/29] Working and preparing to clean --- .../rectangular-movement.json | 1473 ++++++++++++++--- 1 file changed, 1200 insertions(+), 273 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 5957cb1cf..09c121cda 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -418,7 +418,33 @@ "name": "Ship" }, { - "name": "Saw" + "name": "Saw_TopLeft" + }, + { + "name": "Saw_BottomLeft" + }, + { + "name": "Saw_BottomRight" + }, + { + "name": "Saw_TopRight" + } + ] + }, + { + "name": "Saws", + "objects": [ + { + "name": "Saw_TopLeft" + }, + { + "name": "Saw_BottomLeft" + }, + { + "name": "Saw_BottomRight" + }, + { + "name": "Saw_TopRight" } ] } @@ -695,36 +721,6 @@ "stringProperties": [], "initialVariables": [] }, - { - "angle": 0, - "customSize": true, - "height": 69, - "layer": "", - "name": "SummerTileWater", - "persistentUuid": "e4b04c66-ff59-40d1-a414-ebdb15a389f2", - "width": 170, - "x": 493, - "y": 300, - "zOrder": 0, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 75, - "layer": "", - "name": "Saw", - "persistentUuid": "8c073ed8-b5c1-44a4-805e-c7af80f24014", - "width": 74, - "x": 554, - "y": 348, - "zOrder": 10, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, { "angle": 0, "customSize": false, @@ -835,11 +831,11 @@ "customSize": false, "height": 0, "layer": "", - "name": "Saw", + "name": "Saw_TopLeft", "persistentUuid": "b1df6c0b-eb4f-4be9-9758-5cc4184a35e4", "width": 0, - "x": 722, - "y": 225, + "x": 662, + "y": 221, "zOrder": 28, "numberProperties": [], "stringProperties": [], @@ -848,13 +844,13 @@ { "angle": 0, "customSize": true, - "height": 66, + "height": 176, "layer": "", "name": "SummerTileWater", - "persistentUuid": "65f6a78d-5715-4e21-b12a-d34a59d15109", - "width": 77, - "x": 734, - "y": 302, + "persistentUuid": "118918d5-ac00-4278-abe6-515da1e3816e", + "width": 188, + "x": 626, + "y": 189, "zOrder": 0, "numberProperties": [], "stringProperties": [], @@ -863,14 +859,14 @@ { "angle": 0, "customSize": true, - "height": 71, + "height": 177, "layer": "", "name": "SummerTileWater", - "persistentUuid": "118918d5-ac00-4278-abe6-515da1e3816e", - "width": 188, - "x": 626, - "y": 189, - "zOrder": 0, + "persistentUuid": "1b96dea9-1205-4cb1-98c4-9b89974bb767", + "width": 84, + "x": 500, + "y": 188, + "zOrder": -1, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -880,27 +876,27 @@ "customSize": false, "height": 0, "layer": "", - "name": "Saw", - "persistentUuid": "3ed137c5-c0dc-4612-91df-c0137605426d", + "name": "Saw_TopLeft", + "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", "width": 0, - "x": 770, - "y": 327, - "zOrder": 28, + "x": 544, + "y": 275, + "zOrder": 29, "numberProperties": [], "stringProperties": [], "initialVariables": [] }, { "angle": 0, - "customSize": true, - "height": 177, + "customSize": false, + "height": 0, "layer": "", - "name": "SummerTileWater", - "persistentUuid": "1b96dea9-1205-4cb1-98c4-9b89974bb767", - "width": 84, - "x": 493, - "y": 192, - "zOrder": -1, + "name": "Saw_BottomLeft", + "persistentUuid": "dbc06742-fad8-46dc-bbfc-612eccf3fb8c", + "width": 0, + "x": 660, + "y": 337, + "zOrder": 30, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -910,12 +906,27 @@ "customSize": false, "height": 0, "layer": "", - "name": "Saw", - "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", + "name": "Saw_BottomRight", + "persistentUuid": "7ae8dd52-e6a8-498b-aec7-196c2afb86cf", "width": 0, - "x": 516, - "y": 323, - "zOrder": 29, + "x": 786, + "y": 334, + "zOrder": 31, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "layer": "", + "name": "Saw_TopRight", + "persistentUuid": "6e4401f1-56a3-47ff-a235-47330dcd02f3", + "width": 0, + "x": 780, + "y": 222, + "zOrder": 32, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -1022,7 +1033,8 @@ "r": 111 }, "absoluteCoordinates": true, - "clearBetweenFrames": true + "clearBetweenFrames": true, + "antialiasing": "none" }, { "assetStoreId": "", @@ -1046,7 +1058,8 @@ "r": 208 }, "absoluteCoordinates": true, - "clearBetweenFrames": true + "clearBetweenFrames": true, + "antialiasing": "none" }, { "assetStoreId": "e8d619ef35124fd6ba96fafde6790bdd7f80b9c65b4bccfbcbdb4e5025bc2788", @@ -1497,7 +1510,8 @@ "r": 0 }, "absoluteCoordinates": false, - "clearBetweenFrames": true + "clearBetweenFrames": true, + "antialiasing": "none" }, { "assetStoreId": "", @@ -1555,7 +1569,8 @@ "r": 0 }, "absoluteCoordinates": false, - "clearBetweenFrames": true + "clearBetweenFrames": true, + "antialiasing": "none" }, { "assetStoreId": "14d7be205d64a5719d7d63a4cc681d984a67948efe4caa888fd054e268dad255", @@ -1880,7 +1895,7 @@ }, { "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw", + "name": "Saw_TopLeft", "tags": "", "type": "Sprite", "updateIfNotVisible": false, @@ -2086,186 +2101,807 @@ ] }, { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Reverse_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Reverse\nDirection", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "MoveToCorner_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Move to \nCorner", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "MovementDirection_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Movement\nDirection", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "HorizontalDuration_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Horizontal Duration", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "VerticalDuration_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Vertical Duration", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "InstructionsShip_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Drag corners to change ship path", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "InstructionsSaw_Text", - "smoothed": true, + "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", + "name": "Saw_BottomLeft", "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "Sprite", + "updateIfNotVisible": false, "variables": [], "effects": [], - "behaviors": [], - "string": "Drag blue objects to move saw path", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - } - ], - "events": [ - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "folded": true, - "name": "Speed", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "behaviors": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 2, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "bounce", + "InitialPosition": "Bottom-left corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "On", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.05, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_On_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Off", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_Off.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", + "name": "Saw_BottomRight", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 2, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "bounce", + "InitialPosition": "Bottom-right corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "On", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.05, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_On_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Off", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_Off.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", + "name": "Saw_TopRight", + "tags": "", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "RectangleMovement", + "type": "RectangleMovement::RectangleMovement", + "Width": 100, + "Height": 100, + "Clockwise": true, + "HorizontalEdgeDuration": 2, + "VerticalEdgeDuration": 1, + "Left": 1, + "Top": 1, + "Progress": 1, + "OldX": 1, + "OldY": 1, + "Easing": "bounce", + "InitialPosition": "Top-right corner", + "ToogleClockwise": false + } + ], + "animations": [ + { + "name": "On", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.05, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_On_1.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_2.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_3.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_4.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_5.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_6.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_7.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + }, + { + "hasCustomCollisionMask": false, + "image": "Saw_On_8.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + }, + { + "name": "Off", + "useMultipleDirections": false, + "directions": [ + { + "looping": true, + "timeBetweenFrames": 0.025, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Saw_Off.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 19, + "y": 19 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Reverse_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Reverse\nDirection", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MoveToCorner_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Move to \nCorner", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "MovementDirection_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Movement\nDirection", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "HorizontalDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Horizontal Duration", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "VerticalDuration_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Vertical Duration", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "InstructionsShip_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Drag corners to change ship path", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + }, + { + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "InstructionsSaw_Text", + "smoothed": true, + "tags": "", + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [], + "string": "Drag blue objects to move saw path", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 255, + "g": 255, + "r": 255 + } + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Speed", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "DepartScene" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { "value": "DraggableSliderControl::DraggableSliderControl::SetValue" }, "parameters": [ @@ -3330,57 +3966,46 @@ "textG": 0, "textR": 0 }, - "comment": "Non-gehavior action (handles object linking)", + "comment": "Non-behavior action (handles object linking)", "comment2": "" }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], + "conditions": [], "actions": [ { "type": { - "value": "RectangleMovement::LinkCollidingObjects" + "value": "RectangleMovement::MoveAlongObjectLinked" }, "parameters": [ "", - "Saw", + "Saws", + "RectangleMovement", "SummerTileWater", "" ] - }, - { - "type": { - "value": "TiledSpriteObject::SetOpacity" - }, - "parameters": [ - "SummerTileWater", - "=", - "210" - ] } ] }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], "actions": [ { "type": { - "value": "RectangleMovement::MoveAlongObject" + "value": "TiledSpriteObject::SetOpacity" }, "parameters": [ - "", - "Saw", - "RectangleMovement", "SummerTileWater", - "" + "=", + "210" ] } ] @@ -7468,6 +8093,7 @@ "fullName": "Move along the rectangular border of an object", "functionType": "Action", "name": "MoveAlongObject", + "private": true, "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", "events": [ { @@ -7478,10 +8104,11 @@ "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" + "value": "RectangleMovement::LinkObjectsPointInside" }, "parameters": [ "", @@ -7490,6 +8117,21 @@ "" ] } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "CenterObject", + "MovingObject.BoundingBoxCenterX()", + "MovingObject.BoundingBoxCenterY()" + ] + } ], "actions": [ { @@ -7561,11 +8203,191 @@ ], "objectGroups": [] }, + { + "description": "Set rectangular movement to follow the border of an object. Run once, or every time the center object moves. Objects will be linked to each other.", + "fullName": "Set rectangular movement to follow the border of an object", + "functionType": "Action", + "name": "MoveAlongObjectLinked", + "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create object link if one has not been created", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "CenterObject", + "MovingObject.BoundingBoxCenterX()", + "MovingObject.BoundingBoxCenterY()" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update rectangular movement to follow the border of object", + "comment2": "" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxRight()", + "" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + }, + { + "description": "Rectangle Movement (required)", + "name": "RectangleMovement", + "supplementaryInformation": "RectangleMovement::RectangleMovement", + "type": "behavior" + }, + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, { "description": "Create an object link between two objects that are colliding with each other.", "fullName": "Create object link between colliding objects", "functionType": "Action", "name": "LinkCollidingObjects", + "private": true, "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that are colliding with each other", "events": [ { @@ -7667,6 +8489,111 @@ } ], "objectGroups": [] + }, + { + "description": "Create an object link between moving objects that have a center point inside the center object.", + "fullName": "Create object link (if needed) between moving object and center object", + "functionType": "Action", + "name": "LinkObjectsPointInside", + "sentence": "Create an object link between _PARAM1_ that has a center point inside _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "CenterObject", + "__RectangleMovement.Linked", + "False" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "CenterObject", + "MovingObject.BoundingBoxCenterX()", + "MovingObject.BoundingBoxCenterY()" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "True" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "CenterObject", + "__RectangleMovement.Linked", + "True" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + }, + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + } + ], + "objectGroups": [] } ], "eventsBasedBehaviors": [ From df644d10b9ef39ea918ae13dbe48e5ad7ae6e6e6 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Wed, 26 Apr 2023 22:41:10 -0600 Subject: [PATCH 13/29] Clean up --- .../rectangular-movement.json | 400 ++---------------- 1 file changed, 36 insertions(+), 364 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 09c121cda..19c5991fe 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -1909,13 +1909,13 @@ "Height": 100, "Clockwise": true, "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1, + "VerticalEdgeDuration": 2, "Left": 1, "Top": 1, "Progress": 1, "OldX": 1, "OldY": 1, - "Easing": "bounce", + "Easing": "easeInOutQuad", "InitialPosition": "Top-left corner", "ToogleClockwise": false } @@ -2116,13 +2116,13 @@ "Height": 100, "Clockwise": true, "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1, + "VerticalEdgeDuration": 2, "Left": 1, "Top": 1, "Progress": 1, "OldX": 1, "OldY": 1, - "Easing": "bounce", + "Easing": "easeInOutQuad", "InitialPosition": "Bottom-left corner", "ToogleClockwise": false } @@ -2329,7 +2329,7 @@ "Progress": 1, "OldX": 1, "OldY": 1, - "Easing": "bounce", + "Easing": "easeInOutQuad", "InitialPosition": "Bottom-right corner", "ToogleClockwise": false } @@ -2530,13 +2530,13 @@ "Height": 100, "Clockwise": true, "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1, + "VerticalEdgeDuration": 2, "Left": 1, "Top": 1, "Progress": 1, "OldX": 1, "OldY": 1, - "Easing": "bounce", + "Easing": "easeInOutQuad", "InitialPosition": "Top-right corner", "ToogleClockwise": false } @@ -3656,10 +3656,33 @@ "colorR": 74, "creationTime": 0, "folded": true, - "name": "Draw", + "name": "Draw border", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "TiledSpriteObject::SetOpacity" + }, + "parameters": [ + "SummerTileWater", + "=", + "210" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -3975,7 +3998,7 @@ "actions": [ { "type": { - "value": "RectangleMovement::MoveAlongObjectLinked" + "value": "RectangleMovement::MoveAlongBorderOfObject" }, "parameters": [ "", @@ -3986,29 +4009,6 @@ ] } ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "TiledSpriteObject::SetOpacity" - }, - "parameters": [ - "SummerTileWater", - "=", - "210" - ] - } - ] } ], "parameters": [] @@ -8089,126 +8089,11 @@ "dependencies": [], "eventsFunctions": [ { - "description": "Move along the rectangular border of an object. Run once, or every time the center object moves.", - "fullName": "Move along the rectangular border of an object", - "functionType": "Action", - "name": "MoveAlongObject", - "private": true, - "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::LinkObjectsPointInside" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "CenterObject", - "MovingObject.BoundingBoxCenterX()", - "MovingObject.BoundingBoxCenterY()" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxRight()", - "" - ] - } - ] - } - ] - } - ], - "parameters": [ - { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - }, - { - "description": "Rectangle Movement (required)", - "name": "RectangleMovement", - "supplementaryInformation": "RectangleMovement::RectangleMovement", - "type": "behavior" - }, - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Set rectangular movement to follow the border of an object. Run once, or every time the center object moves. Objects will be linked to each other.", - "fullName": "Set rectangular movement to follow the border of an object", + "description": "Update rectangular movement to follow the border of an object. Run once, or every time the center object moves.", + "fullName": "Update rectangular movement to follow the border of an object", "functionType": "Action", - "name": "MoveAlongObjectLinked", - "sentence": "Move _PARAM1_ along the rectangular border of _PARAM3_", + "name": "MoveAlongBorderOfObject", + "sentence": "Update rectangular movement of _PARAM1_ to follow the border of _PARAM3_", "events": [ { "type": "BuiltinCommonInstructions::ForEach", @@ -8381,219 +8266,6 @@ } ], "objectGroups": [] - }, - { - "description": "Create an object link between two objects that are colliding with each other.", - "fullName": "Create object link between colliding objects", - "functionType": "Action", - "name": "LinkCollidingObjects", - "private": true, - "sentence": "Create an object link between _PARAM1_ and the _PARAM2_ that are colliding with each other", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "FirstObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "SecondObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "FirstObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "SecondObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "CollisionNP" - }, - "parameters": [ - "FirstObject", - "SecondObject", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "FirstObject", - "SecondObject" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "SecondObject", - "__RectangleMovement.Linked", - "True" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "FirstObject", - "__RectangleMovement.Linked", - "True" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [ - { - "description": "First object", - "name": "FirstObject", - "type": "objectList" - }, - { - "description": "Second object", - "name": "SecondObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Create an object link between moving objects that have a center point inside the center object.", - "fullName": "Create object link (if needed) between moving object and center object", - "functionType": "Action", - "name": "LinkObjectsPointInside", - "sentence": "Create an object link between _PARAM1_ that has a center point inside _PARAM2_", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "CenterObject", - "__RectangleMovement.Linked", - "False" - ] - }, - { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "CenterObject", - "MovingObject.BoundingBoxCenterX()", - "MovingObject.BoundingBoxCenterY()" - ] - } - ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "True" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "CenterObject", - "__RectangleMovement.Linked", - "True" - ] - } - ] - } - ] - } - ] - } - ], - "parameters": [ - { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - }, - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" - } - ], - "objectGroups": [] } ], "eventsBasedBehaviors": [ From a503a233c4dae8432cbbb3dc755a8f118fdefa9e Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Fri, 28 Apr 2023 06:44:22 -0600 Subject: [PATCH 14/29] Linked object based on distance to closest edge --- .../rectangular-movement.json | 472 +++++++++++++----- 1 file changed, 345 insertions(+), 127 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 19c5991fe..11d48fcaf 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -8096,155 +8096,373 @@ "sentence": "Update rectangular movement of _PARAM1_ to follow the border of _PARAM3_", "events": [ { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Create object link (if one has not been created)", + "source": "", + "type": "BuiltinCommonInstructions::Group", "events": [ { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", - "conditions": [], - "actions": [], - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 + "type": { + "value": "ObjectVariableAsBoolean" }, - "comment": "Create object link if one has not been created", - "comment2": "" - }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + } + ], + "actions": [], + "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "ObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "False" - ] - }, + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Find closest distance", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "CollisionPoint" - }, - "parameters": [ - "CenterObject", - "MovingObject.BoundingBoxCenterX()", - "MovingObject.BoundingBoxCenterY()" + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Set initial value if one doesn't exist or is lower than existing", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeX", + "=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeX", + ">", + "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeX", + "=", + "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeY", + "=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeY", + ">", + "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdgeY", + "=", + "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdge", + "=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdge", + ">", + "min(MovingObject.Variable(DistanceToClosestEdgeX), MovingObject.Variable(DistanceToClosestEdgeY))" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "DistanceToClosestEdge", + "=", + "min(MovingObject.Variable(DistanceToClosestEdgeX), MovingObject.Variable(DistanceToClosestEdgeY))" + ] + } + ] + } + ], + "parameters": [] + } + ] + } ] } ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject" - ] - }, - { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "True" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update rectangular movement to follow the border of object", - "comment2": "" + "parameters": [] }, { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Link objects that had the closest distance", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject", - "" + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", + "=", + "MovingObject.Variable(DistanceToClosestEdge)" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "True" + ] + } + ] + } + ] + } ] } ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update rectangular movement to follow the border of object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::ForEach", + "object": "MovingObject", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxRight()", - "" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxRight()", + "" + ] + } ] } ] } ] } - ] + ], + "parameters": [] } ], "parameters": [ From 5086ec93e1ec2c3589f4493e73ba0458b43c3f9c Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Fri, 28 Apr 2023 20:18:15 -0600 Subject: [PATCH 15/29] Applied review suggestions --- .../assets/9patch_Bordered Hud_all_32.png | Bin 0 -> 716 bytes .../assets/tiled_Summer Tile Water.png | Bin 179 -> 0 bytes .../rectangular-movement.json | 399 ++++++++++-------- 3 files changed, 214 insertions(+), 185 deletions(-) create mode 100644 examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png delete mode 100644 examples/rectangular-movement/assets/tiled_Summer Tile Water.png diff --git a/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png b/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png new file mode 100644 index 0000000000000000000000000000000000000000..0ae30fb57b02f146824de813833a519da340a486 GIT binary patch literal 716 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9F5he4R}c>anM1_q`& zPZ!6KiaBrRdixzV5OLky$R}BOxqEG{Gh7ZA^ zoE#kaq6!KE3GdG?V)~Qd!u{#6pz#6z6{Q9(%#7c3L_{C3D@IL_Z{s=0!@+W6b3jOg zd`pI7orDpKF;LTar$EL!fm>DFkF-yIG5Hh8R8$=;Fkzn1gvYpMZ=4pNS^~&NMhQ*mAqF{&4INd(y7x zY{1M!tg9dfyy@Y#uerz1F~31ly7=b2b*wBO>KrPx8@@9q)#`S9XI`|I;h#`nsmFuA zK$}d3TN&(mE;jvfIKp!ye2&B+PR4h{1p&yijBewG`dd?09n=>(kT~yT^$hjnH|72u zzge{4^Fpp4i-NaWUiuSZ`>%Fc&FSLnzs2o>>$;vQGj3M7(xcc=x3Ki?>;8lBF^A+> zOC*2Pt85Y5sLpto_p;0%YtFSv91Efo&Wf&yuhHdOR()1t?>>eXuZ$;t{dYDRm^>Lg MUHx3vIVCg!0B|58G5`Po literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/tiled_Summer Tile Water.png b/examples/rectangular-movement/assets/tiled_Summer Tile Water.png deleted file mode 100644 index 7f4289b7c7193de7818c080336e4a76b477eb8ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F3${@^GvDCf{D46Q$ z;uunK>+J", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdgeX", + ">", + "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" ] } ], @@ -8191,7 +8258,7 @@ }, "parameters": [ "MovingObject", - "DistanceToClosestEdgeX", + "__RectangleMovement.DistanceToClosestEdgeX", "=", "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" ] @@ -8203,32 +8270,13 @@ "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Or" + "value": "VarObjet" }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "DistanceToClosestEdgeY", - "=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "DistanceToClosestEdgeY", - ">", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdgeY", + ">", + "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" ] } ], @@ -8239,7 +8287,7 @@ }, "parameters": [ "MovingObject", - "DistanceToClosestEdgeY", + "__RectangleMovement.DistanceToClosestEdgeY", "=", "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" ] @@ -8251,32 +8299,13 @@ "conditions": [ { "type": { - "value": "BuiltinCommonInstructions::Or" + "value": "VarObjet" }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "DistanceToClosestEdge", - "=", - "0" - ] - }, - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "DistanceToClosestEdge", - ">", - "min(MovingObject.Variable(DistanceToClosestEdgeX), MovingObject.Variable(DistanceToClosestEdgeY))" - ] - } + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdge", + ">", + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" ] } ], @@ -8287,9 +8316,9 @@ }, "parameters": [ "MovingObject", - "DistanceToClosestEdge", + "__RectangleMovement.DistanceToClosestEdge", "=", - "min(MovingObject.Variable(DistanceToClosestEdgeX), MovingObject.Variable(DistanceToClosestEdgeY))" + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" ] } ] @@ -8305,11 +8334,11 @@ "parameters": [] }, { - "colorB": 228, - "colorG": 176, - "colorR": 74, + "colorB": 224, + "colorG": 16, + "colorR": 189, "creationTime": 0, - "name": "Link objects that had the closest distance", + "name": "Link objects that have the closest distance", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -8335,7 +8364,7 @@ "parameters": [ "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", "=", - "MovingObject.Variable(DistanceToClosestEdge)" + "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" ] } ], @@ -8385,13 +8414,13 @@ "events": [ { "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", + "object": "MovingObject", "conditions": [], "actions": [], "events": [ { "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", + "object": "CenterObject", "conditions": [], "actions": [], "events": [ From 15b54a9a23afa803be07f310d23959e50a0cf691 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 29 Apr 2023 02:20:36 +0000 Subject: [PATCH 16/29] Optimised images with calibre/image-actions --- .../assets/9patch_Bordered Hud_all_32.png | Bin 716 -> 524 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png b/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png index 0ae30fb57b02f146824de813833a519da340a486..d78abacbf4fa60e1d2d4fe1c6ea9b417245965ba 100644 GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9F5he4R}c>anM1_s7` zo-U3d6}R5rb@Xd75MfKudvIy0clj~r9UuAToiwgw^lz0EKI^bx>8)=EKTO<{5?1@< ze_8@Zt`*PAKfnFCJl5_zpX!SG$RGCVHx@l(-10{B?tYeql^@bs zA{sh)|F2=tY{~gCee#-E-Q#`l;=49*6M_}WUi|asaAokm-xK%nj@Q#V*4Yd#@#2g?f8hcL;usaK z)a%nHpiX2bQ=DVGvMbU;qXy zD?c?Hda~u=6>zgh}J@R3=K9f(ne`6_7@?tUj-|qgvt-SxZU%WD&n0D;^Es))wu6{1- HoD!ManM1_q`& zPZ!6KiaBrRdixzV5OLky$R}BOxqEG{Gh7ZA^ zoE#kaq6!KE3GdG?V)~Qd!u{#6pz#6z6{Q9(%#7c3L_{C3D@IL_Z{s=0!@+W6b3jOg zd`pI7orDpKF;LTar$EL!fm>DFkF-yIG5Hh8R8$=;Fkzn1gvYpMZ=4pNS^~&NMhQ*mAqF{&4INd(y7x zY{1M!tg9dfyy@Y#uerz1F~31ly7=b2b*wBO>KrPx8@@9q)#`S9XI`|I;h#`nsmFuA zK$}d3TN&(mE;jvfIKp!ye2&B+PR4h{1p&yijBewG`dd?09n=>(kT~yT^$hjnH|72u zzge{4^Fpp4i-NaWUiuSZ`>%Fc&FSLnzs2o>>$;vQGj3M7(xcc=x3Ki?>;8lBF^A+> zOC*2Pt85Y5sLpto_p;0%YtFSv91Efo&Wf&yuhHdOR()1t?>>eXuZ$;t{dYDRm^>Lg MUHx3vIVCg!0B|58G5`Po From 77d069d7e2d9abaa4875139a90fc3a5e3eae094e Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 4 May 2023 19:19:08 -0600 Subject: [PATCH 17/29] Applied more review suggestions to optimize performance Removed extra ForEach() loops and some redundant conditions --- .../rectangular-movement.json | 270 ++++++++---------- 1 file changed, 113 insertions(+), 157 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 7eddc4a24..2ae7359b7 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -2861,9 +2861,9 @@ "effects": [], "behaviors": [ { - "checkCollisionMask": true, "name": "Draggable", - "type": "DraggableBehavior::Draggable" + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": true } ] } @@ -8144,11 +8144,11 @@ "actions": [], "events": [ { - "colorB": 224, - "colorG": 16, - "colorR": 189, + "colorB": 228, + "colorG": 176, + "colorR": 74, "creationTime": 0, - "name": "Find the value of the closest distance", + "name": "Set a valid initial value by picking any Center object", "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ @@ -8159,98 +8159,74 @@ "actions": [], "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Set a valid initial value by picking any Center object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeX", - "=", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdgeX", + "=", + "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeY", - "=", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdgeY", + "=", + "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdge", - "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" - ] - } + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.DistanceToClosestEdge", + "=", + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" ] } - ], - "parameters": [] + ] }, { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Update value if distance is lower than existing minimum", + "source": "", + "type": "BuiltinCommonInstructions::Group", "events": [ { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Update value if distance is lower than existing minimum", - "source": "", - "type": "BuiltinCommonInstructions::Group", + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], "events": [ { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeX", - ">", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } - ], + "conditions": [], "actions": [ { "type": { @@ -8267,19 +8243,7 @@ }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "VarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeY", - ">", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } - ], + "conditions": [], "actions": [ { "type": { @@ -8323,75 +8287,67 @@ } ] } - ], - "parameters": [] + ] } - ] - } - ] - } - ], - "parameters": [] - }, - { - "colorB": 224, - "colorG": 16, - "colorR": 189, - "creationTime": 0, - "name": "Link objects that have the closest distance", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ + ], + "parameters": [] + }, { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", - "conditions": [], - "actions": [], + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Link objects that have the closest distance", + "source": "", + "type": "BuiltinCommonInstructions::Group", "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::CompareNumbers" - }, - "parameters": [ - "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", - "=", - "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" - ] - } - ], - "actions": [ - { - "type": { - "value": "LinkedObjects::LinkObjects" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject" - ] - }, + "type": "BuiltinCommonInstructions::ForEach", + "object": "CenterObject", + "conditions": [], + "actions": [], + "events": [ { - "type": { - "value": "SetObjectVariableAsBoolean" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.Linked", - "True" + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", + "=", + "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" + ] + } + ], + "actions": [ + { + "type": { + "value": "LinkedObjects::LinkObjects" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject" + ] + }, + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "True" + ] + } ] } ] } - ] + ], + "parameters": [] } ] } From 561099eaf5cbbcf765d5fc4e5d3db158b7c74b03 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 6 May 2023 08:42:12 -0600 Subject: [PATCH 18/29] Preparing to change to new functions --- .../rectangular-movement.json | 230 +++++++++++++++--- 1 file changed, 195 insertions(+), 35 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 2ae7359b7..99e0807bc 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -4000,18 +4000,6 @@ "", "" ] - }, - { - "type": { - "value": "RectangleMovement::MoveAlongBorderOfObject" - }, - "parameters": [ - "", - "Saws", - "RectangleMovement", - "SummerTileWater", - "" - ] } ] }, @@ -8111,6 +8099,123 @@ ], "dependencies": [], "eventsFunctions": [ + { + "description": "Distance to the closest vertical edge of an object", + "fullName": "Distance to the closest vertical edge of an object", + "functionType": "Expression", + "name": "DistanceToClosestVerticalEdge", + "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "min( abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + }, + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Distance to the closest horizontal edge of an object", + "fullName": "Distance to the closest horizontal edge of an object", + "functionType": "Expression", + "name": "DistanceToClosestHorizontalEdge", + "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "min( abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + }, + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, + { + "description": "Distance to the closest horizontal edge of an object", + "fullName": "Distance to the closest horizontal edge of an object", + "functionType": "Expression", + "name": "DistanceToClosestEdge", + "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "min( RectangleMovement::DistanceToClosestHorizontalEdge(CenterObject, MovingObject), RectangleMovement::DistanceToClosestVerticalEdge(CenterObject, MovingObject))" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Center object", + "name": "CenterObject", + "type": "objectList" + }, + { + "description": "Moving object", + "name": "MovingObject", + "type": "objectList" + } + ], + "objectGroups": [] + }, { "description": "Update rectangular movement to follow the border of an object. Run once, or every time the center object moves.", "fullName": "Update rectangular movement to follow the border of an object", @@ -8159,23 +8264,7 @@ "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeX", - "=", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } - ] - }, - { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8193,6 +8282,7 @@ ] }, { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8225,6 +8315,20 @@ "actions": [], "events": [ { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the distance to the closest horizontal side", + "comment2": "" + }, + { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8242,6 +8346,20 @@ ] }, { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save the distance to the closest vertical side", + "comment2": "" + }, + { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8259,20 +8377,39 @@ ] }, { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Update min distance value if one of the sides is closer than the current min distance value", + "comment2": "" + }, + { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", - "conditions": [ + "conditions": [], + "actions": [ { "type": { - "value": "VarObjet" + "value": "ModVarObjet" }, "parameters": [ "MovingObject", "__RectangleMovement.DistanceToClosestEdge", - ">", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" + "=", + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), \n(min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))))" ] } - ], + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], "actions": [ { "type": { @@ -8282,7 +8419,7 @@ "MovingObject", "__RectangleMovement.DistanceToClosestEdge", "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), \n(min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))))" ] } ] @@ -8307,9 +8444,32 @@ "conditions": [], "actions": [], "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Link the MovingObject that has the shortest distance (and don't create more links even if another object has the same distance)", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "MovingObject", + "__RectangleMovement.Linked", + "False" + ] + }, { "type": { "value": "BuiltinCommonInstructions::CompareNumbers" From caa9dc1b823d70db6f2f52817ffa743615712cbb Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 6 May 2023 08:47:04 -0600 Subject: [PATCH 19/29] Nice clean extension using new fancy functions :) --- .../rectangular-movement.json | 118 +----------------- 1 file changed, 3 insertions(+), 115 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 99e0807bc..82f8cf9da 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -8264,25 +8264,6 @@ "actions": [], "events": [ { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeY", - "=", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } - ] - }, - { - "disabled": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -8294,7 +8275,7 @@ "MovingObject", "__RectangleMovement.DistanceToClosestEdge", "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))" + "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)" ] } ] @@ -8314,99 +8295,6 @@ "conditions": [], "actions": [], "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save the distance to the closest horizontal side", - "comment2": "" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeX", - "=", - "min(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Save the distance to the closest vertical side", - "comment2": "" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdgeY", - "=", - "min(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Update min distance value if one of the sides is closer than the current min distance value", - "comment2": "" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "ModVarObjet" - }, - "parameters": [ - "MovingObject", - "__RectangleMovement.DistanceToClosestEdge", - "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), \n(min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))))" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -8419,7 +8307,7 @@ "MovingObject", "__RectangleMovement.DistanceToClosestEdge", "=", - "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), \n(min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeX), MovingObject.Variable(__RectangleMovement.DistanceToClosestEdgeY))))" + "min(MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge), RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject))" ] } ] @@ -8475,7 +8363,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "min(\nmin(abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight())), \nmin(abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom())))", + "RectangleMovement::DistanceToClosestEdge(CenterObject, MovingObject)", "=", "MovingObject.Variable(__RectangleMovement.DistanceToClosestEdge)" ] From 937df740726eb1887b4f90078349c7e42f342b01 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sat, 6 May 2023 08:49:57 -0600 Subject: [PATCH 20/29] Make new functions private --- examples/rectangular-movement/rectangular-movement.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 82f8cf9da..468ca38f2 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -8104,6 +8104,7 @@ "fullName": "Distance to the closest vertical edge of an object", "functionType": "Expression", "name": "DistanceToClosestVerticalEdge", + "private": true, "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", "events": [ { @@ -8143,6 +8144,7 @@ "fullName": "Distance to the closest horizontal edge of an object", "functionType": "Expression", "name": "DistanceToClosestHorizontalEdge", + "private": true, "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", "events": [ { @@ -8182,6 +8184,7 @@ "fullName": "Distance to the closest horizontal edge of an object", "functionType": "Expression", "name": "DistanceToClosestEdge", + "private": true, "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", "events": [ { From 0410ff46119fa415a85c30c7013853f94b772ed4 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sun, 14 May 2023 13:15:08 -0600 Subject: [PATCH 21/29] Removed unneeded ForEach(CenterObject) since object link picks correct Center object --- .../rectangular-movement.json | 148 +++++++++--------- 1 file changed, 70 insertions(+), 78 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 468ca38f2..268f17119 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -834,8 +834,8 @@ "name": "Saw_TopLeft", "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", "width": 0, - "x": 533, - "y": 197, + "x": 464, + "y": 177, "zOrder": 29, "numberProperties": [], "stringProperties": [], @@ -849,8 +849,8 @@ "name": "Saw_BottomLeft", "persistentUuid": "dbc06742-fad8-46dc-bbfc-612eccf3fb8c", "width": 0, - "x": 540, - "y": 389, + "x": 471, + "y": 395, "zOrder": 30, "numberProperties": [], "stringProperties": [], @@ -864,8 +864,8 @@ "name": "Saw_BottomRight", "persistentUuid": "7ae8dd52-e6a8-498b-aec7-196c2afb86cf", "width": 0, - "x": 765, - "y": 387, + "x": 739, + "y": 421, "zOrder": 31, "numberProperties": [], "stringProperties": [], @@ -879,8 +879,8 @@ "name": "Saw_TopRight", "persistentUuid": "6e4401f1-56a3-47ff-a235-47330dcd02f3", "width": 0, - "x": 766, - "y": 199, + "x": 807, + "y": 222, "zOrder": 32, "numberProperties": [], "stringProperties": [], @@ -894,8 +894,8 @@ "name": "BorderedHud", "persistentUuid": "83a14713-1a5a-4447-8c1b-ab18e60abcb8", "width": 75, - "x": 612, - "y": 255, + "x": 608, + "y": 254, "zOrder": 10, "numberProperties": [], "stringProperties": [], @@ -909,7 +909,7 @@ "name": "BorderedHud", "persistentUuid": "fe4899a6-6668-4069-826d-c4fa511e0a8b", "width": 245, - "x": 529, + "x": 530, "y": 191, "zOrder": 0, "numberProperties": [], @@ -924,8 +924,8 @@ "name": "Saw_TopLeft", "persistentUuid": "da7b905c-98af-4b17-a585-4bb12938ad13", "width": 0, - "x": 652, - "y": 297, + "x": 646, + "y": 294, "zOrder": 33, "numberProperties": [], "stringProperties": [], @@ -8421,76 +8421,68 @@ "events": [ { "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObject", + "object": "CenterObject", "conditions": [], "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::ForEach", - "object": "CenterObject", - "conditions": [], - "actions": [], - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "LinkedObjects::PickObjectsLinkedTo" - }, - "parameters": [ - "", - "MovingObject", - "CenterObject", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetTop" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxTop()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetBottom" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxBottom()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetLeft" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxLeft()", - "" - ] - }, - { - "type": { - "value": "RectangleMovement::RectangleMovement::SetRight" - }, - "parameters": [ - "MovingObject", - "RectangleMovement", - "CenterObject.BoundingBoxRight()", - "" - ] - } + "type": { + "value": "LinkedObjects::PickObjectsLinkedTo" + }, + "parameters": [ + "", + "MovingObject", + "CenterObject", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetTop" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxTop()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetBottom" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxBottom()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetLeft" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxLeft()", + "" + ] + }, + { + "type": { + "value": "RectangleMovement::RectangleMovement::SetRight" + }, + "parameters": [ + "MovingObject", + "RectangleMovement", + "CenterObject.BoundingBoxRight()", + "" ] } ] From 16b2bce30da09f498a880e7469569e08fed76a9d Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Sun, 14 May 2023 22:08:06 -0600 Subject: [PATCH 22/29] Fixed distance calculation when outside of an object - Added temp testing scene for new functions --- .../rectangular-movement/assets/NewSprite.png | Bin 0 -> 202 bytes .../assets/NewSprite2.png | Bin 0 -> 203 bytes .../rectangular-movement.json | 589 +++++++++++++++--- 3 files changed, 514 insertions(+), 75 deletions(-) create mode 100644 examples/rectangular-movement/assets/NewSprite.png create mode 100644 examples/rectangular-movement/assets/NewSprite2.png diff --git a/examples/rectangular-movement/assets/NewSprite.png b/examples/rectangular-movement/assets/NewSprite.png new file mode 100644 index 0000000000000000000000000000000000000000..b5a789c21d9059733be6840770599a689122f7fa GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|T0C7GLn`9l zUS||!P~c%UOk-QwaY%;ar^3SHvtGZczQ?s+utEL-ONqk{=IKI97+5tN7`a-64=Au1 zb~y612^zE+0O=%wW(gkk1}H;0ffpoj1gJ*Bj{(YXJ0JxT04X+@!vJOUG?;cAv}%^W YkvOyQ+oaq5K=&|sy85}Sb4q9e0I5?u4*&oF literal 0 HcmV?d00001 diff --git a/examples/rectangular-movement/assets/NewSprite2.png b/examples/rectangular-movement/assets/NewSprite2.png new file mode 100644 index 0000000000000000000000000000000000000000..ce577e73ce54cef52e9ca94205b1e3cde37ad9b4 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|T0LDHLn`9l zUS||!P~c%URO4m-F};yl;FF_Mzv=ax&-aPeDKpp~;C#_gz^=", + "CenterObject.BoundingBoxLeft()" + ] + }, + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxRight()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + ">=", + "CenterObject.BoundingBoxTop()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxBottom()" + ] + } + ], "actions": [ { "type": { "value": "SetReturnNumber" }, "parameters": [ - "min( abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft()), abs(MovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxRight()))" + "min(\nmin(\nMovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop(), \nCenterObject.BoundingBoxBottom() - MovingObject.BoundingBoxCenterY()),\nmin(\nMovingObject.BoundingBoxCenterX() - CenterObject.BoundingBoxLeft(), \nCenterObject.BoundingBoxRight() - MovingObject.BoundingBoxCenterX())\n)" ] } ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" }, { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Distance to the closest horizontal edge of an object", - "fullName": "Distance to the closest horizontal edge of an object", - "functionType": "Expression", - "name": "DistanceToClosestHorizontalEdge", - "private": true, - "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", - "events": [ + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "If point is outside rectangle, find distance to clamped position on rectangle", + "comment2": "" + }, { "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + "<", + "CenterObject.BoundingBoxLeft()" + ] + }, + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + ">", + "CenterObject.BoundingBoxRight()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + "<", + "CenterObject.BoundingBoxTop()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + ">", + "CenterObject.BoundingBoxBottom()" + ] + } + ] + } + ], "actions": [ { "type": { "value": "SetReturnNumber" }, "parameters": [ - "min( abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxTop()), abs(MovingObject.BoundingBoxCenterY() - CenterObject.BoundingBoxBottom()))" + "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Clamp X:\" + ToString(clamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()))", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Clamp Y:\" + ToString(clamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom()))", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"MovingObject X:\" + ToString(MovingObject.BoundingBoxCenterX())", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"MovingObject Y:\" + ToString(MovingObject.BoundingBoxCenterY())", + "", + "" ] } ] - } - ], - "expressionType": { - "type": "expression" - }, - "parameters": [ - { - "description": "Center object", - "name": "CenterObject", - "type": "objectList" }, { - "description": "Moving object", - "name": "MovingObject", - "type": "objectList" - } - ], - "objectGroups": [] - }, - { - "description": "Distance to the closest horizontal edge of an object", - "fullName": "Distance to the closest horizontal edge of an object", - "functionType": "Expression", - "name": "DistanceToClosestEdge", - "private": true, - "sentence": "Distance from _PARAM1_ to the closest edge of _PARAM2_ ", - "events": [ - { + "disabled": true, "type": "BuiltinCommonInstructions::Standard", - "conditions": [], + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Not" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + ">=", + "CenterObject.BoundingBoxLeft()" + ] + }, + { + "type": { + "value": "CenterX" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxRight()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + ">=", + "CenterObject.BoundingBoxTop()" + ] + }, + { + "type": { + "value": "CenterY" + }, + "parameters": [ + "MovingObject", + "<=", + "CenterObject.BoundingBoxBottom()" + ] + } + ] + } + ], "actions": [ { "type": { "value": "SetReturnNumber" }, "parameters": [ - "min( RectangleMovement::DistanceToClosestHorizontalEdge(CenterObject, MovingObject), RectangleMovement::DistanceToClosestVerticalEdge(CenterObject, MovingObject))" + "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Clamp X:\" + ToString(clamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()))", + "", + "" + ] + }, + { + "type": { + "value": "DebuggerTools::ConsoleLog" + }, + "parameters": [ + "\"Clamp Y:\" + ToString(clamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom()))", + "", + "" ] } ] From fe24c6d7a62530754f1539ee418260a01ab48406 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 04:11:42 +0000 Subject: [PATCH 23/29] Optimised images with calibre/image-actions --- .../rectangular-movement/assets/NewSprite.png | Bin 202 -> 179 bytes .../rectangular-movement/assets/NewSprite2.png | Bin 203 -> 180 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/rectangular-movement/assets/NewSprite.png b/examples/rectangular-movement/assets/NewSprite.png index b5a789c21d9059733be6840770599a689122f7fa..a2f27b70ee1f96783cde053f97c85abbbe5e7be6 100644 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GGLLkg|>2BR0pkS(} zi(^Q|t+y8(1sNDv7z{F9M7=DFEUMQWP}==$vw(s_0|O%y3kOAvchM^igRGg4Oj!c7 OkipZ{&t;ucLK6TPt0lAm delta 174 zcmdnYc#3g?NGZx^prw85kH^JY5_^D&pQ=XB1>m;9)jQV_VsANQUF5!ouUT zUcafn$F*OuLH+?tiNg-&=|W2wST!6Nxmtt|D6koJIP$a!8nhVz=_G+>2_E$ZC__1c z7bI{5s7At%0m^VYAO#WtDppT2n8N^OB^mTIn06erYL>r|IJ5EFq}%;K2QhfM`njxg HN@xNAcf>dw diff --git a/examples/rectangular-movement/assets/NewSprite2.png b/examples/rectangular-movement/assets/NewSprite2.png index ce577e73ce54cef52e9ca94205b1e3cde37ad9b4..bf40c3b3beb9b16611148ad70739bbd2cf5e23d1 100644 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GGLLkg|>2BR0pkSJ( zi(^Q|t+y8(1sNDv7!0n8T(ECrds6T%qR}<%e7d4T0|O%y3x|LLC5$`Uiv%8dh573% Q0BvOOboFyt=akR{0IO~$TmS$7 delta 175 zcmdnOc$#s7NGZx^prw85kH^JzX3_D&pQ=XB1>m;9)jY<7NIay^&eqlcQ6= z>Ghk>_lediGuR*Ce9=(AuBYn3$Q97QB*LNI;K-9C&@92DoWPR^q>m`D8A|vuKpAca zq(A~4Ks5$)7@&-v22+rLK(mI#kpv4yu=XPf5{%gb&82Mi>rLk${4C__26PdFr>mdK II;Vst0Gc5*rvLx| From 5d678e3e85f2871664d68cd508e37161cefef6e4 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 1 Jun 2023 18:27:30 -0600 Subject: [PATCH 24/29] Cleanup of extension (remove console logs) The new 3D features also have created a lot of new things... --- .../rectangular-movement.json | 270 ++++-------------- 1 file changed, 56 insertions(+), 214 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 2811b942c..5fc15b24e 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -3999,8 +3999,7 @@ "textG": 0, "textR": 0 }, - "comment": "Non-behavior action (handles object linking)", - "comment2": "" + "comment": "Non-behavior action (handles object linking)" }, { "disabled": true, @@ -4048,9 +4047,14 @@ "ambientLightColorB": 0, "ambientLightColorG": 7893896, "ambientLightColorR": 16, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, "followBaseLayerCamera": false, "isLightingLayer": false, + "isLocked": false, "name": "", + "renderingType": "", "visibility": true, "cameras": [ { @@ -4225,9 +4229,9 @@ "effects": [], "behaviors": [ { - "checkCollisionMask": true, "name": "Draggable", - "type": "DraggableBehavior::Draggable" + "type": "DraggableBehavior::Draggable", + "checkCollisionMask": true } ], "animations": [ @@ -4305,9 +4309,14 @@ "ambientLightColorB": 9688048, "ambientLightColorG": 150995054, "ambientLightColorR": 1869182049, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 0.1, "followBaseLayerCamera": false, "isLightingLayer": false, + "isLocked": false, "name": "", + "renderingType": "", "visibility": true, "cameras": [ { @@ -4400,8 +4409,7 @@ "textG": 0, "textR": 0 }, - "comment": "Make sure object doesn't get re-drawn every frame", - "comment2": "" + "comment": "Make sure object doesn't get re-drawn every frame" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4428,8 +4436,7 @@ "textG": 0, "textR": 0 }, - "comment": "Use correct min value (instead of always starting at 0)", - "comment2": "" + "comment": "Use correct min value (instead of always starting at 0)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4458,8 +4465,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set track height function (which enforces valid thumb sizes)", - "comment2": "" + "comment": "Set track height function (which enforces valid thumb sizes)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4488,8 +4494,7 @@ "textG": 0, "textR": 0 }, - "comment": "Start halo at same size as thumb", - "comment2": "" + "comment": "Start halo at same size as thumb" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4582,8 +4587,7 @@ "textG": 0, "textR": 0 }, - "comment": "Track where the mouse is (in relation to object)", - "comment2": "" + "comment": "Track where the mouse is (in relation to object)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4623,8 +4627,7 @@ "textG": 0, "textR": 0 }, - "comment": "Move slider when being dragged", - "comment2": "" + "comment": "Move slider when being dragged" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4673,8 +4676,7 @@ "textG": 0, "textR": 0 }, - "comment": "End sliding and update variables", - "comment2": "" + "comment": "End sliding and update variables" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4712,8 +4714,7 @@ "textG": 0, "textR": 0 }, - "comment": "Update \"Value\" based on the location of the thumb", - "comment2": "" + "comment": "Update \"Value\" based on the location of the thumb" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4742,8 +4743,7 @@ "textG": 0, "textR": 0 }, - "comment": "Grow halo even more when pressed", - "comment2": "" + "comment": "Grow halo even more when pressed" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4774,8 +4774,7 @@ "textG": 0, "textR": 0 }, - "comment": "Detect hover/touch/click (but only if the layer and object is visible, and the object is not already being dragged)", - "comment2": "" + "comment": "Detect hover/touch/click (but only if the layer and object is visible, and the object is not already being dragged)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4803,8 +4802,7 @@ "textG": 0, "textR": 0 }, - "comment": "Detect mouse clicks near track, start dragging", - "comment2": "" + "comment": "Detect mouse clicks near track, start dragging" }, { "type": "BuiltinCommonInstructions::Standard", @@ -4906,8 +4904,7 @@ "textG": 0, "textR": 0 }, - "comment": "Reset hover detection ", - "comment2": "" + "comment": "Reset hover detection " }, { "type": "BuiltinCommonInstructions::Standard", @@ -4935,8 +4932,7 @@ "textG": 0, "textR": 0 }, - "comment": "Grow halo when hovered", - "comment2": "" + "comment": "Grow halo when hovered" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5026,8 +5022,7 @@ "textG": 0, "textR": 0 }, - "comment": "Shrink halo to zero when not hovered", - "comment2": "" + "comment": "Shrink halo to zero when not hovered" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5088,8 +5083,7 @@ "textG": 0, "textR": 0 }, - "comment": "Redraw slider only when halo is not at final size", - "comment2": "" + "comment": "Redraw slider only when halo is not at final size" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5275,8 +5269,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set inactive track parameters (by default, use thumb color)", - "comment2": "" + "comment": "Set inactive track parameters (by default, use thumb color)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5368,8 +5361,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw inactive track", - "comment2": "" + "comment": "Draw inactive track" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5399,8 +5391,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw half circle at end of track (inactive side)", - "comment2": "" + "comment": "Draw half circle at end of track (inactive side)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5455,8 +5446,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set active track parameters (by default, use thumb color)", - "comment2": "" + "comment": "Set active track parameters (by default, use thumb color)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5538,8 +5528,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw active track (2 pixels bigger than property) ", - "comment2": "" + "comment": "Draw active track (2 pixels bigger than property) " }, { "type": "BuiltinCommonInstructions::Standard", @@ -5569,8 +5558,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw half circle at end of track (active side)", - "comment2": "" + "comment": "Draw half circle at end of track (active side)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5642,8 +5630,7 @@ "textG": 0, "textR": 0 }, - "comment": "Prepare halo", - "comment2": "" + "comment": "Prepare halo" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5680,8 +5667,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw halo (it will grow or shrink as needed)", - "comment2": "" + "comment": "Draw halo (it will grow or shrink as needed)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5731,8 +5717,7 @@ "textG": 0, "textR": 0 }, - "comment": "Use a more opaque halo while being dragged (it will grow or shrink as needed)", - "comment2": "" + "comment": "Use a more opaque halo while being dragged (it will grow or shrink as needed)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5795,8 +5780,7 @@ "textG": 0, "textR": 0 }, - "comment": "Prepare thumb settings", - "comment2": "" + "comment": "Prepare thumb settings" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5833,8 +5817,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw Circle thumb", - "comment2": "" + "comment": "Draw Circle thumb" }, { "type": "BuiltinCommonInstructions::Standard", @@ -5875,8 +5858,7 @@ "textG": 0, "textR": 0 }, - "comment": "Draw Rectangle thumb", - "comment2": "" + "comment": "Draw Rectangle thumb" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6075,8 +6057,7 @@ "textG": 0, "textR": 0 }, - "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)", - "comment2": "" + "comment": "Stop dragging (so the slider won't be dragging when it gets enabled)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6104,8 +6085,7 @@ "textG": 0, "textR": 0 }, - "comment": "Reset halo size (so halo won't appear when slider gets enabled)", - "comment2": "" + "comment": "Reset halo size (so halo won't appear when slider gets enabled)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6365,8 +6345,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set the proper offset (it moves the slider)", - "comment2": "" + "comment": "Set the proper offset (it moves the slider)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6903,8 +6882,7 @@ "textG": 0, "textR": 0 }, - "comment": "Move thumb to correct place (based on new track size)", - "comment2": "" + "comment": "Move thumb to correct place (based on new track size)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -6990,8 +6968,7 @@ "textG": 0, "textR": 0 }, - "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)", - "comment2": "" + "comment": "Make sure thumb width is not smaller than track height + 2 pixels (to prevent track ends from showing)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -7091,8 +7068,7 @@ "textG": 0, "textR": 0 }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", - "comment2": "" + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -7177,8 +7153,7 @@ "textG": 0, "textR": 0 }, - "comment": "Thumb cannot be less than track thickness (plus 2 pixels)", - "comment2": "" + "comment": "Thumb cannot be less than track thickness (plus 2 pixels)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -7461,8 +7436,7 @@ "textG": 0, "textR": 0 }, - "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)", - "comment2": "" + "comment": "Make sure thumb width is not smaller than track height (to prevent track ends from showing)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -8382,8 +8356,7 @@ "textG": 0, "textR": 0 }, - "comment": "If point is inside rectangle, just use min distance", - "comment2": "" + "comment": "If point is inside rectangle, just use min distance" }, { "type": "BuiltinCommonInstructions::Standard", @@ -8450,8 +8423,7 @@ "textG": 0, "textR": 0 }, - "comment": "If point is outside rectangle, find distance to clamped position on rectangle", - "comment2": "" + "comment": "If point is outside rectangle, find distance to clamped position on rectangle" }, { "type": "BuiltinCommonInstructions::Standard", @@ -8513,130 +8485,6 @@ "parameters": [ "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"Clamp X:\" + ToString(clamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()))", - "", - "" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"Clamp Y:\" + ToString(clamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom()))", - "", - "" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"MovingObject X:\" + ToString(MovingObject.BoundingBoxCenterX())", - "", - "" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"MovingObject Y:\" + ToString(MovingObject.BoundingBoxCenterY())", - "", - "" - ] - } - ] - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Not" - }, - "parameters": [], - "subInstructions": [ - { - "type": { - "value": "CenterX" - }, - "parameters": [ - "MovingObject", - ">=", - "CenterObject.BoundingBoxLeft()" - ] - }, - { - "type": { - "value": "CenterX" - }, - "parameters": [ - "MovingObject", - "<=", - "CenterObject.BoundingBoxRight()" - ] - }, - { - "type": { - "value": "CenterY" - }, - "parameters": [ - "MovingObject", - ">=", - "CenterObject.BoundingBoxTop()" - ] - }, - { - "type": { - "value": "CenterY" - }, - "parameters": [ - "MovingObject", - "<=", - "CenterObject.BoundingBoxBottom()" - ] - } - ] - } - ], - "actions": [ - { - "type": { - "value": "SetReturnNumber" - }, - "parameters": [ - "DistanceBetweenPositions(\nMovingObject.BoundingBoxCenterX(),\nMovingObject.BoundingBoxCenterY(),\nclamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()),\nclamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom())\n)" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"Clamp X:\" + ToString(clamp(MovingObject.BoundingBoxCenterX(), CenterObject.BoundingBoxLeft(), CenterObject.BoundingBoxRight()))", - "", - "" - ] - }, - { - "type": { - "value": "DebuggerTools::ConsoleLog" - }, - "parameters": [ - "\"Clamp Y:\" + ToString(clamp(MovingObject.BoundingBoxCenterY(), CenterObject.BoundingBoxTop(), CenterObject.BoundingBoxBottom()))", - "", - "" - ] } ] } @@ -8784,8 +8632,7 @@ "textG": 0, "textR": 0 }, - "comment": "Link the MovingObject that has the shortest distance (and don't create more links even if another object has the same distance)", - "comment2": "" + "comment": "Link the MovingObject that has the shortest distance (and don't create more links even if another object has the same distance)" }, { "type": "BuiltinCommonInstructions::Standard", @@ -9004,8 +8851,7 @@ "textG": 0, "textR": 0 }, - "comment": "Set the initial state according to the configuration.", - "comment2": "" + "comment": "Set the initial state according to the configuration." }, { "type": "BuiltinCommonInstructions::Standard", @@ -9154,8 +9000,7 @@ "textG": 0, "textR": 0 }, - "comment": "Update the rectangle when the object is moved outside of the behavior.", - "comment2": "" + "comment": "Update the rectangle when the object is moved outside of the behavior." }, { "type": "BuiltinCommonInstructions::Standard", @@ -9195,8 +9040,7 @@ "textG": 0, "textR": 0 }, - "comment": "Move the object on the rectangular path.", - "comment2": "" + "comment": "Move the object on the rectangular path." }, { "type": "BuiltinCommonInstructions::Standard", @@ -9226,8 +9070,7 @@ "textG": 0, "textR": 0 }, - "comment": "Save the position to detect when the object is moved outside of the behavior.", - "comment2": "" + "comment": "Save the position to detect when the object is moved outside of the behavior." }, { "type": "BuiltinCommonInstructions::Standard", @@ -9289,8 +9132,7 @@ "textG": 0, "textR": 0 }, - "comment": "Step on the path.", - "comment2": "" + "comment": "Step on the path." }, { "type": "BuiltinCommonInstructions::Standard", From 92d06789542cdd494821e3939616c21031fffd81 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 1 Jun 2023 18:31:49 -0600 Subject: [PATCH 25/29] Removed new events and objects --- .../rectangular-movement.json | 1494 +---------------- 1 file changed, 11 insertions(+), 1483 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 5fc15b24e..bd2cd05a6 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -232,154 +232,6 @@ "name": "assets\\HorizontalEdgeIcon.png", "smoothed": true, "userAdded": true - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_Off.png", - "kind": "image", - "metadata": "", - "name": "Saw_Off.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/8215537950e4e02640f87df890132c2d9c19c42dbaf5d0cc8237272112941978_Saw_Off.png", - "name": "Saw_Off.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_1.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_1.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/8215537950e4e02640f87df890132c2d9c19c42dbaf5d0cc8237272112941978_Saw_On_1.png", - "name": "Saw_On_1.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_2.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_2.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/1d982f3e006a7ac6b76bca8cefbf716fd017b25f7e0218942276b4dd92ac1813_Saw_On_2.png", - "name": "Saw_On_2.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_3.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_3.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/b208726b0292bb1f401f3738902ec190c004841ae8c555b2817d9f19ef46ca62_Saw_On_3.png", - "name": "Saw_On_3.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_4.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_4.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/b6119060081879814ea630f152a39fb3c303d421b797515814c045b73b94abdf_Saw_On_4.png", - "name": "Saw_On_4.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_5.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_5.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/2cfa1cffe1380dd56016085e018c4b68844c6f669e67925dd365481f8ef26586_Saw_On_5.png", - "name": "Saw_On_5.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_6.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_6.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/75d8836f8bfc835f3217c0468d04f8aae970f136231c792f1251b73f5e868058_Saw_On_6.png", - "name": "Saw_On_6.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_7.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_7.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/6351b1a83d1930df91b19b49cc23a375aa154ee74f7a31280acc6abb6f1b1fd2_Saw_On_7.png", - "name": "Saw_On_7.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/Saw_On_8.png", - "kind": "image", - "metadata": "", - "name": "Saw_On_8.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Pixel Adventure Pack/Traps/Saw/63cce13ef5f9e917ed2de1359357510061e462e6cc8183553c0fb0c70a3c03f9_Saw_On_8.png", - "name": "Saw_On_8.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/9patch_Bordered Hud_all_32.png", - "kind": "image", - "metadata": "", - "name": "9patch_Bordered Hud_all_32.png", - "smoothed": false, - "userAdded": false, - "origin": { - "identifier": "https://asset-resources.gdevelop.io/public-resources/Western FPS 2D/Hud/998f3521bccc8b5fedee0a2f6891d6c2604964a6cb048c4858575443b3634f4d_9patch_Bordered Hud_all_32.png", - "name": "9patch_Bordered Hud_all_32.png" - } - }, - { - "alwaysLoaded": false, - "file": "assets/NewSprite.png", - "kind": "image", - "metadata": "{\"extension\":\".png\"}", - "name": "NewSprite", - "smoothed": true, - "userAdded": false - }, - { - "alwaysLoaded": false, - "file": "assets/NewSprite2.png", - "kind": "image", - "metadata": "{\"extension\":\".png\"}", - "name": "NewSprite2", - "smoothed": true, - "userAdded": false } ], "resourceFolders": [] @@ -448,23 +300,6 @@ "name": "Saw_TopRight" } ] - }, - { - "name": "Saws", - "objects": [ - { - "name": "Saw_TopLeft" - }, - { - "name": "Saw_BottomLeft" - }, - { - "name": "Saw_BottomRight" - }, - { - "name": "Saw_TopRight" - } - ] } ], "variables": [], @@ -477,8 +312,8 @@ "name": "Ship", "persistentUuid": "dd4c94fd-46c2-4295-a91f-dd5bd83adcdc", "width": 0, - "x": 83, - "y": 242, + "x": 264, + "y": 245, "zOrder": 3, "numberProperties": [], "stringProperties": [], @@ -822,129 +657,9 @@ "name": "InstructionsShip_Text", "persistentUuid": "299a4b99-214b-4dd4-a260-68c567e329d1", "width": 0, - "x": 49, - "y": 423, - "zOrder": 26, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "InstructionsSaw_Text", - "persistentUuid": "0caace04-0116-45e1-928f-944a81fb94a8", - "width": 0, - "x": 485, + "x": 260, "y": 426, - "zOrder": 27, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_TopLeft", - "persistentUuid": "589b6f8f-cf2e-40ea-ab88-81335dec0d96", - "width": 0, - "x": 527, - "y": 188, - "zOrder": 29, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_BottomLeft", - "persistentUuid": "dbc06742-fad8-46dc-bbfc-612eccf3fb8c", - "width": 0, - "x": 528, - "y": 380, - "zOrder": 30, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_BottomRight", - "persistentUuid": "7ae8dd52-e6a8-498b-aec7-196c2afb86cf", - "width": 0, - "x": 760, - "y": 380, - "zOrder": 31, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_TopRight", - "persistentUuid": "6e4401f1-56a3-47ff-a235-47330dcd02f3", - "width": 0, - "x": 758, - "y": 187, - "zOrder": 32, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 81, - "layer": "", - "name": "BorderedHud", - "persistentUuid": "83a14713-1a5a-4447-8c1b-ab18e60abcb8", - "width": 75, - "x": 606, - "y": 246, - "zOrder": 10, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": true, - "height": 205, - "layer": "", - "name": "BorderedHud", - "persistentUuid": "fe4899a6-6668-4069-826d-c4fa511e0a8b", - "width": 245, - "x": 520, - "y": 182, - "zOrder": 0, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "Saw_TopLeft", - "persistentUuid": "da7b905c-98af-4b17-a585-4bb12938ad13", - "width": 0, - "x": 613, - "y": 251, - "zOrder": 33, + "zOrder": 26, "numberProperties": [], "stringProperties": [], "initialVariables": [] @@ -1881,842 +1596,14 @@ ] }, { - "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw_TopLeft", + "assetStoreId": "", + "bold": true, + "italic": false, + "name": "Reverse_Text", + "smoothed": true, "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 2, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutQuad", - "InitialPosition": "Top-left corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "On", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.05, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_On_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Off", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_Off.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw_BottomLeft", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 2, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutQuad", - "InitialPosition": "Bottom-left corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "On", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.05, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_On_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Off", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_Off.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw_BottomRight", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 1, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutQuad", - "InitialPosition": "Bottom-right corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "On", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.05, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_On_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Off", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_Off.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "04458b0edc6d387709a7393d302010db9933d6d8fcd0e8150c6db22cdea18d2b", - "name": "Saw_TopRight", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "RectangleMovement", - "type": "RectangleMovement::RectangleMovement", - "Width": 100, - "Height": 100, - "Clockwise": true, - "HorizontalEdgeDuration": 2, - "VerticalEdgeDuration": 2, - "Left": 1, - "Top": 1, - "Progress": 1, - "OldX": 1, - "OldY": 1, - "Easing": "easeInOutQuad", - "InitialPosition": "Top-right corner", - "ToogleClockwise": false - } - ], - "animations": [ - { - "name": "On", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.05, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_On_1.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_2.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_3.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_4.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_5.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_6.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_7.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - }, - { - "hasCustomCollisionMask": false, - "image": "Saw_On_8.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - }, - { - "name": "Off", - "useMultipleDirections": false, - "directions": [ - { - "looping": true, - "timeBetweenFrames": 0.025, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Saw_Off.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 19, - "y": 19 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "Reverse_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, + "type": "TextObject::Text", + "underlined": false, "variables": [], "effects": [], "behaviors": [], @@ -2839,51 +1726,6 @@ "g": 255, "r": 255 } - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "InstructionsSaw_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Drag red objects and saws follow", - "font": "", - "textAlignment": "center", - "characterSize": 20, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "afbeb7d1b67ec8b51b3370ddfd8c4aa1bd9b925ee58ead50767f44e2e444d7ba", - "bottomMargin": 32, - "height": 96, - "leftMargin": 32, - "name": "BorderedHud", - "rightMargin": 32, - "tags": "", - "texture": "9patch_Bordered Hud_all_32.png", - "tiled": true, - "topMargin": 32, - "type": "PanelSpriteObject::PanelSprite", - "width": 96, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": true - } - ] } ], "events": [ @@ -3979,67 +2821,6 @@ } ], "parameters": [] - }, - { - "colorB": 228, - "colorG": 176, - "colorR": 74, - "creationTime": 0, - "name": "Move saw around object", - "source": "", - "type": "BuiltinCommonInstructions::Group", - "events": [ - { - "type": "BuiltinCommonInstructions::Comment", - "color": { - "b": 109, - "g": 230, - "r": 255, - "textB": 0, - "textG": 0, - "textR": 0 - }, - "comment": "Non-behavior action (handles object linking)" - }, - { - "disabled": true, - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "DebuggerTools::EnableDebugDraw" - }, - "parameters": [ - "", - "", - "", - "", - "" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "RectangleMovement::MoveAlongBorderOfObject" - }, - "parameters": [ - "", - "Saws", - "RectangleMovement", - "BorderedHud", - "" - ] - } - ] - } - ], - "parameters": [] } ], "layers": [ @@ -4081,259 +2862,6 @@ "type": "RectangleMovement::RectangleMovement" } ] - }, - { - "b": 74, - "disableInputWhenNotFocused": true, - "mangledName": "TestMoveOnEdge", - "name": "TestMoveOnEdge", - "r": 74, - "standardSortMethod": true, - "stopSoundsOnStartup": true, - "title": "", - "v": 74, - "uiSettings": { - "grid": true, - "gridType": "rectangular", - "gridWidth": 32, - "gridHeight": 32, - "gridOffsetX": 0, - "gridOffsetY": 0, - "gridColor": 10401023, - "gridAlpha": 0.2, - "snap": true, - "zoomFactor": 0.819672131147541, - "windowMask": false - }, - "objectsGroups": [], - "variables": [], - "instances": [ - { - "angle": 0, - "customSize": true, - "height": 102, - "layer": "", - "name": "TestCenterObject", - "persistentUuid": "45daa939-e515-4b45-a896-56b3ad32349e", - "width": 288, - "x": 273, - "y": 192, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "DistanceDebug_Text", - "persistentUuid": "2f13f844-7302-4bde-88c7-154770bd0487", - "width": 0, - "x": 384, - "y": 32, - "zOrder": 100, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, - { - "angle": 0, - "customSize": false, - "height": 0, - "layer": "", - "name": "TestMovingObject", - "persistentUuid": "c3aaecb9-77cf-43d9-9505-56f13248decc", - "width": 0, - "x": 384, - "y": 224, - "zOrder": 3, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - } - ], - "objects": [ - { - "assetStoreId": "", - "name": "TestCenterObject", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "NewSprite", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "metadata": "{\"pskl\":{}}", - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "NewSprite", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - { - "assetStoreId": "", - "bold": true, - "italic": false, - "name": "DistanceDebug_Text", - "smoothed": true, - "tags": "", - "type": "TextObject::Text", - "underlined": false, - "variables": [], - "effects": [], - "behaviors": [], - "string": "Distance", - "font": "", - "textAlignment": "left", - "characterSize": 30, - "color": { - "b": 255, - "g": 255, - "r": 255 - } - }, - { - "assetStoreId": "", - "name": "TestMovingObject", - "tags": "", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "Draggable", - "type": "DraggableBehavior::Draggable", - "checkCollisionMask": true - } - ], - "animations": [ - { - "name": "NewSprite", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "metadata": "{\"pskl\":{}}", - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "NewSprite2", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - } - ], - "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "TextObject::String" - }, - "parameters": [ - "DistanceDebug_Text", - "=", - "ToString(round(RectangleMovement::DistanceToClosestEdge(TestCenterObject, TestMovingObject)))" - ] - } - ] - }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "MettreAutourPos" - }, - "parameters": [ - "TestMovingObject", - "TestCenterObject.CenterX()", - "TestCenterObject.BoundingBoxCenterY()", - "200", - "360 * sin(TimeFromStart()/10)" - ] - } - ] - } - ], - "layers": [ - { - "ambientLightColorB": 9688048, - "ambientLightColorG": 150995054, - "ambientLightColorR": 1869182049, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 0.1, - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "behaviorsSharedData": [] } ], "externalEvents": [], From fd0daf52f190f7df2255d458a5f9106af4261785 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 1 Jun 2023 18:34:13 -0600 Subject: [PATCH 26/29] Removed unused files --- .../assets/9patch_Bordered Hud_all_32.png | Bin 524 -> 0 bytes .../assets/Bottom arrow round button.png | Bin 1371 -> 0 bytes .../assets/BottomLeftButton.png | Bin 440 -> 0 bytes .../assets/BottomLeftCorner.png | Bin 146 -> 0 bytes .../assets/BottomRightButton.png | Bin 439 -> 0 bytes .../assets/BottomRightCorner.png | Bin 149 -> 0 bytes .../assets/HorizontalEdgeIcon.png | Bin 145 -> 0 bytes .../assets/Launch round button.png | Bin 1822 -> 0 bytes .../assets/Left arrow round button.png | Bin 1347 -> 0 bytes .../rectangular-movement/assets/NewSprite.png | Bin 179 -> 0 bytes .../rectangular-movement/assets/NewSprite2.png | Bin 180 -> 0 bytes .../assets/Red playerShip (1).png | Bin 2674 -> 0 bytes .../assets/Right arrow round button.png | Bin 1357 -> 0 bytes examples/rectangular-movement/assets/Saw_Off.png | Bin 451 -> 0 bytes .../rectangular-movement/assets/Saw_On_1.png | Bin 451 -> 0 bytes .../rectangular-movement/assets/Saw_On_2.png | Bin 444 -> 0 bytes .../rectangular-movement/assets/Saw_On_3.png | Bin 488 -> 0 bytes .../rectangular-movement/assets/Saw_On_4.png | Bin 459 -> 0 bytes .../rectangular-movement/assets/Saw_On_5.png | Bin 446 -> 0 bytes .../rectangular-movement/assets/Saw_On_6.png | Bin 438 -> 0 bytes .../rectangular-movement/assets/Saw_On_7.png | Bin 488 -> 0 bytes .../rectangular-movement/assets/Saw_On_8.png | Bin 468 -> 0 bytes .../assets/Top arrow round button.png | Bin 1349 -> 0 bytes .../assets/TopLeftButton.png | Bin 434 -> 0 bytes .../assets/TopLeftCorner.png | Bin 143 -> 0 bytes .../assets/TopRightButton.png | Bin 439 -> 0 bytes .../assets/TopRightCorner.png | Bin 141 -> 0 bytes .../assets/VerticalEdgeIcon.png | Bin 140 -> 0 bytes 28 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png delete mode 100644 examples/rectangular-movement/assets/Bottom arrow round button.png delete mode 100644 examples/rectangular-movement/assets/BottomLeftButton.png delete mode 100644 examples/rectangular-movement/assets/BottomLeftCorner.png delete mode 100644 examples/rectangular-movement/assets/BottomRightButton.png delete mode 100644 examples/rectangular-movement/assets/BottomRightCorner.png delete mode 100644 examples/rectangular-movement/assets/HorizontalEdgeIcon.png delete mode 100644 examples/rectangular-movement/assets/Launch round button.png delete mode 100644 examples/rectangular-movement/assets/Left arrow round button.png delete mode 100644 examples/rectangular-movement/assets/NewSprite.png delete mode 100644 examples/rectangular-movement/assets/NewSprite2.png delete mode 100644 examples/rectangular-movement/assets/Red playerShip (1).png delete mode 100644 examples/rectangular-movement/assets/Right arrow round button.png delete mode 100644 examples/rectangular-movement/assets/Saw_Off.png delete mode 100644 examples/rectangular-movement/assets/Saw_On_1.png delete mode 100644 examples/rectangular-movement/assets/Saw_On_2.png delete mode 100644 examples/rectangular-movement/assets/Saw_On_3.png delete mode 100644 examples/rectangular-movement/assets/Saw_On_4.png delete mode 100644 examples/rectangular-movement/assets/Saw_On_5.png delete mode 100644 examples/rectangular-movement/assets/Saw_On_6.png delete mode 100644 examples/rectangular-movement/assets/Saw_On_7.png delete mode 100644 examples/rectangular-movement/assets/Saw_On_8.png delete mode 100644 examples/rectangular-movement/assets/Top arrow round button.png delete mode 100644 examples/rectangular-movement/assets/TopLeftButton.png delete mode 100644 examples/rectangular-movement/assets/TopLeftCorner.png delete mode 100644 examples/rectangular-movement/assets/TopRightButton.png delete mode 100644 examples/rectangular-movement/assets/TopRightCorner.png delete mode 100644 examples/rectangular-movement/assets/VerticalEdgeIcon.png diff --git a/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png b/examples/rectangular-movement/assets/9patch_Bordered Hud_all_32.png deleted file mode 100644 index d78abacbf4fa60e1d2d4fe1c6ea9b417245965ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9F5he4R}c>anM1_s7` zo-U3d6}R5rb@Xd75MfKudvIy0clj~r9UuAToiwgw^lz0EKI^bx>8)=EKTO<{5?1@< ze_8@Zt`*PAKfnFCJl5_zpX!SG$RGCVHx@l(-10{B?tYeql^@bs zA{sh)|F2=tY{~gCee#-E-Q#`l;=49*6M_}WUi|asaAokm-xK%nj@Q#V*4Yd#@#2g?f8hcL;usaK z)a%nHpiX2bQ=DVGvMbU;qXy zD?c?Hda~u=6>zgh}J@R3=K9f(ne`6_7@?tUj-|qgvt-SxZU%WD&n0D;^Es))wu6{1- HoD!MHq_aj%wu1;%KJUhg@Xk*Zqg2`gyhr{9S`T2SA(o#WNXcKL(*Xy^P0u2*#6TERX zdr>NoQuNscX&XDq_!F8a{>@Evw%u-jqHZ>uFIDya{{9=Db?W;I?^d-B^N^I9=fF)v z6WZ-|zaJkTf2>xkPww$IZB(>{HUVgfRF0zt5~>=KI84k9{`-7Bf7cdhp^83oFtdO} z#%Cv;N`3S#3hr+csGT%up$c_}#QPQ5JiMcx5=Hd4gRJNu{XQDRI1Ky$w;4u&vVjyCpPQ^TBwJlR;W)ts3{JbuL zM?qwM;_X%7fzhB1!jI}Ic+^*9F3wFWD=yfNu7h`~nCsOmGi6jj2J{8IQ>DxfuxJY2 zkbZ&Xa`~Ze0AkKm18eV_v3%1P;j#A(Ji1$g`30jEd(p}vAgR5_!hY~{j1S0L#< zE*w~Dup0)FW*U2N^g;VAT~H7|&|Ek;E7G(;tqc~FQ7zl2@papXz-bY(m9~&N&04lE z6#%&{^g7q{0R(_v0W4Nv!UQb5cxW*#DFFyff{O`toDqD{8dOREqSC-r!Lg=vm6rOZ z2q0DC0^LOiq`7TN4M1SS`u-OrqD-^qfKmf6Uyc7W*T*1~mHkTS~EC!_#s2gp+dkZ$Xa07?$#bc~|x+@3^1f9O{#09L?E3P2tv zv?>xHssQLaPG(UgXgL)C+dPFI8)v8j;7dd$RSBF#qQZ+L0pwvpt0Ljs7BHi>s%;{{ zdL@=%mMEcclx}H9+6qJ|TJFq|rd*)ZR!$p4Nlue)<&K;n4P{D_30fdZ6T*y47!{&% z(sY(Ih#G7<-5?yJbJ~Qe6o^`(h%-Xfg3{+FL9Z=Z2cW!^zEx0(257EylqcpvB}(gC z4JdZ-`0lC@)}(=T*eA^^43~na4IVI|w)^aqmc`MIOF`5IukvVzM~!Ee1B?wk&k?tw z_jsH2eUK^;t-#}6L-43Cy;Ng0*bsTHQ**hW%u)@ze64JD0x7J0naA zdv`yi!uC~P{o*&2QoKwpb+otkjU~#^X#0gRU4dm6ZAMKm8ZKfm;4v&5ImyyIH-ZJ* z5kuvkz{R-~xGHz~u5gHMYpl9uw>G5j z(qiZ#Z zqK&e%Hpv0!W4OU+Xr2#*q@&Ny<<-Zk2Z@ll0+E9@c0a!k`cNR5IiTbGKMzaI_y2w!Q{%NJZy%MGmKmg0_3@t+ELqF>*p>HK!`tQw&o7qk zp8I3pdZy>Ee9zwHXmSw!{r6vf&$f<}66K0KhxwGHv@gf^J)(lDO+uWUxBO0b{{47vpHJ7Dk^Zfa1Lsk5 zu+#9(o}Cjc4JRx1A9p@*OY#1(4W9)*)!0ECS-CfkX-f~#u#iwyhtnXlVy{C4Onj9O ztbPBRKU%ta{Ygi%e}oSsbozZ|MPRUFaBw5R8_DS{lK=qGqNE)W9ueh PR4{nD`njxgN@xNAf6%=d diff --git a/examples/rectangular-movement/assets/BottomLeftCorner.png b/examples/rectangular-movement/assets/BottomLeftCorner.png deleted file mode 100644 index 607d523ed912e2fcc1529b8fad2dc6417861c84d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(HG z#W5t}@Y{16c^MRVjvRPn|2Ch&i;;=#K(Fr3{a!|0YZx_>7!8haItVbaa0n$eGajxO51 zE%#{Q?z>Ow_Mhi^&a(e#eDfYPHb>vfC%#sNb{2nEtU0{)^)B^d>FSN2ACy15U{tnE z{Lww*1*vax^p~v5W{f&^?wga|^lk>-dDsk3SAw?fBpo!mp z?`6Q%*RwSNPDm&D@S>jw@!);sUz*o1*6=4zTNmj&FoGHc*5UBG9&wp*$q%U2z}K zzH6_y?zgzg-ckPSpU=VTJAY45;Fu?FVq_7r*f4Ep%)dIX6L%xlhH1TUw_*78F|uK~ TT!sWNCKxJRm8q;LyOp$i%`S q0Aw_<7ueVH^yV{&&Sx;PyT-U8Fr`bn*f<_&B!j1`pUXO@geCwIktx6c diff --git a/examples/rectangular-movement/assets/HorizontalEdgeIcon.png b/examples/rectangular-movement/assets/HorizontalEdgeIcon.png deleted file mode 100644 index 2d9897d6fd9cccb4e6f0fc2beafa4b536800794e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(@a z#W5t}aB_kK>*55F2Mppfmi!ME=C@_Hsr&Q8o+DUlQp#-OR}F#eJyr=<7#H(Nlpa{Y o%+|}iqP2YFVdQ&MBb@06O_9Bme*a diff --git a/examples/rectangular-movement/assets/Launch round button.png b/examples/rectangular-movement/assets/Launch round button.png deleted file mode 100644 index 01fc3586bd24e37afa3c0392b5a7b855c969b21e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1822 zcmV+(2jTdMP)saQpE;l0S*Wq zPC`Cxz%?;}83V?A49I}Z&)|OdV2K)w+xoP+rJmtd-FmJ!Qg`2@`%_Dz*XvNOudf$= z|Ni|(bX9b4dwV;oq8xj7ch~1!#^}8i!PwOBq5OApe}8X$C}X8#_Rr4FUdB-6Y~o@Rq4x0bVE+91^QdK#9mhFonATR-%9^8qCyQB^D{HDM24ui|Nd`3a zvdW4#b{(?gs*AY)MtM4nI}_kD})%V)ge#F;NzkNbQ!L7!ny>a|D4ExS65eKsanRS zvjA@zVv#M_>J_34IJ8a1Rf{oXtAsRbFMv4omG{<*uGTEVn}%3q8@4yCxXUt#vFR*@ zZBaNE*$4yIytg1HC-V%i3Pc#dqBg)^zkZEugT~b3`Ro;K_QIkTyvxhWz9dnjDZSLZ z3bxtohDqg?MGj81LAV<8F4$-Rm{e+QB<2UUt1wS_uP7hd?1xQh;gEPYn$C0RYN2f7 zP*_mJO;@#(px>ozY;2g7l@+tOx!KyB*sQUDku~>STwEmDNnKZ6;JtqR`cdD#d-n*m zjjF7%fRUOD<%ea7ag$e0>RRx;3}B{j-@Y{;K77ESVDn$|0jSbAE^WRWAi028h2q8)VsR}VGI3GWLY?LQqps|73bo-(n6oXJe z@TfZAYz4wf7<#|D9#=)lr7k_8#t3!*>}x-=q1c5`1VVtzbZKd+ z_L^W}0od>T`0-<){n&Q?W6mm-wrME4gfT2MMzHIho}P}RqL{q4xp6>+4e526y0$p5 z&=|qa3b4&wSJWi?QmSziu>#b7XsZHK8AF51?o@oF7>yM<(B!oZfEd*VJc@>o`(>DD ztU3W0x>z(V8c_oz=d}T^NzteUP1Umo@wI6*wNNUn7mxW`uDN+F;jr#OXtGMDWKYK&k9z(wuHri*Ig zeIaw1t1T9Qf8XlYer#GuT<6ys)@85@#5KUg24Hj1n~IyxUU`L`dqlqBgmLT7lDDs24+tHrKeiZ4#G`cgqET%Jf6J8C@|32!0ey5 z6C@#y#Vt)dgi-(N|tkib|h3vW{N0V1>oL&1TLX(END6HFf->N^n&dtkhiAp3suxmuUdl`6X`52d`=-6{;NT#UN@Mcs8p^XI z*r?eKlTz=?L=Iln20^=i=_vH3fz581)cRU!e}8|X4TLMt<0lW;gl(G5u&Dj5+}E#P z7bWJ6rc5+X-^*c3n&VW3h0_AJ;*$8sf%rc5-85Lt8TVX9)Y^^U_OABraP0N9T1#B4P3-29PrcPVvYE37gd~U%n&))wH29*MvDc zt*#-2swc*+V_*nqqJzm~@?Y;INa~pY9neqKftq^QC_Q(XvAVM3f3S0kwcw7|N&o-= M07*qoM6N<$g5Ru;H2?qr diff --git a/examples/rectangular-movement/assets/Left arrow round button.png b/examples/rectangular-movement/assets/Left arrow round button.png deleted file mode 100644 index 67a58b14bced1ed7c5250c9f6786609b9e1bda50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1347 zcmV-J1-$x+P)Ph;06t}Qw?eD)0AMIWP~JeVvd{`~wre|&sgZW2A{3w@&R>+9>cRYAjq+yqZt zYc`o4NGaY~gS1VYWc-dz6#wQXdcIn%exTjl+gtpG_?r|BeW6bPJs_16(;%U$F^R*(+~7|yE-v1sf);Cdhlklj zB+{OpbSm{RyEg1M z+h|H$7m4JWf-z@TX|J*z-YkcWOJO51Rt_47mmh`(5Oby)*m>Oy_f5Zuh<#}A=xT)uQm4=cIXxN=4HX_y<%T9@TO9}WKqanm zB~oFO$w7yL{R0b*!>>_i7y}x-qUOqnIh1iH+ovUcd~IsMnNcZ>+CmyMYuUaSJeujY zU<-r6HT?iKfULpWJz4<4gb7&OdE~Y?UEyg0#2BN_ga*#J)uazRO@L^0V`?w3rs=Aj z>f0BdHbAPzd+9DZz+9g0HSn|nf(;wX-%TQ#Y1Y__C-Gs_*|9IwC`auw! zQmbCrLAv(Esi&IYNoW=r?X8Vz-cK^)tOYN%>eGz%HcvsJz>6?jDgv;?n6fGJPm4-(+U*z;ckhX#-?ysHLCB_(wtfu97e0U%8%Y*#qa zfwUEfVu3Wx1xhXDEI^c4%58IkbSqObnV=0(D48(c+l`Y>XK6u1KrfNb+V0NfPN?RF z2zV(?(~E?vMoRw}h~`rITANDrChNZ2>_|)>}_k(jdj?JoEz(XA!=@{ z)9liVQ(BrwJNiI0d9)*-#^;&?%n^L~F=|3hvYZF;Hwmt^f}&`BXYY1j<~q#H$x^ zn}`9FcqyB1Pi8Md7OC7;bn&t572JHq$^{>Y<d%njrD+&>pm@5}-__C$Us~&a@cb6|3m0TK2O?yf}~D7()F6iO>ho z(0A-$JCdR1r0&pzI`=VCz>VR{{VqpkF&|yFKPe)002ovPDHLk FV1nhVfwKSr diff --git a/examples/rectangular-movement/assets/NewSprite.png b/examples/rectangular-movement/assets/NewSprite.png deleted file mode 100644 index a2f27b70ee1f96783cde053f97c85abbbe5e7be6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GGLLkg|>2BR0pkS(} zi(^Q|t+y8(1sNDv7z{F9M7=DFEUMQWP}==$vw(s_0|O%y3kOAvchM^igRGg4Oj!c7 OkipZ{&t;ucLK6TPt0lAm diff --git a/examples/rectangular-movement/assets/NewSprite2.png b/examples/rectangular-movement/assets/NewSprite2.png deleted file mode 100644 index bf40c3b3beb9b16611148ad70739bbd2cf5e23d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GGLLkg|>2BR0pkSJ( zi(^Q|t+y8(1sNDv7!0n8T(ECrds6T%qR}<%e7d4T0|O%y3x|LLC5$`Uiv%8dh573% Q0BvOOboFyt=akR{0IO~$TmS$7 diff --git a/examples/rectangular-movement/assets/Red playerShip (1).png b/examples/rectangular-movement/assets/Red playerShip (1).png deleted file mode 100644 index 213f1be09db97d002aec20fc919718185a83518e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2674 zcmV-&3XS!NP)2%r`8EAK7sVY-w1}CEuU}m#f4z7Oem}^6Qw7Wq@r9v}cp)6`)VS%kIEwSj1 z9j*=a(M|>NkTa>}Z9EaGIWJzz>-KLRsrVf>Z&g?(2g=Hg=WAarnM7w zb)LvTeKEZq8XCG=AsSLzi=ga<3<}~Zy$z8JN^9d46`sgIeKEZ?l7amS)sWKK-j`qY zL%Pc9J2Ab*vk`@?#{x|N@W#i-IhbArpD6s$9{s5FHYAOajz)cvfp((S zP#KlKc(Gspw$=|B7T?}hD|CHojC?-N!A!jUwl6Z!jxTdYKPtTqDXsM?_+;Uy(%TTo zptLq987jREDXoRI?cVK+478IsC#a0dL!liZl-Bwce4_9Z(_3Sy+M`f*Sx$9!m5FKX z)#>R#WT3s6-nMo3)+&@YC~q`0++7uEZhiOU7p&&Xb~cfo3MBYs;djv><&(A!hW@LX zPQ~7dG^^!GE(dCAwjOS3sRT%{_nKQ-V{DL3U%nD58R!rFqJJ9eP*Y1SE&|1ZQK}-R z$__`Os{~GM*BSQh`3tP~;tX5-@me6kCksFHhknsN#-TAWJ}w4a6n7*ESR$$-EqZ~3 z&TiH*I>x~w`|+pMP{}}lV*eNq;|h044j0Fr6&H;4ngBT7+QGUEP$uTDurmTsFv^1Z zUU?-D8E8*^iTz_djEnIx51P}a#ghYf-L0*WP^6`r z96r+0#@YrG?A+V}2LvVpHISLR37}8GCksCq`W45au`v(K2lFa+JORGIxq!KWKX}k8 zAAGR&^^y`Mno(i3{GNM4n?zM(^L{ZdH1+nINZ?>(7fm1~=JEvqJNE7kLBUz{~LPnMF% zn7nk^B>2ABwTqp8>M75LcB1e@zv4Ja>7pRRJc|)efGh9?&V)H}pb<-v?c4dJ@s~b) z?cRHLh7}k3#-}WuCL5WZH-VI1Tr!c-wEJ1s_{<*9*6{T6CNj{kIL`3QyyLtu@37(t z@FZ+yyuky=h|!%vxApNyAEjGI_Z%0DbykcE9m6R{XUPDH2oj~Wq%r>V>lfH_zxll{ z6SW4Vw`4=pIal+8A3@^@@C2^Fm$0Tg13VPS`1J9|3l&a1@dW$V4F-+i;_BAKx+=zn z==bq;aly$3GFcNy%hy&+WcVclR=ENaeOHVnGC9`{k^vN}w3hbQ1|j3jts{=rW-@r1rz0FJ;DxQaN_Dg+*E$$%X>P;R;k#9Q;N`je$%T==N{+YRG_lbx|i zYa!SGW>7Ln_*td5WBDatbB4e0+bW&_C*UQn7Qj=+*i6R#_wT_!haP@-UBz!swz4k= zlkDGL-5ihxwGwSX%r33Pe%YX8lt1}&Vc)Hr^wz6ciAE7G;0GLmr;IUh=VTZ>6e7GG z8C~bn+}h$g`?Rx%If*vECTooI`2~~U1DHX{5QQK5H<3SkDYy?7q7irjH^R_~44%0{ zgiv5{B7^MfkulaBi~EWTb|z~KF|7@Qj8~t0#zcnK^ww)U0Y1P<#?FciN|XvBn{r<_ zWWeI-@QAR|81q+uFlme+X)O%xMXiDU&0oD_L-hyvSm9Q)CpEjCF#~N%(C<##nBN zC1)2D8HND|;Ng}GOTp(P{5B#(pSi$>M(S8ka)kAq&#=CUS^imK<`UDhm;W!xfM4(r ze!^e)4gY}y@Ni3prQmZCejAaInfiiV>-`0{%duavT;Fy!oBA`GNF8K}R2{Dy8=ql= z7qjf_RNnS3x>dX0p}zFWGGWZl=fo!LJ^)m+zv%Om0)j_&zI!>`%1vc~1@e zj{70|Cj0J025l>kfOS*0%CDw_>0Zb$`=iH5!xcY^}!h zMvdj#4f}d+(zi1im_Pi0Kky6wS@{h-fD7=k+I2`5yl5Nl1GP=LY|3}XwVgf3wEevw zYPCHdYL*1S20vN5i{R9i(?+HhyS2#pPygDyFh9%_^R@E@esX^ezu~`Itg!pMfbmBA znXz5n?;cw_f((n%Rf_~gKKnyqojn$9W0_2*sAQmjyuc~OzG4A?TNM!Waou0b z@FES?+wT4WCLUAa_ho#$m-Fe^3XFsCuk>F<-q4 z?&fp^I^~&;H}ZN=q}{=hbj%U@SHGv>ve3^oq*5t<081F}fukSvr+&V{A0e?I2MpUC zG_1~>@=@rFLJH>i`30}R9QDzTg0?yjJ=opBPh-<{ouBsa^_)V~M?17v=M#pLUFG~7 z!7U%XtxjMIq0lLwbSj(MPx#07*qoM6N<$g4#MDI{*Lx diff --git a/examples/rectangular-movement/assets/Right arrow round button.png b/examples/rectangular-movement/assets/Right arrow round button.png deleted file mode 100644 index 0abd109d182c179053b1013c7e9f9b6d79ece047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1357 zcmV-T1+w~yP)a>50wEO$sbJHA z)q&H2bnHHTT=KIt6+9a?nmNqxLgw;VmK0)d^E0PfgEEpSSGz>;&J%7^9&yEEWqt91gdyudmCar-rdGCdPhvc=(VMXjqV0;Mny1 z7^p!?@yryYEi;nw=vpZL&n$GY-EM!QKRrEtZ|dvy`X@eX)b|g*+cZARL$B1l1a9tH z&~CT;yV-1h-QVATH6Oq7(J>ar1fVrinMDmGRMjPMSeTjo_1)dwM_-`1I-XI2nL8vh zK09et>Wj@OnBUEycG94^I@BE!Z*w}Ba}?m2H+sV-h)MfY(MvmCq76t$qqcX=*_+KZ zC9aJ`a!tXUgR69@vK+iw2pi|aMq;iU#9%6o2T@0XpJSFfSBInF>ktPKVE}z7)FCEY zcTV_2RT^s(3w5~7!_R$C*_JAui`qmBc*_*PV<0ZYK*UC!ig};awoaXyO}rI}^HKzl zg2>{;n~T5$qd^Bm9F;0~G*)CG&e)5`1^baYc&CoFUhJ7EqXIHuDBztsWp;o?SMVnE z4XjqH&qD(cYo;35dfyE9O}~hUeQ4m(-3k??R-p|zJsJ-U6+EKKIVEKq9S8M5eca

<<_d%mE!-o~9jU4rSWP_Gw8UH{LPqfT$EYZ6OVsHEo}bIgSBD z#s!RR0Omx`ueAVdI`h>65tuLmb2|@Brlrlnxdw>9#OX|E;0zVg^m=Wx4>Ule=A{x? zQ@To1eY*gt0U}l73f)B~rM+$Ingp96pAwi_fb#VwKW&cjW zaHx!|P$0gsgLLnUtS5=+JtYuC;wdf+v{>#mIzdVs*uLhgU;KvBkQ2>$ zYH#ZsOO&C}jte!fz_N=r)2iuDvUIPFpcVCNcN#QTSeG*{98OceXx()2 zy0hxm-P%mu9$M_)d~|6`wb(?^;uE}93&@WD^||=L}D(Dg1Palv^X46t!Qa0 z`>B0F+TmpvmIAnORQh$50EL~=1k!ccC#n*lOrWXpq4mcab4MwAG zkrFx4cxG~S_2Km(5fWKjC1{!X_s3`m4U$;`nw5V%VA&C@c?sB9v&8#9)#sA4LxWr# P00000NkvXXu0mjfBr2%wDk!JwJfBKb{{so-d=l-r3Cqzch_1E!EZ6X`1=eTr3C;0002ovPDHLkV1hF4v?Txl diff --git a/examples/rectangular-movement/assets/Saw_On_1.png b/examples/rectangular-movement/assets/Saw_On_1.png deleted file mode 100644 index 368b463ea0c6f419698bb2d09d288104cd77a3f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+VRP)2%wDk!JwJfBKb{{so-d=l-r3Cqzch_1E!EZ6X`1=eTr3C;0002ovPDHLkV1hF4v?Txl diff --git a/examples/rectangular-movement/assets/Saw_On_2.png b/examples/rectangular-movement/assets/Saw_On_2.png deleted file mode 100644 index 6c4d4a0faa5a7a8330272d4d1bf6bd9a9fda72f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmV;t0YmjJV1E%k(a6K?LPdH!zB?V?zZ0ZV>1k>Mv6$1mKg5kdm zXp;qoJJnu-r006exA1x|*p;dORe087I{@yK3yIrsCr1IZdu7VZC%0!J4V?hkx8eR^ z?y8L~tn5>h)cFy^aSpyp0*X@0K;Se_`83QIk|DjL6j|80Rdpz3qY&6A mYGp21F>mFBygF3L0`Uv>B>lL|*V+>R0000P) zj20NcSisa}N?WW$FbbComO5o-ogg?cFnH$zMhkcDjzTz^U%AO2J2cD@vT6|BQFLcD z6ID)ws22SNSd~(Q32*VV)^Uh}&2VVee5rDXz?CZ! zdlZ3c^l@C*Nt~2c@&OT&C;R)mq-hF1^Vy=MX#U|KT62Fq+tcOxiDH1#LE1W8i{T0v z3nc-$XH7ax1Jj_2mXIHUx~m4IWnl-?J3*CE4f=Ln}YZ2i{;1ZZ8lolc! znj%kk4JfhP+zx=e3dnZ1|3&~-J1Yo<4M3mWz(@w#j8qz-fe1C`Alg=XtH|;;N@Hp% zZih{K-mJe7v!5Bxx?vyGJC3WR8BR4%%EbC@w6Ddn`3Gz%<6 zXV^q8L!02Z#!{Q92pl)c9P0_nM@ARxZ8%m^p+q=>NHNJ$Zy7;$V#kWdoa9*^ZIJ&A zYc_dAjpgbi1&YH3-ys}EZl_siqiV9yoq-#B!4>*F$u&d!b#=WxJAA%&| z<^l7-7EtE>RvS*`p&lX4Dkt5+s6j0fK!oFt9Saz)O;SlPgTdrDJ1kIfW?A9LjKmPu zRYPXokK=S1w?RA^{S`IuUXq}Sz~zErsMBU0K)ZP@1_P)ZFw$$*NiZ0M6o<747={D! zhSLf~*(5U*#0pnJ7xYy1&AMt!_^6_uJluO7N!>4u|9!i#wq_+n>Q}|KswR{Pu4Mz_ zx-fF-j%$v#Ea2{ko7>b=#&s#KEt*1#fux0-J8?~0CBbQQvN|Pi=u=?Tpd>KKsOs1$ o4W;o!)hAFXL4M}lwbn!M8y4&MP-N(Og#Z8m07*qoM6N<$f(2^8_y7O^ diff --git a/examples/rectangular-movement/assets/Saw_On_6.png b/examples/rectangular-movement/assets/Saw_On_6.png deleted file mode 100644 index 6c143571ada7375302183eb938b20ca90235631b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIOeP)a_vF&I4%!#561Y_>Zd?sbuU=nyP~;s&9(uxL|LL0YJ+v4dTb3(6W> zS`YsjSdTMfU{tu#!fJFWMBgx~FiN1IM9R6JmD40JEEF?+3hpDZ`x2=nQC|10{iXk@ z6J}>@>I~F`nd>Nu!RVX|!?z5&Ckuv! z8WbWWt>v3|ZztH4sqa--Yqb>s3zZ`A9%PlCgjiwz`l+9!`xXLn^@Uj zOP)g7E1lavaBT6e79cB$CgL^E=Kk7{+q(GetIZ9RVPK-0qK;oi2Yb3*UN!eE<=Z z6fq{cQ*$T@j3DCZYMgNa;}%K*k^OG>evu0kaf?K7ljHzGd4gr(a%PScEuQ*wEtomC zXd5`NS}3!u#JPdqc|e)r1dVcois3MIlE5thG^dz;QwqId`+;$Wa9;(6a4y?PDle&h zHCPZqWB66dFNrU$%^rjjI8yS*|8BY-#@R|8#4;sT2hEn!1O$R$=W(Nk1E^U(%mo`K z3=qMN>y-&iU8c0fItD|yQn1`Dv*-rFff0}k7#8l*6Gd<#QfMW~pSm>65wdC!o+vz7 z-9(ksAk?C-0Bcf;DB&%hwz>`>*bGNz&6g&ZNUrVo-fGEd)9uz1ic6uI4ysA(mMz?^ zdrGM#tZwVN^puh}+Lk|eie29;QVXH1Xf@IOy&^6-(!)p!&h>@I^7zJqHG#5jKNH=d e``{jrOTnJcvLRXrtS>zP0000xRDDrZ*fD(_J#{rNx0oi=+o=U)4R|TQ40qDIO7}-FZkxCimGg* zGL|02^}Ovb`}I>f*E7ReFE|8s(`mgj!>QrQL)LOZ0^?92U=KKx=dhy=%f*XwexUh2 zEf?%o9TdXl_;zUW6pbN*lPXryOd)VQC~Kl8IX()y+-$?KQVJ!)5kyHyM%`s3)yW+z z9&?gc`E7&zWmvPxBYLdXA0<#6F8K`MP_>;)J0Z)uWnRtq!*;}bwz zAMzYys9Kt-@jF9ZS@pn9J3Mkly# z5O0ufU_bfwMlk%E2gff#KJ8ThgIw?!=|18UDd}>6&>;2cPCt_(MN!OTqIlij-hO<1 zeEfPi9OkAKrY$=*e0GL=(Z^&g7Y2)gACJe&r>CdQ^FSB+LZ9e+x7)qX3K|Av1~@gX zd=|POrFdoz(pDJBxb_Vc|7Qley1&2wjke$KzqPfSo0}i_tWn=TxVNo;Obwt1sr`?}ljT3w;7;gH#q#gM_O3Bn|^JFaLABUVj)0ny=v*7G~*@ z$oS?-qf(z;M#21U0ksPa&DWsrka(BT!8=C*&wQg7`~~sSL#pVx4PT-QB&1Q>x|Zyl zEj1;si$row!8?nqv{hLSZy_ zJqMl!M5@NMa2I_csb$*`@T4Jv4SnwaO(Gg;P7R(kL>jrSHld{FzYy>wA-Dm`r zPpQI_iXMScZEZ~Bej$A;33w7ahBRVb#R)0EP|G(-c%dQEWnBf3S(Pl{g@#yT77`%e zZ_Ndw7(kxHqX==8B*5p0t~Y>V1n9~NRZ`(ak^o`ywJdPRbd(x1Y9&K>@PH_J$c87A z5AEC1fI<~JkZ`0!&y!mFBb6gfV}TmUL#Y9zOSvj0NVhUW2NQAt$bt#;+HRb5I6p;z z)U&8|=QIMUDFb{FP}K_QrwGs)(%0NnN)4cQQ;CN4hxXcY0!V`+wQWthv5u94g` z0KtT=s$OJiX{C0g0PZZl_ko5p#N6aeykMQ^GvJyauQOq%K(blt`j zHXaw9Q+y?)&_-)sy>AkFzUI=`dS--4;ponXw9I|&N5A+9r4$cShf3}3d}4`4Xr%qZ zn2x}*gEsTN2Msq`tCL7ncfo=z{c9s=Cw6N!>NMA)F0VLnIM4l{bz3S*Z`Ex&wVC^T z=$QAGlXI_Ji%p0YpWwA((0NYkY|EdNL2Jmk3hv|p(NSz7Tmc?l@+ozQJaa;%1QeeW z@d7Cx%BI_s;zh_jmD`doJ|pJOUiVXf@S zQ2;lNO257mpqOVgLE_o2G~=jBfHIXXTtQDrq-0pk25DEGYQD2c%$M~SFMauXs0tLq z^#L^W?MvuHFf=-;Yr0V9-UpJ_ls*;U?gJH{#XYzeeKcjkCI`+H;YLJ5GSwH7j%Q|9 zS07dn5)tC?jfGa2f4@)0a6vLH(8B)lfK5+WOABnOS>pX4tWS)?FyDYJ00000NkvXX Hu0mjfWdv?j diff --git a/examples/rectangular-movement/assets/TopLeftButton.png b/examples/rectangular-movement/assets/TopLeftButton.png deleted file mode 100644 index f446b5370240ca42865d2a3fbf3c6ca21ffe920b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^MnG)9!3HFQziaLSQk(@Ik;M!Q+(IDCcB}c^xxhC4a8+Q-RtI^J#V?NM zZJ%xNYv1%liL}<@ruZ+n71no7U-0^?R_yhaM|S=euzOgx|Nj1&w{LXMji1NeK5gUX zy#nR)8FiD>s}-l8c5MI&OxTvonjvX@o7-~!d8TD=UQen|J$2(|yNR!|Ldl6M8$Z8s zx_2|<#LE&P0j(!@H-0|ulg3zIJ-<)3U5?i3!GWTt3NT{lVHwVZV89t^h zEgLrTYn~2jm?luRO?=b+_pBM5i9kDD134ht%689X&{cesqpxzlm@&%f#!qF%g=SKl z?&h)X5f&l3(~wdbIh2w^vtdGn3f8n-?px~p3N9_3}|cE>ZuH1Ph`&GD%kIJ zruN*#xwR*Xc79=BzAvVA&hG~d@z4K#k#4tMF!5;8M;W2x8~<_ic}{X+Jva5P{Cxe$ VhC7w}&4H1?;OXk;vd$@?2>_0m!wCQY diff --git a/examples/rectangular-movement/assets/TopLeftCorner.png b/examples/rectangular-movement/assets/TopLeftCorner.png deleted file mode 100644 index ae105d8865c3378a00ebd101badfe9a2f8cc89d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oArNM~bhqvgP|(rS z#W5t}@Y{2%1sM!@4hOuqUu*uNomDiRom68I5aRYGO=(7 jD1aC*ez3G~$=c_hf1c76zj6O-pkWN2u6{1-oD!M<486!bs_09Kc#;9ZGzBw(@5L%G>CP)8Cfd$6}qcS!1ToxT!L(`VI;lhUmH#ONVSPx$G=Z{h;zf4zSu;2j z)2kKVwK882I&{wY#MdfOi0YI`HHhk+ck`IGv~1YCcY@7%km~2_TlRR@G~2g}xGE;R z>{zMz#zyVj|(Obvj-q=*R{b2X)nI|Z-ep_y+p;g%X!#j)3cloPcV|ilFYQxAK71?lcerPN( PCKx*55F2Mqo4_W%5OYZ^VJdfL}9Yw(^7Wbd&`xWc%YPong|3T8K1gD=^WCM*B| From c2331e30463ac17d752294135ceec705c0467f93 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 1 Jun 2023 18:35:14 -0600 Subject: [PATCH 27/29] Removed unused event --- .../rectangular-movement.json | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index bd2cd05a6..853f71bf9 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -2512,29 +2512,6 @@ "source": "", "type": "BuiltinCommonInstructions::Group", "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "BuiltinCommonInstructions::Once" - }, - "parameters": [] - } - ], - "actions": [ - { - "type": { - "value": "TiledSpriteObject::SetOpacity" - }, - "parameters": [ - "SummerTileWater", - "=", - "210" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], From e625ef141ece20c1574768028603e861839d3415 Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 8 Jun 2023 19:15:06 -0600 Subject: [PATCH 28/29] Removed unused group and rolled back image name change --- ...ton2.png => Bottom arrow round button.png} | Bin ...omLeftButton2.png => BottomLeftButton.png} | Bin ...omLeftCorner2.png => BottomLeftCorner.png} | Bin ...RightButton2.png => BottomRightButton.png} | Bin ...RightCorner2.png => BottomRightCorner.png} | Bin ...alEdgeIcon2.png => HorizontalEdgeIcon.png} | Bin ...nd button2.png => Launch round button.png} | Bin ...utton2.png => Left arrow round button.png} | Bin ...erShip (1)2.png => Red playerShip (1).png} | Bin ...tton2.png => Right arrow round button.png} | Bin ...button2.png => Top arrow round button.png} | Bin .../{TopLeftButton2.png => TopLeftButton.png} | Bin .../{TopLeftCorner2.png => TopLeftCorner.png} | Bin ...TopRightButton2.png => TopRightButton.png} | Bin ...TopRightCorner2.png => TopRightCorner.png} | Bin ...icalEdgeIcon2.png => VerticalEdgeIcon.png} | Bin .../rectangular-movement.json | 284 ++++++++---------- 17 files changed, 125 insertions(+), 159 deletions(-) rename examples/rectangular-movement/assets/{Bottom arrow round button2.png => Bottom arrow round button.png} (100%) rename examples/rectangular-movement/assets/{BottomLeftButton2.png => BottomLeftButton.png} (100%) rename examples/rectangular-movement/assets/{BottomLeftCorner2.png => BottomLeftCorner.png} (100%) rename examples/rectangular-movement/assets/{BottomRightButton2.png => BottomRightButton.png} (100%) rename examples/rectangular-movement/assets/{BottomRightCorner2.png => BottomRightCorner.png} (100%) rename examples/rectangular-movement/assets/{HorizontalEdgeIcon2.png => HorizontalEdgeIcon.png} (100%) rename examples/rectangular-movement/assets/{Launch round button2.png => Launch round button.png} (100%) rename examples/rectangular-movement/assets/{Left arrow round button2.png => Left arrow round button.png} (100%) rename examples/rectangular-movement/assets/{Red playerShip (1)2.png => Red playerShip (1).png} (100%) rename examples/rectangular-movement/assets/{Right arrow round button2.png => Right arrow round button.png} (100%) rename examples/rectangular-movement/assets/{Top arrow round button2.png => Top arrow round button.png} (100%) rename examples/rectangular-movement/assets/{TopLeftButton2.png => TopLeftButton.png} (100%) rename examples/rectangular-movement/assets/{TopLeftCorner2.png => TopLeftCorner.png} (100%) rename examples/rectangular-movement/assets/{TopRightButton2.png => TopRightButton.png} (100%) rename examples/rectangular-movement/assets/{TopRightCorner2.png => TopRightCorner.png} (100%) rename examples/rectangular-movement/assets/{VerticalEdgeIcon2.png => VerticalEdgeIcon.png} (100%) diff --git a/examples/rectangular-movement/assets/Bottom arrow round button2.png b/examples/rectangular-movement/assets/Bottom arrow round button.png similarity index 100% rename from examples/rectangular-movement/assets/Bottom arrow round button2.png rename to examples/rectangular-movement/assets/Bottom arrow round button.png diff --git a/examples/rectangular-movement/assets/BottomLeftButton2.png b/examples/rectangular-movement/assets/BottomLeftButton.png similarity index 100% rename from examples/rectangular-movement/assets/BottomLeftButton2.png rename to examples/rectangular-movement/assets/BottomLeftButton.png diff --git a/examples/rectangular-movement/assets/BottomLeftCorner2.png b/examples/rectangular-movement/assets/BottomLeftCorner.png similarity index 100% rename from examples/rectangular-movement/assets/BottomLeftCorner2.png rename to examples/rectangular-movement/assets/BottomLeftCorner.png diff --git a/examples/rectangular-movement/assets/BottomRightButton2.png b/examples/rectangular-movement/assets/BottomRightButton.png similarity index 100% rename from examples/rectangular-movement/assets/BottomRightButton2.png rename to examples/rectangular-movement/assets/BottomRightButton.png diff --git a/examples/rectangular-movement/assets/BottomRightCorner2.png b/examples/rectangular-movement/assets/BottomRightCorner.png similarity index 100% rename from examples/rectangular-movement/assets/BottomRightCorner2.png rename to examples/rectangular-movement/assets/BottomRightCorner.png diff --git a/examples/rectangular-movement/assets/HorizontalEdgeIcon2.png b/examples/rectangular-movement/assets/HorizontalEdgeIcon.png similarity index 100% rename from examples/rectangular-movement/assets/HorizontalEdgeIcon2.png rename to examples/rectangular-movement/assets/HorizontalEdgeIcon.png diff --git a/examples/rectangular-movement/assets/Launch round button2.png b/examples/rectangular-movement/assets/Launch round button.png similarity index 100% rename from examples/rectangular-movement/assets/Launch round button2.png rename to examples/rectangular-movement/assets/Launch round button.png diff --git a/examples/rectangular-movement/assets/Left arrow round button2.png b/examples/rectangular-movement/assets/Left arrow round button.png similarity index 100% rename from examples/rectangular-movement/assets/Left arrow round button2.png rename to examples/rectangular-movement/assets/Left arrow round button.png diff --git a/examples/rectangular-movement/assets/Red playerShip (1)2.png b/examples/rectangular-movement/assets/Red playerShip (1).png similarity index 100% rename from examples/rectangular-movement/assets/Red playerShip (1)2.png rename to examples/rectangular-movement/assets/Red playerShip (1).png diff --git a/examples/rectangular-movement/assets/Right arrow round button2.png b/examples/rectangular-movement/assets/Right arrow round button.png similarity index 100% rename from examples/rectangular-movement/assets/Right arrow round button2.png rename to examples/rectangular-movement/assets/Right arrow round button.png diff --git a/examples/rectangular-movement/assets/Top arrow round button2.png b/examples/rectangular-movement/assets/Top arrow round button.png similarity index 100% rename from examples/rectangular-movement/assets/Top arrow round button2.png rename to examples/rectangular-movement/assets/Top arrow round button.png diff --git a/examples/rectangular-movement/assets/TopLeftButton2.png b/examples/rectangular-movement/assets/TopLeftButton.png similarity index 100% rename from examples/rectangular-movement/assets/TopLeftButton2.png rename to examples/rectangular-movement/assets/TopLeftButton.png diff --git a/examples/rectangular-movement/assets/TopLeftCorner2.png b/examples/rectangular-movement/assets/TopLeftCorner.png similarity index 100% rename from examples/rectangular-movement/assets/TopLeftCorner2.png rename to examples/rectangular-movement/assets/TopLeftCorner.png diff --git a/examples/rectangular-movement/assets/TopRightButton2.png b/examples/rectangular-movement/assets/TopRightButton.png similarity index 100% rename from examples/rectangular-movement/assets/TopRightButton2.png rename to examples/rectangular-movement/assets/TopRightButton.png diff --git a/examples/rectangular-movement/assets/TopRightCorner2.png b/examples/rectangular-movement/assets/TopRightCorner.png similarity index 100% rename from examples/rectangular-movement/assets/TopRightCorner2.png rename to examples/rectangular-movement/assets/TopRightCorner.png diff --git a/examples/rectangular-movement/assets/VerticalEdgeIcon2.png b/examples/rectangular-movement/assets/VerticalEdgeIcon.png similarity index 100% rename from examples/rectangular-movement/assets/VerticalEdgeIcon2.png rename to examples/rectangular-movement/assets/VerticalEdgeIcon.png diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 853f71bf9..4aa405508 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -67,7 +67,7 @@ "resources": [ { "alwaysLoaded": false, - "file": "assets/Red playerShip (1)2.png", + "file": "assets/Red playerShip (1).png", "kind": "image", "metadata": "", "name": "Red playerShip (1).png", @@ -80,7 +80,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Bottom arrow round button2.png", + "file": "assets/Bottom arrow round button.png", "kind": "image", "metadata": "", "name": "Bottom arrow round button.png", @@ -93,7 +93,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Left arrow round button2.png", + "file": "assets/Left arrow round button.png", "kind": "image", "metadata": "", "name": "Left arrow round button.png", @@ -106,7 +106,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Right arrow round button2.png", + "file": "assets/Right arrow round button.png", "kind": "image", "metadata": "", "name": "Right arrow round button.png", @@ -119,7 +119,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Top arrow round button2.png", + "file": "assets/Top arrow round button.png", "kind": "image", "metadata": "", "name": "Top arrow round button.png", @@ -132,7 +132,7 @@ }, { "alwaysLoaded": false, - "file": "assets/Launch round button2.png", + "file": "assets/Launch round button.png", "kind": "image", "metadata": "", "name": "Launch round button.png", @@ -145,7 +145,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopLeftButton2.png", + "file": "assets/TopLeftButton.png", "kind": "image", "metadata": "", "name": "assets\\TopLeftButton.png", @@ -154,7 +154,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomLeftButton2.png", + "file": "assets/BottomLeftButton.png", "kind": "image", "metadata": "", "name": "assets\\BottomLeftButton.png", @@ -163,7 +163,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopRightButton2.png", + "file": "assets/TopRightButton.png", "kind": "image", "metadata": "", "name": "assets\\TopRightButton.png", @@ -172,7 +172,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomRightButton2.png", + "file": "assets/BottomRightButton.png", "kind": "image", "metadata": "", "name": "assets\\BottomRightButton.png", @@ -181,7 +181,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopLeftCorner2.png", + "file": "assets/TopLeftCorner.png", "kind": "image", "metadata": "", "name": "assets\\TopLeftCorner.png", @@ -190,7 +190,7 @@ }, { "alwaysLoaded": false, - "file": "assets/TopRightCorner2.png", + "file": "assets/TopRightCorner.png", "kind": "image", "metadata": "", "name": "assets\\TopRightCorner.png", @@ -199,7 +199,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomRightCorner2.png", + "file": "assets/BottomRightCorner.png", "kind": "image", "metadata": "", "name": "assets\\BottomRightCorner.png", @@ -208,7 +208,7 @@ }, { "alwaysLoaded": false, - "file": "assets/BottomLeftCorner2.png", + "file": "assets/BottomLeftCorner.png", "kind": "image", "metadata": "", "name": "assets\\BottomLeftCorner.png", @@ -217,7 +217,7 @@ }, { "alwaysLoaded": false, - "file": "assets/VerticalEdgeIcon2.png", + "file": "assets/VerticalEdgeIcon.png", "kind": "image", "metadata": "", "name": "assets\\VerticalEdgeIcon.png", @@ -226,7 +226,7 @@ }, { "alwaysLoaded": false, - "file": "assets/HorizontalEdgeIcon2.png", + "file": "assets/HorizontalEdgeIcon.png", "kind": "image", "metadata": "", "name": "assets\\HorizontalEdgeIcon.png", @@ -280,26 +280,6 @@ "name": "BottomLeftCorner" } ] - }, - { - "name": "MovingObjects", - "objects": [ - { - "name": "Ship" - }, - { - "name": "Saw_TopLeft" - }, - { - "name": "Saw_BottomLeft" - }, - { - "name": "Saw_BottomRight" - }, - { - "name": "Saw_TopRight" - } - ] } ], "variables": [], @@ -1734,7 +1714,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Speed", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -1805,7 +1784,7 @@ "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" }, "parameters": [ - "MovingObjects", + "Ship", "RectangleMovement", "HorizontalDurationSlider.DraggableSliderControl::Value()", "" @@ -1832,7 +1811,7 @@ "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" }, "parameters": [ - "MovingObjects", + "Ship", "RectangleMovement", "VerticalDurationSlider.DraggableSliderControl::Value()", "" @@ -1857,7 +1836,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Change duration", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -1882,7 +1860,7 @@ "value": "RectangleMovement::RectangleMovement::SetHorizontalEdgeDuration" }, "parameters": [ - "MovingObjects", + "Ship", "RectangleMovement", "HorizontalDurationSlider.DraggableSliderControl::Value()", "" @@ -1920,7 +1898,7 @@ "value": "RectangleMovement::RectangleMovement::SetVerticalEdgeDuration" }, "parameters": [ - "MovingObjects", + "Ship", "RectangleMovement", "VerticalDurationSlider.DraggableSliderControl::Value()", "" @@ -1946,7 +1924,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Change direction", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -1981,7 +1958,7 @@ "value": "RectangleMovement::RectangleMovement::ToogleClockwise" }, "parameters": [ - "MovingObjects", + "Ship", "RectangleMovement", "yes" ] @@ -2061,7 +2038,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Teleport", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2082,125 +2058,117 @@ "actions": [], "events": [ { - "type": "BuiltinCommonInstructions::ForEach", - "object": "MovingObjects", - "conditions": [], - "actions": [], - "events": [ + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "\"Top-left corner\"", - "" - ] - } + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopLeftButton", + "", + "", + "" ] - }, + } + ], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "TopRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "\"Top-right corner\"", - "" - ] - } + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Ship", + "RectangleMovement", + "\"Top-left corner\"", + "" ] - }, + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomRightButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "\"Bottom-right corner\"", - "" - ] - } + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "TopRightButton", + "", + "", + "" ] - }, + } + ], + "actions": [ { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "SourisSurObjet" - }, - "parameters": [ - "BottomLeftButton", - "", - "", - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "RectangleMovement::RectangleMovement::TeleportToCorner" - }, - "parameters": [ - "MovingObjects", - "RectangleMovement", - "\"Bottom-left corner\"", - "" - ] - } + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Ship", + "RectangleMovement", + "\"Top-right corner\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomRightButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Ship", + "RectangleMovement", + "\"Bottom-right corner\"", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SourisSurObjet" + }, + "parameters": [ + "BottomLeftButton", + "", + "", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "RectangleMovement::RectangleMovement::TeleportToCorner" + }, + "parameters": [ + "Ship", + "RectangleMovement", + "\"Bottom-left corner\"", + "" ] } ] @@ -2215,7 +2183,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Drag", "source": "", "type": "BuiltinCommonInstructions::Group", @@ -2507,7 +2474,6 @@ "colorG": 176, "colorR": 74, "creationTime": 0, - "folded": true, "name": "Draw border", "source": "", "type": "BuiltinCommonInstructions::Group", From 125ad79422f8cda094b4269367ef58efb06e024c Mon Sep 17 00:00:00 2001 From: Tristan Rhodes Date: Thu, 8 Jun 2023 19:31:19 -0600 Subject: [PATCH 29/29] Triggering another CI run --- examples/rectangular-movement/rectangular-movement.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/rectangular-movement/rectangular-movement.json b/examples/rectangular-movement/rectangular-movement.json index 4aa405508..61006bcc6 100644 --- a/examples/rectangular-movement/rectangular-movement.json +++ b/examples/rectangular-movement/rectangular-movement.json @@ -592,7 +592,7 @@ "name": "MovementDirection_Text", "persistentUuid": "56979510-ddf5-478a-bb63-9b4f03c84f9e", "width": 0, - "x": 744, + "x": 743, "y": 111, "zOrder": 23, "numberProperties": [],