From 2fc6c2b365951bdbf5be156f106ba3d09dfa802f Mon Sep 17 00:00:00 2001 From: HelperWesley <72082749+HelperWesley@users.noreply.github.com> Date: Tue, 31 Mar 2026 11:11:24 -0230 Subject: [PATCH] Adding Variants for the panel sprite button object Added variants of the object to the game scene. --- .../assets/8BitOperatorPlus8Regular.fnt | 95 + .../assets/8BitOperatorPlus8Regular.png | Bin 0 -> 2626 bytes .../assets/AoboshiOne-Regular.ttf | Bin 0 -> 116676 bytes .../Blue TinySwords Pixel Button_Hovered.png | Bin 0 -> 894 bytes .../Blue TinySwords Pixel Button_Idle.png | Bin 0 -> 803 bytes .../Blue TinySwords Pixel Button_Pressed.png | Bin 0 -> 864 bytes .../assets/NotJamOldStyle11.fnt | 100 + .../assets/NotJamOldStyle11.png | Bin 0 -> 2898 bytes .../Red TinySwords Pixel Button_Hovered.png | Bin 0 -> 900 bytes .../Red TinySwords Pixel Button_Idle.png | Bin 0 -> 798 bytes .../Red TinySwords Pixel Button_Pressed.png | Bin 0 -> 886 bytes .../Tiny Square White Button_Hovered.png | Bin 0 -> 216 bytes .../assets/Tiny Square White Button_Idle.png | Bin 0 -> 195 bytes .../Tiny Square White Button_Pressed.png | Bin 0 -> 207 bytes .../White 1Bit Border Button_Hovered.png | Bin 0 -> 184 bytes .../assets/White 1Bit Border Button_Idle.png | Bin 0 -> 184 bytes .../White 1Bit Border Button_Pressed.png | Bin 0 -> 191 bytes .../White Fantasy Border Button_Hovered.png | Bin 0 -> 415 bytes .../White Fantasy Border Button_Idle.png | Bin 0 -> 415 bytes .../White Fantasy Border Button_Pressed.png | Bin 0 -> 437 bytes .../assets/White Fantasy Button_Hovered.png | Bin 0 -> 429 bytes .../assets/White Fantasy Button_Idle.png | Bin 0 -> 428 bytes .../assets/White Fantasy Button_Pressed.png | Bin 0 -> 446 bytes .../variants-panel-sprite-button.json | 6749 +++++++++++++++++ 24 files changed, 6944 insertions(+) create mode 100644 examples/variants-panel-sprite-button/assets/8BitOperatorPlus8Regular.fnt create mode 100644 examples/variants-panel-sprite-button/assets/8BitOperatorPlus8Regular.png create mode 100644 examples/variants-panel-sprite-button/assets/AoboshiOne-Regular.ttf create mode 100644 examples/variants-panel-sprite-button/assets/Blue TinySwords Pixel Button_Hovered.png create mode 100644 examples/variants-panel-sprite-button/assets/Blue TinySwords Pixel Button_Idle.png create mode 100644 examples/variants-panel-sprite-button/assets/Blue TinySwords Pixel Button_Pressed.png create mode 100644 examples/variants-panel-sprite-button/assets/NotJamOldStyle11.fnt create mode 100644 examples/variants-panel-sprite-button/assets/NotJamOldStyle11.png create mode 100644 examples/variants-panel-sprite-button/assets/Red TinySwords Pixel Button_Hovered.png create mode 100644 examples/variants-panel-sprite-button/assets/Red TinySwords Pixel Button_Idle.png create mode 100644 examples/variants-panel-sprite-button/assets/Red TinySwords Pixel Button_Pressed.png create mode 100644 examples/variants-panel-sprite-button/assets/Tiny Square White Button_Hovered.png create mode 100644 examples/variants-panel-sprite-button/assets/Tiny Square White Button_Idle.png create mode 100644 examples/variants-panel-sprite-button/assets/Tiny Square White Button_Pressed.png create mode 100644 examples/variants-panel-sprite-button/assets/White 1Bit Border Button_Hovered.png create mode 100644 examples/variants-panel-sprite-button/assets/White 1Bit Border Button_Idle.png create mode 100644 examples/variants-panel-sprite-button/assets/White 1Bit Border Button_Pressed.png create mode 100644 examples/variants-panel-sprite-button/assets/White Fantasy Border Button_Hovered.png create mode 100644 examples/variants-panel-sprite-button/assets/White Fantasy Border Button_Idle.png create mode 100644 examples/variants-panel-sprite-button/assets/White Fantasy Border Button_Pressed.png create mode 100644 examples/variants-panel-sprite-button/assets/White Fantasy Button_Hovered.png create mode 100644 examples/variants-panel-sprite-button/assets/White Fantasy Button_Idle.png create mode 100644 examples/variants-panel-sprite-button/assets/White Fantasy Button_Pressed.png create mode 100644 examples/variants-panel-sprite-button/variants-panel-sprite-button.json diff --git a/examples/variants-panel-sprite-button/assets/8BitOperatorPlus8Regular.fnt b/examples/variants-panel-sprite-button/assets/8BitOperatorPlus8Regular.fnt new file mode 100644 index 000000000..0d2228ef1 --- /dev/null +++ b/examples/variants-panel-sprite-button/assets/8BitOperatorPlus8Regular.fnt @@ -0,0 +1,95 @@ +info face="8BitOperatorPlus8Regular" size=12 bold=0 italic=0 charset="32-59,61,63-91,93-95,97-125,8470" unicode=1 stretchH=100 smooth=1 aa=1 padding=1,1,1,1 spacing=0,0 outline=0 +common lineHeight=12 base=7 scaleW=75 scaleH=75 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 +page id=0 file="8BitOperatorPlus8Regular.png" +chars count=91 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=3 page=0 chnl=15 +char id=33 x=72 y=0 width=3 height=9 xoffset=0 yoffset=0 xadvance=2 page=0 chnl=15 +char id=34 x=58 y=70 width=7 height=5 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=35 x=15 y=8 width=8 height=8 xoffset=0 yoffset=1 xadvance=7 page=0 chnl=15 +char id=36 x=44 y=63 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=37 x=15 y=0 width=8 height=8 xoffset=0 yoffset=1 xadvance=7 page=0 chnl=15 +char id=38 x=51 y=0 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=39 x=65 y=61 width=4 height=5 xoffset=0 yoffset=0 xadvance=3 page=0 chnl=15 +char id=40 x=65 y=12 width=5 height=9 xoffset=0 yoffset=0 xadvance=4 page=0 chnl=15 +char id=41 x=65 y=21 width=5 height=9 xoffset=0 yoffset=0 xadvance=4 page=0 chnl=15 +char id=42 x=0 y=43 width=9 height=7 xoffset=0 yoffset=1 xadvance=8 page=0 chnl=15 +char id=43 x=65 y=0 width=7 height=7 xoffset=0 yoffset=1 xadvance=6 page=0 chnl=15 +char id=44 x=65 y=56 width=4 height=5 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=15 +char id=45 x=9 y=42 width=6 height=3 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=15 +char id=46 x=9 y=72 width=3 height=3 xoffset=0 yoffset=6 xadvance=2 page=0 chnl=15 +char id=47 x=9 y=11 width=6 height=10 xoffset=0 yoffset=0 xadvance=5 page=0 chnl=15 +char id=48 x=15 y=26 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=49 x=9 y=45 width=5 height=9 xoffset=0 yoffset=0 xadvance=4 page=0 chnl=15 +char id=50 x=15 y=35 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=51 x=15 y=44 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=52 x=15 y=53 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=53 x=15 y=62 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=54 x=23 y=0 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=55 x=23 y=9 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=56 x=23 y=18 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=57 x=23 y=27 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=58 x=72 y=18 width=3 height=7 xoffset=0 yoffset=2 xadvance=2 page=0 chnl=15 +char id=59 x=65 y=48 width=4 height=8 xoffset=0 yoffset=2 xadvance=3 page=0 chnl=15 +char id=61 x=0 y=70 width=7 height=5 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=63 x=44 y=54 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=64 x=0 y=60 width=8 height=10 xoffset=0 yoffset=0 xadvance=7 page=0 chnl=15 +char id=65 x=30 y=0 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=66 x=30 y=9 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=67 x=30 y=18 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=68 x=30 y=27 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=69 x=30 y=36 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=70 x=30 y=45 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=71 x=30 y=54 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=72 x=30 y=63 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=73 x=51 y=66 width=5 height=9 xoffset=0 yoffset=0 xadvance=4 page=0 chnl=15 +char id=74 x=37 y=0 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=75 x=37 y=9 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=76 x=37 y=18 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=77 x=0 y=11 width=9 height=9 xoffset=0 yoffset=0 xadvance=8 page=0 chnl=15 +char id=78 x=37 y=27 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=79 x=37 y=36 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=80 x=37 y=45 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=81 x=0 y=50 width=8 height=10 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=82 x=37 y=54 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=83 x=37 y=63 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=84 x=44 y=0 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=85 x=44 y=9 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=86 x=44 y=18 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=87 x=0 y=20 width=9 height=9 xoffset=0 yoffset=0 xadvance=8 page=0 chnl=15 +char id=88 x=44 y=27 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=89 x=44 y=36 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=90 x=44 y=45 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=91 x=65 y=30 width=5 height=9 xoffset=0 yoffset=0 xadvance=4 page=0 chnl=15 +char id=93 x=65 y=39 width=5 height=9 xoffset=0 yoffset=0 xadvance=4 page=0 chnl=15 +char id=94 x=65 y=7 width=7 height=5 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=95 x=9 y=39 width=6 height=3 xoffset=-1 yoffset=7 xadvance=3 page=0 chnl=15 +char id=97 x=51 y=59 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=98 x=23 y=36 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=99 x=58 y=0 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=100 x=23 y=45 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=101 x=58 y=7 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=102 x=9 y=21 width=6 height=9 xoffset=0 yoffset=0 xadvance=5 page=0 chnl=15 +char id=103 x=51 y=27 width=7 height=8 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=104 x=23 y=54 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=105 x=9 y=54 width=5 height=9 xoffset=0 yoffset=0 xadvance=4 page=0 chnl=15 +char id=106 x=15 y=16 width=7 height=10 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=107 x=23 y=63 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=108 x=9 y=63 width=5 height=9 xoffset=0 yoffset=0 xadvance=4 page=0 chnl=15 +char id=109 x=0 y=29 width=9 height=7 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=15 +char id=110 x=58 y=14 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=111 x=58 y=21 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=112 x=51 y=35 width=7 height=8 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=113 x=51 y=43 width=7 height=8 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=114 x=58 y=28 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=115 x=58 y=35 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=116 x=9 y=30 width=6 height=9 xoffset=0 yoffset=0 xadvance=5 page=0 chnl=15 +char id=117 x=58 y=42 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=118 x=58 y=49 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=119 x=0 y=36 width=9 height=7 xoffset=0 yoffset=2 xadvance=8 page=0 chnl=15 +char id=120 x=58 y=56 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=121 x=51 y=51 width=7 height=8 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=122 x=58 y=63 width=7 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=15 +char id=123 x=51 y=9 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=124 x=72 y=9 width=3 height=9 xoffset=0 yoffset=0 xadvance=2 page=0 chnl=15 +char id=125 x=51 y=18 width=7 height=9 xoffset=0 yoffset=0 xadvance=6 page=0 chnl=15 +char id=8470 x=0 y=0 width=15 height=11 xoffset=-1 yoffset=-1 xadvance=11 page=0 chnl=15 diff --git a/examples/variants-panel-sprite-button/assets/8BitOperatorPlus8Regular.png b/examples/variants-panel-sprite-button/assets/8BitOperatorPlus8Regular.png new file mode 100644 index 0000000000000000000000000000000000000000..aac033429010f45690ab0a8627ac7fbfaa370833 GIT binary patch literal 2626 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%0AEQ~wh+qFphg5)N3QQw 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

