From 588879951d89fec20f83c6c6b1793080ad2c943a Mon Sep 17 00:00:00 2001 From: Nicola Date: Thu, 14 May 2026 12:36:59 +0200 Subject: [PATCH] Added tooltip to nodes to better explain their functionality. Readded node deletion. --- Assets/Images/Nodes/craft.png | Bin 0 -> 9458 bytes Assets/Images/Nodes/craft.png.import | 40 ++++++++++++++ Assets/Images/Nodes/explore.png | Bin 0 -> 4221 bytes Assets/Images/Nodes/explore.png.import | 40 ++++++++++++++ Assets/Images/Nodes/for.png | Bin 0 -> 9488 bytes Assets/Images/Nodes/for.png.import | 40 ++++++++++++++ Assets/Images/Nodes/harvest.png | Bin 0 -> 4205 bytes Assets/Images/Nodes/harvest.png.import | 40 ++++++++++++++ Assets/Images/Nodes/if.png | Bin 0 -> 9422 bytes Assets/Images/Nodes/if.png.import | 40 ++++++++++++++ Assets/Images/Nodes/maintain.png | Bin 0 -> 4299 bytes Assets/Images/Nodes/maintain.png.import | 40 ++++++++++++++ Assets/Images/Nodes/move.png | Bin 0 -> 8429 bytes Assets/Images/Nodes/move.png.import | 40 ++++++++++++++ Assets/Images/Nodes/sacrifice.png | Bin 0 -> 4443 bytes Assets/Images/Nodes/sacrifice.png.import | 40 ++++++++++++++ Assets/Images/Nodes/start.png | Bin 0 -> 3624 bytes Assets/Images/Nodes/start.png.import | 40 ++++++++++++++ Assets/Images/Nodes/while.png | Bin 0 -> 11590 bytes Assets/Images/Nodes/while.png.import | 40 ++++++++++++++ Scenes/Game.tscn | 49 ++++++++++++++++-- Scripts/Core/ResourceLoader.cs | 5 ++ Scripts/DSL/Nodes/IfNode.cs | 6 +++ Scripts/DSL/Nodes/WhileNode.cs | 6 +++ Scripts/UI/DSL/CodingWindow.cs | 44 ++++++++++++---- Scripts/UI/DSL/NodeDisplay.cs | 8 --- Scripts/UI/DSL/NodeDisplays/IfNodeDisplay.cs | 1 + .../UI/DSL/NodeDisplays/WhileNodeDisplay.cs | 1 + Scripts/UI/DSL/NodeTooltip.cs | 24 +++++++++ Scripts/UI/DSL/NodeTooltip.cs.uid | 1 + project.godot | 6 +++ 31 files changed, 528 insertions(+), 23 deletions(-) create mode 100644 Assets/Images/Nodes/craft.png create mode 100644 Assets/Images/Nodes/craft.png.import create mode 100644 Assets/Images/Nodes/explore.png create mode 100644 Assets/Images/Nodes/explore.png.import create mode 100644 Assets/Images/Nodes/for.png create mode 100644 Assets/Images/Nodes/for.png.import create mode 100644 Assets/Images/Nodes/harvest.png create mode 100644 Assets/Images/Nodes/harvest.png.import create mode 100644 Assets/Images/Nodes/if.png create mode 100644 Assets/Images/Nodes/if.png.import create mode 100644 Assets/Images/Nodes/maintain.png create mode 100644 Assets/Images/Nodes/maintain.png.import create mode 100644 Assets/Images/Nodes/move.png create mode 100644 Assets/Images/Nodes/move.png.import create mode 100644 Assets/Images/Nodes/sacrifice.png create mode 100644 Assets/Images/Nodes/sacrifice.png.import create mode 100644 Assets/Images/Nodes/start.png create mode 100644 Assets/Images/Nodes/start.png.import create mode 100644 Assets/Images/Nodes/while.png create mode 100644 Assets/Images/Nodes/while.png.import create mode 100644 Scripts/UI/DSL/NodeTooltip.cs create mode 100644 Scripts/UI/DSL/NodeTooltip.cs.uid diff --git a/Assets/Images/Nodes/craft.png b/Assets/Images/Nodes/craft.png new file mode 100644 index 0000000000000000000000000000000000000000..480d755aebbb0b7711fceb74e616d6a2c7b2af36 GIT binary patch literal 9458 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 XL8zF2oR{8s%+u27k>W(3Xh&+ literal 0 HcmV?d00001 diff --git a/Assets/Images/Nodes/craft.png.import b/Assets/Images/Nodes/craft.png.import new file mode 100644 index 0000000..c7b7b74 --- /dev/null +++ b/Assets/Images/Nodes/craft.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjxwrtm0bttio" +path="res://.godot/imported/craft.png-6ef1d3b3d2b282380072caa5b7edf88e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Nodes/craft.png" +dest_files=["res://.godot/imported/craft.png-6ef1d3b3d2b282380072caa5b7edf88e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Images/Nodes/explore.png b/Assets/Images/Nodes/explore.png new file mode 100644 index 0000000000000000000000000000000000000000..a579c4682e4c24f1e08a83f0dddb0be6ef69d543 GIT binary patch literal 4221 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 literal 0 HcmV?d00001 diff --git a/Assets/Images/Nodes/for.png.import b/Assets/Images/Nodes/for.png.import new file mode 100644 index 0000000..9cfa4ff --- /dev/null +++ b/Assets/Images/Nodes/for.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cugoibldkatry" +path="res://.godot/imported/for.png-7e0a93012248eea32dfb05f41c7e4f81.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Nodes/for.png" +dest_files=["res://.godot/imported/for.png-7e0a93012248eea32dfb05f41c7e4f81.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Images/Nodes/harvest.png b/Assets/Images/Nodes/harvest.png new file mode 100644 index 0000000000000000000000000000000000000000..eaa0091c75afdeb98088380ce3cc361464ee9615 GIT binary patch literal 4205 zcmdT{X;f3$nvE!6DToLHia<$3Q9z0z5J(^n!6>5)A_X#NN`{2NFwar3$}lBTlrI#c zfPl&nBQl5#wva?E2+AlkB+PRNn1m2`m$F~4?zeos`bTxI)j#gOcYWucv(Ej_clWn< z;$>Tu^q#|eKp>FxrHe=h5J=1!cz(ZI0>H67v5$b;cegJ77y<(AYuUbbJk;8!3ApZ*)6dBzG$iZ>>Sj>D&CuW| zYrl|CAbiE?f({h)&+$R}46qfMx=YBjPLUo9Lop9>!lERXeJXvv^Wphdc<1aWJ16$@ z$6e>rZBG+!KRDohSUx!s?3C;>Te?5Buk zjbmPty9$0&s>{+KPdu;iS%AY zcX+K|XJwjIkwYS;%Jm2-v)*u}qcz(EJkOYZZ{;`_^#z<-Z&;OSTnq()yh7!*K)0>` zYOtILHaYds5@(Ll(b1vVABgfBFQTde@N^9>OuOKb>Ds2Xwzg(b<*LI>e`f{OwP6Br zTOiJ?RGR@_qrq#$c7XKl%RqlUoP7Al#1p4eG{KXqmoMc}m&S|I$n^NfY2@M_?mX&n zlph8{>FVuO?8a0E7_Ed&nKWN*qp|0+(b*t<|ZS0QpXiDq?}21T6(%li#NwS73ydP^mb+=@GwIVzXqP z%MP%$5~2e73|k?2>zKTj*S)R*JW9EDC-gwlLC~4w{|(%_s3v-cVhvC5TJDN-lkeXc z9(;vcT8X*AVOb^L2h9?1h_Td z-(V0`sIw;!i6}J@XW7KD#5R>ijyD|M+T@|oXte)8wN7s2%6tBpj9Q|GmAT5^NtvPk zje&u{R04sa>UMBMG|c;@T@vcxK^1$UY~XFJoq<4j#D!VGSKfg+rJkZwOmpEpe>^X) zfd7%dF=ei-=vl8B9qmE78ZWRc!>XNf44G^_#Hlq2@kSw$F^rEK($>rsoZx0MTKGkU z^RZcmF-K`qy&6A{#%&6wP{@|gR5W|9@#$n~SPLJ`)cu^o+(3QU9!CNioH`j%&ziM!P*RV=r*UZe!BX(v*~x2%DRm zn&sNGfSP!)Ekd-)I**?1dde~O6j;`;eAtp|uMQkKTw<4}+Sb-ajo~f&VlYVt?ND%a z(1bV7_rLe$;h3e0*BZ4;g3=*x)Q;3OO1(RFs@avtvSZp$yWM-5b z<&EALmE59^~`~)4l7++UD(`(jWw>K zr?$Day83YRT=`hjNTrY6>gp=;)it7n-*|gSX>Zvf`)BIv{R6N9DpikZI#)&@WSE3p zNKt_qnZkM*qoZEgu`4fqeSHav9+5{gv$6^uo^DTX%Q8j*jFc#Mf{vv$C=ApDkqp}5 z;K22_sd^#w6kvi9X9_evc~EQgdAUdBaaDZm5TURBRS5gHbURf&*w{TbyCC^=lAmMA z1z?@x;$mNa{}e)`+pE5whJY3X3i&c3wB;sQhX|Z6qrVD^X3pmi+*QfRk(IUgdx}K1 zm`ug~z%-dkXr5Xyxc-*^xiKy#b`5LHm>_#9;0=9jt@F&yw$r~AIwGP*aVJ?PK|g9b zpK%6`f^*e#-N6t7p(V(e9no#z->6^fal^Gitk|_|qLw*a0{tACqyh_X;p*1!@3e#I z(5tHHt-l+v6q`0~hK7Y%Adzcr`NnT*fGyUAfs;LuEm(>u2q`t8?HL~wyCu|OkrX|Y z_9~uEncHI3)y^d25AEE!^XE!X$HNa3!A_^nBSaG)J31VWXrz$=_KY4R0SRD1>4y6n zu#c!zP5^_~aG)FNJ^eXRjeo|_*qGsHhfo2IIMpoX3)0cCbJ@pY0oH_T4Qhv-@kX|+ zGuLqaPfO?;K4<}2ISS+?)Fqzdn@vN!}623Itur&idvWVZgMCYbCF4hCP%LXXCyWYXmb7Yx< znED5Y;t=b?6Y?l(gx8Zt^DzeNn_nKL-)T6{sBWx=NJvPq#{D{3+bm)%YDx@2tmZ2j zct6Qr0Ct;xKiZuW!AbFX+QDJf)3Ow4>=<%xBnaQkPBe;IsJ zyKcIGKc|Z~F*197^2_3oa{387;$*N%U=y1Ooq3$j;^qnc;k?Q`3%m9?J>1)S8Kz+v z|GpO*;fsTZWM$o|{S!NF%^>ELNS!+FYZsXQY+4 zS(=Jt)1Nq(f<5|NsjPpSUYsRznK0wi{AF=HZ|n0wz0mNRy|Vy}D50el*KpKIK@mY~wnVFgU_?RwV5q?6%^^YrvjH9-vTfnxsrBGX7r+_^PAnUh&2UNSlb$icu!`x_=V}&MIwRl9h)JIcegP+ z3=m$<>*)Iw$v0z{%Wl`q%+4k)R^;pI+uCDJ(Q-GfmP&bgUsSu;k7cdTRiq9N4^J;F zr2g{DFBt|g;n$wuu!v>%xUq?_CGFhc&zY7sH2Ysit_;6W4kRd(b+oRfBU0`=Z@6s? zjo=L$!*~b!Kow12Aqo{sC<5xPmtUR7lD7w$OF}Pf$2cR^9Csh`NRIkmA+RZvF zyZfqVYHn`sSX4wrg!S+G8jX>iHlK!vRaI1SggIe94bSX^qS!-Bw;%BFgSGyBXDRPr zC|8iWu{{@1Q+FtrK5%j0S7k@MTw>gLXXPjp6)1jA#VvX*4;2)&L=dC4R|gERQjLcR zMOI`58I|q|kLb0dl=l!T%4t|QBVEBfdOToR(K)Q{8<}6p}F?B zPpdX@hx$3{-MZdegr&F2WzBY~h;ax9V*KW;rt@WnQ9!hjtD9Rg`#PJRnrx$NtiV83 z*|Z0mjzjutagI2t{jy01yQ+eQ!Xf}EVqR?hy8~PvsM}Bd{f9^D<`!A`h5hakLt)d{ z;D|VPxzXj5z@q&yQ`RH}54MGl-ODfvaD7=-W#Q)LW}RiELqu%yYXyIEE8u?LBnp3t z0lv^JP_PcWmQF$WOs%v0K(hHRXNQE73lS|huf}Sd_9A4rTVf{BiD)Ew>E>k^Z36s+;ywNND0AWgEs3IhC9_H0L1xK+T9ihIW6al-5DXGoqR4`4l3P z31~;oq_X5zYHf7Kr%xsu0`~;zcnR@+q%F5^{xx7JIt)J>*?=><4bBGyAH+~ot_h+f zEqk9It$bS~s1+Yw(0^D;Wf-BhaxpkKrYcu*^x%J$<=-mRZwl&6UR%~m$2+TZgZB8x z>EzA3(kUZ!ek}CGs!(*q@WI!Ov zPZjq3M|VH`)gZN3{^^(g?4q7drQIxe;8_R=D5(WUQ|S$qYyh;Fp}amT_@$_T|pW+++XeMR&q3%Q;)a@3b*vv2h6K zB<}$mnJT&nc**jqJ`#|sE{w+vjqH(Rla;H(M3n`RD5s zEz4jjS0T{5cMP9eu1z8WE^SY@Z1T1Xzx}mvb^2Vj;m>T?r6bcJx|f{h4K<3MpUJRS z)jdCVLA9_*{n<4EOpy7s?)g)2)!TV(oG<_A-E$Na4Psb# z3V6S6-}go4ECix!Eh7NK6B7pF3d5g7zz8+o5h`HA3CuL9Pn^D-RWu9S|ZBzl<6(L`r3LhbhoY`7m zrtu39$j66#We;J=9eR3>L;0C_Pfu_AS)Sl==Z<@t;>958bUDoj9x|L~Dt!C)+!bwT ze`>5?L^yDhK#V5*Q?cvReQz_29D&m9?M+yaD-8@mnwPhI=7B(NH@mlo!FJjWgX zq;uJerS-*vyUgRV9}!JwXlV%~=^I^*@;5#`xKTdp!qx6twj*{E-&H+;cebv$ke2lI zvmd2R9JmyO+gm$rlf~Ey!7+2;crh`tH?uia1pFHn{8M}&rMs6X(%UO?nQ*CA>zStz z%?ZSUITW!TP??R0#vJgzvtvYj{VP&!5{$-+zvtfu>kCglsEQBXL2C_>F`-8uwfb(1 zB%qbY7uP7lW08|tb zqvSn-4gShRSgH}H{=L^8Rd<=@4L{ad2Ddq}fuPFMRi2Bj%ifS+$~M+30BA8kqwLqM z%1=!_qig?Z9-2LUT9vGw>mhGX7os9NX3{eKam>YM_AURP88PN;T{>1&JDD_m08;$_ zC6^rfN$jav-4bWvcukO0EglA8wO`|y=Mq#be^0CjXcD-bh&tDLZ{VM|9^M3N?+_E| zwW#?woBxGh4=39dtxd z_BG92fDsnDy|;yvh;4hX#c*?UZuvZfKjCe&qZy8Z9^+k14+TO z?lCl7$erKV=X-(H>d3zR$XV`UlcMen z924bi!YbS}``0aQNxH4)23PPYfL*JzBkppb4ol#lcHuNk$o$P&9JZb~Jb4vF%OG2FqIx(PEYGUpPBCwK6f;68%teH~3DXl5eD| z)0Fv`aQqWb&!L%$ALUm$?;J}*O;zn5Z*ObUwS~t`tjkkIUo%-5F7~99+jKH&B}rLm z#syf|hYzsIdF7@0ubZgeed*Mlh#9Z-MZ4B*s!6&{bycl!_g8s5;^rxanVTnj=mkwo znA_Oc@JmZ$l}2ibnfqIVvcV%qAu%H7NKj-L&GB}k zy>j?m-@t(Ceah~1QwXfy&zqJ*@qYX2``DNmbNj*p|Fvzbi)w_2uk2FZE*A%9BZh-WwYmOB4?gI~^0tK3Uu8TAAi+i9Foo zJ<=)g9C+@&Yo!_KKq*rtgsy$r%aMGD@S6!$+{br{RBz2(SenQ$^H|Do0N#6bmf8Ga zCBkD=mzx)Dr2nMf_0j%o7zG&^o0`i0n~6#0$=qx0G{qt^>423fc6^B6!0Y!H5y#Qb z>5jt%*?WY=e3QYP=qw7!ErgDJR~2jSsr6GW`y3-9Pwiy!#6)tC+o|g6YB>Zxi!$5S zr@OsQ%DZr3!D)L1rg86HUlYC3oRwvCULIe><;@I65z8!CA>46)YuV98Cg3s)OTqeN z?E$@{i0M{r%Nyp**RM}Sub@Q{c!CrltPO5b(d1DAcc<4<9aT zC5V|wPq@EW87|C~bQ<9k^(b1enx&)c`%ZX-%*^IG4Hv|k);)dqik>6q_wV1=5Liq9 z2=Y#4qvIalt=xG`KY~qGA68(f7sakn{@~8@29i&8&i#Z>xWff$vWrNZ08F3|N!ni- zT-*$rVFeyh4BXEH7Yg*VHPVG3=FYK&hWtbVzPNT>|KW^j;P0BcTItIbV1K&+RvHkk5VYuB%R4`T5Msun;cP+}!Li{Y_*zt6hj{OsW@8(jR8f zt^Lr%*T>Oa{+&F+&Etq`sMj!!&&xg7p>3*}iS&PcagsYlHgUV7P!9R)gLOBdv%S4P^2#m4Of}kw%c9Dn zqWvu}E+|;Hej}0;6Bn05uXL!}NZv0zarW}ZlkB_iJzz=z%!oLYjzz5x?BR@@R*Ia~ zyLZ|VR}P|rPVXHOj!D?}-3Cdtq(s?^(%09&#K4dZpxb3KG2_@tx_i+)T8UX6vn>wI zVGLv!&4uBCY)x)xYZM2zcB7$?dIMXW5*>hhOePa68JL-~^9^zx*2Xa_BSlG;fs()T zK5|8HC|P>14E4`6hsP!)Y6X> zsR%PQO>`Xjv`pc#{M}t^+s&e(sX3S|`_;nf8`OMPrJS3+5S+bhs$b95APCja(i;BZMzJU+jOgw zD~e4vV|VxI_7eG{BeuB6q|8>3m$$XbG`}9-QJ8ph+G=HdTM;CHWjLb{JRqPhGKJq! z(s8H{*i|n-Ki`kM_pGD07duf+kU){;753)dn|}T&u9DGf;X9eVif*L--iVo7JvY>} z-VdX=H}^?Hb8CN~Cgm_NWtdY)c}pu>!CG1>!{JD_T~t z6AQApPO?mTZt6~JOu{1kvqS}W^p5q zCMG6fQE31z*o^>B*q-q0)xeV;CxD>e-DU3R=)j{$5c7cSl=%4Z(UOfkU@X7&>LYS~ zTX}w4OT{U-d>z4yT43Bz?c9ymnqP_YM~`!;tEwJn5dtaY?l_OruXih zAEBsH645dD(e;7f;jTw>YwK!}G)~vguV!X;mK!QntA%kK9(WX`kfY$glh>+3-@fMK z)Dgq4ao@Z!UFC!m0BSO+UUzX#ihJ(Wt3R8F6Qt1wm)dLBuSZlP_4M?{Yiz=ueav*D z`ozF0DY_|+@N!5poyurR~n0@1KHUXBMlYakuqz^a#6{B}NC-El3mZ7_&Ul6KPvPZXF+ zsx2?)di@#|1+jH6J)P5Wd<#x}3%~?m_ZvQxGm5=$-3X}$jT?OOou4~E@( z;xC$_$~LL53L4~qrf)qB3$Z)am1E&=m^m=T#o4RHwc7qWzx3c0nv#wqx)F(z<$GQ9 zozl1`WzIfH-<+-emb2qyQ&NhS2Xpg%*2eb_^7Q1kR?}%Z90Cu(ZV`k!NImHfRWq-ocTaEvVljfpIr=h6|0b@2;yKjT_F>Q+fC9-9GkZ z=pBq96rb$ya&J8VrFKWtYq46hM<^Ytks5SeCLzHjQPwj~k>pjJ8i0pxuM8WAG#-|+ zKmB<}Rc#+BuuN?aeAZTQIky2fq+{~?QP?^g+d8{Vkr00}caKtf6fhFIkYn#5COQ@OXQ+msLGwVv!V7t#T335-`TVLv znMJh{y%oJz48P!}eV77BDq)9{*%x;=JQSIk6F`DbH}(`Qsg|h{X^5`UG?($@0X@ErnM8d}<_qwzP*oMwQQ{PmUlCiX*l@1)!&?2QFrXn1#8i4#${ z$Q09o$|dS3rL0=P$CC?Sg#x{6BmLLaZOVRx{j&O+1i=#&j&v&bTq?eXCRn~lY8Lh1lF+9w0?t02JZXD)k|I!{1XysDFh4Z2UhCL|<)8bYv8`X!L#oQ8m&rlF~us~tzUiW~miO&}SAI@Fz{g!^nbZnA`rqbYH< zhz5OCCTI#``&?T1WD)h&f*ga*8qrf66dgdXvErnI-aR8V&u$}84U z8Ym+*AAPW$fbZ5Ar@3t z*stRo49(L`>g7&Y;o(9vBjDYgM&>R)d3p0kYEf`k*Wwz|CNhG9(f|_rw9w&-Ac@#W z5%TT)p|l>yLzo`&b*cmV0hn%hpi>7XB)tx=k14As|vQW_oo ze%?zi7Ev=NxZD{I>TDnd;&9$7SxyJ6J8Yvt{T)iX5AV)w7p zx!n@1p&{qbq3w2W*)>bI1|tj_?JEP{g00$ZX$-;{EAv5RV@Eb_{}B|PZr7VyGyRHntC`7a7uS8bx0oi#&8-SDP=9r# zh}LYEiGfsMYcCC?RiFRT+EN zZzy7%`!hzbE2!aaSQVeF^~Hj;*nU7fDe3-`P;=nhIGBiWn)j(4u0wcISv_fYHY!oV zBbv)9KS3T*$|7O^kqWi~>e0YX87J9)6=Om}0WpkV|3&_I?b@|+>!uUX27_0m{p~^W zkRdH{`Zx&u7)IoFY)fQdYh_vRSypm}l=DQM&)WJ>pvA`fwXW6iB)9sa^rlz*xU~_` zk7ex>S96nGYoLNgMN(Wb5pQ==?eqq1mKN+g1M9KEUCM3Y{#9>gwc$ zC_84sFJCVC`c85Kpw7ohPdF5)vBx`G8qh1n@m-TE$N5C4^YyB^ z(o%E0Uw!G1wMEi=W%j)PG56COH8jd5a|n5M8=LB|iBlIDTIbC^DL)Qqn9(qtAljv} ze#wS))xC)f?O)z9cv4*&5&qn#=Lhp2>7Ver}v@>VJo=gXbd!pf++fnruQanh?$f-H`fL&Ol#tFq_L%t4jt_{{!)aqhJcs7Bhk z-W#_8Ms>9Jh|!(wb}eJ23T(-OLcO*$Wm`qP@C^>?tLgrdt5)keVAtNLG?!MJ3)?*2 zMdIGVJ|W|efhU;cD{tWjwbzVbzKM2R9B~Ge6gU1z`6fLeegffAVgwC@msDfH zj!=1ZcI55X7ZFVz-QB~ISW8}LSel|17^U}J@vRsvwx~VpbOJ4L;LBN@CBG1Y09r)} zVZ7Y62npEGLW{H}=Rlm0nWXg$SCOX18DsR#Rpbx^^1gvW_Fo&T#ZpQ(lh`0Jv0p{% zK60v@5L8gG0Fx##V9*Qyk+@p+62T(5z~P5FREkKt2b4NKb!ur|=t;6;I}s!{OdZ%V ziy4DK0<~(R4gp^&u&l4KWRo&%Z(og#NjA3^)%7>_P|IzUZSM$m>Q?YeMA|HbOSVctEb8rES z6Qx{gY*7+sA@m%ZB8@{7W5EZw3SodsG0 zZf>+Ro#vmuS?EbITM5V7^(1lwq4(LbG%OfPN&#`5+a*VJ ztpP2!B3!)SMchE<8d);u=cewL>7$^-L-~VVGv7})fB&9`&5ROI!d?74xjEZvfu;UO5&^q6Rn^rG(3N1ip#S(W==a$(9|Od!N*;BQny;P&0Jv|v_r%85#_^8w z^Wypi7O4JAjW>06T3~n@i?u>s0qRw9>%nZRAR@4IpSXeMsg!tUWC`qmeF=T9aRc_J zq490k=~s6~Di4%=7ON$_Mn5Y%B}>|LJcjCbRJe3>bm?P@iO^_3T?CC(Ky{g7 zvV>k5YBP9eZ88_|Q83vyq+C9TgrhCjdXEOpaB*`B^0)h<1pq5q*Hs0Ea4om*R~9lY z|BXscN-}#`Vv5ReMq@n zXppPzFj>R3Hdfa9_5@_)lmjlm%(pWx!wp6kH@IxLupGTXa!&_ygzUzV=l`aIYNA_9 z{#gayc@0|zY7FEHLhoN6l=$1}20q?foj_5o?RI4o3#PtaK1t}lRIPWVf7w6%0a)<` zYc_$n?)fMD)B_u?9o6f{&Y%4|QvFR-j$ahEFq$#E`rkP4P|ereQFv|^VD{}`FV6af zj7x&SFU|Y3fm9o#ZW(-!6UewDlVaGmj3=;ajl2179Wa(Z_1NKJGox1RWQl)9)_KW| z88&Jesyg~#SmVFK@)k~mf2X$p<5WuT!jtNlch+Ra_255GMi?jjUuoA99JG)J2Q8uy z$!GrfUq7nyx8+x;(Xz6%-VZ$$r5h(mb?cu8Qx-yiP;D?pJ)Q#23n047)+R8TW);qo x;CRd5PT$BcsQ+#g&#ha8cF~Jde^?+XO*!T{TxDlY0-k_CRkiOHD?fPte*k#=gL41? literal 0 HcmV?d00001 diff --git a/Assets/Images/Nodes/if.png.import b/Assets/Images/Nodes/if.png.import new file mode 100644 index 0000000..59f92b7 --- /dev/null +++ b/Assets/Images/Nodes/if.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chh5hsjsy254n" +path="res://.godot/imported/if.png-4751c8cb00c015bf90caf7b01ca65fcf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Nodes/if.png" +dest_files=["res://.godot/imported/if.png-4751c8cb00c015bf90caf7b01ca65fcf.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Images/Nodes/maintain.png b/Assets/Images/Nodes/maintain.png new file mode 100644 index 0000000000000000000000000000000000000000..24071fa0e801a5ec5414136ac6991abf3c9ced2f GIT binary patch literal 4299 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 literal 0 HcmV?d00001 diff --git a/Assets/Images/Nodes/maintain.png.import b/Assets/Images/Nodes/maintain.png.import new file mode 100644 index 0000000..932e43d --- /dev/null +++ b/Assets/Images/Nodes/maintain.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0yysypsrfe7s" +path="res://.godot/imported/maintain.png-d6e014a306fabbb6543e072f6642d4e7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Nodes/maintain.png" +dest_files=["res://.godot/imported/maintain.png-d6e014a306fabbb6543e072f6642d4e7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Images/Nodes/move.png b/Assets/Images/Nodes/move.png new file mode 100644 index 0000000000000000000000000000000000000000..475121112f240f9983f5930d52efc0d93d40c9f5 GIT binary patch literal 8429 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 UkKLgy4Eg{dbdfqm+Sl*@1^i^sIsgCw literal 0 HcmV?d00001 diff --git a/Assets/Images/Nodes/sacrifice.png.import b/Assets/Images/Nodes/sacrifice.png.import new file mode 100644 index 0000000..c30b37c --- /dev/null +++ b/Assets/Images/Nodes/sacrifice.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btumhi0t4c0f0" +path="res://.godot/imported/sacrifice.png-1291ff8e1d4c6a2ccf4900842ccf4993.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Nodes/sacrifice.png" +dest_files=["res://.godot/imported/sacrifice.png-1291ff8e1d4c6a2ccf4900842ccf4993.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Assets/Images/Nodes/start.png b/Assets/Images/Nodes/start.png new file mode 100644 index 0000000000000000000000000000000000000000..0b00549df2b28e1fabde737b83a3b2ad458ff021 GIT binary patch literal 3624 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 literal 0 HcmV?d00001 diff --git a/Assets/Images/Nodes/while.png.import b/Assets/Images/Nodes/while.png.import new file mode 100644 index 0000000..40a83e1 --- /dev/null +++ b/Assets/Images/Nodes/while.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://p0b5h6kts0jo" +path="res://.godot/imported/while.png-a59b08af0a24cbfedd7a46b9cd582957.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Images/Nodes/while.png" +dest_files=["res://.godot/imported/while.png-a59b08af0a24cbfedd7a46b9cd582957.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Scenes/Game.tscn b/Scenes/Game.tscn index f60a7d9..03d53f9 100644 --- a/Scenes/Game.tscn +++ b/Scenes/Game.tscn @@ -24,6 +24,8 @@ [ext_resource type="Texture2D" uid="uid://bmcpkt6mae2qi" path="res://Assets/Images/AlarmSign.png" id="13_x3xnh"] [ext_resource type="Texture2D" uid="uid://uunnuou4g86w" path="res://Assets/Images/Resources/MushroomSymbol.png" id="14_food"] [ext_resource type="Script" uid="uid://d0opysuqksr6l" path="res://Scripts/UI/Tutorial/TutorialBubble.cs" id="15_tutorial"] +[ext_resource type="Texture2D" uid="uid://b6jm34qgckaxh" path="res://Assets/Images/Nodes/explore.png" id="25_8e0uq"] +[ext_resource type="Script" uid="uid://dx5oy38ochrw2" path="res://Scripts/UI/DSL/NodeTooltip.cs" id="25_i0vto"] [sub_resource type="CompressedTexture2D" id="CompressedTexture2D_u44n3"] @@ -224,14 +226,14 @@ text = "Open Gate" layout_mode = 2 size_flags_vertical = 3 -[node name="CodingWindow" type="PanelContainer" parent="CanvasLayer/UIHandler/MainUI/Content" unique_id=1576652491 node_paths=PackedStringArray("codeBlocks", "editorWindow", "availableScripts", "scriptName", "nameInput")] +[node name="CodingWindow" type="PanelContainer" parent="CanvasLayer/UIHandler/MainUI/Content" unique_id=1576652491 node_paths=PackedStringArray("codeBlocks", "editorWindow", "availableScripts", "scriptName", "nameInput", "nodeTooltip")] visible = false layout_mode = 1 anchors_preset = 11 anchor_left = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 -offset_left = -663.0 +offset_left = -948.0 grow_horizontal = 0 grow_vertical = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_7lihs") @@ -241,6 +243,7 @@ editorWindow = NodePath("VBoxContainer/Scripting/EditorWindow/CodeContainer") availableScripts = NodePath("VBoxContainer/Scripting/EditorWindow/Load") scriptName = NodePath("VBoxContainer/Scripting/EditorWindow/Saving/ScriptName") nameInput = NodePath("VBoxContainer/Renaming/LineEdit") +nodeTooltip = NodePath("../../../NodeTooltip") [node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/UIHandler/MainUI/Content/CodingWindow" unique_id=582741975] layout_mode = 2 @@ -296,7 +299,8 @@ theme_override_constants/separation = 10 [node name="RichTextLabel" type="RichTextLabel" parent="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/CodeBlocks/VBoxContainer" unique_id=1914788051] layout_mode = 2 -text = "Click to add" +text = "Click to add +[DEL] to remove" fit_content = true autowrap_mode = 0 horizontal_alignment = 1 @@ -310,6 +314,7 @@ size_flags_stretch_ratio = 2.0 [node name="CodeContainer" type="GraphEdit" parent="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/EditorWindow" unique_id=1600198848] layout_mode = 2 size_flags_vertical = 3 +scroll_offset = Vector2(-4, 0) right_disconnects = true [node name="Buttons" type="HBoxContainer" parent="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/EditorWindow" unique_id=265797151] @@ -361,7 +366,7 @@ anchors_preset = 11 anchor_left = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 -offset_left = -525.0 +offset_left = -711.0 grow_horizontal = 0 grow_vertical = 2 script = ExtResource("7_2irst") @@ -691,10 +696,46 @@ text = "Skip" layout_mode = 2 text = "Next" +[node name="NodeTooltip" type="PanelContainer" parent="CanvasLayer/UIHandler" unique_id=642635777 node_paths=PackedStringArray("title", "image", "description")] +visible = false +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 +script = ExtResource("25_i0vto") +title = NodePath("VBoxContainer/Title") +image = NodePath("VBoxContainer/NodeVisual") +description = NodePath("VBoxContainer/Description") + +[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/UIHandler/NodeTooltip" unique_id=1125936946] +layout_mode = 2 + +[node name="Title" type="RichTextLabel" parent="CanvasLayer/UIHandler/NodeTooltip/VBoxContainer" unique_id=1945362386] +layout_mode = 2 +bbcode_enabled = true +text = "[font_size=18]Explore" +fit_content = true +autowrap_mode = 0 +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="NodeVisual" type="TextureRect" parent="CanvasLayer/UIHandler/NodeTooltip/VBoxContainer" unique_id=2114186555] +layout_mode = 2 +texture = ExtResource("25_8e0uq") + +[node name="Description" type="RichTextLabel" parent="CanvasLayer/UIHandler/NodeTooltip/VBoxContainer" unique_id=1191195331] +layout_mode = 2 +text = "Using this node you can randomly explore the ruin. +It continues exploring until all tiles were visited." +fit_content = true +horizontal_alignment = 1 +vertical_alignment = 1 + [connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/HeaderContainer/VBoxContainer/UnlockLayer" to="CanvasLayer/UIHandler" method="UnlockLayer"] [connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Renaming/Button" to="CanvasLayer/UIHandler/MainUI/Content/CodingWindow" method="SaveRobotName"] [connection signal="connection_request" from="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/EditorWindow/CodeContainer" to="CanvasLayer/UIHandler/MainUI/Content/CodingWindow" method="OnNodeConnect"] [connection signal="disconnection_request" from="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/EditorWindow/CodeContainer" to="CanvasLayer/UIHandler/MainUI/Content/CodingWindow" method="OnNodeDisconnect"] +[connection signal="node_deselected" from="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/EditorWindow/CodeContainer" to="CanvasLayer/UIHandler/MainUI/Content/CodingWindow" method="OnNodeDeselect"] +[connection signal="node_selected" from="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/EditorWindow/CodeContainer" to="CanvasLayer/UIHandler/MainUI/Content/CodingWindow" method="OnNodeSelect"] [connection signal="button_up" from="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/EditorWindow/Buttons/Clear" to="CanvasLayer/UIHandler/MainUI/Content/CodingWindow" method="ClearWindow"] [connection signal="button_up" from="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/EditorWindow/Buttons/Compile" to="CanvasLayer/UIHandler/MainUI/Content/CodingWindow" method="CompileProgram"] [connection signal="pressed" from="CanvasLayer/UIHandler/MainUI/Content/CodingWindow/VBoxContainer/Scripting/EditorWindow/Saving/Save" to="CanvasLayer/UIHandler/MainUI/Content/CodingWindow" method="SaveProgram"] diff --git a/Scripts/Core/ResourceLoader.cs b/Scripts/Core/ResourceLoader.cs index b842666..9e69ce3 100644 --- a/Scripts/Core/ResourceLoader.cs +++ b/Scripts/Core/ResourceLoader.cs @@ -151,4 +151,9 @@ public static class ResourceLoader return result; } + + public static Texture2D LoadDSLTooltip(string title) + { + return GD.Load($"res://Assets/Images/Nodes/{title.ToLower()}.png"); + } } diff --git a/Scripts/DSL/Nodes/IfNode.cs b/Scripts/DSL/Nodes/IfNode.cs index 2fd65a4..b57e533 100644 --- a/Scripts/DSL/Nodes/IfNode.cs +++ b/Scripts/DSL/Nodes/IfNode.cs @@ -19,6 +19,12 @@ public class IfNode : ProgramNode return NodeResult.FAILURE; } + if (comparator == null) + { + lastExecutionMessage = "No comparator selected"; + return NodeResult.FAILURE; + } + bool isConditionFulfilled = DetermineCondition(); return isConditionFulfilled ? NodeResult.SUCCESS : NodeResult.CONDITIONFALSE; } diff --git a/Scripts/DSL/Nodes/WhileNode.cs b/Scripts/DSL/Nodes/WhileNode.cs index 9503663..519ed23 100644 --- a/Scripts/DSL/Nodes/WhileNode.cs +++ b/Scripts/DSL/Nodes/WhileNode.cs @@ -19,6 +19,12 @@ public class WhileNode : ProgramNode return NodeResult.FAILURE; } + if (comparator == null) + { + lastExecutionMessage = "No comparator selected"; + return NodeResult.FAILURE; + } + bool isConditionFulfilled = DetermineCondition(); return isConditionFulfilled ? NodeResult.SUCCESS : NodeResult.CONDITIONFALSE; } diff --git a/Scripts/UI/DSL/CodingWindow.cs b/Scripts/UI/DSL/CodingWindow.cs index 94db4d7..d463c89 100644 --- a/Scripts/UI/DSL/CodingWindow.cs +++ b/Scripts/UI/DSL/CodingWindow.cs @@ -11,8 +11,10 @@ public partial class CodingWindow : PanelContainer [Export] OptionButton availableScripts; [Export] LineEdit scriptName; [Export] LineEdit nameInput; + [Export] NodeTooltip nodeTooltip; public System.Collections.Generic.Dictionary DSLNodes; + public NodeDisplay selectedNode; public override void _Ready() { @@ -28,6 +30,29 @@ public partial class CodingWindow : PanelContainer } } + public override void _Process(double delta) + { + if (Input.IsActionJustPressed("delete_node")) + { + Control focused = GetViewport().GuiGetFocusOwner(); + + if (focused is LineEdit || focused is TextEdit) return; + if (selectedNode == null) return; + editorWindow.RemoveChild(selectedNode); + selectedNode.QueueFree(); + } + } + + public void OnNodeSelect(NodeDisplay node) + { + selectedNode = node; + } + + public void OnNodeDeselect(NodeDisplay node) + { + selectedNode = null; + } + private void LoadWindow() { if (robot == null) return; @@ -76,6 +101,14 @@ public partial class CodingWindow : PanelContainer { AddEditorNode(nodeTemplate); }; + nodeListButton.MouseEntered += () => + { + nodeTooltip.ShowTooltip(nodeTemplate.DisplayText, nodeTemplate.DisplayText, nodeListButton); + }; + nodeListButton.MouseExited += () => + { + nodeTooltip.HideTooltip(); + }; codeBlocks.AddChild(nodeListButton); } } @@ -85,7 +118,6 @@ public partial class CodingWindow : PanelContainer NodeDisplay editorDisplay = DSLNodes[node].Instantiate(); editorDisplay.PositionOffset = GetVisibleGraphCenter() - editorDisplay.Size / 2f; editorWindow.AddChild(editorDisplay); - RegisterEditorNode(editorDisplay); } private Vector2 GetVisibleGraphCenter() @@ -93,15 +125,6 @@ public partial class CodingWindow : PanelContainer return (editorWindow.ScrollOffset + editorWindow.Size / 2f) / editorWindow.Zoom; } - private void RegisterEditorNode(NodeDisplay editorDisplay) - { - editorDisplay.OnDeleteNode += () => - { - editorWindow.RemoveChild(editorDisplay); - editorDisplay.QueueFree(); - }; - } - public void ClearWindow() { DisconnectAllNodes(); @@ -176,7 +199,6 @@ public partial class CodingWindow : PanelContainer private void AddLoadedNode(NodeDisplay nodeDisplay) { editorWindow.AddChild(nodeDisplay); - RegisterEditorNode(nodeDisplay); } public void LoadTemporaryProgram() diff --git a/Scripts/UI/DSL/NodeDisplay.cs b/Scripts/UI/DSL/NodeDisplay.cs index 4234c37..6da245d 100644 --- a/Scripts/UI/DSL/NodeDisplay.cs +++ b/Scripts/UI/DSL/NodeDisplay.cs @@ -5,9 +5,6 @@ public partial class NodeDisplay : GraphNode { public ProgramNode node; - [Signal] - public delegate void OnDeleteNodeEventHandler(); - public override void _Ready() { if (node == null) @@ -20,11 +17,6 @@ public partial class NodeDisplay : GraphNode SetupDisplay(); } - public void DeleteNodePressed() - { - EmitSignal(SignalName.OnDeleteNode); - } - public static NodeDisplay Load( string nodeName, string content, diff --git a/Scripts/UI/DSL/NodeDisplays/IfNodeDisplay.cs b/Scripts/UI/DSL/NodeDisplays/IfNodeDisplay.cs index 261f248..145a557 100644 --- a/Scripts/UI/DSL/NodeDisplays/IfNodeDisplay.cs +++ b/Scripts/UI/DSL/NodeDisplays/IfNodeDisplay.cs @@ -41,6 +41,7 @@ public partial class IfNodeDisplay : NodeDisplay ifNode.amount = (int)valueContainer.GetNode("./Amount").Value; OptionButton comparators = valueContainer.GetNode("./Comparator"); + if(comparators.GetSelectedId() == -1) return; ifNode.comparator = comparators.GetItemText(comparators.GetSelectedId()); } diff --git a/Scripts/UI/DSL/NodeDisplays/WhileNodeDisplay.cs b/Scripts/UI/DSL/NodeDisplays/WhileNodeDisplay.cs index b3bca16..ff04e8e 100644 --- a/Scripts/UI/DSL/NodeDisplays/WhileNodeDisplay.cs +++ b/Scripts/UI/DSL/NodeDisplays/WhileNodeDisplay.cs @@ -41,6 +41,7 @@ public partial class WhileNodeDisplay : NodeDisplay whileNode.amount = (int)valueContainer.GetNode("./Amount").Value; OptionButton comparators = valueContainer.GetNode("./Comparator"); + if(comparators.GetSelectedId() == -1) return; whileNode.comparator = comparators.GetItemText(comparators.GetSelectedId()); } diff --git a/Scripts/UI/DSL/NodeTooltip.cs b/Scripts/UI/DSL/NodeTooltip.cs new file mode 100644 index 0000000..2b4546c --- /dev/null +++ b/Scripts/UI/DSL/NodeTooltip.cs @@ -0,0 +1,24 @@ +using Godot; + +public partial class NodeTooltip : PanelContainer +{ + [Export] RichTextLabel title; + [Export] TextureRect image; + [Export] RichTextLabel description; + + private static Vector2 spacing = new Vector2(5, 0); + + public void ShowTooltip(string titleText, string descriptionText, Button button) + { + title.Text = titleText; + image.Texture = ResourceLoader.LoadDSLTooltip(titleText); + description.Text = descriptionText; + Show(); + Position = button.GlobalPosition - spacing - new Vector2(Size.X, Size.Y/2); + } + + public void HideTooltip() + { + Hide(); + } +} diff --git a/Scripts/UI/DSL/NodeTooltip.cs.uid b/Scripts/UI/DSL/NodeTooltip.cs.uid new file mode 100644 index 0000000..0bd9401 --- /dev/null +++ b/Scripts/UI/DSL/NodeTooltip.cs.uid @@ -0,0 +1 @@ +uid://dx5oy38ochrw2 diff --git a/project.godot b/project.godot index 6b28207..3d5239f 100644 --- a/project.godot +++ b/project.godot @@ -97,6 +97,12 @@ research={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":84,"key_label":0,"unicode":116,"location":0,"echo":false,"script":null) ] } +delete_node={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194308,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194312,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} [layer_names]