#bevy #save #gamedev #save-load #loading #game-engine #user

nightly rantz_cereal

用于处理保存和加载的Bevy插件

7个稳定版本

1.2.3 2024年7月20日
1.2.0 2024年7月16日
1.1.1 2024年7月16日
1.0.0 2024年7月15日

570游戏开发

Download history 161/week @ 2024-07-10 345/week @ 2024-07-17 30/week @ 2024-07-24 1/week @ 2024-07-31

每月 492 次下载
用于 rantz_suite

MIT/Apache

79KB
1.5K SLoC

rantz_cereal

用于处理Bevy游戏引擎的保存和加载的crate,设计用于与rantz_proto一起使用

用法

  • CerealPlugin添加到您的应用程序中,并提供一个根保存路径(相对于用户数据目录)。
  • 使用app.register_save_data注册您想要用作保存数据的任何类型。
  • 如果您的应用程序是多用户的,请使用commands.set_user_id()设置用户。
  • 使用commands.set_save_slot()设置保存槽。
  • 如果您正在使用rantz_proto,请不要注册ProtoPlugin,因为rantz_cereal会为您注册它。

要请求保存,发送一个SaveRequest事件。要请求加载,发送一个LoadRequest事件。

测试注意事项

请注意,文件I/O测试中有许多休眠,这是为了让操作系统实际执行文件I/O。如果测试事件.rs文件需要一些时间,请不要担心。如果您正在进行一般测试,我建议不要运行cargo test,而是运行cargo test --test <filename>

对此表示歉意,我找不到另一种确保在没有休眠或循环的方式下删除/写入文件的好方法,这可能会导致测试在失败时无限循环。

待办事项

  • 保存/加载完成后发送事件
  • 支持多种格式,如proto

依赖关系

~40–77MB
~1.5M SLoC