如果从脚本调用 MRTK 网格对象集合 UpdateCollection() 不起作用

问题描述

我正在使用 MRTK 的 GridObjectCollection 脚本来显示多个按钮。我正在通过脚本动态实例化按钮,并将它们作为 GridObjectCollection 游戏对象的子项放置。现在您可以通过 UpdateCollection() 函数更新集合。除以下情况外,一切都按预期工作:

如果我想在同一个 GridObjectCollection 中显示一组不同的按钮,我会销毁集合的所有子项并像以前一样实例化新按钮并调用 UpdateCollection() 函数。但是集合没有正确更新。旧按钮被破坏,新按钮被添加,但位置发生了变化。如果我单击检查器中的 UpdateCollection 按钮,则该集合会正确更新。

为什么 UpdateCollection() 在修改集合内容后没有按预期工作?

解决方法

我刚刚解决了这个问题。如果集合在下一帧中更新,则更新按预期工作。 所以我正在启动一个协程并在那里调用更新函数。

private IEnumerator InvokeUpdateCollection()
{
    yield return null;
    gridObjectCollection.UpdateCollection();
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...