public void Execute()
 {
     eventChannel.AddListener <IglooServiceEvents.IglooLayoutUpdated>(onLayoutUpdated);
     eventChannel.AddListener <IglooServiceEvents.IglooDataUpdated>(onDataUpdated);
     iglooService.UpdateIglooLayout(layoutId, sceneLayout, this);
     iglooService.UpdateIglooData(visibility, layoutId, this);
 }
 public void UpdateIglooData(Action <bool, SceneLayoutData> callback = null)
 {
     updateDataCallback = callback;
     if (savedIgloosMetaData.IsDirty)
     {
         eventChannel.AddListener <IglooServiceEvents.IglooDataUpdated>(onIglooDataUpdated);
         iglooService.UpdateIglooData(savedIgloosMetaData.IglooVisibility, savedIgloosMetaData.ActiveIglooId, this);
         return;
     }
     logBIForSavingIglooLayout(layoutManager.GetActiveSceneLayoutData());
     if (updateDataCallback != null)
     {
         updateDataCallback.InvokeSafe(arg1: true, layoutManager.GetActiveSceneLayoutData());
         updateDataCallback = null;
     }
 }