2LdhGII5 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 D&kqy3 literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/Blue TinySwords Pixel Button_Hovered.png b/examples/variants-panel-sprite-button/assets/Blue TinySwords Pixel Button_Hovered.png new file mode 100644 index 0000000000000000000000000000000000000000..25b36bbd26cf6a441a9340ad40b45444611775f1 GIT binary patch literal 894 zcmV-^1A+XBP)H`}M7z{YZe=7h002y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00QPoL_t(&-tC$pOanm>0Jon< zU`g5_2n5lDB5;Hd914d9hb2MOASw_Q6_|=9SR7~^s*W@ShX4`;fgl=4uoWbLAlq#3 z_wM%oujT*wO`5ddzuTSLy}ke2D}hETb1UDF0eO49EpgXNSp~8ImTXWrmuaZMxP=?+YOOr9OPf59R_(wA=%95p{N8CaCjzM2hx06q>m>?dgPdNR6&XEv>PN1r z1GKtT7flswD5_98AT*vDCj~O~f%+&Qh0}#&VDlCSr5a3s)9;)Iq=5L5Mu-?p_159} z$%rzOH|TwF;cVf(x>b)4CLLK@XeHGlP5mM;dh_A=$yg0@2~BB829Q(99GEl$3XkOy z%xB8>DZ1yx!ehAxOKUj(JCBK8G<`fh6do(Uat0<%V*k%$rd2)d-YVu;T7`Rac3Q`> z_AXY0V&=i<27lqPF{E@KZxTV;pmMb};LA%!Fz$(?(`ZH%`!YuDL)~3QJ@`4^*>?w{ zd-dGn$AS19X}aH^bl{AkNV6oCaX5uZ3{Wd8roLz?$(F&Ll832EIgYTD>UMsl!s`w^ETJ}5?3Hy$u_h#Nb4ybTMarg z$JRI3px3>Q+{gjiI!`K6oz!NWV=P!?v0L~};a8^@f9j=;y=?#h_DlCLZ*ZF8qv#oh5*_OzE;Dm|&&-=#HoV0N3u4 U1y|70rvLx|07*qoM6N<$f`?Or*#H0l literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/Blue TinySwords Pixel Button_Idle.png b/examples/variants-panel-sprite-button/assets/Blue TinySwords Pixel Button_Idle.png new file mode 100644 index 0000000000000000000000000000000000000000..c96497a1355f9126b5e5b04c29c8d04d4fb8a25e GIT binary patch literal 803 zcmV+;1Kj+HP)H`}M7cKKQbGiTk02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00N6iL_t(&-tC$(YXUJ8$8(1t zKoE*Zv4eZp(zPE$5CjJ&2caNz=y*^NI(HBRp&z4b>Dt|)QbY=ZpP=n@@-DuY_i`7{ z+<9-(cqaMf|MGH4UZ4oOxV-*T1+bs*&j2eAiVDO51{~Du^MiK~>&;f(KfM^?NH8CP zbU39{0uTi&5|jk4mZg$B4IAuMv$5|N89ZXe^a^Z%dV~J{^I|s71yJvwNHG%>gy10S zowlgcyXESjOdp``I1){jkb6Lf>J9oRRK3$a0Km#jhCPq9*BwU*ceDb-d^c_Y1He9G z3fKU`x;PK9QVgm!iXIb*Jd6>VLIQZh>$oMG-5N**3Xk4Np8jcZC> zGE^nC!huOWpi-=qU@k-UFb|R0 z%`sn%I>-^PV@2DGRjycgu<2x2DR#_|?qVkq`UX|1qXAbc8N>a0vprZJ7PGnP4f^Q0 zeAX?E4y4zo|1Q0rN+<@;>aoQS8&#Jh4bS_ts%UgY7$xJ8!Wzud0sUshR2Ni>i{Mtl z!{i1ol#@bbJ{o8>8)`ZkCR{Xb0J|L6EmziajvEjRNV4A6s4WYeV>(=#5yULboplUl zdI467NQanChKWDIz1gX<224Qk63{9g0;U~6H{eF?l!hv%RB@76^efv~F%ryoKH`}OI}U5*y$ApR02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00PKKL_t(&-tC$zOanm>KC+i3B(h_WAlG5g0$Z60v60wAQ@mFgStI$vJZ~W z%oV1@+vB~qU3!lwPY++PS!=Lxp(#)|%Jgg%PMUQ9fCONLTFWIU3I_lYAbMb^d+_Pu zi|r9nK3^^p=SC)13kTske|okW=@|tNw3zsSDG&g_PGc|ne^}oy#Zo$b!?aeS5Gu&Q zsnN_zx1T=}=fnJ==~1k4l{M&nMZxLD^uk)r9L%&QRo9CalQuE*vtab%?&*&LjHMVm2e2cSQrCb1yE2`!{&F>W)2Yv9Rn(wyY1&p0gOP9sSC~gOwz@Xx%>+ zvz8xYuFPG=6SS+}V%`;<1*04K-eM($^gN$Tm2QQyYO%6EGV@xA1>;s6hxPr$ zi;8@?suRWCW_&OH4mP&+V05pZo9s9co7SZJ|5-bdbwwH_F>S-Wph!3|v!ZI7rjle4 z-6(jdvXo`GrKv93B^74lsf%KRTr!~j{E>TqMAtzakZS&oGMac3jE{jlfLimDyFh9ZNCfyv-hfb`|I!6=jp2%#cZ qq+(iWitd1t$6dv?va~Cf&i(^SXKl-s=L0|h0000 literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/NotJamOldStyle11.fnt b/examples/variants-panel-sprite-button/assets/NotJamOldStyle11.fnt new file mode 100644 index 000000000..ed69f6e5d --- /dev/null +++ b/examples/variants-panel-sprite-button/assets/NotJamOldStyle11.fnt @@ -0,0 +1,100 @@ +info face="NotJamOldStyle11" size=11 bold=0 italic=0 charset="32-91,93-126,161,191" unicode=1 stretchH=100 smooth=1 aa=1 padding=1,1,1,1 spacing=0,0 outline=0 +common lineHeight=11 base=8 scaleW=93 scaleH=93 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 +page id=0 file="NotJamOldStyle11.png" +chars count=96 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=5 page=0 chnl=15 +char id=33 x=89 y=10 width=4 height=10 xoffset=-1 yoffset=0 xadvance=3 page=0 chnl=15 +char id=34 x=0 y=88 width=7 height=5 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 +char id=35 x=0 y=48 width=15 height=10 xoffset=-1 yoffset=0 xadvance=14 page=0 chnl=15 +char id=36 x=59 y=78 width=8 height=12 xoffset=-1 yoffset=0 xadvance=7 page=0 chnl=15 +char id=37 x=59 y=30 width=9 height=10 xoffset=-1 yoffset=0 xadvance=8 page=0 chnl=15 +char id=38 x=49 y=30 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=39 x=76 y=88 width=4 height=5 xoffset=-1 yoffset=0 xadvance=3 page=0 chnl=15 +char id=40 x=39 y=81 width=6 height=12 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=41 x=83 y=0 width=6 height=12 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=42 x=27 y=87 width=7 height=6 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 +char id=43 x=68 y=42 width=8 height=8 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=44 x=89 y=38 width=4 height=6 xoffset=-1 yoffset=6 xadvance=3 page=0 chnl=15 +char id=45 x=68 y=63 width=8 height=4 xoffset=-1 yoffset=4 xadvance=7 page=0 chnl=15 +char id=46 x=89 y=44 width=4 height=4 xoffset=-1 yoffset=6 xadvance=3 page=0 chnl=15 +char id=47 x=76 y=54 width=7 height=10 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 +char id=48 x=68 y=10 width=8 height=8 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=49 x=83 y=72 width=6 height=8 xoffset=-1 yoffset=2 xadvance=5 page=0 chnl=15 +char id=50 x=76 y=64 width=7 height=8 xoffset=-1 yoffset=2 xadvance=6 page=0 chnl=15 +char id=51 x=76 y=24 width=7 height=10 xoffset=-1 yoffset=2 xadvance=6 page=0 chnl=15 +char id=52 x=39 y=11 width=10 height=10 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=15 +char id=53 x=49 y=82 width=7 height=11 xoffset=-1 yoffset=1 xadvance=6 page=0 chnl=15 +char id=54 x=49 y=52 width=9 height=10 xoffset=-1 yoffset=0 xadvance=8 page=0 chnl=15 +char id=55 x=49 y=62 width=9 height=10 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=15 +char id=56 x=49 y=72 width=9 height=10 xoffset=-1 yoffset=0 xadvance=8 page=0 chnl=15 +char id=57 x=59 y=0 width=9 height=10 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=15 +char id=58 x=89 y=30 width=4 height=8 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=15 +char id=59 x=89 y=20 width=4 height=10 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=15 +char id=60 x=76 y=72 width=7 height=8 xoffset=-1 yoffset=2 xadvance=6 page=0 chnl=15 +char id=61 x=68 y=50 width=8 height=8 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=62 x=76 y=80 width=7 height=8 xoffset=-1 yoffset=2 xadvance=6 page=0 chnl=15 +char id=63 x=76 y=44 width=7 height=10 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 +char id=64 x=0 y=26 width=15 height=12 xoffset=-1 yoffset=0 xadvance=14 page=0 chnl=15 +char id=65 x=0 y=68 width=12 height=10 xoffset=-1 yoffset=0 xadvance=11 page=0 chnl=15 +char id=66 x=39 y=31 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=67 x=39 y=41 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=68 x=28 y=10 width=11 height=10 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=15 +char id=69 x=39 y=51 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=70 x=39 y=61 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=71 x=28 y=20 width=11 height=10 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=15 +char id=72 x=0 y=78 width=12 height=10 xoffset=-1 yoffset=0 xadvance=11 page=0 chnl=15 +char id=73 x=83 y=42 width=6 height=10 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=74 x=68 y=67 width=7 height=13 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 +char id=75 x=27 y=30 width=11 height=10 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=15 +char id=76 x=59 y=10 width=9 height=10 xoffset=-1 yoffset=0 xadvance=8 page=0 chnl=15 +char id=77 x=0 y=0 width=16 height=10 xoffset=-1 yoffset=0 xadvance=15 page=0 chnl=15 +char id=78 x=27 y=40 width=11 height=10 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=15 +char id=79 x=27 y=50 width=11 height=10 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=15 +char id=80 x=39 y=71 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=81 x=16 y=30 width=11 height=13 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=15 +char id=82 x=49 y=0 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=83 x=59 y=20 width=9 height=10 xoffset=-1 yoffset=0 xadvance=8 page=0 chnl=15 +char id=84 x=49 y=10 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=85 x=16 y=0 width=12 height=10 xoffset=-1 yoffset=0 xadvance=11 page=0 chnl=15 +char id=86 x=0 y=58 width=14 height=10 xoffset=-1 yoffset=0 xadvance=13 page=0 chnl=15 +char id=87 x=0 y=38 width=15 height=10 xoffset=-1 yoffset=0 xadvance=14 page=0 chnl=15 +char id=88 x=16 y=10 width=12 height=10 xoffset=-1 yoffset=0 xadvance=11 page=0 chnl=15 +char id=89 x=16 y=20 width=12 height=10 xoffset=-1 yoffset=0 xadvance=11 page=0 chnl=15 +char id=90 x=49 y=20 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=91 x=83 y=52 width=6 height=10 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=93 x=83 y=62 width=6 height=10 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=94 x=68 y=58 width=8 height=5 xoffset=-1 yoffset=0 xadvance=7 page=0 chnl=15 +char id=95 x=49 y=48 width=10 height=4 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=15 +char id=96 x=7 y=88 width=5 height=5 xoffset=-1 yoffset=0 xadvance=4 page=0 chnl=15 +char id=97 x=49 y=40 width=10 height=8 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=15 +char id=98 x=16 y=65 width=11 height=10 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=15 +char id=99 x=59 y=40 width=9 height=8 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=15 +char id=100 x=16 y=75 width=11 height=10 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=15 +char id=101 x=68 y=18 width=8 height=8 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=102 x=68 y=0 width=8 height=10 xoffset=-1 yoffset=0 xadvance=7 page=0 chnl=15 +char id=103 x=27 y=76 width=10 height=11 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=15 +char id=104 x=28 y=0 width=11 height=10 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=15 +char id=105 x=83 y=12 width=6 height=10 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=106 x=68 y=80 width=5 height=13 xoffset=-1 yoffset=0 xadvance=4 page=0 chnl=15 +char id=107 x=39 y=21 width=10 height=10 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=15 +char id=108 x=83 y=22 width=6 height=10 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=109 x=0 y=10 width=16 height=8 xoffset=-1 yoffset=2 xadvance=15 page=0 chnl=15 +char id=110 x=16 y=85 width=11 height=8 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=15 +char id=111 x=59 y=48 width=9 height=8 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=15 +char id=112 x=16 y=43 width=11 height=11 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=15 +char id=113 x=16 y=54 width=11 height=11 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=15 +char id=114 x=59 y=56 width=9 height=8 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=15 +char id=115 x=68 y=26 width=8 height=8 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=116 x=83 y=32 width=6 height=10 xoffset=-1 yoffset=0 xadvance=5 page=0 chnl=15 +char id=117 x=27 y=60 width=11 height=8 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=15 +char id=118 x=27 y=68 width=11 height=8 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=15 +char id=119 x=0 y=18 width=16 height=8 xoffset=-1 yoffset=2 xadvance=15 page=0 chnl=15 +char id=120 x=59 y=64 width=9 height=8 xoffset=-1 yoffset=2 xadvance=8 page=0 chnl=15 +char id=121 x=39 y=0 width=10 height=11 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=15 +char id=122 x=68 y=34 width=8 height=8 xoffset=-1 yoffset=2 xadvance=7 page=0 chnl=15 +char id=123 x=76 y=0 width=7 height=12 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 +char id=124 x=45 y=81 width=4 height=12 xoffset=-1 yoffset=0 xadvance=3 page=0 chnl=15 +char id=125 x=76 y=12 width=7 height=12 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 +char id=126 x=59 y=72 width=9 height=6 xoffset=-1 yoffset=3 xadvance=8 page=0 chnl=15 +char id=161 x=89 y=0 width=4 height=10 xoffset=-1 yoffset=0 xadvance=3 page=0 chnl=15 +char id=191 x=76 y=34 width=7 height=10 xoffset=-1 yoffset=0 xadvance=6 page=0 chnl=15 diff --git a/examples/variants-panel-sprite-button/assets/NotJamOldStyle11.png b/examples/variants-panel-sprite-button/assets/NotJamOldStyle11.png new file mode 100644 index 0000000000000000000000000000000000000000..5db04c396f53995ce10a2b24361b32c50665913e GIT binary patch literal 2898 zcmV-Y3$65tP)zAZcMhYW1MO9o56Em6OcJJGNKwU zzZ=^}W1Jox2QfVT5$FN<0o)&9?EUxe33~QKW*Zmu`F`cV5cFtuMJ>#_$KZp4 zE}o9OJuLoa(9r%uFA40)6HA4Rn-5v!?)VFM&@Xr`p}Q-JSLSgC{g z`H__3j#Sab9(mhO+&S)_%?(lx-?*@fuNCmDPc}9i@68CKoURskJg2}rGLYzHsMA&Q zn;e?G@A&;2+7Z8zkWIYKQpruH&jgef7(KLzC!%%9|MIfcr=Pvrsm; z`cfc6bdZhiC=4fwG8$pg_?l!SiE+0_VIWz1aaG9^PoIYBPzB2$Hm4&Ba6ikDvb~q( z;sy9s$=LDYir!YoE+`V_4-53S=*2bCYC8w?)xIkVV!4TNw?!|69&E|@)`CCX&yz%& zBMDK~E9wP=tSn-M#CyTG%d3IQFXz0;aPWLKwu$3D0ljhU}6lV!P$mN>>E2Fqk`CULyo=bP6j$}g~>_$Q4{>-h;*iIV;wt7Eb zwYY7yw+?8rD-NC)TO|`UsUoSlhuE@Q(9z%(1t}V_5~&*|s-2@Sgr?tv1{A2=9qCC8 zf{vtd9B)S8T9Q!#*?GPK`aw-^)LksVtLSXd*M6#Bt+fR@+c+E(Ez7QfgJr=9B}XUe zvQV!mI%s;*(&)4mzy!X1NWu<)}#&&ijcX;jP_e z&`E-#yHPdqimMrq&OQrDxLru9`dUfc$|2Ap#uDgAA~6|ww6}D3RywOZ3WR~BvQ{ZC zCeGZ4n@HoSk*uSHkSgzoGcN)F$?I|| z%1{XS3RDKn3Z-T4J^|h)kTJ@&7rQ(f0eFL6qGDp6UU_LqZq}}pg+EG^XnthfP^Zs6 ze#9B6ok+JyS$AYm1R(`h8S-d*e(NLuj=Z)*LpHs1DFwCfNVXV$N;1022qoxaoEyD? zeMr9eBqOGZ77KI**7iJqyH4I`?05zR(uhgN+ z+hMTVcaEL{^F7~JiBx$q5*HG56z;*><&Kfj1&S&~FCBnY)K)5^6FCvUId>C6ck_{O6hk-t$4AF~9q}g%YLyS2l^7P$966jKWWSMnLtgO8N!|bnYpYMO@7=f^;geE8;~l@*ERkB9NF#J#HbZwWbtT%~Ot zYB{@7l;Uo7jzqguVlrU*uL!cDI19gJyJUzBV_}vDjbK?k(av>j82Yje+BgLno-`p z{dG{n^Ujqz>-(l1;GMS0(<@;ROS`+rZvUL|AiZSnj2#AgX?ZM5j)Z^Z)sD1))|^~V zR6tfjI`}hY{E}K zuM%YTz7T0`8gMvW8H7<7u&@hJm50$LrpIiTl$@>*M< z#|a-DSzfM^Q#GlR=SWgQiH#_e^1e&TUGW>(@K1;{r(tKL6(yFOzT&;g>MMOBo^-g` zrIk14>_k*qWqb-sux$SR{&>{#A~csy6uE5`=uSdpV=dE*<5?+W_g~qrG%ZHzbZ7D1 zs7N{M@)b_EFJ)XCbin6!=0~1WCCEG>l}J00*a0K2*R7+VM4LBGELS1PI4pmj=)2zj zvw+?)kZP+8sNS!hmt}weqQ%LG2ABtTLmVx@b%<4Pei-N>Ov>XkBLD0fwF^3uUy8Qk z{GOaJDbTBAtlo34U|3qc<57xFSwcgglRQy=mnbKFm(!yo%swhX0V6av?i`_Y0Djum zNxa$XqEXY~$L$Z~R7tP$*vi8*@D=^t4yFOUoPEWjl>+iRC=y9sOjV%yR)$gFy#l%d zaOHWT5A}^{TIW$5nR&lMU4=2MuQPTdYTzkvYK{Uy$4k}5G=Uu)>hU@n6%C)+jR0h!75B(o< zI|;9#z7q6Fi)=R<4YImxUG@0aKvyA^J){e|+AXf|c?G-+rrQpx7nJ>z0(i9yumX?+ zdMC`4DpI*;74V(X05zaP2r3yvA9B~|Mnn}EBx0;P=dQsS=uZGYLGJ>Q+oOeqHjkpD zTDe%}>XWpjXN!PCjwEd&0jP w*!30=N%@wT6_Fj#tGT@bx-*eqZQeuRU#4Y!KOOn~5dZ)H07*qoM6N<$f(%7{NdN!< literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/Red TinySwords Pixel Button_Hovered.png b/examples/variants-panel-sprite-button/assets/Red TinySwords Pixel Button_Hovered.png new file mode 100644 index 0000000000000000000000000000000000000000..90a219fcc7ba5534ca65e8414e9ab4966047edb4 GIT binary patch literal 900 zcmV-~1AF|5P)H`}OF*shZz#9Mn02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00QhuL_t(&-tC&PO2j}AKk}*aux$;08M<$!u-PvTL zNzA~(T`rlKw=+9QcD4lu8K0Q@gbK*p>wSwm-l{5)3$W#ax>=fL6^*UU1aav7?9r-| z{*Q8^Mxc9nXN6NHgC?LdNIV<>EYAY~uz&yn5f`m8LnYtqGW(@LC%g2MNU6_q}|a6 zsB`rsnkvpz)S*m3=sa~!3S`rP_9!5QGo@qXiWUc@J4}Dm?_30=fcTMSh!{+dR&QrD zVayf{dR|sIS9*6G#Vg8VNFP;GYUQ;dE&U=edU9`PwNS@=Qd63e5!6&F2PVycCStV& z3t6&5is?DAiCC?{%9@VpoVs zcd;fFD-T8&_?w6oP|`!ZNknCXs@2j!s3=*%xF?R?MWm(Fw)Z0ycIRn| zq5-Zs@bIC$ml0e8!U0L{x61U&Lg(0?2A5?7ImyzqMkw0@FaXnB$BXHOv{Fi%>_vzT zh&BO5&2^fR2uIT(9u5+_X>b=!h+R9W9XXB&iBhq9c?Yr9nU6gc2Lp15sb#BN7nF6E zj;jZqnqw=A3vh9Ln>vvL>=dy(CxcDuGtMy_6aWAm_KyBEO4}P-008jPe@^|U zgQ+Zvs~{}c#q}*4IVuz5?Zofbw?2DZDyHl4xJgXDMz#y6y!4;h6!~pms1%|oF zoy-BbMlytOHYD@Qdyf4ETqvF5&CZy|SRo}st7zWBgOM_&pLMgd1khC}eQpUhSg9V< a_Vh2mm6K!TH`}OFCdwnXOaK_02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00M?dL_t(&-tC&PPQx$|hMlMn z5P<{>TgA%KfvRC>=j0{&9*lX9z68uLG*uZ`SW!0?kXq#pU~+Z2+P-t`1}Du)NNs5B z`~08Jan6y@*wxM5uV{h&e0@Z!>rq>QD8Pt6yO5NKW>Du!LV9I zp4B=tsR4g?EF2Zyvt@Za7GSABoqucNQSk zxT|sd#6BxSae6<}c7$(k+Bm*hpQWN24$THSdJ1BAeOq5>zdx1N*$cJietF%bl*-pQ z)Ue~2$;TL{NiGmIl3w;{%s%k^vYum2!1-#Eec1V!!~xa!m3VX!WjyT60i=L!=BAIO cMRz>?58*>)SzQJhL;wH)07*qoM6N<$g1ClV1^@s6 literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/Red TinySwords Pixel Button_Pressed.png b/examples/variants-panel-sprite-button/assets/Red TinySwords Pixel Button_Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..e319b41c8f9a0a63feab4f26ecac15dd47891c2a GIT binary patch literal 886 zcmV-+1Bv{JP)H`}OI}zsXu>Al402y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Q1gL_t(&-tAhyOB_)U{&v|? z?4pfDKn$eN!f=?vBBg|!DPte}D}*Z!@>hiPT6#)InZiN|vCu*=1X5gcmrg7Xv~iZ% zxAT77zTM@X_dYn-+kHDb-}`1~-|h?$5fRZO5_QMY%Em*8M8?CbL?jj}AsxX)N9xzx zSK^5;-oLKRiT~ektakYr6(`vO`e&CSxy+T&ETTKP2evl>phPg`YK26qKn_6fi6BK_ zW;^jDTPV)R`K>taU;kri-^<>yyN4RPE)mt8+~5eApq&_ogI$k$iY*OkMiSdJj{hdY~ z@d-^^NTztE2$q;FBIZ-ECNoE#B&zR%bY1%Ge*Ix5#=q4|4?BrSlWOws|5Yba3`L$Lsca)%piXjX zWyNHhmy&cD-6?sPs+4VnrK>O2B^6cUd5DrhsTgp5mwA61u}zRf$n^ZpE1EQj?y+fV z&^}Nn%2g57U-g?u!rLKw+na@fJX1DJ&=opDoRoES&)W>R>||8!rlBsHy1IA7t{j1o z^&ab=U81X0;=7K9>V&DyNC&lKo9PCG(xs!TK_|AZH;G`!v5TfIRPjOVetWm|1^}?S zyaoXHHaMIql|Jw80RaAv{r~`eUi>Z`9}lk*ZCjs8j$>tMx$u8D9*O&>g~<*bBj`vG zv5YoUa`_2cC=ncvN8Ti=5VjE_E_o<&xOSRSI1qfoRkc;cuG%{L2pkq~|gW!U_%O?XxI14-? zi-9VIL70(Y)*K0-AbW|YuPgg2W_cb~m74u-Yk@+NC9V-A&iT2ysd*&~&PAz-C8;S2 z<(VZJ3hti10pX2&;y^_Xo-U3d8t3m$+$hMP$a7exk9SV%O>^rP+EE;DSAUutdXsU1 zTJR*J&st$qSrV!X6TUn1|B0JtU9zojI{V?W=zk0s7!0oz6&;lZn#JJh>gTe~DWM4f Dtf4|R literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/Tiny Square White Button_Idle.png b/examples/variants-panel-sprite-button/assets/Tiny Square White Button_Idle.png new file mode 100644 index 0000000000000000000000000000000000000000..549dda34b3bdc3ffd69220aed273af6ac9049bf7 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^+(693!3HF^taP6Tq}Y|gW!U_%O?XxI14-? zi-9VIL70(Y)*K0-AbW|YuPgg2W_cb~k*KsXMxc;niEBiObAE1aYF-J0b5UwyNotBh zd1gt5g1e`0KzJjcI8c$cr;B5V#`)xg1)>QphX4Nm|1ZB>$<57;4G7eNeB{1$MJDhF e3JSJ0GBfafW%0{t`}7Q`jlt8^&t;ucLK6U@{xntq literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/Tiny Square White Button_Pressed.png b/examples/variants-panel-sprite-button/assets/Tiny Square White Button_Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..0d4c191dc7bb89a279fcf25a66b98b3b2e7b6bb1 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^+(693!3HF^taP6Tq}Y|gW!U_%O?XxI14-? zi-9VIL70(Y)*K0-AbW|YuPgg2W_cbqOOq*;+krxoC9V-A&iT2ysd*&~&PAz-C8;S2 z<(VZJ3hti10pX2&;y^{_o-U3d8t0P}6c`Qu{r~^peq&dp1Q58mxXj|vtoi)RSC-p| seY(?(M4u%)DsO0~Ir7V`I;y~6eNf=yiW=(|KqDADUHx3vIVCg!0P>(a#Q*>R literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/White 1Bit Border Button_Hovered.png b/examples/variants-panel-sprite-button/assets/White 1Bit Border Button_Hovered.png new file mode 100644 index 0000000000000000000000000000000000000000..5237292653c315dcf5fe01f326eaa81728477df4 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^Y#_`5A|IT2?*ZZ@dAqwX{0G4WdzViJif|TqL>4nJ za0`PlBg3pY5H=O_E*fZf)=b#PCk1I6p}1)jVN)>&&^HED`9XhN=+cY{ T)txheY8gCT{an^LB{Ts5U+Xz5 literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/White 1Bit Border Button_Idle.png b/examples/variants-panel-sprite-button/assets/White 1Bit Border Button_Idle.png new file mode 100644 index 0000000000000000000000000000000000000000..da8102d5e3403aed53c67d0ddb8c88ef3c1aa53b GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^Y#_`5A|IT2?*ZZ@dAqwX{0G4WdzViJif|TqL>4nJ za0`PlBg3pY5H=O_E*fZg64YX-!f+bg(OQ{BTAg}b8}PkN*J7rQWHy3QxwWG zOEMJPJ$(bh8~Mb6iWEFu978y+C;$2X|9?GO4#VstK*oP#!v_pYybT_0l3~y^<^S1# Sb>~c=S_V&7KbLh*2~7a=PdEes literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/White 1Bit Border Button_Pressed.png b/examples/variants-panel-sprite-button/assets/White 1Bit Border Button_Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..593315d6fc18a8447614c4deb71756e703b267b5 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^Y#_`5A|IT2?*ZZ@dAqwX{0G4WdzViJif|TqL>4nJ za0`PlBg3pY5H=O_E*fZf)-Xm>rdYR3Q3l@MwB?`=jNv7l`uFLr6!i7rYMwW zmSiZnd-?{1H}Z)C6{&l=IEHXsPfj?%C?P2!A@T43|Nru?6DCfa$Qa9XEbUOL2=^|p bCI$v$CH_BmwqA(@YGLqn^>bP0l+XkK{NOgx literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/White Fantasy Border Button_Hovered.png b/examples/variants-panel-sprite-button/assets/White Fantasy Border Button_Hovered.png new file mode 100644 index 0000000000000000000000000000000000000000..277855beb379413b8e85ba16233845188d04a993 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkEbHUgGKN%KnO3TF6{BT%h?UP)M@GHKN2hKQ}iuuY|$5C^fMpHASI3 zvm`^o-P1Q9ypd0wfq{|T)5S5Q;?~={2f11m1RO4^{rVrjE!Rb%xoO$+clQ?gvLCPM z?h5j<6moU3sZU=YzxLYiLOCfZ28QbLuk$kBzYbsheO@N3gd>B=C&O*ui}%o0ZRur0fw_1*w@${PQUHEhC!L5fq_AQfq{v^ zfq{Vo=o|(G1_l-eQU!mV*u8jiW%(9C6$b97(nfQ?+uWaE*u-)GXd%Qo{LdS%J&$_c vu0}yz+`njxgN@xNA;c|mS literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/White Fantasy Border Button_Idle.png b/examples/variants-panel-sprite-button/assets/White Fantasy Border Button_Idle.png new file mode 100644 index 0000000000000000000000000000000000000000..86f5d0f8333c5864f6d9e8c278f53b39c265d214 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkEbHUgGKN%KnO3TF6|pY)QEfP)M@GHKN2hKQ}iuuY|$5C^fMpHASI3 zvm`^o-P1Q9ypd0wfq{|T)5S5Q;?~={2f11m1RO4^{rVrjE!Rb%xoO$+clQ?gvLCPM z?h5j<6moU3sZU=YzxLYiLOCfZ28QbLuk$kBzYbsheO@N3gd>B=C&O*ui}%o0ZRur0fw_1*w@${PQUHEhC!L5fq_AQfq{v^ zfq{Vo=o|(G1_l-eQU!mV*u8jiW%(9C6$b97(nfQ?+uWaE*u-)GXd%Qo{LdS%J&$_c vu0}yz+`njxgN@xNA>bZkT literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/White Fantasy Border Button_Pressed.png b/examples/variants-panel-sprite-button/assets/White Fantasy Border Button_Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..b9cf5c892ea8d4984b6986a1dde769ac53e83c50 GIT binary patch literal 437 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkEbHUgGKN%KnO3TF8R+@Dug~ppayVYeb22er|4RUI~M9QEFmIYKlU6 zW=V#EyQgnJcq5-U0|TS1r;B4q#jUq@5AroD2)G6s{{0_+Y-*=r=IS1n3B}=Wn^^Ch zo9#FI!6pXd$=}2+pVwq3dcFMd@7=G5{CYe7*ZzHFd_#{O|TdS6E2{^JO z9IqV8mp&1eAbZtd@+-Y0ON~9zK*){rtDMZ_Jdr#;JBQ?*)KP%oL>F|YE@!j bklM(|pjxos%HfO~0}yz+`njxgN@xNA6?}bHUgGKN%KnO3T1ZV-NnnC2P)M@GHKN2hKQ}iuuY|$5C^fMpHASI3 zvm`^o-P1Q9ypd0wfq_xf)5S5Q;?~={j(mp|co+`uc=dn3&->6NCyYc{&;MH>ndro) zdQ9T6mWW`X>AGKk;-*hyV{mx?sJhMe?3Y((tp7Et&7Uutz`}Up(7pZhD$g;7H3+IO z{C>lDb!OQw%fxS%C%Fuo7&4xERL@Gh`TftkYKL!?QH*W^41X_MF8JNE{@=eha*3=G zjtnde4Gatd3=B*R4h#$&K!-6XFpw&E!T05V-nVtq(J^4rXJ zl+#!^4|qOrcvW5ZeYfge^&BAgT(yH)`I%@&29|{T*RS2Y-?Zy#^aP;mrN1+_S;TDU TKR=}e7>W#@u6{1-oD!MbHUgGKN%KnO3T1Z{2i@`$yC?r|p8d2h$pPQSSSHj?2l$uzQnxasi zS(2gP?&%v4-pD7;z`!Wt>EaktaqI2fgSuJ0F$CoZ;WC+;(&GPWOw5qaabK}1JjAV2ZV9HFW4!tO&#Q9pUH&(K+_~QyGTzPD&cwiRV4LrMu@K$+O+5;XH+GnN)J2J9-3ssq P1|ox}tDnm{r-UW|#<_>8 literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/assets/White Fantasy Button_Pressed.png b/examples/variants-panel-sprite-button/assets/White Fantasy Button_Pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..ce1a640598b1faf3f1a7efdd8ca1a6288a4dbd0c GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkEbHUgGKN%KnO3T9|>|di#b3ppayVYeb22er|4RUI~M9QEFmIYKlU6 zW=V#EyQgnJcq5-U0|TR)r;B4q#jUq@H}V};;Bmbe@b!QFOuty8kfRL>KklpyUi#zO z`3s8s^c0Mr{$6-3YWKbsQzoq}Sp4eiC+Qe&MwTbfWY2!7X8V@*=y7{y^4^jL4kkwH z^9`Q<0()fU$ryvWH-#+#)^FD8WE4tY`2kr;U=aJr`0-cFcD5t6=NN#%)78&qol`;+08px$H2?qr literal 0 HcmV?d00001 diff --git a/examples/variants-panel-sprite-button/variants-panel-sprite-button.json b/examples/variants-panel-sprite-button/variants-panel-sprite-button.json new file mode 100644 index 000000000..71b654cfd --- /dev/null +++ b/examples/variants-panel-sprite-button/variants-panel-sprite-button.json @@ -0,0 +1,6749 @@ +{ + "firstLayout": "", + "gdVersion": { + "build": 262, + "major": 5, + "minor": 6, + "revision": 0 + }, + "properties": { + "adaptGameResolutionAtRuntime": true, + "antialiasingMode": "MSAA", + "antialisingEnabledOnMobile": false, + "folderProject": false, + "orientation": "landscape", + "packageName": "com.example.gamename", + "pixelsRounding": false, + "projectUuid": "ca531c96-808d-4232-a384-0b38ce67e3be", + "scaleMode": "linear", + "sizeOnStartupMode": "adaptWidth", + "templateSlug": "", + "version": "1.0.0", + "name": "variants-panel-sprite-button", + "description": "", + "author": "", + "windowWidth": 1280, + "windowHeight": 720, + "latestCompilationDirectory": "", + "maxFPS": 60, + "minFPS": 20, + "verticalSync": false, + "platformSpecificAssets": {}, + "loadingScreen": { + "backgroundColor": 0, + "backgroundFadeInDuration": 0.2, + "backgroundImageResourceName": "", + "gdevelopLogoStyle": "light", + "logoAndProgressFadeInDuration": 0.2, + "logoAndProgressLogoFadeInDelay": 0, + "minDuration": 1.5, + "progressBarColor": 16777215, + "progressBarHeight": 20, + "progressBarMaxWidth": 200, + "progressBarMinWidth": 40, + "progressBarWidthPercent": 30, + "showGDevelopSplash": true, + "showProgressBar": true + }, + "watermark": { + "placement": "bottom-left", + "showWatermark": true + }, + "authorIds": [], + "authorUsernames": [], + "categories": [], + "playableDevices": [ + "mobile", + "mobile" + ], + "extensionProperties": [], + "platforms": [ + { + "name": "GDevelop JS platform" + } + ], + "currentPlatform": "GDevelop JS platform" + }, + "resources": { + "resources": [ + { + "file": "assets/Red TinySwords Pixel Button_Idle.png", + "kind": "image", + "metadata": "", + "name": "assets\\Red TinySwords Pixel Button_Idle.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/Red TinySwords Pixel Button_Hovered.png", + "kind": "image", + "metadata": "", + "name": "assets\\Red TinySwords Pixel Button_Hovered.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/Red TinySwords Pixel Button_Pressed.png", + "kind": "image", + "metadata": "", + "name": "assets\\Red TinySwords Pixel Button_Pressed.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/Blue TinySwords Pixel Button_Idle.png", + "kind": "image", + "metadata": "", + "name": "assets\\Blue TinySwords Pixel Button_Idle.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/Blue TinySwords Pixel Button_Hovered.png", + "kind": "image", + "metadata": "", + "name": "assets\\Blue TinySwords Pixel Button_Hovered.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/Blue TinySwords Pixel Button_Pressed.png", + "kind": "image", + "metadata": "", + "name": "assets\\Blue TinySwords Pixel Button_Pressed.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/White Fantasy Button_Idle.png", + "kind": "image", + "metadata": "", + "name": "assets\\White Fantasy Button_Idle.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/White Fantasy Button_Hovered.png", + "kind": "image", + "metadata": "", + "name": "assets\\White Fantasy Button_Hovered.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/White Fantasy Button_Pressed.png", + "kind": "image", + "metadata": "", + "name": "assets\\White Fantasy Button_Pressed.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/AoboshiOne-Regular.ttf", + "kind": "font", + "metadata": "", + "name": "assets\\AoboshiOne-Regular.ttf", + "userAdded": false + }, + { + "file": "assets/White Fantasy Border Button_Idle.png", + "kind": "image", + "metadata": "", + "name": "assets\\White Fantasy Border Button_Idle.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/White Fantasy Border Button_Hovered.png", + "kind": "image", + "metadata": "", + "name": "assets\\White Fantasy Border Button_Hovered.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/White Fantasy Border Button_Pressed.png", + "kind": "image", + "metadata": "", + "name": "assets\\White Fantasy Border Button_Pressed.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/White 1Bit Border Button_Idle.png", + "kind": "image", + "metadata": "", + "name": "assets\\White 1Bit Border Button_Idle.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/White 1Bit Border Button_Hovered.png", + "kind": "image", + "metadata": "", + "name": "assets\\White 1Bit Border Button_Hovered.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/White 1Bit Border Button_Pressed.png", + "kind": "image", + "metadata": "", + "name": "assets\\White 1Bit Border Button_Pressed.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/8BitOperatorPlus8Regular.fnt", + "kind": "bitmapFont", + "metadata": "", + "name": "assets\\8BitOperatorPlus8Regular.fnt", + "userAdded": false + }, + { + "file": "assets/8BitOperatorPlus8Regular.png", + "kind": "image", + "metadata": "", + "name": "assets\\8BitOperatorPlus8Regular.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/Tiny Square White Button_Idle.png", + "kind": "image", + "metadata": "", + "name": "assets\\Tiny Square White Button_Idle.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/Tiny Square White Button_Hovered.png", + "kind": "image", + "metadata": "", + "name": "assets\\Tiny Square White Button_Hovered.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/Tiny Square White Button_Pressed.png", + "kind": "image", + "metadata": "", + "name": "assets\\Tiny Square White Button_Pressed.png", + "smoothed": false, + "userAdded": false + }, + { + "file": "assets/NotJamOldStyle11.fnt", + "kind": "bitmapFont", + "metadata": "", + "name": "assets\\NotJamOldStyle11.fnt", + "userAdded": false + }, + { + "file": "assets/NotJamOldStyle11.png", + "kind": "image", + "metadata": "", + "name": "assets\\NotJamOldStyle11.png", + "smoothed": false, + "userAdded": false + } + ] + }, + "objects": [], + "objectsFolderStructure": { + "folderName": "__ROOT" + }, + "objectsGroups": [], + "variables": [], + "layouts": [ + { + "b": 151, + "disableInputWhenNotFocused": true, + "mangledName": "Untitled_32scene", + "name": "Untitled scene", + "r": 144, + "standardSortMethod": true, + "stopSoundsOnStartup": true, + "title": "", + "v": 145, + "uiSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": true, + "zoomFactor": 0.5843784410740964, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + }, + "objectsGroups": [], + "variables": [], + "instances": [ + { + "angle": 0, + "customSize": false, + "height": 64, + "keepRatio": true, + "layer": "", + "name": "RedTinySwordsButton", + "persistentUuid": "68c8967d-9246-4c4c-b10c-7204aba432a1", + "width": 128, + "x": 32, + "y": 32, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "BlueTinySwordsButton", + "persistentUuid": "a9d659dc-480a-4951-b37e-e6e6da288a2f", + "width": 0, + "x": 32, + "y": 96, + "zOrder": 3, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 64, + "keepRatio": true, + "layer": "", + "name": "WhiteFantasyButton", + "persistentUuid": "43408620-4343-45ab-9e6b-55069477ca02", + "width": 192, + "x": 32, + "y": 160, + "zOrder": 5, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 64, + "keepRatio": true, + "layer": "", + "name": "WhiteFantasyBorderButton", + "persistentUuid": "26818124-9bb8-4e06-bf22-05db5d346696", + "width": 192, + "x": 32, + "y": 256, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "White1BitBorderButton", + "persistentUuid": "853dd4c8-4f72-4c1c-93c4-168f230d0d80", + "width": 0, + "x": 32, + "y": 352, + "zOrder": 7, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "WhiteTinySquareButton", + "persistentUuid": "8cb6009e-e4f6-40cf-8332-482e40ded691", + "width": 0, + "x": 32, + "y": 384, + "zOrder": 9, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "objects": [ + { + "assetStoreId": "6b0a7f2e155e42498daee2b6db9d5e13913a627580552410129c05d4dbfdc108", + "name": "RedTinySwordsButton", + "persistentUuid": "cf9f99ad-cba3-48cc-93df-04bc50bc9da8", + "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "Red TinySwords Button", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "LabelText": "Button", + "PressedLabelOffsetY": 3, + "HoveredFadeOutDuration": 0.05 + } + }, + { + "assetStoreId": "6b0a7f2e155e42498daee2b6db9d5e13913a627580552410129c05d4dbfdc108", + "name": "BlueTinySwordsButton", + "persistentUuid": "5d323d87-79ca-40ed-bb44-23184aa90e36", + "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "Blue TinySwords Button", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "LabelText": "Button", + "PressedLabelOffsetY": 3, + "HoveredFadeOutDuration": 0.05 + } + }, + { + "assetStoreId": "54a9a34bb495b15fe0e00f71075908e1ce52d499723617c966ad527229c77c79", + "name": "WhiteFantasyButton", + "persistentUuid": "f3702beb-1103-4c1e-975d-c362b836e45a", + "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "White Fantasy Button", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "LeftPadding": 0, + "RightPadding": 0, + "PressedLabelOffsetY": 0, + "BottomPadding": 0, + "TopPadding": 0, + "HoveredFadeOutDuration": 0.1, + "LabelText": "Button" + } + }, + { + "assetStoreId": "54a9a34bb495b15fe0e00f71075908e1ce52d499723617c966ad527229c77c79", + "name": "WhiteFantasyBorderButton", + "persistentUuid": "7fc12af8-a61a-4c9c-b38d-f42a7d56d2c8", + "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "White Fantasy Border Button", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "LeftPadding": 0, + "RightPadding": 0, + "PressedLabelOffsetY": 0, + "BottomPadding": 0, + "TopPadding": 0, + "HoveredFadeOutDuration": 0.1, + "LabelText": "Button" + } + }, + { + "assetStoreId": "54a9a34bb495b15fe0e00f71075908e1ce52d499723617c966ad527229c77c79", + "name": "White1BitBorderButton", + "persistentUuid": "c7ee6831-d904-4b87-821b-f08e49bb4d48", + "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "White 1Bit Border Button", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "LeftPadding": 0, + "RightPadding": 0, + "PressedLabelOffsetY": 0, + "BottomPadding": 0, + "TopPadding": 0, + "HoveredFadeOutDuration": 0.1, + "LabelText": "Button" + } + }, + { + "assetStoreId": "54a9a34bb495b15fe0e00f71075908e1ce52d499723617c966ad527229c77c79", + "name": "WhiteTinySquareButton", + "persistentUuid": "88e43f90-d677-4353-a35f-cb524a4a4350", + "type": "PanelSpriteButton::PanelSpriteButton", + "variant": "Tiny Square White Button", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "LeftPadding": 0, + "RightPadding": 0, + "PressedLabelOffsetY": 1, + "BottomPadding": 0, + "TopPadding": 0, + "HoveredFadeOutDuration": 0.1, + "LabelText": "Button" + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "RedTinySwordsButton" + }, + { + "objectName": "BlueTinySwordsButton" + }, + { + "objectName": "WhiteFantasyButton" + }, + { + "objectName": "WhiteFantasyBorderButton" + }, + { + "objectName": "White1BitBorderButton" + }, + { + "objectName": "WhiteTinySquareButton" + } + ] + }, + "events": [ + { + "disabled": true, + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "SceneJustBegins" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ZoomCamera" + }, + "parameters": [ + "", + "4", + "", + "" + ] + }, + { + "type": { + "value": "CenterCameraOnObject" + }, + "parameters": [ + "", + "White1BitBorderButton", + "", + "", + "" + ] + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "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": [ + { + "effectType": "Scene3D::HemisphereLight", + "name": "3D Ambient Hemisphere Light", + "doubleParameters": { + "elevation": 40, + "intensity": 0.33, + "rotation": 300 + }, + "stringParameters": { + "groundColor": "127;127;127", + "skyColor": "255;255;255", + "top": "Z+" + }, + "booleanParameters": {} + }, + { + "effectType": "Scene3D::DirectionalLight", + "name": "3D Sun Light", + "doubleParameters": { + "distanceFromCamera": 1500, + "elevation": 40, + "frustumSize": 4000, + "intensity": 0.75, + "minimumShadowBias": 0, + "rotation": 300 + }, + "stringParameters": { + "color": "255;255;255", + "shadowQuality": "medium", + "top": "Z+" + }, + "booleanParameters": { + "isCastingShadow": true + } + } + ] + } + ], + "behaviorsSharedData": [ + { + "name": "Effect", + "type": "EffectCapability::EffectBehavior" + }, + { + "name": "Flippable", + "type": "FlippableCapability::FlippableBehavior" + }, + { + "name": "Opacity", + "type": "OpacityCapability::OpacityBehavior" + }, + { + "name": "Resizable", + "type": "ResizableCapability::ResizableBehavior" + } + ] + } + ], + "externalEvents": [], + "eventsFunctionsExtensions": [ + { + "author": "", + "category": "User interface", + "dimension": "2D", + "extensionNamespace": "", + "fullName": "Labeled button", + "gdevelopVersion": ">=5.5.230", + "helpPath": "/objects/button", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTI5LDIzSDNjLTEuMSwwLTItMC45LTItMlYxMWMwLTEuMSwwLjktMiwyLTJoMjZjMS4xLDAsMiwwLjksMiwydjEwQzMxLDIyLjEsMzAuMSwyMywyOSwyM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMywxOUwxMywxOWMtMS4xLDAtMi0wLjktMi0ydi0yYzAtMS4xLDAuOS0yLDItMmgwYzEuMSwwLDIsMC45LDIsMnYyQzE1LDE4LjEsMTQuMSwxOSwxMywxOXoiLz4NCjxsaW5lIGNsYXNzPSJzdDAiIHgxPSIxOCIgeTE9IjEzIiB4Mj0iMTgiIHkyPSIxOSIvPg0KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjIxIiB5MT0iMTMiIHgyPSIxOCIgeTI9IjE3Ii8+DQo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMjEiIHkxPSIxOSIgeDI9IjE5IiB5Mj0iMTYiLz4NCjwvc3ZnPg0K", + "name": "PanelSpriteButton", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/Line Hero Pack/Master/SVG/Interface Elements/Interface Elements_interface_ui_button_ok_cta_clock_tap.svg", + "shortDescription": "Resizeable button with a label.", + "version": "2.2.0", + "description": [ + "A button that can be used for menus and most labelled buttons of a game. The button can be customized with a background for each state and a label. It handles user interactions and a simple condition can be used to check if it is clicked.", + "", + "There are ready-to-use buttons in the asset-store [menu buttons pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=menu-buttons-menu-buttons)." + ], + "origin": { + "identifier": "PanelSpriteButton", + "name": "gdevelop-extension-store" + }, + "tags": [ + "button", + "ui" + ], + "authorIds": [ + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], + "changelog": [ + { + "version": "2.0.0", + "breaking": "- Buttons now use \"variants\", allowing easy swapping of their visual aspect. You will have to make some adjustments to existing buttons in your project. Follow this [migration documentation](https://wiki.gdevelop.io/gdevelop5/objects/custom-objects-prefab-template/migrate-to-variants/) to do these changes." + } + ], + "dependencies": [], + "globalVariables": [], + "sceneVariables": [], + "eventsFunctions": [ + { + "description": "Check if the events are running for the editor.", + "fullName": "Editor is running", + "functionType": "Condition", + "name": "IsInGameEdition", + "private": true, + "sentence": "Events are running for the editor", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "const game = runtimeScene.getGame();\r", + "eventsFunctionContext.returnValue = game.isInGameEdition && game.isInGameEdition();" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": false + } + ], + "parameters": [], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "SetLabelText" + }, + { + "functionName": "IsInGameEdition" + } + ] + }, + "eventsBasedBehaviors": [ + { + "description": "The finite state machine used internally by the button object.", + "fullName": "Button finite state machine", + "name": "ButtonFSM", + "objectType": "", + "private": true, + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "PanelSpriteButton::IsInGameEdition" + }, + "parameters": [ + "", + "" + ] + } + ], + "actions": [], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Finite state machine", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "The \"Validated\" state only last one frame." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Check position", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make sure the cursor position is only checked once per frame." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "False", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldCheckHovering", + "True", + "" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "MouseOnlyCursorX(Object.Layer(), 0)", + "MouseOnlyCursorY(Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "True", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Touches are always pressed, so ShouldCheckHovering doesn't matter." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "False", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "TouchId", + "!=", + "0" + ] + }, + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "TouchX(TouchId, Object.Layer(), 0)", + "TouchY(TouchId, Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Handle touch start", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "HasAnyTouchOrMouseStarted" + }, + "parameters": [ + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Index", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Repeat", + "repeatExpression": "StartedTouchOrMouseCount()", + "conditions": [], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CollisionPoint" + }, + "parameters": [ + "Object", + "TouchX(StartedTouchOrMouseId(Index), Object.Layer(), 0)", + "TouchY(StartedTouchOrMouseId(Index), Object.Layer(), 0)" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TouchId", + "=", + "StartedTouchOrMouseId(Index)" + ] + }, + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Hovered\"" + ] + }, + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::PropertyState" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "\"Idle\"" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "Index", + "+", + "1" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Apply position changes", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "MouseIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "TouchIsInside", + "True", + "" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Handle touch end", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "HasTouchEnded" + }, + "parameters": [ + "", + "TouchId" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TouchId", + "=", + "0" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + }, + { + "type": { + "inverted": true, + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "onDeActivate", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::ResetState" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Reset the state of the button.", + "fullName": "Reset state", + "functionType": "Action", + "name": "ResetState", + "private": true, + "sentence": "Reset the button state of _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "TouchId", + "=", + "0" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is not used.", + "fullName": "Is idle", + "functionType": "Condition", + "name": "IsIdle", + "sentence": "_PARAM0_ is idle", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Idle\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button was just clicked.", + "fullName": "Is clicked", + "functionType": "Condition", + "name": "IsClicked", + "sentence": "_PARAM0_ is clicked", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Validated\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the cursor is hovered over the button.", + "fullName": "Is hovered", + "functionType": "Condition", + "name": "IsHovered", + "sentence": "_PARAM0_ is hovered", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is either hovered or pressed but not hovered.", + "fullName": "Is focused", + "functionType": "Condition", + "name": "IsFocused", + "sentence": "_PARAM0_ is focused", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"Hovered\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is currently being pressed with mouse or touch.", + "fullName": "Is pressed", + "functionType": "Condition", + "name": "IsPressed", + "sentence": "_PARAM0_ is pressed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedInside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is currently being pressed outside with mouse or touch.", + "fullName": "Is held outside", + "functionType": "Condition", + "name": "IsPressedOutside", + "sentence": "_PARAM0_ is held outside", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "State", + "=", + "\"PressedOutside\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "the touch id that is using the button or 0 if none.", + "fullName": "Touch id", + "functionType": "ExpressionAndCondition", + "name": "TouchId", + "sentence": "the touch id", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "TouchId" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::ButtonFSM", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "doStepPostEvents" + }, + { + "functionName": "onDeActivate" + }, + { + "functionName": "ResetState" + }, + { + "functionName": "IsIdle" + }, + { + "functionName": "IsClicked" + }, + { + "functionName": "IsHovered" + }, + { + "functionName": "IsFocused" + }, + { + "functionName": "IsPressed" + }, + { + "functionName": "IsPressedOutside" + }, + { + "functionName": "TouchId" + } + ] + }, + "propertyDescriptors": [ + { + "value": "true", + "type": "Boolean", + "label": "", + "description": "Should check hovering", + "hidden": true, + "name": "ShouldCheckHovering" + }, + { + "value": "Idle", + "type": "Choice", + "label": "State", + "choices": [ + { + "label": "Idle", + "value": "Idle" + }, + { + "label": "Hovered", + "value": "Hovered" + }, + { + "label": "PressedInside", + "value": "PressedInside" + }, + { + "label": "PressedOutside", + "value": "PressedOutside" + }, + { + "label": "Validated", + "value": "Validated" + } + ], + "hidden": true, + "name": "State" + }, + { + "value": "0", + "type": "Number", + "label": "Touch id", + "hidden": true, + "name": "TouchId" + }, + { + "value": "", + "type": "Boolean", + "label": "Touch is inside", + "hidden": true, + "name": "TouchIsInside" + }, + { + "value": "", + "type": "Boolean", + "label": "Mouse is inside", + "hidden": true, + "name": "MouseIsInside" + }, + { + "value": "", + "type": "Number", + "label": "", + "hidden": true, + "name": "Index" + } + ], + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "ShouldCheckHovering" + }, + { + "propertyName": "State" + }, + { + "propertyName": "TouchId" + }, + { + "propertyName": "TouchIsInside" + }, + { + "propertyName": "MouseIsInside" + }, + { + "propertyName": "Index" + } + ] + } + }, + { + "description": "Change the text style when the button is hovered.", + "fullName": "Hover text style", + "name": "TextStyleState", + "objectType": "TextObject::Text", + "private": true, + "eventsFunctions": [ + { + "description": "Check if isHovered.", + "fullName": "IsHovered", + "functionType": "Condition", + "name": "IsHovered", + "sentence": "_PARAM0_ isHovered", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "IsHovered", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "TextObject::Text", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::TextStyleState", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change if isHovered.", + "fullName": "IsHovered", + "functionType": "Action", + "name": "SetIsHovered", + "sentence": "_PARAM0_ isHovered: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "IsHovered", + "False", + "" + ] + }, + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "IsHovered", + "True", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "HoverFontSize", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "IdleFontSize", + "=", + "Object.FontSize()" + ] + }, + { + "type": { + "value": "TextObject::Text::SetFontSize" + }, + "parameters": [ + "Object", + "=", + "HoverFontSize" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "HoverColor", + "!=", + "\"\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "IdleColor", + "=", + "Object.Behavior::Color()" + ] + }, + { + "type": { + "value": "TextObject::ChangeColor" + }, + "parameters": [ + "Object", + "HoverColor" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldEnableShadowOnHover", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::ShowShadow" + }, + "parameters": [ + "Object", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldEnableOutlineOnHover", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::Text::SetOutlineEnabled" + }, + "parameters": [ + "Object", + "yes" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "IsHovered", + "True", + "" + ] + }, + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "False", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "IsHovered", + "False", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "HoverFontSize", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::Text::SetFontSize" + }, + "parameters": [ + "Object", + "=", + "IdleFontSize" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "HoverColor", + "!=", + "\"\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::ChangeColor" + }, + "parameters": [ + "Object", + "IdleColor" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldEnableShadowOnHover", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::ShowShadow" + }, + "parameters": [ + "Object", + "no" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldEnableOutlineOnHover", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "TextObject::Text::SetOutlineEnabled" + }, + "parameters": [ + "Object", + "no" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "TextObject::Text", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::TextStyleState", + "type": "behavior" + }, + { + "defaultValue": "yes", + "description": "IsHovered", + "name": "Value", + "optional": true, + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Return the text color", + "fullName": "Text color", + "functionType": "StringExpression", + "name": "Color", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {gdjs.TextRuntimeObject} */", + "const object = eventsFunctionContext.getObjects(\"Object\")[0];", + "", + "eventsFunctionContext.returnValue = object._color.join(\";\");" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "color" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "TextObject::Text", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::TextStyleState", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "IsHovered" + }, + { + "functionName": "SetIsHovered" + }, + { + "functionName": "Color" + } + ] + }, + "propertyDescriptors": [ + { + "value": "", + "type": "Boolean", + "label": "Outline on hover", + "name": "ShouldEnableOutlineOnHover" + }, + { + "value": "", + "type": "Color", + "label": "Hover color", + "name": "HoverColor" + }, + { + "value": "", + "type": "Boolean", + "label": "Enable shadow on hover", + "name": "ShouldEnableShadowOnHover" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Hover font size", + "name": "HoverFontSize" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "hidden": true, + "name": "IsHovered" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Idle font size", + "hidden": true, + "name": "IdleFontSize" + }, + { + "value": "", + "type": "Color", + "label": "Idle color", + "hidden": true, + "name": "IdleColor" + } + ], + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "IsHovered" + }, + { + "propertyName": "HoverFontSize" + }, + { + "propertyName": "IdleFontSize" + }, + { + "propertyName": "HoverColor" + }, + { + "propertyName": "IdleColor" + }, + { + "propertyName": "ShouldEnableOutlineOnHover" + }, + { + "propertyName": "ShouldEnableShadowOnHover" + } + ] + } + }, + { + "description": "Change the text style when the button is hovered.", + "fullName": "Hover bitmap text style", + "name": "BitmapTextStyleState", + "objectType": "BitmapText::BitmapTextObject", + "private": true, + "eventsFunctions": [ + { + "description": "Check if isHovered.", + "fullName": "IsHovered", + "functionType": "Condition", + "name": "IsHovered", + "sentence": "_PARAM0_ isHovered", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "IsHovered", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "BitmapText::BitmapTextObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::BitmapTextStyleState", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Change if isHovered.", + "fullName": "IsHovered", + "functionType": "Action", + "name": "SetIsHovered", + "sentence": "_PARAM0_ isHovered: _PARAM2_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "IsHovered", + "False", + "" + ] + }, + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "IsHovered", + "True", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "HoverColor", + "!=", + "\"\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "IdleColor", + "=", + "Object.Behavior::Color()" + ] + }, + { + "type": { + "value": "BitmapText::SetTint" + }, + "parameters": [ + "Object", + "HoverColor" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "HoverPrefix", + "!=", + "\"\"" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "HoverSuffix", + "!=", + "\"\"" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetStringVariable" + }, + "parameters": [ + "IdleText", + "=", + "Object.Text::Value()" + ] + }, + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Object", + "Text", + "=", + "HoverPrefix + Object.Text::Value() + HoverSuffix" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "IsHovered", + "True", + "" + ] + }, + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "Value", + "False", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetBooleanVariable" + }, + "parameters": [ + "IsHovered", + "False", + "" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "HoverColor", + "!=", + "\"\"" + ] + } + ], + "actions": [ + { + "type": { + "value": "BitmapText::SetTint" + }, + "parameters": [ + "Object", + "IdleColor" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "HoverPrefix", + "!=", + "\"\"" + ] + }, + { + "type": { + "value": "StringVariable" + }, + "parameters": [ + "HoverSuffix", + "!=", + "\"\"" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Object", + "Text", + "=", + "IdleText" + ] + } + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "BitmapText::BitmapTextObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::BitmapTextStyleState", + "type": "behavior" + }, + { + "defaultValue": "yes", + "description": "IsHovered", + "name": "Value", + "optional": true, + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Return the text color", + "fullName": "Text color", + "functionType": "StringExpression", + "name": "Color", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::JsCode", + "inlineCode": [ + "/** @type {gdjs.BitmapTextRuntimeObject} */", + "const object = eventsFunctionContext.getObjects(\"Object\")[0];", + "", + "eventsFunctionContext.returnValue = object._tint.join(\";\");" + ], + "parameterObjects": "", + "useStrict": true, + "eventsSheetExpanded": true + } + ], + "expressionType": { + "type": "color" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "BitmapText::BitmapTextObject", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "PanelSpriteButton::BitmapTextStyleState", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "IsHovered" + }, + { + "functionName": "SetIsHovered" + }, + { + "functionName": "Color" + } + ] + }, + "propertyDescriptors": [ + { + "value": "", + "type": "Color", + "label": "Hover color", + "name": "HoverColor" + }, + { + "value": "", + "type": "String", + "label": "Hover prefix", + "name": "HoverPrefix" + }, + { + "value": "", + "type": "String", + "label": "Hover suffix", + "name": "HoverSuffix" + }, + { + "value": "", + "type": "Boolean", + "label": "", + "hidden": true, + "name": "IsHovered" + }, + { + "value": "", + "type": "String", + "label": "Idle text", + "hidden": true, + "name": "IdleText" + }, + { + "value": "", + "type": "Color", + "label": "Idle color", + "hidden": true, + "name": "IdleColor" + } + ], + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "IsHovered" + }, + { + "propertyName": "HoverPrefix" + }, + { + "propertyName": "HoverSuffix" + }, + { + "propertyName": "IdleText" + }, + { + "propertyName": "HoverColor" + }, + { + "propertyName": "IdleColor" + } + ] + } + } + ], + "eventsBasedObjects": [ + { + "areaMaxX": 256, + "areaMaxY": 64, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "assetStoreTag": "menu buttons", + "defaultName": "Button", + "description": "Button with a label.", + "fullName": "Labeled button", + "isInnerAreaFollowingParentSize": true, + "isUsingLegacyInstancesRenderer": false, + "name": "PanelSpriteButton", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "TextStyleState", + "type": "PanelSpriteButton::TextStyleState", + "ShouldEnableOutlineOnHover": false, + "HoverColor": "", + "ShouldEnableShadowOnHover": false, + "HoverFontSize": 0, + "IsHovered": false, + "IdleFontSize": 0, + "IdleColor": "" + } + ], + "string": "Text", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Text", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 20, + "lineHeight": 0, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Idle", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" + } + ], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Hovered", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 0, + "height": 32, + "leftMargin": 0, + "name": "Pressed", + "rightMargin": 0, + "texture": "", + "tiled": false, + "topMargin": 0, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + }, + { + "assetStoreId": "", + "name": "BitmapLabel", + "type": "BitmapText::BitmapTextObject", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "BitmapTextStyleState", + "type": "PanelSpriteButton::BitmapTextStyleState", + "HoverColor": "", + "HoverPrefix": "", + "HoverSuffix": "", + "IsHovered": false, + "IdleText": "", + "IdleColor": "" + } + ], + "content": { + "text": "Text", + "opacity": 255, + "scale": 1, + "fontSize": 20, + "tint": "255;255;255", + "bitmapFontResourceName": "", + "textureAtlasResourceName": "", + "align": "center", + "verticalTextAlignment": "center" + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "BitmapLabel" + }, + { + "objectName": "Idle" + }, + { + "objectName": "Hovered" + }, + { + "objectName": "Pressed" + } + ] + }, + "objectsGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + }, + { + "name": "Labels", + "objects": [ + { + "name": "Label" + }, + { + "name": "BitmapLabel" + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "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": [] + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 64, + "layer": "", + "name": "Idle", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 256, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 64, + "layer": "", + "name": "Label", + "persistentUuid": "3b29c95c-5363-4e25-bf47-eecf13e8a226", + "width": 256, + "x": 0, + "y": 32, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 2.734375, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + }, + "eventsFunctions": [ + { + "fullName": "", + "functionType": "Action", + "name": "onCreated", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Create one background instance for of each state.\nOnly the instance for the current state is shown." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Hovered", + "0", + "0", + "" + ] + }, + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "Pressed", + "0", + "0", + "" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetSize" + }, + "parameters": [ + "Hovered", + "Resizable", + "Idle.Width()", + "Idle.Height()" + ] + }, + { + "type": { + "value": "ResizableCapability::ResizableBehavior::SetSize" + }, + "parameters": [ + "Pressed", + "Resizable", + "Idle.Width()", + "Idle.Height()" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Hovered" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Pressed" + ] + }, + { + "type": { + "value": "ChangePlan" + }, + "parameters": [ + "Hovered", + "=", + "1" + ] + }, + { + "type": { + "value": "ChangePlan" + }, + "parameters": [ + "Pressed", + "=", + "1" + ] + }, + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Labels", + "Text", + "=", + "LabelText" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + } + ] + }, + { + "fullName": "", + "functionType": "Action", + "name": "onHotReloading", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsPressed" + }, + "parameters": [ + "Object", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" + }, + "parameters": [ + "Object", + "=", + "PressedLabelOffsetY", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Labels", + "Text", + "=", + "LabelText" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Apply states", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Show the right background accordingly to the new state." + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsIdle" + }, + "parameters": [ + "Object", + "ButtonFSM" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::TextStyleState::SetIsHovered" + }, + "parameters": [ + "Label", + "TextStyleState", + "no", + "" + ] + }, + { + "type": { + "value": "PanelSpriteButton::BitmapTextStyleState::SetIsHovered" + }, + "parameters": [ + "BitmapLabel", + "BitmapTextStyleState", + "no", + "" + ] + }, + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" + }, + "parameters": [ + "Object", + "=", + "0", + "" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Idle", + "" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Pressed" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "Visible" + }, + "parameters": [ + "Hovered" + ] + }, + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "HoveredFadeOutDuration", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::TweenBehavior::AddObjectOpacityTween2" + }, + "parameters": [ + "Hovered", + "Tween", + "\"Fadeout\"", + "0", + "\"linear\"", + "HoveredFadeOutDuration", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "HoveredFadeOutDuration", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Hovered" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "OpacityCapability::OpacityBehavior::Value" + }, + "parameters": [ + "Hovered", + "Opacity", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Hovered" + ] + }, + { + "type": { + "value": "OpacityCapability::OpacityBehavior::SetValue" + }, + "parameters": [ + "Hovered", + "Opacity", + "=", + "255" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsHovered" + }, + "parameters": [ + "Object", + "ButtonFSM" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::TextStyleState::SetIsHovered" + }, + "parameters": [ + "Label", + "TextStyleState", + "", + "" + ] + }, + { + "type": { + "value": "PanelSpriteButton::BitmapTextStyleState::SetIsHovered" + }, + "parameters": [ + "BitmapLabel", + "BitmapTextStyleState", + "yes", + "" + ] + }, + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" + }, + "parameters": [ + "Object", + "=", + "0", + "" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Idle" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Hovered", + "" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Pressed" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "NumberVariable" + }, + "parameters": [ + "HoveredFadeOutDuration", + ">", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "Tween::RemoveTween" + }, + "parameters": [ + "Hovered", + "Tween", + "\"Fadeout\"" + ] + }, + { + "type": { + "value": "OpacityCapability::OpacityBehavior::SetValue" + }, + "parameters": [ + "Hovered", + "Opacity", + "=", + "255" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsPressed" + }, + "parameters": [ + "Object", + "ButtonFSM" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::TextStyleState::SetIsHovered" + }, + "parameters": [ + "Label", + "TextStyleState", + "no", + "" + ] + }, + { + "type": { + "value": "PanelSpriteButton::BitmapTextStyleState::SetIsHovered" + }, + "parameters": [ + "BitmapLabel", + "BitmapTextStyleState", + "no", + "" + ] + }, + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" + }, + "parameters": [ + "Object", + "=", + "PressedLabelOffsetY", + "" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Idle" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Hovered" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Pressed", + "" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::IsFocused" + }, + "parameters": [ + "Object", + "ButtonFSM" + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "PanelSpriteButton::TextStyleState::SetIsHovered" + }, + "parameters": [ + "Label", + "TextStyleState", + "yes", + "" + ] + }, + { + "type": { + "value": "PanelSpriteButton::BitmapTextStyleState::SetIsHovered" + }, + "parameters": [ + "BitmapLabel", + "BitmapTextStyleState", + "yes", + "" + ] + }, + { + "type": { + "value": "PanelSpriteButton::PanelSpriteButton::SetLabelOffset" + }, + "parameters": [ + "Object", + "=", + "0", + "" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Idle" + ] + }, + { + "type": { + "value": "Montre" + }, + "parameters": [ + "Hovered", + "" + ] + }, + { + "type": { + "value": "Cache" + }, + "parameters": [ + "Pressed" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is not used.", + "fullName": "Is idle", + "functionType": "Condition", + "name": "IsIdle", + "sentence": "_PARAM0_ is idle", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::IsIdle" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button was just clicked.", + "fullName": "Is clicked", + "functionType": "Condition", + "name": "IsClicked", + "sentence": "_PARAM0_ is clicked", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::IsClicked" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the cursor is hovered over the button.", + "fullName": "Is hovered", + "functionType": "Condition", + "name": "IsHovered", + "sentence": "_PARAM0_ is hovered", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::IsHovered" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is either hovered or pressed but not hovered.", + "fullName": "Is focused", + "functionType": "Condition", + "name": "IsFocused", + "sentence": "_PARAM0_ is focused", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::IsFocused" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "Check if the button is currently being pressed with mouse or touch.", + "fullName": "Is pressed", + "functionType": "Condition", + "name": "IsPressed", + "sentence": "_PARAM0_ is pressed", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PanelSpriteButton::ButtonFSM::IsPressed" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "Change the text of the button label.", + "fullName": "Label text", + "functionType": "Action", + "name": "SetLabelText", + "private": true, + "sentence": "Change the text of _PARAM0_ to _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Labels", + "Text", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + }, + { + "description": "Text", + "name": "Value", + "type": "string" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "LabelText", + "name": "SetLabelTextOp", + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TextContainerCapability::TextContainerBehavior::SetValue" + }, + "parameters": [ + "Labels", + "Text", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "the label text.", + "fullName": "Label text", + "functionType": "ExpressionAndCondition", + "name": "LabelText", + "sentence": "the label text", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnString" + }, + "parameters": [ + "Labels.Text::Value()" + ] + } + ] + } + ], + "expressionType": { + "type": "string" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "De/activate interactions with the button.", + "fullName": "De/activate interactions", + "functionType": "Action", + "name": "Activate", + "sentence": "Activate interactions with _PARAM0_: _PARAM1_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldActivate", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "yes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "BooleanVariable" + }, + "parameters": [ + "ShouldActivate", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Idle", + "ButtonFSM", + "no" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + }, + { + "description": "Activate", + "name": "ShouldActivate", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "description": "Check if interactions are activated on the button.", + "fullName": "Interactions activated", + "functionType": "Condition", + "name": "IsActivated", + "sentence": "Interactions on _PARAM0_ are activated", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BehaviorActivated" + }, + "parameters": [ + "Idle", + "ButtonFSM" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "description": "the labelOffset of the object.", + "fullName": "LabelOffset", + "functionType": "ExpressionAndCondition", + "name": "LabelOffset", + "private": true, + "sentence": "the labelOffset", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetReturnNumber" + }, + "parameters": [ + "LabelOffset" + ] + } + ] + } + ], + "expressionType": { + "type": "expression" + }, + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "ActionWithOperator", + "getterName": "LabelOffset", + "name": "SetLabelOffset", + "private": true, + "sentence": "", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetCenterY" + }, + "parameters": [ + "Labels", + "+", + "Value - LabelOffset" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "LabelOffset", + "=", + "Value" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "supplementaryInformation": "PanelSpriteButton::PanelSpriteButton", + "type": "object" + } + ], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "onCreated" + }, + { + "functionName": "onHotReloading" + }, + { + "functionName": "doStepPostEvents" + }, + { + "functionName": "IsIdle" + }, + { + "functionName": "IsClicked" + }, + { + "functionName": "IsHovered" + }, + { + "functionName": "IsFocused" + }, + { + "functionName": "IsPressed" + }, + { + "functionName": "SetLabelText" + }, + { + "functionName": "SetLabelTextOp" + }, + { + "functionName": "LabelText" + }, + { + "functionName": "Activate" + }, + { + "functionName": "IsActivated" + }, + { + "functionName": "LabelOffset" + }, + { + "functionName": "SetLabelOffset" + } + ] + }, + "propertyDescriptors": [ + { + "value": "", + "type": "MultilineString", + "label": "Label", + "name": "LabelText" + }, + { + "value": "0.25", + "type": "Number", + "unit": "Second", + "label": "Hovered fade out duration", + "group": "States", + "name": "HoveredFadeOutDuration" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "Label offset on Y axis when pressed", + "group": "States", + "name": "PressedLabelOffsetY" + }, + { + "value": "0", + "type": "Number", + "unit": "Pixel", + "label": "", + "group": "States", + "hidden": true, + "name": "LabelOffset" + }, + { + "value": "", + "type": "Choice", + "label": "", + "choices": [ + { + "label": "Label.Text=LabelText", + "value": "Label.Text=LabelText" + }, + { + "label": "BitmapLabel.Text=LabelText", + "value": "BitmapLabel.Text=LabelText" + } + ], + "hidden": true, + "name": "_PropertyMapping" + } + ], + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "LabelText" + }, + { + "propertyName": "_PropertyMapping" + }, + { + "folderName": "States", + "children": [ + { + "propertyName": "HoveredFadeOutDuration" + }, + { + "propertyName": "PressedLabelOffsetY" + }, + { + "propertyName": "LabelOffset" + } + ] + } + ] + }, + "variants": [ + { + "areaMaxX": 32, + "areaMaxY": 12, + "areaMaxZ": 1, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "Tiny Square White Button", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "persistentUuid": "37234045-e9d0-480e-a2b3-69ad13ecda43", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "TextStyleState", + "type": "PanelSpriteButton::TextStyleState", + "ShouldEnableOutlineOnHover": false, + "HoverColor": "", + "ShouldEnableShadowOnHover": false, + "HoverFontSize": 0, + "IsHovered": false, + "IdleFontSize": 0, + "IdleColor": "" + } + ], + "string": "Button", + "font": "assets\\AoboshiOne-Regular.ttf", + "textAlignment": "center", + "characterSize": 40, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Button", + "font": "assets\\AoboshiOne-Regular.ttf", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 40, + "lineHeight": 0, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 5, + "height": 12, + "leftMargin": 5, + "name": "Idle", + "persistentUuid": "8ae098ad-d6f1-444c-8bc8-09c36c095839", + "rightMargin": 5, + "texture": "assets\\Tiny Square White Button_Idle.png", + "tiled": false, + "topMargin": 5, + "type": "PanelSpriteObject::PanelSprite", + "width": 11, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" + } + ], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "serializedBehavior": { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true + } + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 5, + "height": 12, + "leftMargin": 5, + "name": "Hovered", + "persistentUuid": "cb7a50d9-e523-4dc1-b287-1e88e119edfb", + "rightMargin": 5, + "texture": "assets\\Tiny Square White Button_Hovered.png", + "tiled": false, + "topMargin": 5, + "type": "PanelSpriteObject::PanelSprite", + "width": 11, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior", + "serializedBehavior": { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 5, + "height": 12, + "leftMargin": 5, + "name": "Pressed", + "persistentUuid": "3f727207-b8e5-4b80-aabe-de42d58265c8", + "rightMargin": 5, + "texture": "assets\\Tiny Square White Button_Pressed.png", + "tiled": false, + "topMargin": 5, + "type": "PanelSpriteObject::PanelSprite", + "width": 11, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + }, + { + "assetStoreId": "", + "name": "BitmapLabel", + "persistentUuid": "80998ae4-9f33-4ca7-bc58-c1da2b8d86ba", + "type": "BitmapText::BitmapTextObject", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "BitmapTextStyleState", + "type": "PanelSpriteButton::BitmapTextStyleState", + "HoverColor": "", + "HoverPrefix": "", + "HoverSuffix": "", + "IsHovered": false, + "IdleText": "", + "IdleColor": "" + } + ], + "content": { + "text": "Button", + "opacity": 255, + "scale": 0.5, + "fontSize": 20, + "tint": "0;0;0", + "bitmapFontResourceName": "assets\\8BitOperatorPlus8Regular.fnt", + "textureAtlasResourceName": "assets\\8BitOperatorPlus8Regular.png", + "align": "center", + "verticalTextAlignment": "center" + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "Idle" + }, + { + "objectName": "Hovered" + }, + { + "objectName": "Pressed" + }, + { + "objectName": "BitmapLabel" + } + ] + }, + "objectsGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + }, + { + "name": "Labels", + "objects": [ + { + "name": "Label" + }, + { + "name": "BitmapLabel" + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "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": [] + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 0, + "height": 12, + "layer": "", + "name": "Idle", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 32, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 6, + "keepRatio": true, + "layer": "", + "name": "BitmapLabel", + "persistentUuid": "586cadfa-4dde-4142-9bfc-86d35846f55a", + "width": 22, + "x": 5, + "y": 6, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": true, + "zoomFactor": 10.891751186210026, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } + }, + { + "areaMaxX": 22, + "areaMaxY": 9, + "areaMaxZ": 1, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "White 1Bit Border Button", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "persistentUuid": "37234045-e9d0-480e-a2b3-69ad13ecda43", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "TextStyleState", + "type": "PanelSpriteButton::TextStyleState", + "ShouldEnableOutlineOnHover": false, + "HoverColor": "", + "ShouldEnableShadowOnHover": false, + "HoverFontSize": 0, + "IsHovered": false, + "IdleFontSize": 0, + "IdleColor": "" + } + ], + "string": "Button", + "font": "assets\\AoboshiOne-Regular.ttf", + "textAlignment": "center", + "characterSize": 40, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Button", + "font": "assets\\AoboshiOne-Regular.ttf", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 40, + "lineHeight": 0, + "color": "255;255;255" + } + }, + { + "assetStoreId": "", + "bottomMargin": 2, + "height": 6, + "leftMargin": 2, + "name": "Idle", + "persistentUuid": "8ae098ad-d6f1-444c-8bc8-09c36c095839", + "rightMargin": 2, + "texture": "assets\\White 1Bit Border Button_Idle.png", + "tiled": false, + "topMargin": 2, + "type": "PanelSpriteObject::PanelSprite", + "width": 6, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" + } + ], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "serializedBehavior": { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true + } + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 2, + "height": 6, + "leftMargin": 2, + "name": "Hovered", + "persistentUuid": "cb7a50d9-e523-4dc1-b287-1e88e119edfb", + "rightMargin": 2, + "texture": "assets\\White 1Bit Border Button_Hovered.png", + "tiled": false, + "topMargin": 2, + "type": "PanelSpriteObject::PanelSprite", + "width": 6, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior", + "serializedBehavior": { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 2, + "height": 50, + "leftMargin": 2, + "name": "Pressed", + "persistentUuid": "3f727207-b8e5-4b80-aabe-de42d58265c8", + "rightMargin": 2, + "texture": "assets\\White 1Bit Border Button_Pressed.png", + "tiled": false, + "topMargin": 2, + "type": "PanelSpriteObject::PanelSprite", + "width": 50, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + }, + { + "assetStoreId": "", + "name": "BitmapLabel", + "persistentUuid": "80998ae4-9f33-4ca7-bc58-c1da2b8d86ba", + "type": "BitmapText::BitmapTextObject", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "BitmapTextStyleState", + "type": "PanelSpriteButton::BitmapTextStyleState", + "HoverColor": "", + "HoverPrefix": "", + "HoverSuffix": "", + "IsHovered": false, + "IdleText": "", + "IdleColor": "" + } + ], + "content": { + "text": "Button", + "opacity": 255, + "scale": 0.5, + "fontSize": 20, + "tint": "255;255;255", + "bitmapFontResourceName": "assets\\8BitOperatorPlus8Regular.fnt", + "textureAtlasResourceName": "assets\\8BitOperatorPlus8Regular.png", + "align": "center", + "verticalTextAlignment": "center" + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "Idle" + }, + { + "objectName": "Hovered" + }, + { + "objectName": "Pressed" + }, + { + "objectName": "BitmapLabel" + } + ] + }, + "objectsGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + }, + { + "name": "Labels", + "objects": [ + { + "name": "Label" + }, + { + "name": "BitmapLabel" + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "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": [] + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 9, + "layer": "", + "name": "Idle", + "opacity": 0, + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 22, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 6, + "layer": "", + "name": "BitmapLabel", + "persistentUuid": "d347f860-0746-4d79-bc89-af8e2b213497", + "width": 20, + "x": 0.75, + "y": 5.25, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 27.56660758663866, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } + }, + { + "areaMaxX": 192, + "areaMaxY": 64, + "areaMaxZ": 1, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "White Fantasy Border Button", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "persistentUuid": "37234045-e9d0-480e-a2b3-69ad13ecda43", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "TextStyleState", + "type": "PanelSpriteButton::TextStyleState", + "ShouldEnableOutlineOnHover": false, + "HoverColor": "", + "ShouldEnableShadowOnHover": false, + "HoverFontSize": 0, + "IsHovered": false, + "IdleFontSize": 0, + "IdleColor": "" + } + ], + "string": "Button", + "font": "assets\\AoboshiOne-Regular.ttf", + "textAlignment": "center", + "characterSize": 40, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Button", + "font": "assets\\AoboshiOne-Regular.ttf", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 40, + "lineHeight": 0, + "color": "255;255;255" + } + }, + { + "assetStoreId": "", + "bottomMargin": 36, + "height": 96, + "leftMargin": 36, + "name": "Idle", + "persistentUuid": "8ae098ad-d6f1-444c-8bc8-09c36c095839", + "rightMargin": 36, + "texture": "assets\\White Fantasy Border Button_Idle.png", + "tiled": false, + "topMargin": 36, + "type": "PanelSpriteObject::PanelSprite", + "width": 96, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" + } + ], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "serializedBehavior": { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true + } + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 22, + "height": 96, + "leftMargin": 22, + "name": "Hovered", + "persistentUuid": "cb7a50d9-e523-4dc1-b287-1e88e119edfb", + "rightMargin": 22, + "texture": "assets\\White Fantasy Border Button_Hovered.png", + "tiled": false, + "topMargin": 22, + "type": "PanelSpriteObject::PanelSprite", + "width": 96, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior", + "serializedBehavior": { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 25, + "height": 96, + "leftMargin": 25, + "name": "Pressed", + "persistentUuid": "3f727207-b8e5-4b80-aabe-de42d58265c8", + "rightMargin": 25, + "texture": "assets\\White Fantasy Border Button_Pressed.png", + "tiled": false, + "topMargin": 25, + "type": "PanelSpriteObject::PanelSprite", + "width": 96, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + }, + { + "assetStoreId": "", + "name": "BitmapLabel", + "persistentUuid": "80998ae4-9f33-4ca7-bc58-c1da2b8d86ba", + "type": "BitmapText::BitmapTextObject", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "BitmapTextStyleState", + "type": "PanelSpriteButton::BitmapTextStyleState", + "HoverColor": "", + "HoverPrefix": "", + "HoverSuffix": "", + "IsHovered": false, + "IdleText": "", + "IdleColor": "" + } + ], + "content": { + "text": "Text", + "opacity": 255, + "scale": 1, + "fontSize": 20, + "tint": "255;255;255", + "bitmapFontResourceName": "", + "textureAtlasResourceName": "", + "align": "center", + "verticalTextAlignment": "center" + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "Idle" + }, + { + "objectName": "Hovered" + }, + { + "objectName": "Pressed" + }, + { + "objectName": "BitmapLabel" + } + ] + }, + "objectsGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + }, + { + "name": "Labels", + "objects": [ + { + "name": "Label" + }, + { + "name": "BitmapLabel" + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "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": [] + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 64, + "layer": "", + "name": "Idle", + "opacity": 0, + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 192, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 64, + "layer": "", + "name": "Label", + "persistentUuid": "865a5229-3dbd-4e80-9d9f-0481691f71ec", + "width": 192, + "x": 0, + "y": 32, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 1.7576384491805344, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } + }, + { + "areaMaxX": 192, + "areaMaxY": 80, + "areaMaxZ": 1, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "White Fantasy Button", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "persistentUuid": "37234045-e9d0-480e-a2b3-69ad13ecda43", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "TextStyleState", + "type": "PanelSpriteButton::TextStyleState", + "ShouldEnableOutlineOnHover": false, + "HoverColor": "", + "ShouldEnableShadowOnHover": false, + "HoverFontSize": 0, + "IsHovered": false, + "IdleFontSize": 0, + "IdleColor": "" + } + ], + "string": "Button", + "font": "assets\\AoboshiOne-Regular.ttf", + "textAlignment": "center", + "characterSize": 40, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Button", + "font": "assets\\AoboshiOne-Regular.ttf", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 40, + "lineHeight": 0, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 22, + "height": 96, + "leftMargin": 22, + "name": "Idle", + "persistentUuid": "8ae098ad-d6f1-444c-8bc8-09c36c095839", + "rightMargin": 22, + "texture": "assets\\White Fantasy Button_Idle.png", + "tiled": false, + "topMargin": 22, + "type": "PanelSpriteObject::PanelSprite", + "width": 96, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" + } + ], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "serializedBehavior": { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true + } + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 22, + "height": 96, + "leftMargin": 22, + "name": "Hovered", + "persistentUuid": "cb7a50d9-e523-4dc1-b287-1e88e119edfb", + "rightMargin": 22, + "texture": "assets\\White Fantasy Button_Hovered.png", + "tiled": false, + "topMargin": 22, + "type": "PanelSpriteObject::PanelSprite", + "width": 96, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior", + "serializedBehavior": { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 25, + "height": 96, + "leftMargin": 25, + "name": "Pressed", + "persistentUuid": "3f727207-b8e5-4b80-aabe-de42d58265c8", + "rightMargin": 25, + "texture": "assets\\White Fantasy Button_Pressed.png", + "tiled": false, + "topMargin": 25, + "type": "PanelSpriteObject::PanelSprite", + "width": 96, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + }, + { + "assetStoreId": "", + "name": "BitmapLabel", + "persistentUuid": "1426434c-8a97-4f36-8923-6c594ed3f2ac", + "type": "BitmapText::BitmapTextObject", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "BitmapTextStyleState", + "type": "PanelSpriteButton::BitmapTextStyleState", + "HoverColor": "", + "HoverPrefix": "", + "HoverSuffix": "", + "IsHovered": false, + "IdleText": "", + "IdleColor": "" + } + ], + "content": { + "text": "Text", + "opacity": 255, + "scale": 1, + "fontSize": 20, + "tint": "255;255;255", + "bitmapFontResourceName": "", + "textureAtlasResourceName": "", + "align": "center", + "verticalTextAlignment": "center" + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "Idle" + }, + { + "objectName": "Hovered" + }, + { + "objectName": "Pressed" + }, + { + "objectName": "BitmapLabel" + } + ] + }, + "objectsGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + }, + { + "name": "Labels", + "objects": [ + { + "name": "Label" + }, + { + "name": "BitmapLabel" + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "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": [] + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 80, + "layer": "", + "name": "Idle", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 192, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 80, + "layer": "", + "name": "Label", + "persistentUuid": "865a5229-3dbd-4e80-9d9f-0481691f71ec", + "width": 192, + "x": 0, + "y": 40, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 1.7576384491805344, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } + }, + { + "areaMaxX": 128, + "areaMaxY": 48, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "Blue TinySwords Button", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "TextStyleState", + "type": "PanelSpriteButton::TextStyleState", + "ShouldEnableOutlineOnHover": false, + "HoverColor": "", + "ShouldEnableShadowOnHover": false, + "HoverFontSize": 0, + "IsHovered": false, + "IdleFontSize": 0, + "IdleColor": "" + } + ], + "string": "Text", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Text", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 20, + "lineHeight": 0, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 31, + "height": 56, + "leftMargin": 25, + "name": "Idle", + "persistentUuid": "c5049015-f596-48e9-90c0-9f9bc1843cad", + "rightMargin": 25, + "texture": "assets\\Blue TinySwords Pixel Button_Idle.png", + "tiled": false, + "topMargin": 22, + "type": "PanelSpriteObject::PanelSprite", + "width": 54, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" + } + ], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 31, + "height": 56, + "leftMargin": 25, + "name": "Hovered", + "persistentUuid": "171749f3-a727-42a4-9674-0f76dd88094d", + "rightMargin": 25, + "texture": "assets\\Blue TinySwords Pixel Button_Hovered.png", + "tiled": false, + "topMargin": 22, + "type": "PanelSpriteObject::PanelSprite", + "width": 54, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 26, + "height": 32, + "leftMargin": 25, + "name": "Pressed", + "persistentUuid": "f9e691cb-11f9-4c46-a5e2-efd8a1056438", + "rightMargin": 25, + "texture": "assets\\Blue TinySwords Pixel Button_Pressed.png", + "tiled": false, + "topMargin": 26, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + }, + { + "assetStoreId": "", + "name": "BitmapLabel", + "persistentUuid": "e3b7be15-2a3f-45bc-a0a6-7417a9a2f0b5", + "type": "BitmapText::BitmapTextObject", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "BitmapTextStyleState", + "type": "PanelSpriteButton::BitmapTextStyleState", + "HoverColor": "", + "HoverPrefix": "", + "HoverSuffix": "", + "IsHovered": false, + "IdleText": "", + "IdleColor": "" + } + ], + "content": { + "text": "Button", + "opacity": 255, + "scale": 2, + "fontSize": 20, + "tint": "22;28;46", + "bitmapFontResourceName": "assets\\NotJamOldStyle11.fnt", + "textureAtlasResourceName": "assets\\NotJamOldStyle11.png", + "align": "center", + "verticalTextAlignment": "center" + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "BitmapLabel" + }, + { + "objectName": "Idle" + }, + { + "objectName": "Hovered" + }, + { + "objectName": "Pressed" + } + ] + }, + "objectsGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + }, + { + "name": "Labels", + "objects": [ + { + "name": "Label" + }, + { + "name": "BitmapLabel" + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "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": [] + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 48, + "layer": "", + "name": "Idle", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 128, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0.9375, + "height": 45, + "keepRatio": true, + "layer": "", + "name": "BitmapLabel", + "persistentUuid": "c3c3200d-dec4-4ac4-9dc5-4715d8989830", + "width": 120, + "x": 4, + "y": 22, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 8.141881203709909, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } + }, + { + "areaMaxX": 128, + "areaMaxY": 48, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "name": "Red TinySwords Button", + "objects": [ + { + "assetStoreId": "", + "bold": false, + "italic": false, + "name": "Label", + "persistentUuid": "775da1ef-2522-4d72-a34a-7508c5fba704", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "TextStyleState", + "type": "PanelSpriteButton::TextStyleState", + "ShouldEnableOutlineOnHover": false, + "HoverColor": "", + "ShouldEnableShadowOnHover": false, + "HoverFontSize": 0, + "IsHovered": false, + "IdleFontSize": 0, + "IdleColor": "" + } + ], + "string": "Text", + "font": "", + "textAlignment": "center", + "characterSize": 20, + "color": { + "b": 0, + "g": 0, + "r": 0 + }, + "content": { + "bold": false, + "isOutlineEnabled": false, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "255;255;255", + "outlineThickness": 2, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Text", + "font": "", + "textAlignment": "center", + "verticalTextAlignment": "center", + "characterSize": 20, + "lineHeight": 0, + "color": "0;0;0" + } + }, + { + "assetStoreId": "", + "bottomMargin": 31, + "height": 56, + "leftMargin": 25, + "name": "Idle", + "persistentUuid": "c5049015-f596-48e9-90c0-9f9bc1843cad", + "rightMargin": 25, + "texture": "assets\\Red TinySwords Pixel Button_Idle.png", + "tiled": false, + "topMargin": 22, + "type": "PanelSpriteObject::PanelSprite", + "width": 54, + "variables": [ + { + "folded": true, + "name": "State", + "type": "string", + "value": "Idle" + } + ], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "ButtonFSM", + "type": "PanelSpriteButton::ButtonFSM", + "ShouldCheckHovering": true + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 31, + "height": 56, + "leftMargin": 25, + "name": "Hovered", + "persistentUuid": "171749f3-a727-42a4-9674-0f76dd88094d", + "rightMargin": 25, + "texture": "assets\\Red TinySwords Pixel Button_Hovered.png", + "tiled": false, + "topMargin": 22, + "type": "PanelSpriteObject::PanelSprite", + "width": 54, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 26, + "height": 32, + "leftMargin": 25, + "name": "Pressed", + "persistentUuid": "f9e691cb-11f9-4c46-a5e2-efd8a1056438", + "rightMargin": 25, + "texture": "assets\\Red TinySwords Pixel Button_Pressed.png", + "tiled": false, + "topMargin": 26, + "type": "PanelSpriteObject::PanelSprite", + "width": 32, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 2, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "topEdgeAnchor": 1, + "useLegacyBottomAndRightAnchors": false + } + ] + }, + { + "assetStoreId": "", + "name": "BitmapLabel", + "persistentUuid": "e3b7be15-2a3f-45bc-a0a6-7417a9a2f0b5", + "type": "BitmapText::BitmapTextObject", + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "Anchor", + "type": "AnchorBehavior::AnchorBehavior", + "bottomEdgeAnchor": 4, + "topEdgeAnchor": 4, + "leftEdgeAnchor": 1, + "relativeToOriginalWindowSize": true, + "rightEdgeAnchor": 2, + "useLegacyBottomAndRightAnchors": false + }, + { + "name": "BitmapTextStyleState", + "type": "PanelSpriteButton::BitmapTextStyleState", + "HoverColor": "", + "HoverPrefix": "", + "HoverSuffix": "", + "IsHovered": false, + "IdleText": "", + "IdleColor": "" + } + ], + "content": { + "text": "Button", + "opacity": 255, + "scale": 2, + "fontSize": 20, + "tint": "22;28;46", + "bitmapFontResourceName": "assets\\NotJamOldStyle11.fnt", + "textureAtlasResourceName": "assets\\NotJamOldStyle11.png", + "align": "center", + "verticalTextAlignment": "center" + } + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Label" + }, + { + "objectName": "BitmapLabel" + }, + { + "objectName": "Idle" + }, + { + "objectName": "Hovered" + }, + { + "objectName": "Pressed" + } + ] + }, + "objectsGroups": [ + { + "name": "Background", + "objects": [ + { + "name": "Idle" + }, + { + "name": "Hovered" + }, + { + "name": "Pressed" + } + ] + }, + { + "name": "Labels", + "objects": [ + { + "name": "Label" + }, + { + "name": "BitmapLabel" + } + ] + } + ], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera2DPlaneMaxDrawingDistance": 5000, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "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": [] + } + ], + "instances": [ + { + "angle": 0, + "customSize": true, + "depth": 1, + "height": 48, + "layer": "", + "name": "Idle", + "persistentUuid": "24882334-eec8-403e-8bf1-70fc928a46e6", + "width": 128, + "x": 0, + "y": 0, + "zOrder": 1, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": true, + "depth": 0.9374999999999999, + "height": 45, + "layer": "", + "name": "BitmapLabel", + "persistentUuid": "c3c3200d-dec4-4ac4-9dc5-4715d8989830", + "width": 120, + "x": 4, + "y": 22, + "zOrder": 2, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + } + ], + "editionSettings": { + "grid": true, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": true, + "zoomFactor": 5.468750000000007, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } + } + ] + } + ] + } + ], + "externalLayouts": [] +} \ No newline at end of file