Yarn: ResourceReloadListener#reload -> createReloadTask 或类似的东西

创建于 2019-10-22  ·  3评论  ·  资料来源: FabricMC/yarn

ResourceReloadListener#reload不应自行执行任何重新加载。 相反,它的目标是返回一个CompletableFuture ,它在评估时应该将实际的重新加载任务提交给各种Executor s。

如果您尝试通过将代码直接放入reload并返回一些不执行任何操作的虚拟CompletableFuture来欺骗系统,则游戏会在重新加载时挂起,因为Synchronizer#whenPrepared返回的未来永远不会得到叫。

将其命名createReloadTask似乎是一种阻止此路径的方法,并澄清不应直接在此方法中进行重新加载。

discussion enhancement refactor

最有用的评论

imo, ResourceReloadListener应该重命名为ResourceReloader因为它们是实际执行重新加载的(与ResourceReloadHandler相比)。 reload名称很好 imo,或者我们可以考虑为所有CompletableFuture相关名称使用一致的命名方案。

所有3条评论

imo, ResourceReloadListener应该重命名为ResourceReloader因为它们是实际执行重新加载的(与ResourceReloadHandler相比)。 reload名称很好 imo,或者我们可以考虑为所有CompletableFuture相关名称使用一致的命名方案。

看了下,我们已经有了一个监控reload的资源reloader。

现在,我对它应该命名什么,或者是否应该重命名有点困惑。

嗯,也许ResourceReloader -> SimpleResourceReloadResourceReloadListener -> ResourceReloader 。 此外,将ResourceReloadMonitor命名为ResourceReload并相应地命名实现。 ResourceReload代表一次重载,之后立即丢弃,所以这个名字实际上听起来不错。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Draylar picture Draylar  ·  6评论

altrisi picture altrisi  ·  4评论

Bixilon picture Bixilon  ·  5评论

Runemoro picture Runemoro  ·  4评论

asiekierka picture asiekierka  ·  3评论