save
Some checks failed
Rust Checks / checks (push) Failing after 2m48s

This commit is contained in:
CoCo_Sol 2024-03-16 23:12:49 +01:00
parent 7acbc42adc
commit 63648eef6e
5 changed files with 19 additions and 10 deletions

View file

@ -39,5 +39,5 @@ pub struct AddPlayer {
/// The packet sent when a player is removed. /// The packet sent when a player is removed.
#[derive(Event, Deserialize, Serialize)] #[derive(Event, Deserialize, Serialize)]
pub struct RemovePlayer { pub struct RemovePlayer {
pub uuid: String, pub uuid: Uuid,
} }

View file

@ -1,7 +1,9 @@
//! The main entry point of the game. //! The main entry point of the game.
use bevnet::NetworkPlugin;
use bevy::prelude::*; use bevy::prelude::*;
use border_wars::camera::CameraPlugin; use border_wars::camera::CameraPlugin;
use border_wars::connection::ConnectionPlugin;
use border_wars::map::click_tile::TilesClickable; use border_wars::map::click_tile::TilesClickable;
use border_wars::map::renderer::RendererPlugin; use border_wars::map::renderer::RendererPlugin;
use border_wars::scenes::ScenesPlugin; use border_wars::scenes::ScenesPlugin;
@ -13,5 +15,7 @@ fn main() {
.add_plugins(RendererPlugin) .add_plugins(RendererPlugin)
.add_plugins(CameraPlugin) .add_plugins(CameraPlugin)
.add_plugins(TilesClickable) .add_plugins(TilesClickable)
.add_plugins(ConnectionPlugin)
.add_plugins(NetworkPlugin::new("relay.cocosol.fr".to_string()))
.run(); .run();
} }

View file

@ -66,7 +66,7 @@ fn name_settings(
mut local_name: Local<String>, mut local_name: Local<String>,
mut connection: Res<Connection>, mut connection: Res<Connection>,
) { ) {
egui::CentralPanel::default().show(ctx.ctx_mut(), |ui| { egui::Window::new("Name settings").show(ctx.ctx_mut(), |ui| {
ui.label("Enter your name:"); ui.label("Enter your name:");
ui.horizontal(|ui| { ui.horizontal(|ui| {
let text = ui.text_edit_singleline(&mut *local_name); let text = ui.text_edit_singleline(&mut *local_name);

View file

@ -7,6 +7,7 @@ use crate::{responsive_scale, CurrentScene};
pub mod lobby; pub mod lobby;
pub mod menu; pub mod menu;
pub mod waiting_menu;
/// The plugin for all scenes. /// The plugin for all scenes.
pub struct ScenesPlugin; pub struct ScenesPlugin;
@ -17,6 +18,7 @@ impl Plugin for ScenesPlugin {
.add_state::<CurrentScene>() .add_state::<CurrentScene>()
.add_plugins(menu::MenuPlugin) .add_plugins(menu::MenuPlugin)
.add_plugins(lobby::LobbyPlugin) .add_plugins(lobby::LobbyPlugin)
.add_plugins(waiting_menu::WaitingMenuPlugin)
.add_plugins(responsive_scale::ResponsiveScalingPlugin); .add_plugins(responsive_scale::ResponsiveScalingPlugin);
} }
} }

View file

@ -1,9 +1,10 @@
//! TODO //! TODO
use bevnet::{Connection, Receive};
use bevy::prelude::*; use bevy::prelude::*;
use bevy_egui::{egui, EguiContexts}; use bevy_egui::{egui, EguiContexts};
use crate::connection::{AllPlayers, RequestConnection}; use crate::connection::{AddPlayer, AllPlayers, RemovePlayer, RequestConnection};
use crate::CurrentScene; use crate::CurrentScene;
/// The plugin for the lobby. /// The plugin for the lobby.
@ -24,26 +25,28 @@ fn ui(all_players: Res<AllPlayers>, mut ctx: EguiContexts) {
ui.separator(); ui.separator();
for (uuid, name) in all_players.iter() { for (uuid, name) in all_players.0.iter() {
ui.label(format!("{}: {}", uuid, name)); ui.label(format!("{}: {}", uuid, name));
} }
}) });
} }
fn handle_new_players( fn handle_new_players(
mut all_players: ResMut<AllPlayers>, mut all_players: ResMut<AllPlayers>,
mut new_players: EventReader<AddPlayer>, mut new_players: EventReader<Receive<AddPlayer>>,
mut remove_players: EventReader<RemovePlayer>, mut remove_players: EventReader<Receive<RemovePlayer>>,
self_uuid: Res<Connection>, self_uuid: Res<Connection>,
) { ) {
for new_player in new_players.iter() { for new_player in new_players.iter() {
all_players.insert(new_player.uuid, new_player.name.clone()); all_players
.0
.insert(new_player.1.uuid, new_player.1.name.clone());
} }
for remove_player in remove_players.iter() { for remove_player in remove_players.iter() {
if remove_player.uuid == self_uuid.identifier().unwrap() { if remove_player.1.uuid == self_uuid.identifier().unwrap() {
todo!("end the game"); todo!("end the game");
} }
all_players.remove(&remove_player.uuid); all_players.0.remove(&remove_player.1.uuid);
} }
} }