Adding a map creation plugin #57

Merged
CoCo_Sol merged 39 commits from map-generation into main 2024-02-21 20:10:03 +00:00
Showing only changes of commit e3c2bc1ac9 - Show all commits

View file

@ -28,9 +28,14 @@ pub struct MapGenerationEvent {
pub radius: usize,
}
/// An event send when the map is generated.
CoCo_Sol marked this conversation as resolved Outdated

Put an UPPERCASE "s"

Put an UPPERCASE "s"
#[derive(Event)]
pub struct EndMapGenerationEvent;
/// Spawns the tiles if the event is received.
fn generate_map(
CoCo_Sol marked this conversation as resolved Outdated

You should follow the bevy convention. Events in bevy doen't finish with "Event".

You should follow the bevy convention. Events in bevy doen't finish with "Event".
mut event: EventReader<MapGenerationEvent>,
mut end_map_event: EventWriter<EndMapGenerationEvent>,
mut commands: Commands,
mut noise: Local<Option<Perlin>>,
mut map_iterator: Local<Option<HexSpiral<isize>>>,
@ -47,6 +52,7 @@ fn generate_map(
CoCo_Sol marked this conversation as resolved Outdated

You can use the let else syntax to remove one level of nesting.

You can use the let else syntax to remove one level of nesting.

if I use the "else let" keyword, the nesting level is the same

if I use the "else let" keyword, the nesting level is the same

No because you do an early return

No because you do an early return

I have to write an unwrap so ?

I have to write an unwrap so ?

No, an let else

No, an let else
commands.spawn((get_type_tile(pixel_position, perlin), position));
} else {
end_map_event.send(EndMapGenerationEvent);
*noise = None;
*map_iterator = None;
}