#inspector #bevy #visual #editor #game

bevy-contrib-inspector

启动一个用于可视编辑bevy资源的web服务器

7个版本 (4个重大更新)

0.5.1 2020年12月21日
0.5.0 2020年12月21日
0.4.0 2020年12月20日
0.3.1 2020年12月12日
0.1.0 2020年9月5日

#23 in #inspector

MIT许可证

92KB
609

bevy-contrib-inspector


此crate提供使用#[derive(Inspectable)]注解结构体的功能,这将在默认端口5676上打开一个网页界面,您可以在其中实时编辑结构体的值。

然后您的结构体将以bevy资源的形式对您可用。

Your image title

示例

use bevy_contrib_inspector::Inspectable;

#[derive(Inspectable, Default)]
struct Data {
    should_render: bool,
    text: String,
    #[inspectable(min = 42.0, max = 100.0)]
    size: f32,
}

InspectorPlugin添加到您的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<...>) { /* */ }

要启动时自动打开网页浏览器,请使用BEVY_INSPECTOR_OPEN=1 cargo run运行您的程序。

属性

在派生Inspectable特质时,您可以设置诸如服务器将运行在哪个端口等选项

#[derive(Inspectable, Default)]
#[inspectable(port = 1234)]
struct Data {
   #[inspectable(a = 1, b = 2, c = 3)]
   field: Type,
}

结构体上的属性将接受类型为InspectableOptions的字段,而字段上的属性接受它们<类型 as AsHtml>::Options的选项。

功能

native:而不是在浏览器中打开检查器窗口,启动一个webkit2gtk窗口。

在ubuntu上,此功能需要sudo apt install libwebkit2gtk-4.0-dev

依赖关系

24-67MB
~659K SLoC