0

我刚刚意识到在一些(据称)无害的重构更改之后,我的游戏逻辑崩溃了。

通过我的 VCS 历史记录和一些调试,我发现问题是由导致问题的系统的命名空间更改引起的。

奇怪的是系统似乎仍然可以工作,更新我的实体的平移和旋转的部分仍然被调用(从断点/日志消息中可以看出),但是,没有任何更改反映在渲染或实际组件中.

4

1 回答 1

0

原来命名空间的变化改变了系统在其系统组中的顺序。

具体来说,该实体上有一个PhysicsBody组件,我的设置翻译和旋转的系统被放置在BuildPhysicsWorld系统之后,这显然使系统写入翻译和旋转无效(具体组件和系统在您的情况下可能会有所不同)。

[UpdateBefore(typeof(BuildPhysicsWorld)]解决方案是使用(或[UpdateAfter()]如果适当)专门声明订单依赖关系。

于 2021-01-23T15:38:02.370 回答