diff --git a/src/ffi.rs b/src/ffi.rs index 667467a..263fa58 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -1,8 +1,6 @@ use steel::steel_vm::{engine::Engine, register_fn::RegisterFn}; -use crate::geom::*; - -//pub struct +use crate::{geom::*, units::*}; pub fn get_vm() -> Engine { let mut vm = Engine::new(); diff --git a/src/lib.rs b/src/lib.rs index 287b189..e1ac6f8 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,4 @@ pub mod db; pub mod ffi; pub mod geom; +pub mod units; diff --git a/src/units.rs b/src/units.rs new file mode 100644 index 0000000..4ad5914 --- /dev/null +++ b/src/units.rs @@ -0,0 +1,15 @@ +use steel_derive::Steel; + +#[derive(Debug, Clone, Copy, PartialEq, Steel)] +pub enum Weapons { + Bullet { damage: u32 }, + Missile { speed: f32, damage: u32 }, + Bomb { damage: u32 }, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Steel)] +pub enum Machines { + Tank, + Factory, + Plane, +}