lotus_script/
action.rs

1use lotus_script_sys::FfiObject;
2pub use lotus_shared::action::*;
3use lotus_shared::input::ActionState;
4
5/// Get the current state of an action. If the action is not registered, it will return `ActionState::None`.
6pub fn state(action: &str) -> ActionState {
7    let action = FfiObject::new(&action);
8    let state = unsafe { lotus_script_sys::action::state(action.packed()) };
9
10    FfiObject::from_packed(state).deserialize()
11}
12
13#[doc(hidden)]
14pub fn register_many(actions: &[RegisterAction]) {
15    for action in actions {
16        let action = FfiObject::new(&action);
17        unsafe {
18            lotus_script_sys::action::register(action.packed());
19        }
20    }
21}