private bool onIglooDataUpdated(IglooServiceEvents.IglooDataUpdated evt) { if (evt.SignedIglooData.Data.activeLayout == null) { return(false); } if (dataEntityCollection.TryGetComponent <SavedIgloosMetaData>(dataEntityCollection.LocalPlayerHandle, out var component)) { IglooData data = evt.SignedIglooData.Data; UpdateSavedIgloosMetaDataFromIglooData(data, component); foreach (SavedIglooMetaData savedIgloo in component.SavedIgloos) { if (savedIgloo.LayoutId == data.activeLayoutId) { SceneLayoutToSavedIglooMetaData(data.activeLayoutId.Value, data.activeLayout, savedIgloo); savedIgloo.SceneLayout = data.activeLayout; break; } } component.IsDirty = false; } if (evt.SignedIglooData.Data.activeLayout != null) { dataEntityCollection.GetComponent <ProfileData>(dataEntityCollection.LocalPlayerHandle).ZoneId.name = evt.SignedIglooData.Data.activeLayout.zoneId; } return(false); }
public static void UpdateSavedIgloosMetaDataFromIglooData(IglooData iglooData, SavedIgloosMetaData savedIgloosMetaData) { savedIgloosMetaData.ActiveIglooId = (iglooData.activeLayoutId.HasValue ? iglooData.activeLayoutId.Value : 0); savedIgloosMetaData.IglooVisibility = (iglooData.visibility.HasValue ? iglooData.visibility.Value : IglooVisibility.PRIVATE); }
public void Init() { Data = new IglooData(); }