5 个版本 (重大更新)
0.5.0 | 2021 年 10 月 2 日 |
---|---|
0.4.0 | 2021 年 7 月 13 日 |
0.3.0 | 2021 年 7 月 3 日 |
0.2.0 | 2021 年 6 月 27 日 |
0.1.0 | 2021 年 6 月 24 日 |
#49 in #修改
在 livemod 中使用
21KB
410 行
LiveMod - 程序值运行时修改
LiveMod 是我尝试在 Rust 中实现类似 Unity 风格的运行时参数修改,以简单且易于关闭(如果需要的话)的方式。
使用方法
Livemod 需要 livemod
库以及一个本地安装的查看器,例如 livemod-gui
。
livemod-gui
可以通过 cargo
安装
cargo install livemod-gui
并可以从您的代码中使用
let livemod = LiveModHandle::new_gui();
let tracked_variable = livemod.create_variable("My variable", 0_u32);
使用 #[derive]
如果启用了 derive
功能,则可以 #[derive]
对 LiveMod
特性进行派生。派生宏的行为可以通过 #[livemod(skip)]
字段属性进行修改,其行为如下所述
#[livemod(skip)]
:跳过表示字段
该字段将不会被 livemod
修改,并且不需要实现 LiveMod
特性。
#[livemod(rename = "New name")]
重命名字段
字段将被标记为新的名称。默认情况下,字段的标签是通过将名称的首字母大写并将下划线替换为空格生成的。
#[livemod(repr = Trait(args))]
修改字段的表示形式
不是通过在字段类型上调用 LiveMod::data_type()
来确定其表示,而是使用提供的特质的定义。
例如,整数和浮点数实现了 Slider
特质,可以如下使用
#[livemod(repr = Slider(0..=100))]
field: u32
依赖
~1.5MB
~35K SLoC