#![warn(missing_docs)]
#![cfg_attr(doc, allow(unknown_lints))]
#![deny(rustdoc::all)]
pub mod audio;
pub mod camera;
pub mod color;
pub mod datatypes;
pub mod line;
pub mod sprite;
pub mod tilemap;
pub mod transform;
pub mod prelude {
pub use {bones_asset::prelude::*, bones_ecs::prelude::*, glam::*, type_ulid::TypeUlid};
pub use crate::{
audio::*, camera::*, color::*, datatypes::*, key, line::*, sprite::*, tilemap::*,
transform::*,
};
}
#[macro_export]
macro_rules! key {
($s:literal) => {{
const KEY: Key = match Key::new($s) {
Ok(key) => key,
Err(KeyError::TooLong) => panic!("Key too long"),
Err(KeyError::NotAscii) => panic!("Key not ascii"),
};
KEY
}};
}
#[cfg(feature = "bevy")]
mod bevy {
use bones_bevy_utils::IntoBevy;
impl IntoBevy<bevy_transform::components::Transform> for super::transform::Transform {
fn into_bevy(self) -> bevy_transform::components::Transform {
bevy_transform::components::Transform {
translation: self.translation,
rotation: self.rotation,
scale: self.scale,
}
}
}
impl IntoBevy<bevy_render::color::Color> for super::color::Color {
fn into_bevy(self) -> bevy_render::color::Color {
bevy_render::color::Color::from(self.as_rgba_f32())
}
}
}