generated from tipragot/rust
save
This commit is contained in:
parent
0b5aa1d90e
commit
4faf8b781d
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -1319,6 +1319,7 @@ dependencies = [
|
|||
"bevy_egui",
|
||||
"noise",
|
||||
"paste",
|
||||
"rand 0.8.5",
|
||||
"serde",
|
||||
]
|
||||
|
||||
|
|
|
@ -17,3 +17,4 @@ noise = "0.8.2"
|
|||
paste = "1.0.14"
|
||||
bevnet = { path = "../bevnet" }
|
||||
serde = "1.0.197"
|
||||
rand = "0.8.5"
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
use bevnet::{Connection, SendTo};
|
||||
use bevy::prelude::*;
|
||||
use bevy_egui::{egui, EguiContexts};
|
||||
use rand::Rng;
|
||||
|
||||
use crate::map::generation::StartMapGeneration;
|
||||
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"));
|
||||
|
||||
if ui.button("Run the game").clicked() {
|
||||
if !ui.button("Run the game").clicked() {
|
||||
return;
|
||||
}
|
||||
|
||||
let seed = rand::thread_rng().gen::<u32>();
|
||||
let radius =
|
||||
get_map_sizes(all_players_query.iter().count() as u32)[*map_size as usize] as u16;
|
||||
|
||||
// Start the game.
|
||||
for player in all_players_query.iter() {
|
||||
start_game_event.send(SendTo(
|
||||
player.uuid,
|
||||
StartGame(StartMapGeneration {
|
||||
seed: 0,
|
||||
radius: get_map_sizes(all_players_query.iter().count() as u64)
|
||||
[*map_size as usize] as u16
|
||||
* 2,
|
||||
}),
|
||||
StartGame(StartMapGeneration { seed, radius }),
|
||||
));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/// 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 current = 0;
|
||||
|
|
Loading…
Reference in a new issue