【问题标题】:MRTK 2.4 - ScrollingObjectCollection not updating via scriptMRTK 2.4 - ScrollingObjectCollection 不通过脚本更新
【发布时间】:2021-05-03 08:58:03
【问题描述】:

我在我的场景中创建了一个通知面板,当有事情发生时会显示通知。这些通知只是作为子级添加到 ScrollingObjectCollection:

的按钮

我遇到的问题是,在删除一个通知(中间那个)后,集合没有更新。但是在UpdateCollection-Btn 上单击检查器将更新集合。我调试了一下,发现它知道删除一个后,只剩下两个通知了。

private void DeleteNotification()
{
    if (NotifyManager.Instance.RemoveNotificationFromList(Id))
    {
        Destroy(this.gameObject);
        NotifyManager.Instance.ScrollingCollection.UpdateCollection();
    }
}



这是 Inspector 中 ScrollingObjectCollection 中的按钮 UpdateCollection 调用的内容,其方法与我调用的方法相同:

if (GUILayout.Button("Update Collection"))
{
    scrollContainer.UpdateCollection();
    EditorUtility.SetDirty(scrollContainer);
}

有人知道如何在运行时通过代码更新该集合吗?

我的设置:

  • 团结 2019.4.18
  • MRTK 2.4

【问题讨论】:

    标签: unity3d augmented-reality hololens mrtk windows-mixed-reality


    【解决方案1】:

    好的,我自己修好了。问题是所有都发生在一帧中,ScrollingObjectCollection 没有处于通知被删除的状态。所以我在我的 NotifyManager 中创建了另一个方法,在那里我等待帧结束,然后调用UpdateCollection。

    private IEnumerator WaitBeforeUpdateCollection()
    {
        yield return new WaitForEndOfFrame();
        scrollingCollection.UpdateCollection();
    }
    

    【讨论】:

      猜你喜欢
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      相关资源
      最近更新 更多