macro_rules! script_params {
($(#[$meta:meta])* $vis:vis struct $name:ident { $($(#[$fmeta:meta])* $field:ident : $ty:ty = $default:expr),* $(,)? }) => { ... };
}Expand description
Declares a script struct with typed, defaulted variables. Generates Default and
params(), which a script returns from fields():
ⓘ
script_params! { pub struct Door { speed: f32 = 2.0, open: bool = false } }
impl Script for Door {
fn update(&mut self, ctx: &mut Ctx) { /* self.speed, self.open */ }
fn fields(&mut self) -> Vec<Field<'_>> { self.params() }
}