4个版本
0.1.0 | 2022年2月17日 |
---|---|
0.0.3 | 2021年5月17日 |
0.0.2 | 2021年5月16日 |
0.0.1 | 2021年5月16日 |
#578 in 配置
每月31次下载
在 2 crates 中使用
27KB
633 行
tuna
Tuna是一个在游戏开发期间管理CVARs的工具,作为一组全局变量,可以在其上进行操作。
在核心上,Tuna的目标是易于使用,同时避免不安全代码。
以下是使用方法
extern crate tuna;
const ENABLE_LOGGING: tuna::Boolean = tuna::Boolean::new("logging", "enable", false);
fn main() {
ENABLE_LOGGING.register();
for i in 0..10 {
eprintln!("xx");
if (ENABLE_LOGGING.read()) {
eprintln!("looping once");
}
if i == 5 {
ENABLE_LOGGING.write(true);
}
}
}
在第一次读取时可能会因为性能损失而省略注册调用。
还有一个实用宏来更轻松地创建类别
extern crate tuna;
#[tuna::tuna]
mod logging {
pub(super) const ENABLE: bool = false;
}
fn main() {
logging::register();
for i in 0..10 {
if (logging::ENABLE.read()) {
eprintln!("looping once");
}
if i == 5 {
logging::ENABLE.write(true);
}
}
}
请注意,tuna
仍在开发中!我正在根据需要对其进行开发,但在构建的同时我也想对其进行测试 - 而不是单独构建一个完整的系统。
替代方案
- cvar - 更具可定制性,内置功能较少
依赖关系
~1.8–4MB
~77K SLoC