4 个版本

0.1.3 2021 年 9 月 23 日
0.1.2 2021 年 9 月 22 日
0.1.1 2021 年 9 月 20 日
0.1.0 2021 年 9 月 20 日

#6#im-gui


用于 xdl

MIT 许可证

10KB
238

ImGUI 运行时检查器

igri 是由 imgui-rs 驱动的运行时检查器

use igri::Inspect;

#[derive(Inspect)]
pub struct MyCoolStruct<T> {
     xs: Vec<T>,
}

enum 功能

我们希望在不发布构建时禁用开发者 UI。启用 dummy 功能标志以关闭 #[derive(Inspect)] 扩展。

务必输出其他对 igri 的调用!


lib.rs:

ImGUI 运行时检查器

use igri::Inspect;

#[derive(Inspect)]
pub struct MyCoolStruct<T> {
xs: Vec<T>,
}

enum 支持

默认 enum 检查器实现为一个标签选择器 + 变体字段检查器。在标签更改时,检查的值将替换为目标变体的默认值。如果变体字段中的任何一个不满足 Default 特性,则 Inspect 特性推导失败。

enum 功能

我们希望在不发布构建时禁用开发者 UI。启用 dummy 功能标志以关闭 #[derive(Inspect)] 扩展。

务必排除其他对 igri 的调用!

局限性

Inspect 是来自您代码的外部特性,只能为您自己的包中的类型实现。因此,上游框架类型不实现 Inspect

igri 允许您通过 imgui 调整值,但它不允许您传播更改(因此例如,您的游戏视图不会与通过 igri 做出的更改同步)。

依赖关系

~15MB
~285K SLoC