public void CreateIgloo(Action <bool, SceneLayoutData> callback) { createCallback = callback; SceneLayoutData activeSceneLayoutData = layoutManager.GetActiveSceneLayoutData(); if (activeSceneLayoutData != null) { MutableSceneLayout mutableSceneLayout = new MutableSceneLayout(); SceneLayoutSyncService.ConvertToMutableSceneLayout(mutableSceneLayout, activeSceneLayoutData); eventChannel.AddListener <IglooServiceEvents.IglooLayoutCreated>(onIglooCreated); iglooService.CreateIglooLayout(mutableSceneLayout, this); return; } Log.LogError(this, "Unable to create igloo. Scene layout data not in data model"); if (createCallback != null) { createCallback.InvokeSafe(arg1: false, null); createCallback = null; } }
public void UpdateAndPublishActiveLayout(Action <bool, SceneLayoutData> callback = null) { updateAndPublishCallback = callback; SceneLayoutData activeSceneLayoutData = layoutManager.GetActiveSceneLayoutData(); MutableSceneLayout mutableSceneLayout = new MutableSceneLayout(); SceneLayoutSyncService.ConvertToMutableSceneLayout(mutableSceneLayout, activeSceneLayoutData); IglooVisibility?visibility = null; if (savedIgloosMetaData.IsDirty) { visibility = savedIgloosMetaData.IglooVisibility; } if (updateAndPublishCallback != null) { eventChannel.AddListener <IglooServiceEvents.IglooPublished>(onIglooPublished); } iglooService.UpdateAndPublish(activeSceneLayoutData.LayoutId, visibility, mutableSceneLayout, this); logBIForSavingIglooLayout(activeSceneLayoutData); }