From 5db15f5bc0ab1a1dbf0aaa7d97ae551b437bb2b8 Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Sat, 3 Feb 2024 21:15:30 -0600 Subject: [PATCH] Drawing text --- .../font/iosevka-lyteterm-regular.subset.ttf | Bin 0 -> 65848 bytes .../font/iosevkalyteweb-regular.subset.woff2 | Bin 22576 -> 0 bytes readme.md | 8 ++- src/assets.rs | 10 +++ src/camera.rs | 4 +- src/main.rs | 2 + src/main_menu.rs | 61 ++++++++++++++++++ 7 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 assets/font/iosevka-lyteterm-regular.subset.ttf delete mode 100644 assets/font/iosevkalyteweb-regular.subset.woff2 create mode 100644 src/main_menu.rs diff --git a/assets/font/iosevka-lyteterm-regular.subset.ttf b/assets/font/iosevka-lyteterm-regular.subset.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1ce79972f388d5c26574011195435027097c4abc GIT binary patch literal 65848 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 Xd_7qTdK^6=@u4x!)NjHdgM}IZM4CPL diff --git a/readme.md b/readme.md index 621f895..6c0bc2b 100644 --- a/readme.md +++ b/readme.md @@ -24,6 +24,11 @@ the heavy-lifting for me _plus_ it's a fun excuse to write more Rust. - https://github.com/bevyengine/bevy/blob/main/examples/audio/spatial_audio_2d.rs - [X] Y-sort - Layers? + - [ ] UI stuff + - [ ] Multiplayer + - Ambient game engine? + - I _would_ like in-browser (and mobile) playability and multiplayer + - Lightyear? - [ ] Tile system - [ ] Basic map - In-game editing? @@ -36,8 +41,5 @@ the heavy-lifting for me _plus_ it's a fun excuse to write more Rust. - Navmesh may be super overkill and astar may be sufficient? - [ ] Smart pathfinding - `pathfinding` crate? -- [ ] Multiplayer - - [ ] Ambient game engine? - - I _would_ like in-browser (and mobile) playability and multiplayer - [ ] ??? - [ ] Profit diff --git a/src/assets.rs b/src/assets.rs index 76251ea..e01571e 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -4,6 +4,7 @@ use bevy::prelude::*; pub struct AssetLoader { pub images: Sprites, pub sounds: Sounds, + pub fonts: Fonts, } #[derive(Resource, Debug, Default)] @@ -17,6 +18,11 @@ pub struct Sounds { pub meow: Handle, } +#[derive(Resource, Debug, Default)] +pub struct Fonts { + pub iosevkalytemin: Handle, +} + pub struct AssetPlugin; impl Plugin for AssetPlugin { @@ -63,5 +69,9 @@ fn load_assets( sounds: Sounds { meow: asset_server.load("sfx/meow.wav"), }, + + fonts: Fonts { + iosevkalytemin: asset_server.load("font/iosevka-lyteterm-regular.subset.ttf"), + }, }; } diff --git a/src/camera.rs b/src/camera.rs index aa7d8cc..ae8ab4d 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -23,7 +23,9 @@ fn focus( player: Query<&Transform, With>, mut camera: Query<&mut Transform, (With, Without)>, ) { - camera.single_mut().translation = player.single().translation + let newpos = player.single().translation; + // println!("Cam pos: {newpos}"); + camera.single_mut().translation = newpos } fn y_sort(mut q: Query<&mut Transform>) { diff --git a/src/main.rs b/src/main.rs index b1c2d5b..b701393 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,7 @@ use bevy::prelude::*; mod assets; mod camera; +mod main_menu; mod movement; mod player; mod statue; @@ -32,6 +33,7 @@ fn main() { camera::Camera, assets::AssetPlugin, player::Player, + main_menu::MainMenu, movement::Movement, )) .insert_resource(ClearColor(Color::rgb(0.3, 0., 0.5))) diff --git a/src/main_menu.rs b/src/main_menu.rs new file mode 100644 index 0000000..f45810b --- /dev/null +++ b/src/main_menu.rs @@ -0,0 +1,61 @@ +use bevy::prelude::*; + +use crate::assets::AssetLoader; + +#[derive(Component, Debug)] +pub struct MainMenu; + +impl Plugin for MainMenu { + fn build(&self, app: &mut App) { + app.add_systems(PostStartup, setup_main_menu); + } +} + +fn setup_main_menu(mut commands: Commands, assets: Res) { + commands + .spawn(NodeBundle { + style: Style { + width: Val::Percent(100.0), + height: Val::Percent(100.0), + justify_content: JustifyContent::SpaceBetween, + ..default() + }, + ..default() + }) + .with_children(|parent| { + // text + parent.spawn(( + TextBundle::from_section( + "Text Example", + TextStyle { + font: assets.fonts.iosevkalytemin.clone(), + font_size: 30.0, + ..default() + }, + ) + .with_style(Style { + margin: UiRect::all(Val::Px(12.)), + ..default() + }), + // Because this is a distinct label widget and + // not button/list item text, this is necessary + // for accessibility to treat the text accordingly. + Label, + )); + + parent.spawn(NodeBundle { + style: Style { + width: Val::Px(200.0), + height: Val::Px(200.0), + position_type: PositionType::Absolute, + left: Val::Px(210.), + bottom: Val::Px(10.), + border: UiRect::all(Val::Px(20.)), + ..default() + }, + border_color: Color::GREEN.into(), + background_color: Color::rgb(0.4, 0.4, 1.).into(), + ..default() + }); + }); +}