migratetion to 0.18.0

This commit is contained in:
2026-02-16 00:02:00 +00:00
parent a9040a4c9e
commit 4ef68c4e04
17 changed files with 1260 additions and 732 deletions
+11 -11
View File
@@ -25,29 +25,29 @@ impl Default for ChunkMap {
}
}
#[derive(Event)]
#[derive(Message)]
pub struct GenerateChunkEvent {
pub chunk_position: IVec2,
}
#[derive(Event)]
#[derive(Message)]
pub struct ChunkTerrainEvent {
pub chunk_position: IVec2,
}
#[derive(Event)]
#[derive(Message)]
// CAlculate the weather effecrs and rivers/lakes of this chunk
pub struct ChunkWeatheringAndPrecipitationEvent {
pub chunk_position: IVec2,
}
#[derive(Event)]
#[derive(Message)]
pub struct ChunkForrestryEvent {
pub chunk_position: IVec2,
pub floor_tiles: Vec<(Vec3, String)>,
}
#[derive(Event)]
#[derive(Message)]
pub struct ChunkFoliageEvent {
pub chunk_position: IVec2,
}
#[derive(Event)]
#[derive(Message)]
pub struct ChunkFaunaEvent {
pub chunk_position: IVec2,
}
@@ -58,12 +58,12 @@ pub fn setup_chunk_system(mut commands: Commands) {
}
pub fn handle_chunk_events(
mut chunk_events: EventReader<GenerateChunkEvent>,
mut chunk_events: MessageReader<GenerateChunkEvent>,
mut chunk_map: ResMut<ChunkMap>,
mut terrain_event_writer: EventWriter<ChunkTerrainEvent>,
mut weathering_event_writer: EventWriter<ChunkWeatheringAndPrecipitationEvent>,
mut foliage_event_writer: EventWriter<ChunkFoliageEvent>,
mut fauna_event_writer: EventWriter<ChunkFaunaEvent>,
mut terrain_event_writer: MessageWriter<ChunkTerrainEvent>,
mut weathering_event_writer: MessageWriter<ChunkWeatheringAndPrecipitationEvent>,
mut foliage_event_writer: MessageWriter<ChunkFoliageEvent>,
mut fauna_event_writer: MessageWriter<ChunkFaunaEvent>,
mut cwss: ResMut<CurrentWorldSpriteState>,
) {
let mut any = false;
+1 -1
View File
@@ -4,7 +4,7 @@ use crate::world::{tiles::TileMap, ChunkMap, GenerateChunkEvent};
pub fn generate_chunk_fauna(
mut commands: Commands,
mut events: EventReader<GenerateChunkEvent>,
mut events: MessageReader<GenerateChunkEvent>,
mut chunk_map: ResMut<ChunkMap>,
mut tilemap: ResMut<TileMap>,
) {
+1 -1
View File
@@ -4,7 +4,7 @@ use crate::world::{tiles::TileMap, ChunkMap, GenerateChunkEvent};
pub fn generate_chunk_foliage(
mut commands: Commands,
mut events: EventReader<GenerateChunkEvent>,
mut events: MessageReader<GenerateChunkEvent>,
mut chunk_map: ResMut<ChunkMap>,
mut tilemap: ResMut<TileMap>,
) {
+2 -2
View File
@@ -4,7 +4,7 @@ use bevy_platform::sync::Mutex;
use bevy_platform::time::Instant;
use bevy_rand::prelude::*;
use rand::{Rng, SeedableRng};
use rand::{RngExt, SeedableRng};
use std::collections::hash_map::DefaultHasher;
use std::hash::{Hash, Hasher};
@@ -18,7 +18,7 @@ use crate::{
pub fn generate_chunk_forrestry(
commands: ParallelCommands<'_, '_>,
mut events: EventReader<ChunkForrestryEvent>,
mut events: MessageReader<ChunkForrestryEvent>,
mut tilemap: ResMut<TileMap>,
texture_ids: Res<TextureIDs>,
textures: Res<Textures>,
+3 -3
View File
@@ -28,10 +28,10 @@ pub fn generate_surface_terrain(x: i32, y: i32) -> f32 {
pub fn generate_chunk_terrain(
commands: ParallelCommands<'_, '_>, // Use ParallelCommands for parallel spawning
mut events: EventReader<ChunkTerrainEvent>,
mut events: MessageReader<ChunkTerrainEvent>,
mut tilemap: ResMut<TileMap>,
mut forrestry_event_writer: EventWriter<ChunkForrestryEvent>,
mut occlusion_event_writer: EventWriter<TileOcclusionEvent>,
mut forrestry_event_writer: MessageWriter<ChunkForrestryEvent>,
mut occlusion_event_writer: MessageWriter<TileOcclusionEvent>,
) {
let is_empty = events.is_empty();
let start = Instant::now();
+8 -8
View File
@@ -23,13 +23,13 @@ pub struct WorldPlugin;
impl Plugin for WorldPlugin {
fn build(&self, app: &mut App) {
app.init_resource::<ChunkMap>()
.add_event::<GenerateChunkEvent>()
.add_event::<ChunkTerrainEvent>()
.add_event::<ChunkWeatheringAndPrecipitationEvent>()
.add_event::<ChunkForrestryEvent>()
.add_event::<ChunkFoliageEvent>()
.add_event::<ChunkFaunaEvent>()
.add_event::<TileOcclusionEvent>()
.add_message::<GenerateChunkEvent>()
.add_message::<ChunkTerrainEvent>()
.add_message::<ChunkWeatheringAndPrecipitationEvent>()
.add_message::<ChunkForrestryEvent>()
.add_message::<ChunkFoliageEvent>()
.add_message::<ChunkFaunaEvent>()
.add_message::<TileOcclusionEvent>()
.add_systems(Startup, (setup_chunk_system, setup_initial_chunks).chain())
.add_systems(
FixedUpdate,
@@ -68,7 +68,7 @@ impl Plugin for WorldPlugin {
}
}
fn setup_initial_chunks(mut event_writer: EventWriter<GenerateChunkEvent>) {
fn setup_initial_chunks(mut event_writer: MessageWriter<GenerateChunkEvent>) {
for x in -5..=5 {
for y in -5..=5 {
event_writer.write(GenerateChunkEvent {
+2 -2
View File
@@ -67,7 +67,7 @@ pub fn compute_visibility_of_game_entities(
});
}
#[derive(Event)]
#[derive(Message)]
pub struct TileOcclusionEvent {
pub tile_position: IVec3,
}
@@ -76,7 +76,7 @@ pub fn handle_tile_occlusion_updates(
mut tilemap: ResMut<TileMap>,
mut floor_tiles: Query<(Entity, &mut FloorTile, &Transform)>,
mut cwss: ResMut<CurrentWorldSpriteState>,
mut events: EventReader<TileOcclusionEvent>,
mut events: MessageReader<TileOcclusionEvent>,
) {
let start = Instant::now();