Skip to content

Commit

Permalink
Merge pull request #1 from jarkonik/bevy0.11
Browse files Browse the repository at this point in the history
Migrate to bevy 0.11
  • Loading branch information
jarkonik authored Jul 11, 2023
2 parents bce2e55 + 025cad4 commit 5745946
Show file tree
Hide file tree
Showing 13 changed files with 62 additions and 53 deletions.
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "bevy_scriptum"
authors = ["Jaroslaw Konik <konikjar@gmail.com>"]
version = "0.1.0"
version = "0.2.0"
edition = "2021"
license = "MIT OR Apache-2.0"
readme = "README.md"
Expand All @@ -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"
Expand Down
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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");
});
Expand All @@ -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<Player>>| {
Expand All @@ -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,)>| {
Expand All @@ -80,7 +80,7 @@ Add the following to your `Cargo.toml`:

```toml
[dependencies]
bevy_scriptum = "0.1"
bevy_scriptum = "0.2"
```

or execute `cargo add bevy_scriptum` from your project directory.
Expand All @@ -93,7 +93,7 @@ use bevy_scriptum::prelude::*;

App::new()
.add_plugins(DefaultPlugins)
.add_plugin(ScriptingPlugin::default())
.add_plugins(ScriptingPlugin::default())
.run();
```

Expand All @@ -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,)>| {
Expand All @@ -128,7 +128,7 @@ use bevy::prelude::*;
use bevy_scriptum::Script;

App::new()
.add_startup_system(|mut commands: Commands, asset_server: Res<AssetServer>| {
.add_systems(Startup,|mut commands: Commands, asset_server: Res<AssetServer>| {
commands.spawn(Script::new(asset_server.load("script.rhai")));
});
```
Expand All @@ -146,6 +146,7 @@ The examples live in `examples` directory and their corresponding scripts live i

| bevy version | bevy_scriptum version |
|--------------|----------------------|
| 0.11 | 0.2 |
| 0.10 | 0.1 |

### Promises - getting return values from scripts
Expand Down
12 changes: 8 additions & 4 deletions examples/call_function_from_rust.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,21 @@ fn main() {
let mut app_exit_event_reader = ManualEventReader::<AppExit>::default();
loop {
if let Some(app_exit_events) = app.world.get_resource_mut::<Events<AppExit>>() {
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;
}
}
app.update();
}
})
.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<AppExit>| {
exit.send(AppExit);
})
Expand Down
6 changes: 3 additions & 3 deletions examples/current_entity.rs
Original file line number Diff line number Diff line change
@@ -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();
}

Expand Down
6 changes: 3 additions & 3 deletions examples/custom_type.rs
Original file line number Diff line number Diff line change
@@ -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();
}

Expand Down
6 changes: 3 additions & 3 deletions examples/ecs.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use bevy::{prelude::*};
use bevy::prelude::*;
use bevy_scriptum::{prelude::*, Script};

#[derive(Component)]
Expand All @@ -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<Player>>| {
Expand All @@ -16,7 +16,7 @@ fn main() {
}
},
)
.add_startup_system(startup)
.add_systems(Startup, startup)
.run();
}

Expand Down
6 changes: 3 additions & 3 deletions examples/entity_variable.rs
Original file line number Diff line number Diff line change
@@ -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();
}

Expand Down
6 changes: 3 additions & 3 deletions examples/function_params.rs
Original file line number Diff line number Diff line change
@@ -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");
})
Expand Down Expand Up @@ -36,7 +36,7 @@ fn main() {
);
},
)
.add_startup_system(startup)
.add_systems(Startup, startup)
.run();
}

Expand Down
6 changes: 3 additions & 3 deletions examples/hello_world.rs
Original file line number Diff line number Diff line change
@@ -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();
}

Expand Down
6 changes: 3 additions & 3 deletions examples/non_closure_system.rs
Original file line number Diff line number Diff line change
@@ -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();
}

Expand Down
6 changes: 3 additions & 3 deletions examples/promises.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use bevy::{prelude::*};
use bevy::prelude::*;
use bevy_scriptum::{prelude::*, Script};

#[derive(Component)]
Expand All @@ -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>>| player_names.single().to_string(),
)
.add_startup_system(startup)
.add_systems(Startup, startup)
.run();
}

Expand Down
4 changes: 2 additions & 2 deletions src/assets.rs
Original file line number Diff line number Diff line change
@@ -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);

Expand Down
32 changes: 18 additions & 14 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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");
//! });
Expand All @@ -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<Player>>| {
Expand All @@ -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,)>| {
Expand All @@ -78,7 +78,7 @@
//!
//! ```toml
//! [dependencies]
//! bevy_scriptum = "0.1"
//! bevy_scriptum = "0.2"
//! ```
//!
//! or execute `cargo add bevy_scriptum` from your project directory.
Expand All @@ -91,7 +91,7 @@
//!
//! App::new()
//! .add_plugins(DefaultPlugins)
//! .add_plugin(ScriptingPlugin::default())
//! .add_plugins(ScriptingPlugin::default())
//! .run();
//! ```
//!
Expand All @@ -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,)>| {
Expand All @@ -126,7 +126,7 @@
//! use bevy_scriptum::Script;
//!
//! App::new()
//! .add_startup_system(|mut commands: Commands, asset_server: Res<AssetServer>| {
//! .add_systems(Startup,|mut commands: Commands, asset_server: Res<AssetServer>| {
//! commands.spawn(Script::new(asset_server.load("script.rhai")));
//! });
//! ```
Expand All @@ -144,6 +144,7 @@
//!
//! | bevy version | bevy_scriptum version |
//! |--------------|----------------------|
//! | 0.11 | 0.2 |
//! | 0.10 | 0.1 |
//!
//! ## Promises - getting return values from scripts
Expand Down Expand Up @@ -221,13 +222,16 @@ impl Plugin for ScriptingPlugin {
.init_asset_loader::<RhaiScriptLoader>()
.init_resource::<Callbacks>()
.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),
),
);
}
}

Expand Down

0 comments on commit 5745946

Please sign in to comment.