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
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