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 方法。