save
All checks were successful
Rust Checks / checks (push) Successful in 2m30s
Rust Checks / checks (pull_request) Successful in 2m28s

This commit is contained in:
CoCo_Sol 2024-03-30 23:54:21 +01:00
parent 0b5aa1d90e
commit 4faf8b781d
3 changed files with 18 additions and 13 deletions

1
Cargo.lock generated
View file

@ -1319,6 +1319,7 @@ dependencies = [
"bevy_egui", "bevy_egui",
"noise", "noise",
"paste", "paste",
"rand 0.8.5",
"serde", "serde",
] ]

View file

@ -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"

View file

@ -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() {
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() { for player in all_players_query.iter() {
start_game_event.send(SendTo( start_game_event.send(SendTo(
player.uuid, player.uuid,
StartGame(StartMapGeneration { StartGame(StartMapGeneration { seed, radius }),
seed: 0,
radius: get_map_sizes(all_players_query.iter().count() as u64)
[*map_size as usize] as u16
* 2,
}),
)); ));
} }
}
}); });
} }
/// 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;