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 中使用

MIT/Apache

21KB
410

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