void OnEnable() { if (saveLoad == null) { saveLoad = ScriptableObject.CreateInstance("PersistenceSaveLoad") as PersistenceSaveLoad; saveLoad.PersistenceEvent += SaveLoad_PersistenceEvent; } #if UNITY_WSA if (worldAnchorStore == null) { IsReady = false; WorldAnchorStore.GetAsync(delegate(WorldAnchorStore store) { this.worldAnchorStore = store; IsReady = true; if (AutoLoadOnEnable) { LoadAnchor(); } }); } else { if (AutoLoadOnEnable) { LoadAnchor(); } } #endif }
/// <summary> /// Re-boardcast the "saveLoad" events to this object's listeners /// </summary> private void SaveLoad_PersistenceEvent(PersistenceSaveLoad source, PersistenceEventArgs args) { AnchorPersistenceEventType type = AnchorPersistenceEventType.Unknown; switch (args.Type) { case PersistenceEventType.AppliedShared: type = AnchorPersistenceEventType.AppliedShared; break; case PersistenceEventType.ApplyingShared: type = AnchorPersistenceEventType.ApplyingShared; break; case PersistenceEventType.Loaded: type = AnchorPersistenceEventType.Loaded; break; case PersistenceEventType.Saved: type = AnchorPersistenceEventType.Saved; break; } if (type != AnchorPersistenceEventType.Unknown) { RaiseAnchorPersistenceEvent(type, args.AnchorOwner, args.AnchorId); } }
/// <summary> /// Re-boardcast the "saveLoad" events to this object's listeners /// </summary> private void SaveLoad_PersistenceEvent(PersistenceSaveLoad source, PersistenceEventArgs args) { if (PersistenceEvent != null) { PersistenceEvent(this, args); } }