From 7cdbe2e2f633c02fa373ba149e84723bc9cab959 Mon Sep 17 00:00:00 2001 From: Top1055 <123alexfeetham@gmail.com> Date: Fri, 2 Jan 2026 21:33:08 +0000 Subject: [PATCH] added cooking timer indicator, and burger indicator for inventory --- src/main.rs | 152 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 124 insertions(+), 28 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6aa196a..3d0b23f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,4 @@ -use bevy::prelude::*; +use bevy::{light::NotShadowCaster, prelude::*}; fn main() { App::new() @@ -6,7 +6,14 @@ fn main() { .add_systems(Startup, setup) .add_systems( Update, - (handle_click, move_to_target, fryer_cook, customer_serve), + ( + handle_click, + move_to_target, + fryer_cook, + customer_serve, + update_progress_bar, + update_burger_indicators, + ), ) .run(); } @@ -41,6 +48,14 @@ struct Player { holding: Item, progress: f32, } +#[derive(Component)] +struct ProgressBar { + width: f32, + player_height: f32, +} + +#[derive(Component)] +struct PlayerBurgerIndicator; #[derive(Component)] struct MoveTarget { @@ -119,6 +134,25 @@ fn setup( MoveTarget { position: Vec3::new(0.0, 0.0, 0.0), }, + // Burger indicator + children![( + SceneRoot(asset_server.load("models/burger.glb#Scene0")), + Transform::from_xyz(0.0, 7.1, 0.0).with_scale(Vec3::splat(0.9)), + Visibility::Hidden, + PlayerBurgerIndicator, + )], + )); + + // ProgressBar + commands.spawn(( + Mesh3d(meshes.add(Cuboid::new(4.0, 0.5, 0.1))), + MeshMaterial3d(materials.add(Color::srgb(0.0, 1.0, 0.0))), + Transform::from_xyz(0.0, 0.0, 0.0), + ProgressBar { + width: 1.0, + player_height: 4.0, + }, + NotShadowCaster, )); // Customer @@ -211,45 +245,107 @@ fn fryer_cook( fryer: Query<(&Fryer, &Transform)>, time: Res