fantasy-craft 0.0.2

A 2D / 2.5D game engine built on top of Macroquad and Hecs for the Foxvoid Ecosystem
Documentation
use crate::{core::plugins::Plugin, physics::systems::physics_system, prelude::{ColliderLoader, GameState, RigidBodyLoader, SpeedLoader, Stage, System, TransformLoader, VelocityLoader, movement_system}};

pub struct PhysicsPlugin;

impl Plugin for PhysicsPlugin {
    fn build(&self, app: &mut crate::prelude::App) {
        app.scene_loader
            .register("Transform", Box::new(TransformLoader))
            .register("RigidBody", Box::new(RigidBodyLoader))
            .register("Collider", Box::new(ColliderLoader))
            .register("Velocity", Box::new(VelocityLoader))
            .register("Speed", Box::new(SpeedLoader));

        app
            .add_system(Stage::Update, System::new(
                movement_system,
                vec![GameState::Playing]
            ))
            .add_system(Stage::PostUpdate, System::new(
                physics_system,
                vec![GameState::Playing]
            ));
    }
}