Weed.nagoya - 挑戦&物欲プログラマー

HoloLensの出張授業をする会社で、教材を開発しています

シェアリングのPrefabSpawnManagerで生成したオブジェクトのUserIdを取り出す

この記事はHoloLensに関する下記記事を前提にしています。

www.weed.nagoya

まず、PrefabSpawnManagerでSpawnするときの最後の引数をtrueにします。

this.spawnManager.Spawn(spawnedObject, position, rotation, null, "SpawnedMagnet", true);

すると、生成したオブジェクトにOwner情報が含められるようになります。これを取り出すには、DefaultSyncModelAccessorコンポーネントを使います。DefaultSyncModelAccessorコンポーネントは、PrefabSpawnManagerで生成したオブジェクトに自動的にアタッチされるスクリプトです。自動的にアタッチされるコンポーネントには、他にもTransform Synchronizerがあります。

f:id:weed_7777:20180507094550p:plain

このDefaultSyncModelAccessorコンポーネントからオブジェクトの様々なプロパティにアクセスすることができます。

int userId = GetComponent<DefaultSyncModelAccessor>().SyncModel.OwnerId;

あれ、UserIdってlongじゃなかったっけ…