diff --git a/Cargo.toml b/Cargo.toml index 806f80a..c347e90 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ keywords = ["bevy", "rhai", "scripting", "game", "gamedev"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -bevy = { default-features = false, version = "0.10.1", features = [ +bevy = { default-features = false, version = "0.11.0", features = [ "bevy_asset", ] } serde = "1.0.162" diff --git a/README.md b/README.md index 5bcc562..45cd7c0 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ use bevy_scriptum::prelude::*; App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function(String::from("hello_bevy"), || { println!("hello bevy, called from script"); }); @@ -42,7 +42,7 @@ struct Player; App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function( String::from("print_player_names"), |players: Query<&Name, With>| { @@ -61,7 +61,7 @@ use rhai::ImmutableString; App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function( String::from("fun_with_string_param"), |In((x,)): In<(ImmutableString,)>| { @@ -93,7 +93,7 @@ use bevy_scriptum::prelude::*; App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .run(); ``` @@ -106,7 +106,7 @@ use bevy_scriptum::prelude::*; App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function( String::from("my_print"), |In((x,)): In<(ImmutableString,)>| { @@ -128,7 +128,7 @@ use bevy::prelude::*; use bevy_scriptum::Script; App::new() - .add_startup_system(|mut commands: Commands, asset_server: Res| { + .add_systems(Startup,|mut commands: Commands, asset_server: Res| { commands.spawn(Script::new(asset_server.load("script.rhai"))); }); ``` diff --git a/examples/call_function_from_rust.rs b/examples/call_function_from_rust.rs index 4bbf19e..cefcdc2 100644 --- a/examples/call_function_from_rust.rs +++ b/examples/call_function_from_rust.rs @@ -9,7 +9,11 @@ fn main() { let mut app_exit_event_reader = ManualEventReader::::default(); loop { if let Some(app_exit_events) = app.world.get_resource_mut::>() { - if let Some(_) = app_exit_event_reader.iter(&app_exit_events).last() { + if app_exit_event_reader + .iter(&app_exit_events) + .last() + .is_some() + { break; } } @@ -17,9 +21,9 @@ fn main() { } }) .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) - .add_startup_system(startup) - .add_system(call_rhai_on_update_from_rust) + .add_plugins(ScriptingPlugin::default()) + .add_systems(Startup, startup) + .add_systems(Update, call_rhai_on_update_from_rust) .add_script_function(String::from("quit"), |mut exit: EventWriter| { exit.send(AppExit); }) diff --git a/examples/current_entity.rs b/examples/current_entity.rs index a56a22c..1b4a398 100644 --- a/examples/current_entity.rs +++ b/examples/current_entity.rs @@ -1,17 +1,17 @@ -use bevy::{prelude::*}; +use bevy::prelude::*; use bevy_scriptum::{prelude::*, Script}; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function( String::from("get_name"), |In((entity,)): In<(Entity,)>, names: Query<&Name>| { names.get(entity).unwrap().to_string() }, ) - .add_startup_system(startup) + .add_systems(Startup, startup) .run(); } diff --git a/examples/custom_type.rs b/examples/custom_type.rs index d4406ea..45b73f3 100644 --- a/examples/custom_type.rs +++ b/examples/custom_type.rs @@ -1,14 +1,14 @@ -use bevy::{prelude::*}; +use bevy::prelude::*; use bevy_scriptum::{prelude::*, Script, ScriptingRuntime}; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function(String::from("hello_bevy"), || { println!("hello bevy, called from script"); }) - .add_startup_system(startup) + .add_systems(Startup, startup) .run(); } diff --git a/examples/ecs.rs b/examples/ecs.rs index 03cb961..2888056 100644 --- a/examples/ecs.rs +++ b/examples/ecs.rs @@ -1,4 +1,4 @@ -use bevy::{prelude::*}; +use bevy::prelude::*; use bevy_scriptum::{prelude::*, Script}; #[derive(Component)] @@ -7,7 +7,7 @@ struct Player; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function( String::from("print_player_names"), |players: Query<&Name, With>| { @@ -16,7 +16,7 @@ fn main() { } }, ) - .add_startup_system(startup) + .add_systems(Startup, startup) .run(); } diff --git a/examples/entity_variable.rs b/examples/entity_variable.rs index 803c13b..295da10 100644 --- a/examples/entity_variable.rs +++ b/examples/entity_variable.rs @@ -1,11 +1,11 @@ -use bevy::{prelude::*}; +use bevy::prelude::*; use bevy_scriptum::{prelude::*, Script}; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) - .add_startup_system(startup) + .add_plugins(ScriptingPlugin::default()) + .add_systems(Startup, startup) .run(); } diff --git a/examples/function_params.rs b/examples/function_params.rs index 0f54700..817c56a 100644 --- a/examples/function_params.rs +++ b/examples/function_params.rs @@ -1,11 +1,11 @@ -use bevy::{prelude::*}; +use bevy::prelude::*; use bevy_scriptum::{prelude::*, Script}; use rhai::ImmutableString; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function(String::from("fun_without_params"), || { println!("called without params"); }) @@ -36,7 +36,7 @@ fn main() { ); }, ) - .add_startup_system(startup) + .add_systems(Startup, startup) .run(); } diff --git a/examples/hello_world.rs b/examples/hello_world.rs index 49ce919..021b8e5 100644 --- a/examples/hello_world.rs +++ b/examples/hello_world.rs @@ -1,14 +1,14 @@ -use bevy::{prelude::*}; +use bevy::prelude::*; use bevy_scriptum::{prelude::*, Script}; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function(String::from("hello_bevy"), || { println!("hello bevy, called from script"); }) - .add_startup_system(startup) + .add_systems(Startup, startup) .run(); } diff --git a/examples/non_closure_system.rs b/examples/non_closure_system.rs index b1f33b4..958cefe 100644 --- a/examples/non_closure_system.rs +++ b/examples/non_closure_system.rs @@ -1,12 +1,12 @@ -use bevy::{prelude::*}; +use bevy::prelude::*; use bevy_scriptum::{prelude::*, Script}; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function(String::from("hello_bevy"), hello_bevy_callback_system) - .add_startup_system(startup) + .add_systems(Startup, startup) .run(); } diff --git a/examples/promises.rs b/examples/promises.rs index 7d655d9..6014aa2 100644 --- a/examples/promises.rs +++ b/examples/promises.rs @@ -1,4 +1,4 @@ -use bevy::{prelude::*}; +use bevy::prelude::*; use bevy_scriptum::{prelude::*, Script}; #[derive(Component)] @@ -7,12 +7,12 @@ struct Player; fn main() { App::new() .add_plugins(DefaultPlugins) - .add_plugin(ScriptingPlugin::default()) + .add_plugins(ScriptingPlugin::default()) .add_script_function( String::from("get_player_name"), |player_names: Query<&Name, With>| player_names.single().to_string(), ) - .add_startup_system(startup) + .add_systems(Startup, startup) .run(); } diff --git a/src/assets.rs b/src/assets.rs index 938f9d6..d4486bb 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -1,12 +1,12 @@ use bevy::{ asset::{AssetLoader, LoadContext, LoadedAsset}, - reflect::TypeUuid, + reflect::{TypePath, TypeUuid}, utils::BoxedFuture, }; use serde::Deserialize; /// A script that can be loaded by the [crate::ScriptingPlugin]. -#[derive(Debug, Deserialize, TypeUuid)] +#[derive(Debug, Deserialize, TypeUuid, TypePath)] #[uuid = "3ed4b68b-4f5d-4d82-96f6-5194e358921a"] pub struct RhaiScript(pub String); diff --git a/src/lib.rs b/src/lib.rs index cfc4594..f1614ab 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -19,7 +19,7 @@ //! //! App::new() //! .add_plugins(DefaultPlugins) -//! .add_plugin(ScriptingPlugin::default()) +//! .add_plugins(ScriptingPlugin::default()) //! .add_script_function(String::from("hello_bevy"), || { //! println!("hello bevy, called from script"); //! }); @@ -40,7 +40,7 @@ //! //! App::new() //! .add_plugins(DefaultPlugins) -//! .add_plugin(ScriptingPlugin::default()) +//! .add_plugins(ScriptingPlugin::default()) //! .add_script_function( //! String::from("print_player_names"), //! |players: Query<&Name, With>| { @@ -59,7 +59,7 @@ //! //! App::new() //! .add_plugins(DefaultPlugins) -//! .add_plugin(ScriptingPlugin::default()) +//! .add_plugins(ScriptingPlugin::default()) //! .add_script_function( //! String::from("fun_with_string_param"), //! |In((x,)): In<(ImmutableString,)>| { @@ -91,7 +91,7 @@ //! //! App::new() //! .add_plugins(DefaultPlugins) -//! .add_plugin(ScriptingPlugin::default()) +//! .add_plugins(ScriptingPlugin::default()) //! .run(); //! ``` //! @@ -104,7 +104,7 @@ //! //! App::new() //! .add_plugins(DefaultPlugins) -//! .add_plugin(ScriptingPlugin::default()) +//! .add_plugins(ScriptingPlugin::default()) //! .add_script_function( //! String::from("my_print"), //! |In((x,)): In<(ImmutableString,)>| { @@ -126,7 +126,7 @@ //! use bevy_scriptum::Script; //! //! App::new() -//! .add_startup_system(|mut commands: Commands, asset_server: Res| { +//! .add_systems(Startup,|mut commands: Commands, asset_server: Res| { //! commands.spawn(Script::new(asset_server.load("script.rhai"))); //! }); //! ``` @@ -221,13 +221,16 @@ impl Plugin for ScriptingPlugin { .init_asset_loader::() .init_resource::() .insert_resource(ScriptingRuntime::default()) - .add_startup_system(init_engine.pipe(log_errors)) - .add_systems(( - reload_scripts, - process_calls.pipe(log_errors).after(process_new_scripts), - init_callbacks.pipe(log_errors), - process_new_scripts.pipe(log_errors).after(init_callbacks), - )); + .add_systems(Startup, init_engine.pipe(log_errors)) + .add_systems( + Update, + ( + reload_scripts, + process_calls.pipe(log_errors).after(process_new_scripts), + init_callbacks.pipe(log_errors), + process_new_scripts.pipe(log_errors).after(init_callbacks), + ), + ); } }