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

This commit is contained in:
CoCo_Sol 2024-03-16 23:21:35 +01:00
parent 63648eef6e
commit c50d602268

View file

@ -4,7 +4,7 @@ use bevnet::{Connection, Receive, SendTo};
use bevy::prelude::*; use bevy::prelude::*;
use bevy_egui::{egui, EguiContexts}; use bevy_egui::{egui, EguiContexts};
use crate::connection::{AddPlayer, 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,6 +24,8 @@ fn lobby_ui(
mut ctx: EguiContexts, mut ctx: EguiContexts,
mut next_scene: ResMut<NextState<CurrentScene>>, mut next_scene: ResMut<NextState<CurrentScene>>,
connection: Res<Connection>, connection: Res<Connection>,
mut all_players: ResMut<AllPlayers>,
mut event: EventWriter<SendTo<RemovePlayer>>,
) { ) {
egui::CentralPanel::default().show(ctx.ctx_mut(), |ui| { egui::CentralPanel::default().show(ctx.ctx_mut(), |ui| {
ui.heading("Border Wars"); ui.heading("Border Wars");
@ -44,6 +46,21 @@ fn lobby_ui(
// TODO: run the game // TODO: run the game
} }
}); });
egui::Window::new("Admin").show(ctx.ctx_mut(), |ui| {
for player in all_players.0.iter() {
ui.label(format!("{}", player.1));
ui.separator();
if player.0 == &connection.identifier().unwrap() {
continue;
}
let button = ui.button(format!("Kick {}", player.1));
if button.clicked() {
for target_player in all_players.0.iter() {
event.send(SendTo(*target_player.0, RemovePlayer { uuid: *player.0 }));
}
}
}
});
} }
fn handle_request( fn handle_request(