10个版本 (6个重大变更)
0.6.0 | 2024年7月5日 |
---|---|
0.5.1 | 2024年4月5日 |
0.5.0 | 2024年2月20日 |
0.4.0 | 2023年11月8日 |
0.0.2 | 2023年1月19日 |
#264 in 游戏开发
每月下载量 109次
在 bevy-codex 中使用
32KB
208 行
Bevy Settings
本项目的目标是存储游戏启动过程中的设置。
目前此crate支持Linux、Mac和Windows。
crate将为每个操作系统选择适当的路径来存储配置文件。
用法
此示例将在您的系统上生成配置文件,但如果您选择一个不存在的路径,可能不会对您造成伤害
use bevy::prelude::*;
use bevy_settings::{Serialize, Deserialize};
#[derive(Resource, Default, Serialize, Deserialize, Clone, Copy)]
#[serde(crate = "bevy_settings::serde")]
struct Settings {
master_volume: f64,
custom_cursor: bool,
}
fn main () {
App::new()
.add_plugin(bevy_settings::SettingsPlugin::<Settings>::new(
"My awesome game studio",
"The name of the game"
))
.run();
}
例如,在我的Linux机器上,这将创建
❯ cat ~/.config/myawesomegamestudio/My awesome game studio.toml
master_volume = 0.0
custom_cursor = false
路线图
- 多存储支持
- 文件命名支持
- 混淆支持,这应该只是让数据更改变得困难,但并不真正安全
已知限制
- toml crate与大型数字存在问题,例如u64::MAX
- 元组结构体存在问题,例如
TestSetting(u32)
不工作,但TestSetting{ test: u32 }
可以正常工作。
查看基本示例以了解如何持久化配置。
版本 | Bevy版本 |
---|---|
0.1.0 | 0.9 |
0.2.0 | 0.10 |
0.3.1 | 0.11 |
0.4.0 | 0.12 |
0.5.0 | 0.13 |
0.6.0 | 0.14 |
依赖项
~13–26MB
~324K SLoC