Files
dorf/src/world/tiles/tile_changed.rs
T
popertots 5357a69930 feat: stage 2 collision, TileChangedEvent, path invalidation, rabbit digging
- Stage 2 collision: convoy skip when entities move same direction (dot>0.7),
  E/S yield rule for crossings, W/N right-of-way, head-on unchanged
- TileChangedEvent (Message) + PathfindingDirtyChunks (Resource) in new tile_changed module
- collect_pathfinding_dirty_chunks / invalidate_paths_on_tile_change /
  clear_pathfinding_dirty_chunks in PathfindingPlugin FixedUpdate chain
- TileMap::remove_floor clears HashMap + ChunkData bitsets + tile_ids
- RabbitDigTimer component: rabbits dig floor below every 5s, fires TileChangedEvent
  and TileOcclusionEvent for path invalidation + rendering
2026-03-21 11:56:51 +00:00

18 lines
437 B
Rust

//! Tile change events and pathfinding dirty chunk tracking.
//!
//! This module provides types for tracking tile modifications and
//! invalidating pathfinding data when terrain changes.
use bevy::prelude::*;
use bevy_platform::collections::HashSet;
#[derive(Message, Clone, Copy)]
pub struct TileChangedEvent {
pub pos: IVec3,
}
#[derive(Resource, Default)]
pub struct PathfindingDirtyChunks {
pub chunks: HashSet<IVec2>,
}