pub mod engine;
pub mod renderer;
pub mod window;
pub mod input;
pub mod math;
pub mod entity;
pub mod time;
pub mod app;
pub mod resources;
pub mod systems;
pub mod entity_builder;
pub mod ui;
pub mod audio;
pub mod assets;
pub mod scene;
pub mod animation;
pub mod Output;
pub mod text;
pub mod physics;
pub mod tilemap;
pub mod profiler;
pub mod saveload;
pub mod particles;
pub mod prelude {
pub use crate::{
app::{App, AppBuilder, TimeResource, InputResource},
engine::{Engine, Game, run_game},
window::{Window, WindowConfig},
renderer::Renderer,
entity::{EntityId, EntityManager, Transform, Sprite, Velocity},
entity_builder::{EntityBuilder, EntityManagerExt},
math::{Position, Size, Color, Rect, Vec2},
resources::Resources,
systems::{System, SystemSet, PhysicsSystem, ClearScreenSystem},
ui::{UiContext, Widget, ButtonStyle, Layout},
time::Time,
input::Input,
Output::{Output, output_print, output_enabled},
text::{TextComponent, TextRenderer, FontConfig},
physics::{RigidBody, Collider, PhysicsWorld, CollisionEvent, CollisionShape},
tilemap::{Tilemap, TileLayer, TileDefinition, TileId},
profiler::{PerformanceProfiler, PerformanceMetrics, ProfileSection},
saveload::{SaveManager, GameSave, PlayerData, Saveable},
particles::{Particle, ParticleEmitter},
EngineResult,
system_set,
};
}
pub use engine::Engine;
pub use window::Window;
pub use renderer::Renderer;
pub use math::*;
pub use app::{App, AppBuilder};
pub type EngineResult<T> = Result<T, Box<dyn std::error::Error>>;