1pub use lotus_bindgen_macros::lotus_bindgen;
2
3use message::Message;
4
5use crate::var::get_var;
6
7pub mod action;
8pub mod content;
9#[doc(hidden)]
10pub mod event;
11pub mod font;
12pub mod gizmos;
13pub mod graphics;
14pub mod input;
15pub mod log;
16#[doc(hidden)]
17pub mod macros;
18pub mod math;
19pub mod message;
20pub mod module;
21pub mod public_vars;
22pub mod rand;
23#[doc(hidden)]
24pub mod settings;
25pub mod time;
26pub mod var;
27pub mod vehicle;
28pub mod prelude {
29 pub use crate::{
30 action,
31 graphics::{textures::Texture, Color},
32 log,
33 message::{message_type, send_message, Message, MessageTarget, MessageType},
34 rand, script, time,
35 var::{get_var, set_var, VariableType},
36 Script,
37 };
38}
39
40pub trait Script {
41 fn init(&mut self) {}
43
44 fn actions() -> Vec<action::RegisterAction> {
46 Default::default()
47 }
48
49 fn tick(&mut self) {}
51
52 #[allow(unused_variables)]
54 fn on_message(&mut self, msg: Message) {}
55}
56
57pub fn is_rc() -> bool {
59 unsafe { lotus_script_sys::env::is_rc() }
60}