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