bones_scripting/
lib.rs

1pub mod lua;
2
3use bones_asset::UntypedHandle;
4use bones_lib::prelude::*;
5
6/// The prelude.
7pub mod prelude {
8    pub use super::{lua::*, ScriptingGamePlugin};
9    pub(crate) use bones_asset::prelude::*;
10    pub(crate) use bones_lib::prelude::*;
11}
12
13/// Scripting plugin for the bones framework.
14pub struct ScriptingGamePlugin {
15    pub enable_lua: bool,
16}
17
18impl Default for ScriptingGamePlugin {
19    fn default() -> Self {
20        Self { enable_lua: true }
21    }
22}
23
24impl GamePlugin for ScriptingGamePlugin {
25    fn install(self, game: &mut Game) {
26        UntypedHandle::register_schema();
27
28        if self.enable_lua {
29            game.install_plugin(lua::lua_game_plugin);
30        }
31    }
32}