永続化は World Anchor (ワールドアンカー) の状態を同じアプリケーションの複数の実行で保存するためのシステムです。これは、現実世界の物理的な場所の「ゲームを保存する」機能と考えることができます。例えば、アプリケーションが再起動したときに、ゲームボードがどこに置かれているかが記録されています。
WorldAnchorStore
は、World Anchor の保存と読み込みの基本機能を提供します。 WorldAnchorStore.GetAsync
を呼び出してコールバックを提供し、WorldAnchorStore
を取得します。コールバックは、返された WorldAnchorStore
を保存して、再起動後の操作に使用します。
既存の World Anchor を保存するには、名前を付けて WorldAnchorStore
の Save 関数を呼び出します。 以下の例を参照してください。
private void SaveAnchor()
{
if (!this.savedAnchor) // これを 1 度だけ保存します
{
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 メソッドを呼び出します。