From 329e512d1841ea7e225d5969f10d34a2ea5d4d38 Mon Sep 17 00:00:00 2001 From: Ben Frankel Date: Wed, 3 Jan 2024 16:22:43 -0800 Subject: [PATCH] Center upgrade panel description --- assets/font/pypx-B.ttf | Bin 15585 -> 15585 bytes assets/font/pypx-T.ttf | Bin 15585 -> 15585 bytes assets/font/pypx.ttf | Bin 15585 -> 15585 bytes src/state/editor_screen/code_panel.rs | 1 + src/state/editor_screen/info_bar.rs | 1 + src/state/editor_screen/outline_panel.rs | 2 +- src/state/editor_screen/upgrade_panel.rs | 49 +++++++++++------------ src/upgrade.rs | 2 +- 8 files changed, 27 insertions(+), 28 deletions(-) diff --git a/assets/font/pypx-B.ttf b/assets/font/pypx-B.ttf index 8e2f579b92c1e9a28402ee17f8c8fd74bd566666..08a260e7d60c08e0929f0d89d2f806f3ab57513c 100644 GIT binary patch delta 2767 zcmYk6S!`5Q7{|XmOPT53={8-a3@vS^rF)?*ZGl2J+ETjjrL+QC!&Z?*Fvgh}A|{%M zoEJ^dkjR4%B$~{N4`?(Z@v$y3nivBKB$^NdsF4R2zw@gYn*4wFfBxq?-#z!9+qrT2 z#_4l8(H4)0_#*-gaFSakp#s+jB=w zKYROD(@P==mqkiGSw6IMaPI4YVy*o})wHaE&+$H^wOKmexP0{FsTMUl{#145@SzjO zR$e}FPtv4vUhn_fk>dxJB;kACJC}-E8?K9Z{#-f!;z@a48g)xQ=(?~tcD2ZR??+zW zpVt1j)@UH|%8WbkRd&~Jk zBzLz;`{rI32?kZVCU`-md(7)lX|Fu(k>9TRNTk50I;qmNg&vX7!g)2TA|ag!sSoMm z&;ya8ag`op(QT3Siz;0Z7M1$2`VCsU;fhFcok}-X{EZ%YyFK>!<%F*suef94Hg)MG zrnb=Qek?BYZ9%U2+!rt%86MwbJ1vjJ+$k?Ik5ZE30smo_H|7?%nAVhhb0I0!rS@{t zM6QM|Js&-0{lmyZP2$1i&%BI zzv_d)lU4D%fqs|cH#LzQuQt%bc_AyOL>ID8z1k*^G`Cl`JXBH^Gpjk__=W5@9n+SQ zR_CJs)3x?~b~~cGURy2dt!!2NSniTj@ZZ3eK2YzdY=OO<`8BiJ{G6N-kK~#Kl{s*{L^kpn)u}3_* z0gw3ME@*Qvvk7n=^g%!Me(L>V>;2@3FbO8Z6qqVa`k<-Ori`W%rO6&0q~X(ru zBm)LuCd`7_FbC$sAk2gLumBdq5G;c0VR(Sc23QPB*h&e0BYq>k6km!j!tr#7r|)&G;643w|qpE4~%qif^M+8=cyuQ~R|^ zH|&AEun*dkZIcl=1}C8Xq}tcsUOP>Gd?0`F!W@mNQ{#^_^`93;MQ}X~!ws+)mcWg$ z6qdnq7=abA5^jQ361C4-&7cO>!a7(F8(<^c47b20*bH0XR@e&LU_0Cfx5FK<1MZZV zJ^x({I$;;=hCQ$s?uLD^9}d7ha1ic=LvR?5z)?5`$KeE=RQ4^%6oY9v183nJoQM11 W+PAVFzo^`=n~%vNl=%G`C-Gm{He6Hy delta 1793 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 P&y_WPj<(`@|L zH*9xy?>(~Xm-Uyn5|y4Os=d2s=g5xD-@b7Wv3~&b_P`LZO12?3hIMw&zC(vwK(M|9 z9D8Z!%lpS3j%O%G*)v4`@ZJO4N2ugdmZ$`m8 z&LMv6;DJ{T(Tmi9hOwpwvLrXrN1>CE7b?3SAO;4aqXTtEp4NWy8>|Cl>kgVJsu-#c z11_na{*9<*gtENQN?8>=Y#p}ze8bwzJ$8i80xRvT>LL%6NNiDyGc|9U)3-$3Sb>i z({73*SscNM0N?-yK%yiPC;Nd5z#XFM24Dwp4!BNKgLTaz;5<=^fUN-RY1q>SxQ|Dg z1khaV-Te8|53LYhf{dk}GJG%4zzfStgT)bz8z0|F#QAt26(wvYQ!p~Raf1ys&R^6e z`D7$LRb4QMQMhCiAz`Vf^CFAvms|x`TYNDdZIx}F#nrCgvr0wb1->}7Hj4$gmrI^$ z!4xCMT}{L%f^+z*#?GYd0v@}1A|rp?nC0F~CM1?e>gDoKGJhuYkKZCbRTp1b{5A?y z{1ilckeZgB)3b<{uCz0cHRi{@?Zc%zu zJjIK(VVKD7Hx#7=_Xldq$Y@1=J&;)GwT70AUJ@Zt(|H#zsm0?p?ybjQ(gUdzlQjHY zBC*6s?-DDs7MJ7^o5n+v@k2_MF~A#;aPNA2hL=x%z#At=d9=bmU6K{UC7r+zsKwPj zEoO6lw28l&vaD2+j+=ZSnzO6j5HURl*Jjntqg8JP4N{d+1)joaJk~x@X(CK4Qq5~m zsursid&$2Yudqub%fy$#&nFXnBbeeVb*21nAXFxM3dYaZf@%IUR2lNB6b!dj)NrV} zkxxhCK`9}3W#v~?57|CLCEQ;bBy=~A(ek1K$|M_9S zx}|trZ^Y7vd-)*R6|{^=o`YTt$T;@mp&bp^@S#+!?vZg_(6&wpfyG#ZiA#sOYP}9$ zt^KXC>s1b@lrk-}QRSe@O)7^(=4i7nh9ReGUo%v;YNxF(mlQLV&r&%X z=O&u1F|%EZ#LQ9Nrt%q;?Rva+Jzl$7I`qyubZ-Y$$!R)BHqTY}vm*KKv}ViUa8sAH zfqR;obMw{LsmVGuS*Kc_Q@KEsEpWNy>e9$AjqFl;x5`C2&P6)TMLN#K+RkG2_9*XB zzC`&FRcT8I?maDu-lL4#}t-l2JJ% zqjK~b937QIGAf5;R1W22R*sI!AsN*&ZDqMDJ1RzB=X R>6`MmXN*nGx3zWK{{jhqt>XXy diff --git a/assets/font/pypx.ttf b/assets/font/pypx.ttf index cb0d071999739a9c9a1df668312b9c810476b1d3..a2cd90bc56b6f34ba42ab00c7cc1e1ef3b787b9b 100644 GIT binary patch delta 2628 zcmY+ENo-qH6o${U6UTNO+ld`#tedHsnz0$0sYB+uagt_ElT@V;)KO4Sqqf*ZMN|ke z^nw^xRaGGtRIP9qELhMLEV^KUSRgh(#5*pFhZ&bkt+#QI9((y^m2 zojh6b%CZEc=CMBiv*V|Z9G0}bzW1+}bhKO-N%`{hsh7{li_)Z9vbRtqmc3e}x8z#m zYM|>6t+D&b`2}aev+;_xWZgE))`lhKN9#|^VeU9`lJ^})9P#72^)-!4PuHcK7fE$% z9MpJQUDx`wk8i)m*CH8X z8sCff8#F!_36yDE7U>CS^I%xxV-0PVsRfzZILoJ@56#jIg!Ew{Z5YygSjX^RBH6k) z`x}u+(70W3E110OdT5ys^IOf$Xu$aV5fj_)Hb1$&E~j?e5)+FSn44Kav&ZjE)_Sfw zQWK7ZQ_O1_`R2EDzeDBY^qCwr9eNsiqWTeW=-N$nlIy;QsVQ3TG~?c4^J-S5Yzz;IwP7KiF{(2bA_R(?o2DT5>NgeB|(dXeJq>y zv1BJ3b6>YiXI{u*C6eFe{p~PsL}$EOFS?d~(QH#2%reLF29s}XyO5%{C{dYXZiE7= zE|%w*PXp=6$&yM}z+Rw-z%h74%+>1L9J`TaTiWVrOMBa5KB{QY@2Vn$j5=(~Yz3pq z_Nq~5svc*;VXTZYbEBr*JSqvBUuz2D?rVCsCtZ5+93SXwujsp_h;B&ffj!XnQ^~qu z8gxSs^&aXyV%K}{y)Yg6UCbUC_0hIH!{G79b2sE}E>A|_sY zrLdB+Dwb5CtI^e}O+j6L;ZDpN%o=npy4Efjtt+am!>q@wM>n7w(2eLuyZBsPe)}%W zCd?*uGrAewf^I>#ieLBHDnVFdZq>cn+)8FQRlCt`=r(jax*gqt?oe%3>m%`gZPFCSzXkVx=s~iBIDy24?+9CU`1Bp RnsQZV30Z@ZY;N3>_77V!K(GJ+ delta 1540 zcmXw1TTEP46kYc+PX>m|%rG+ul&8F$GBSm63T?tu+Cl@AcWFuys~G!=@*zoe#-wUv zOoVO|{qTdtei`4_L_bXZ;iK`ZUnVB~5Yt2&jp>IqnDB7j4PIF5th4q$d!Ms28_OHZ zE75E^4!}1sGCYP-6aZ--_tx-OGIf4*<_cg;bAMss^87X9eRB=SJ4SEw#Y@XC{2uv{ zG0$f}{mA0Q`R8Yk|IK{dC(?^Fyl=XGV{U}|y2Z;&uX%G+Fuo^lynOMME51tq=O{vA z8*pVVU0s-mx9j88+ch1nZFIi5cJB8L)-v*iWsykg2gNr zDNYa!gy@CXB=jv1rWalzc##O#$Tm>&9n|n#NY?+fE_yac)>%r(_FgP?72{*{MC?jvxf<}6RM0ky|nE93O9}Y>^g~u z>sj6I3a^^7QClJB%L?U}>Y&7;MaGVF$13fS=!b?pWtF52u=#!^=kEL3xe#`9dE_1J zUul=C)6e<#a&~k4EkjD{0{KqPHetYCFa6h)!|{AsJya`JX-KvTEqS{l;@M>!ke2GG z{24!GzgzLTOTMh}$m8O$+-1*wuQNl=KpqvxWG?2GmGY4M)LdZhLaO2s z7pLQvH)_jdt|H%nJSvQboPqs+J4f$9RzfBA(Wb#XH~0oqx%{uiM3`yWm&uA^X+wtK)~`1d-<3gXkm|VTf$0W2sZCPMz|T%Js?(IKj*Y z3@Q(Cx(%45mbsRd{3cClCQBgsL^OdQBMDf_PKU!zs5@EJpVZ8!m0Oilnw-+)6ndGQ zQvZl@n{vByS~JtI@(_R)XV7UjGoS@e^j|cxl?mGHK$W^I@Ld>+@k~P(E;`7 zfO>Tty&COP-KV-=b-(Ioqq+>JHK6(gOGB==W@}EWd+LCl_YZ2uX?0FhOLwX&JFMGb z4UMQCQ9Y`9RP`CvXH<`=9zS4bQse4Rs57B@QuU!;P3X;f=QH)mC! ZRXwZv+yV3U_U-oLUVE*h+ax8;{{VVYjA{S? diff --git a/src/state/editor_screen/code_panel.rs b/src/state/editor_screen/code_panel.rs index f9373ff..d2ff671 100644 --- a/src/state/editor_screen/code_panel.rs +++ b/src/state/editor_screen/code_panel.rs @@ -25,6 +25,7 @@ pub fn spawn_light_code_panel( NodeBundle { style: Style { width: Percent(100.0), + height: Val::ZERO, min_height: config.code_panel_height, padding: UiRect::all(VMin(2.0)), ..default() diff --git a/src/state/editor_screen/info_bar.rs b/src/state/editor_screen/info_bar.rs index b5abb89..b66b7b6 100644 --- a/src/state/editor_screen/info_bar.rs +++ b/src/state/editor_screen/info_bar.rs @@ -29,6 +29,7 @@ pub fn spawn_info_bar( NodeBundle { style: Style { width: Percent(100.0), + height: Val::ZERO, min_height: config.info_bar_height, padding: UiRect::horizontal(Px(16.0)), align_items: AlignItems::Center, diff --git a/src/state/editor_screen/outline_panel.rs b/src/state/editor_screen/outline_panel.rs index 6c3308f..7e1c78f 100644 --- a/src/state/editor_screen/outline_panel.rs +++ b/src/state/editor_screen/outline_panel.rs @@ -45,7 +45,6 @@ impl Plugin for OutlinePanelPlugin { #[reflect(Resource)] pub struct UpgradeOutline(pub HashMap); -// TODO: Add scrollbar pub fn spawn_outline_panel( commands: &mut Commands, config: &EditorScreenConfig, @@ -56,6 +55,7 @@ pub fn spawn_outline_panel( Name::new("OutlinePanel"), NodeBundle { style: Style { + width: Val::ZERO, min_width: config.outline_panel_width, height: Percent(100.0), padding: UiRect::new(Px(12.0), Px(8.0), Px(12.0), Px(12.0)), diff --git a/src/state/editor_screen/upgrade_panel.rs b/src/state/editor_screen/upgrade_panel.rs index ea4e9f0..2781d74 100644 --- a/src/state/editor_screen/upgrade_panel.rs +++ b/src/state/editor_screen/upgrade_panel.rs @@ -57,6 +57,7 @@ pub fn spawn_upgrade_panel( Name::new("UpgradePanel"), NodeBundle { style: Style { + width: Val::ZERO, min_width: config.upgrade_panel_width, height: Percent(100.0), align_items: AlignItems::Center, @@ -95,6 +96,7 @@ pub fn spawn_upgrade_panel( NodeBundle { style: Style { width: Percent(100.0), + align_items: AlignItems::Center, flex_direction: FlexDirection::Column, flex_grow: 1.0, ..default() @@ -248,29 +250,23 @@ fn spawn_separator( commands: &mut Commands, config: &EditorScreenConfig, theme: &EditorScreenTheme, - parent: Entity, -) { +) -> Entity { commands .spawn(( Name::new("Separator"), NodeBundle { style: Style { + width: Percent(100.0), max_height: Px(0.0), border: UiRect::top(config.separator_width), - margin: UiRect { - left: Px(0.0), - right: Px(0.0), - // 16 vertical margin, compensates for buttons - top: Px(6.0), - bottom: Px(16.0), - }, + margin: UiRect::vertical(Px(16.0)), ..default() }, border_color: theme.separator_color.into(), ..default() }, )) - .set_parent(parent); + .id() } fn spawn_submit_button(commands: &mut Commands, config: &EditorScreenConfig) -> Entity { @@ -348,7 +344,7 @@ fn offer_next_upgrades( ) { let config = &config.editor_screen; let theme = &theme.0; - for (entity, buttons) in &container_query { + for (container, buttons) in &container_query { // Despawn old upgrade options for &button in buttons.into_iter().flatten() { despawn.recursive(button); @@ -359,7 +355,8 @@ fn offer_next_upgrades( for kind in next_upgrades { if kind == UpgradeKind::RefreshUpgradeList { // Add a separator. - spawn_separator(&mut commands, config, theme, entity); + let separator = spawn_separator(&mut commands, config, theme); + commands.entity(separator).set_parent(container); } let upgrade_button = spawn_upgrade_button( &mut commands, @@ -369,29 +366,29 @@ fn offer_next_upgrades( kind, &simulation, ); - commands.entity(upgrade_button).set_parent(entity); + commands.entity(upgrade_button).set_parent(container); } // Show description if present. if !desc.is_empty() { - spawn_separator(&mut commands, config, theme, entity); - let mut text_bundle = TextBundle::from_section( - desc, - TextStyle { - font: FONT_HANDLE, - color: theme.outline_panel_text_color, - ..default() - }, - ); - // Panel width - horizontal padding - text_bundle.style.max_width = Px(280.0 - 24.0); + let separator = spawn_separator(&mut commands, config, theme); + commands.entity(separator).set_parent(container); + commands .spawn(( Name::new("Description"), - text_bundle, + TextBundle::from_section( + desc, + TextStyle { + font: FONT_HANDLE, + color: theme.outline_panel_text_color, + ..default() + }, + ) + .with_text_alignment(TextAlignment::Center), FontSize::new(config.outline_panel_font_size), )) - .set_parent(entity); + .set_parent(container); } } } diff --git a/src/upgrade.rs b/src/upgrade.rs index f2996b5..829d7f2 100644 --- a/src/upgrade.rs +++ b/src/upgrade.rs @@ -334,7 +334,7 @@ fn load_upgrade_sequence(mut commands: Commands) { ), ( vec![TouchOfLifePlugin], - "\"I don't know what I'm making, but I should start spawning entities.\"".to_string(), + "\"I don't know what I'm making, but I should start by spawning some entities.\"".to_string(), ), // Reward