Crates.io | bevy-contrib-inspector |
lib.rs | bevy-contrib-inspector |
version | 0.5.1 |
source | src |
created_at | 2020-09-05 11:36:03.084836 |
updated_at | 2020-12-21 20:09:02.60499 |
description | starts a webserver for visually editing bevy resources |
homepage | |
repository | https://github.com/jakobhellermann/bevy-contrib-inspector |
max_upload_size | |
id | 285043 |
size | 178,771 |
This crate provides the ability to annotate structs with a #[derive(Inspectable)]
,
which opens a web interface (by default on port 5676) where you can visually edit the values of your struct live.
Your struct will then be available to you as a bevy resource.
use bevy_contrib_inspector::Inspectable;
#[derive(Inspectable, Default)]
struct Data {
should_render: bool,
text: String,
#[inspectable(min = 42.0, max = 100.0)]
size: f32,
}
Add the InspectorPlugin
to your App.
use bevy_contrib_inspector::InspectorPlugin;
fn main() {
App::build()
.add_default_plugins()
.add_plugin(InspectorPlugin::<Data>::new())
.add_system(your_system.system())
// ...
.run();
}
fn your_system(data: ChangedRes<Data>, mut query: Query<...>) { /* */ }
To automatically open the webbrowser when starting, run your program using BEVY_INSPECTOR_OPEN=1 cargo run
.
When deriving the Inspectable
trait, you can set options such like the port the server will run on like so:
#[derive(Inspectable, Default)]
#[inspectable(port = 1234)]
struct Data {
#[inspectable(a = 1, b = 2, c = 3)]
field: Type,
}
The attribute on the struct will accept fields of the type InspectableOptions
,
while the attributes on the fields accept those of their <Type as AsHtml>::Options
.
native
: Instead of opening the inspector window in a browser, start a webkit2gtk window.
On ubuntu, the feature requires sudo apt install libwebkit2gtk-4.0-dev