Skip to main content

fantasy_craft/camera/camera2d/
plugins.rs

1use crate::{core::plugins::Plugin, prelude::{CameraComponentLoader, CameraTargetLoader, GameState, MainCameraLoader, Stage, System, update_camera}};
2
3pub struct Camera2dPlugin;
4
5impl Plugin for Camera2dPlugin {
6    fn build(&self, app: &mut crate::prelude::App) {
7        app.scene_loader
8            .register("CameraComponent", Box::new(CameraComponentLoader))
9            .register("MainCamera", Box::new(MainCameraLoader))
10            .register("CameraTarget", Box::new(CameraTargetLoader));
11
12        app
13            .add_system(Stage::PostUpdate, System::new(
14                update_camera,
15                vec![GameState::Playing]
16            ));
17    }
18}