Expand description
Spatial position components shared across the Suon world.
This crate centralizes the lightweight ECS components used to represent where an entity is now and where it was previously, both in two-dimensional world coordinates and across floors.
§Modules
direction: shared cardinal and diagonal facing/movement directionsposition: current world-space tile coordinatesfloor: current vertical layerprevious_position: previous world-space tile coordinatesprevious_floor: previous vertical layer
§Examples
use suon_position::{
direction::Direction,
floor::Floor,
position::Position,
previous_floor::PreviousFloor,
previous_position::PreviousPosition,
};
let position = Position { x: 12, y: 34 };
let next_position = position + Direction::East;
let floor = Floor { z: 7 };
let previous_position = PreviousPosition { x: 11, y: 34 };
let previous_floor = PreviousFloor { z: 6 };
assert_eq!(position.x, 12);
assert_eq!(next_position.x, 13);
assert_eq!(*floor, 7);
assert_eq!(previous_position.y, 34);
assert_eq!(*previous_floor, 6);Modules§
- direction
- Shared world directions and position arithmetic helpers.
- floor
- Current floor components.
- position
- Current world-space position components.
- previous_
floor - Previous floor components.
- previous_
position - Previous world-space position components.