1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
extern crate oxygengine_core as core; extern crate png; pub mod component; pub mod composite_renderer; pub mod math; pub mod png_image_asset_protocol; pub mod resource; pub mod system; use crate::{ component::{CompositeRenderDepth, CompositeRenderable, CompositeTransform}, composite_renderer::CompositeRenderer, system::{CompositeRendererSystem, CompositeTransformSystem}, }; use core::{app::AppBuilder, assets::database::AssetsDatabase}; pub fn bundle_installer<'a, 'b, CR: 'static>(builder: &mut AppBuilder<'a, 'b>, data: CR) where CR: CompositeRenderer + Send + Sync, { builder.install_resource(data); builder.install_component::<CompositeRenderable>(); builder.install_component::<CompositeTransform>(); builder.install_component::<CompositeRenderDepth>(); builder.install_system(CompositeTransformSystem, "transform", &[]); builder.install_thread_local_system(CompositeRendererSystem::<CR>::default()); } pub fn protocols_installer(database: &mut AssetsDatabase) { database.register(png_image_asset_protocol::PngImageAssetProtocol); }