1use bevy::prelude::*;
5
6use crate::{core::CorePlugin, placement::PlacementPlugin, render::RenderPlugin};
7
8pub mod core;
9mod placement;
10mod render;
11
12#[doc(hidden)]
13pub mod prelude {
14 pub use super::core::entries::InteriorArea;
15 pub use super::core::grid::{Grid, GridEntityEvent, GridTilePos};
16 pub use super::core::grid_entity::{GridEntity, GridRotation};
17 pub use super::placement::{
18 AnchorLink, BuildingConnections, BuildingCutaway, InteriorModule, LinkKind,
19 PlacementInputCapture, PlacementQueue, anchor_links, connected_anchors
20 };
21}
22
23pub struct TerrainGridPlugin;
24impl Plugin for TerrainGridPlugin {
25 fn build(&self, app: &mut App) {
26 app.add_plugins(RenderPlugin)
27 .add_plugins((PlacementPlugin, CorePlugin));
28 }
29}