Version: 2017.2
锚点
Anchor Sharing

Persistence

Persistence is a system for saving World Anchor states across multiple runs of the same application. This can be thought of as a “save game” functionality for physical locations in the real world. An example of this is remembering where a game board is placed in the world when the application re-launches.

WorldAnchorStore 提供了保存和加载世界锚点的基本功能。应通过调用 WorldAnchorStore.GetAsync 并为其提供回调来检索 WorldAnchorStore。回调会保存返回的 WorldAnchorStore 以便可用于将来的操作。

要保存现有的世界锚点,请为其命名并在 WorldAnchorStore 上调用 Save 函数。请参阅以下示例:

private void SaveAnchor()
{
    if (!this.savedAnchor) // 只保存一次
    {
        this.savedAnchor = this.MyWorldAnchorStore.Save("MyAnchor", MyWorldAnchor);
        if (!this.savedAnchor)
        {
            // 锚点未能保存到存储库。
            //在此处进行错误处理。
        }
    }
}

加载本质上是上述情况的反映:

private void LoadAnchor()
{
    this.savedAnchor = this.Load("MyAnchor", MyWorldAnchor);
    if (!this.savedAnchor)
    {
        // 未将该名称的锚点保存到存储库。
        // 在此处进行错误处理。
    }
}

要从存储库中删除锚点,请在 WorldAnchorStore 上调用 Delete 方法。要从存储库中删除所有锚点,请调用 Clear 方法。

锚点
Anchor Sharing