From 763ad229ea68c3ccdefbaa303d7ba1eb6d6994b0 Mon Sep 17 00:00:00 2001 From: ghostly_zsh Date: Sun, 23 Mar 2025 15:56:14 -0500 Subject: [PATCH] fuel bar --- crates/client/src/networking/mod.rs | 6 ++++++ crates/client/src/rendering/mod.rs | 19 ++++++++++++++----- crates/client/src/shaders/vertex.glsl | 5 +++-- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/crates/client/src/networking/mod.rs b/crates/client/src/networking/mod.rs index 38dc94d4e58f85bca6750c3601f1d6d7634444ad..fe15e304a8cf1941284b32d973187cb1c5abb2da 100644 --- a/crates/client/src/networking/mod.rs +++ b/crates/client/src/networking/mod.rs @@ -18,6 +18,8 @@ pub fn process_packets( send_packet_events: &mut Events, recv_packet_events: &mut Events, planet_types: &mut HashMap, + amount: &mut u32, + max: &mut u32, ) { use Packet::*; let mut recv_cursor = recv_packet_events.get_cursor(); @@ -139,6 +141,10 @@ pub fn process_packets( } } } + EnergyUpdate { amount: m_amount, max: m_max } => { + *amount = *m_amount; + *max = *m_max; + } _ => {} } } diff --git a/crates/client/src/rendering/mod.rs b/crates/client/src/rendering/mod.rs index a884a23815bd1ae10ed9be74270fd271ab08a84f..fb94b1227e443b88da9becb80d921e73a61a6775 100644 --- a/crates/client/src/rendering/mod.rs +++ b/crates/client/src/rendering/mod.rs @@ -6,6 +6,7 @@ use assets::Assets; use bevy_ecs::entity::Entity; use bevy_ecs::event::Events; use bevy_ecs::world::World; +use egui::{Label, ProgressBar}; use egui_glow::EguiGlow; use glow::{HasContext, PixelUnpackData}; #[cfg(not(target_arch = "wasm32"))] @@ -62,6 +63,9 @@ pub struct App { down: bool, left: bool, right: bool, + + amount: u32, + max: u32, } const VERTICES: [f32; 16] = [ @@ -312,10 +316,10 @@ impl ApplicationHandler for App { } if matched { self.send_packet_events.send(SendPacket(Packet::PlayerInput { - up: self.down, - down: self.up, - left: self.right, - right: self.left, + up: self.up, + down: self.down, + left: self.left, + right: self.right, })); } } @@ -340,7 +344,9 @@ impl ApplicationHandler for App { self.send_packet_events.update(); self.recv_packet_events.update(); - process_packets(&mut self.world, &mut self.send_packet_events, &mut self.recv_packet_events, &mut self.planet_types); + process_packets(&mut self.world, &mut self.send_packet_events, + &mut self.recv_packet_events, &mut self.planet_types, + &mut self.amount, &mut self.max); let window = self.window.as_ref().unwrap(); let gl = self.gl.as_ref().unwrap(); @@ -350,6 +356,9 @@ impl ApplicationHandler for App { |ctx| { egui::Window::new("Main Menu").resizable(false).show(ctx, |ui| { ui.heading("Starkingdoms.tk"); + + ui.add(Label::new("Fuel:")); + ui.add(ProgressBar::new((self.amount as f32)/(self.max as f32))); }); }, ); diff --git a/crates/client/src/shaders/vertex.glsl b/crates/client/src/shaders/vertex.glsl index 0ad0d5de78fc873078777832ab900cf5b4fa30de..ec48884ea20940532c38f26f23a87ff04936f7d3 100644 --- a/crates/client/src/shaders/vertex.glsl +++ b/crates/client/src/shaders/vertex.glsl @@ -9,6 +9,7 @@ uniform mat4 model; uniform mat4 view; void main() { - v_texcoord = texcoord; - gl_Position = view * model * vec4(pos, 0.0, 1.0); + v_texcoord = vec2(texcoord.x, -texcoord.y); + vec4 v_pos = view * model * vec4(pos, 0.0, 1.0); + gl_Position = vec4(v_pos.x, -v_pos.y, v_pos.zw); }