From 9438fa62bce9c3d4f2d57f95b41c7d1178c44143 Mon Sep 17 00:00:00 2001 From: Jaroslaw Konik Date: Mon, 19 May 2025 07:00:00 +0200 Subject: [PATCH] add example --- assets/examples/ruby/current_entity.rb | 3 +++ examples/ruby/current_entity.rs | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 assets/examples/ruby/current_entity.rb create mode 100644 examples/ruby/current_entity.rs diff --git a/assets/examples/ruby/current_entity.rb b/assets/examples/ruby/current_entity.rb new file mode 100644 index 0000000..4c2c77b --- /dev/null +++ b/assets/examples/ruby/current_entity.rb @@ -0,0 +1,3 @@ +get_name(Bevy::Entity.current).and_then do |name| + print(name) +end diff --git a/examples/ruby/current_entity.rs b/examples/ruby/current_entity.rs new file mode 100644 index 0000000..6e1c777 --- /dev/null +++ b/examples/ruby/current_entity.rs @@ -0,0 +1,25 @@ +use bevy::prelude::*; +use bevy_scriptum::prelude::*; +use bevy_scriptum::runtimes::ruby::prelude::*; + +fn main() { + App::new() + .add_plugins(DefaultPlugins) + .add_scripting::(|runtime| { + runtime.add_function( + String::from("get_name"), + |In((BevyEntity(entity),)): In<(BevyEntity,)>, names: Query<&Name>| { + names.get(entity).unwrap().to_string() + }, + ); + }) + .add_systems(Startup, startup) + .run(); +} + +fn startup(mut commands: Commands, assets_server: Res) { + commands.spawn(( + Name::from("MyEntityName"), + Script::::new(assets_server.load("examples/ruby/current_entity.rb")), + )); +}