generated from tipragot/rust
This commit is contained in:
parent
63648eef6e
commit
c50d602268
|
@ -4,7 +4,7 @@ use bevnet::{Connection, Receive, SendTo};
|
|||
use bevy::prelude::*;
|
||||
use bevy_egui::{egui, EguiContexts};
|
||||
|
||||
use crate::connection::{AddPlayer, AllPlayers, RequestConnection};
|
||||
use crate::connection::{AddPlayer, AllPlayers, RemovePlayer, RequestConnection};
|
||||
use crate::CurrentScene;
|
||||
|
||||
/// The plugin for the lobby.
|
||||
|
@ -24,6 +24,8 @@ fn lobby_ui(
|
|||
mut ctx: EguiContexts,
|
||||
mut next_scene: ResMut<NextState<CurrentScene>>,
|
||||
connection: Res<Connection>,
|
||||
mut all_players: ResMut<AllPlayers>,
|
||||
mut event: EventWriter<SendTo<RemovePlayer>>,
|
||||
) {
|
||||
egui::CentralPanel::default().show(ctx.ctx_mut(), |ui| {
|
||||
ui.heading("Border Wars");
|
||||
|
@ -44,6 +46,21 @@ fn lobby_ui(
|
|||
// 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(
|
||||
|
|
Loading…
Reference in a new issue