#reactive #ui #gamedev

bevy_kot

小猫的Bevy工具包

28个版本 (11个破坏性版本)

0.11.0 2024年1月11日
0.10.3 2023年12月23日
0.9.2 2023年12月5日
0.8.0 2023年11月18日

游戏开发中排名1282

Download history 278/week @ 2024-03-29 57/week @ 2024-04-05

每月下载量331

MIT/Apache

730KB
4.5K SLoC

小猫的Bevy工具包

Bevy工具集合。

内容

ECS

  • 系统调用者,可以将系统作为函数调用(需要&mut World)。
  • 实体回调。
  • 添加/删除实体的组件的实用程序(需要&mut World)。
  • ReactCommands管理的响应式框架:响应式组件React、响应式资源ReactRes和响应式事件(带有ReactEventReader)。有关更多信息,请参阅文档
  • 用于垃圾回收实体的AutoDespawner资源。

UI

  • StyleStack 提供了样式继承,这对于设置和覆盖预制体样式非常有用。您可以使用 style_stack.add() 将样式添加到当前 'frame',它将适用于所有子帧。然后您可以使用 style_stack.push()/.pop() 来添加/移除帧。在启动时,您可以使用一系列默认样式初始化堆栈,然后在构建 UI 分支时,您可以使用 style_stack.add(style_stack.style::<X>().my_inner_style.clone()); 来展开样式(例如,如果您需要为某些小部件使用特殊字体,您可以通过展开在初始化时插入的小部件的特殊样式来将那个字体拉到堆栈上)。
  • UiBuilder 为构建 UI 提供了有用的系统参数:一个 ReactCommands,一个 lunex UI 树处理程序,Bevy 资产服务器,一个用于实体 GC 的销毁者工具,以及 StyleStack 资源。构建器公开了 div()div_rel(),这些是用于管理 StyleStack 帧的便捷方法。
  • InteractiveElementBuilder 允许您向实体添加交互回调,这些回调由交互管道系统自动调用。它相当有意见,假设您正在使用 bevy_lunex,但具有相当大的 API,并且对于大多数常规用例应能正常工作(它需要进行重大重构以解锁剩余的用例)。与 bevy_mod_picking 不同,您在交互中添加回调,而 InteractiveElementBuilder 一次添加所有回调,从而启用更多内置功能。构建器支持代码使定义不同的交互源成为可能(目前所有击中测试都与 lunex 小部件相关联,待重构[这是当前最大的可用性问题])。

杂项

实用工具

Bevy 兼容性

bevy bevy_kot
0.12 0.9.0 - master
0.11 0.0.1 - 0.8.0

bevy_lunex 兼容性

lunex bevy_kot
0.0.9 0.9.0 - master
0.0.6 0.0.2 - 0.8.0
0.0.5 0.0.1

依赖项

~48–85MB
~1.5M SLoC