Struct dotrix::Dotrix[][src]

pub struct Dotrix { /* fields omitted */ }

Application Builder

This structure is supposed to be constructed only once and usually inside of a main function

Example

use dotrix_core::{
    Dotrix,
    ecs::{ Mut, System, RunLevel },
    services::{ Assets, Camera, World },
    systems::{ world_renderer },
};

use dotrix_math::Point3;

fn main() {
    Dotrix::application("My Game")
        .with_system(System::from(startup).with(RunLevel::Startup))
        .with_system(System::from(world_renderer).with(RunLevel::Render))
        .with_service(Assets::new())
        .with_service(Camera {
            y_angle: 0.0,
            xz_angle: 0.0,
            target: Point3::new(0.0, 10.0, 0.0),
            distance: 5.0,
            ..Default::default()
        })
        .with_service(World::new())
        .run();
}

fn startup(mut assets: Mut<Assets>) {
    // initialize app and load assets
}

You can also check full functional Dotrix Demo example to learn more about the builder.

Implementations

impl Dotrix[src]

pub fn application(name: &'static str) -> Dotrix[src]

Initiates building of an application with specified name

pub fn with_display(&mut self, display: Display) -> &mut Dotrix[src]

Configures rendering output

pub fn with_system(&mut self, system: System) -> &mut Dotrix[src]

Adds a system to the application

pub fn with_service<T>(&mut self, service: T) -> &mut Dotrix where
    T: Service
[src]

Adds a service to the application

pub fn run(&mut self)[src]

Runs the application

Auto Trait Implementations

impl !RefUnwindSafe for Dotrix

impl !Send for Dotrix

impl !Sync for Dotrix

impl Unpin for Dotrix

impl !UnwindSafe for Dotrix

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast<T> for T

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Upcast<T> for T

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,