Skip to main content

script_params

Macro script_params 

Source
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() }
}