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日 |
#828 在 调试
91KB
2K SLoC
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]
字段属性来修改,其行为如下文所述
#[livemod(skip)]
:跳过字段的表示
该字段不会被livemod
修改,并且不需要实现LiveMod
特质。
#[livemod(rename = "New name")]
重命名字段
字段将使用新名称标记。默认情况下,字段的标签是通过将名称的首字母大写并将下划线替换为空格生成的。
#[livemod(repr = Trait(args))]
修改字段的表示形式
而不是通过在字段的类型上调用 LiveMod::data_type()
来确定其表示形式,而是使用提供的特质的定义。
例如,整数和浮点数实现了 Slider
特质,可以使用如下方式
#[livemod(repr = Slider(0..=100))]
field: u32
依赖项
~17MB
~307K SLoC