From b0f9a3944f7cd0b66a3263570e628025f79585a5 Mon Sep 17 00:00:00 2001 From: Joe Date: Sun, 15 Feb 2026 14:34:05 -0800 Subject: [PATCH] more scheme ffi --- src/ffi.rs | 4 +--- src/lib.rs | 1 + src/units.rs | 15 +++++++++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 src/units.rs 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, +}