mod castles;
mod statics;
mod wash;
mod water;
pub(crate) use castles::castle_parts;
pub use castles::{
CastleFlight, CastleSprite, castle_body, cheer_tier_ups, fly_castles, kick_castles,
sync_castles, wave_pennants,
};
pub use statics::{
BoardStatic, SignpostSprite, TurnstileSprite, animate_turnstiles, dress_signposts,
drift_cloud_shadows, pulse_spawners, ripple_pools, spawn_static_board, sync_signposts,
sync_turnstiles,
};
pub use wash::{advance_tide_wash, start_tide_wash};
pub use water::{
WaterFoam, Waterline, spawn_water_foam, spawn_waterline, update_water_foam, update_waterline,
};
use bevy::prelude::*;
fn image_sprite(image: &Handle<Image>, tint: Color, size: Vec2) -> Sprite {
Sprite {
image: image.clone(),
color: tint,
custom_size: Some(size),
..default()
}
}
fn on_board(board: &crate::sim::Board, x: u8, y: u8) -> bool {
x < board.width() && y < board.height()
}
const WALL_COLOR: Color = Color::srgb(0.35, 0.28, 0.22);
const WATER: Color = Color::srgba(0.30, 0.58, 0.82, 0.65);
const WATER_MAX: f32 = 42.0;
const WATER_MIN: f32 = 6.0;
const SWELL: f32 = 3.0;
pub(crate) const RIM: f32 = WATER_MIN + WATER_MAX + SWELL;
pub(super) use crate::app::layout::z;