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日

#634 in 调试


用于 livemod-gui

MIT/Apache

57KB
1.5K SLoC

LiveMod - 程序值的运行时修改

livemod-test livemod-gui crates.io dependency status

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() 来确定其表示形式,而是使用提供的 trait 的定义。

例如,整数和浮点数实现了 Slider trait,可以使用以下方式使用

#[livemod(repr = Slider(0..=100))]
field: u32

依赖项

~1.5–2.2MB
~36K SLoC