summaryrefslogtreecommitdiff
path: root/src/sim/rb_manager/rb_entity.rs
diff options
context:
space:
mode:
authorKai Stevenson <kai@kaistevenson.com>2026-08-22 16:49:56 -0700
committerKai Stevenson <kai@kaistevenson.com>2026-08-22 16:49:56 -0700
commitbdad89910dcf3a56790dba60ed1f0db679432323 (patch)
tree19e65e2d0e9fa4a6227abc71ef28a6dd622161f0 /src/sim/rb_manager/rb_entity.rs
parent1a515237afb7ad09353a65f5fbc6e98a7c29ce8e (diff)
refactor entities
Diffstat (limited to 'src/sim/rb_manager/rb_entity.rs')
-rw-r--r--src/sim/rb_manager/rb_entity.rs39
1 files changed, 0 insertions, 39 deletions
diff --git a/src/sim/rb_manager/rb_entity.rs b/src/sim/rb_manager/rb_entity.rs
deleted file mode 100644
index 18a6693..0000000
--- a/src/sim/rb_manager/rb_entity.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-use rapier2d::prelude;
-
-use crate::sim::{
- cell::{cell::Cell, materials::MaterialId},
- lib::marching_squares::Marchable,
-};
-
-pub struct RbEntity {
- pub id: u32,
- pub width: i32,
- pub height: i32,
- pub cells: Vec<Cell>,
- pub rb: prelude::RigidBodyHandle,
- pub collider: Option<prelude::ColliderHandle>,
-}
-
-impl RbEntity {
- #[inline]
- pub fn get_cell_at_local_position(&self, x: u8, y: u8) -> Cell {
- self.cells[x as usize + y as usize * self.width as usize]
- }
- #[inline]
- pub fn set_cell_at_local_position(&mut self, x: u8, y: u8, cell: Cell) {
- self.cells[x as usize + y as usize * self.width as usize] = cell;
- }
-}
-
-impl Marchable for RbEntity {
- fn occupied(&self, x: i32, y: i32) -> bool {
- if x < 0 || x >= self.width || y < 0 || y >= self.height {
- false
- } else {
- self.get_cell_at_local_position(x as u8, y as u8).material != MaterialId::Void
- }
- }
- fn size(&self) -> (i32, i32) {
- (self.width, self.height)
- }
-}