M crates/client/src/networking/mod.rs => crates/client/src/networking/mod.rs +6 -0
@@ 18,6 18,8 @@ pub fn process_packets(
send_packet_events: &mut Events<SendPacket>,
recv_packet_events: &mut Events<RecvPacket>,
planet_types: &mut HashMap<PlanetType, (Entity, u32)>,
+ 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;
+ }
_ => {}
}
}
M crates/client/src/rendering/mod.rs => crates/client/src/rendering/mod.rs +14 -5
@@ 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)));
});
},
);
M crates/client/src/shaders/vertex.glsl => crates/client/src/shaders/vertex.glsl +3 -2
@@ 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);
}