#game-assets #load #hot-reloading #loading #memory #automatic #cache

keeshond_datapack

一个简单的框架,用于加载和缓存游戏资源

12 个重大版本

0.13.0 2022 年 3 月 25 日
0.11.0 2021 年 12 月 25 日
0.10.0 2021 年 10 月 5 日
0.9.0 2021 年 5 月 22 日
0.4.0 2019 年 6 月 23 日

#928 in 文件系统

每月 33 下载
5 个 Crates 中使用 (3 直接)

MIT/Apache

79KB
1.5K SLoC

🐶 KEESHOND Datapack 🐶

关于

Keeshond Datapack 允许您轻松加载游戏资源并将其缓存在内存中,通过路径名映射,可以通过句柄对象访问,这些对象允许自动卸载,并且可以在结构体中存储而不必担心生命周期。通过实现一个接受 Read + Seek 对象的函数,使用 DataObject 特性来定义如何加载,并实例化一个 Source 来定义它们从哪里加载。

特性

  • 一次性自动或预加载整个包
  • 运行时卸载和重新加载单个包。内存优化和热重载!
  • 数据句柄系统意味着对象可以引用数据而无需借用它。将句柄序列化为路径名并在运行时解析它们。
  • 从文件系统或 .zip/.pk3 归档加载文件
  • 文件保存 - 制作您自己的数据编辑器!
  • 独立的 "PreparedStore" 系统用于将加载的数据与后端同步,例如将纹理加载到 VRAM 中

Datapack 由 Keeshond 使用,但可以与任何引擎一起工作。

许可证

以下任一许可证下发布

您可选择。

贡献

除非您明确声明,否则您提交的任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证的定义,应按照上述双许可发布,不附加任何额外条款或条件。

依赖关系

~4–12MB
~125K SLoC