generated from tipragot/rust
Start game from the lobby by the admin #86
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -1319,6 +1319,7 @@ dependencies = [
|
||||||
"bevy_egui",
|
"bevy_egui",
|
||||||
"noise",
|
"noise",
|
||||||
"paste",
|
"paste",
|
||||||
|
"rand 0.8.5",
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -17,3 +17,4 @@ noise = "0.8.2"
|
||||||
paste = "1.0.14"
|
paste = "1.0.14"
|
||||||
bevnet = { path = "../bevnet" }
|
bevnet = { path = "../bevnet" }
|
||||||
serde = "1.0.197"
|
serde = "1.0.197"
|
||||||
|
rand = "0.8.5"
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
use bevnet::{Connection, SendTo};
|
use bevnet::{Connection, SendTo};
|
||||||
use bevy::prelude::*;
|
use bevy::prelude::*;
|
||||||
use bevy_egui::{egui, EguiContexts};
|
use bevy_egui::{egui, EguiContexts};
|
||||||
|
use rand::Rng;
|
||||||
|
|
||||||
use crate::map::generation::StartMapGeneration;
|
use crate::map::generation::StartMapGeneration;
|
||||||
use crate::networking::connection::RemovePlayer;
|
use crate::networking::connection::RemovePlayer;
|
||||||
|
@ -70,24 +71,26 @@ fn lobby_ui(
|
||||||
|
|
||||||
ui.add(egui::Slider::new(&mut (*map_size), 0..=5).text("map size"));
|
ui.add(egui::Slider::new(&mut (*map_size), 0..=5).text("map size"));
|
||||||
|
|
||||||
if ui.button("Run the game").clicked() {
|
if !ui.button("Run the game").clicked() {
|
||||||
for player in all_players_query.iter() {
|
return;
|
||||||
start_game_event.send(SendTo(
|
}
|
||||||
player.uuid,
|
|
||||||
StartGame(StartMapGeneration {
|
let seed = rand::thread_rng().gen::<u32>();
|
||||||
seed: 0,
|
let radius =
|
||||||
radius: get_map_sizes(all_players_query.iter().count() as u64)
|
get_map_sizes(all_players_query.iter().count() as u32)[*map_size as usize] as u16;
|
||||||
[*map_size as usize] as u16
|
|
||||||
* 2,
|
// Start the game.
|
||||||
}),
|
for player in all_players_query.iter() {
|
||||||
));
|
start_game_event.send(SendTo(
|
||||||
}
|
player.uuid,
|
||||||
|
StartGame(StartMapGeneration { seed, radius }),
|
||||||
|
));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get the map sizes form a given number of players.
|
/// Get the map sizes form a given number of players.
|
||||||
fn get_map_sizes(number_of_players: u64) -> Vec<u64> {
|
fn get_map_sizes(number_of_players: u32) -> Vec<u32> {
|
||||||
let mut result = Vec::with_capacity(6);
|
let mut result = Vec::with_capacity(6);
|
||||||
|
|
||||||
let mut current = 0;
|
let mut current = 0;
|
||||||
|
|
Loading…
Reference in a new issue