public static SavedIglooMetaData CreateSavedIglooMetaDataFromSceneLayout(long layoutId, SceneLayout sceneLayout) { SavedIglooMetaData savedIglooMetaData = new SavedIglooMetaData(); SceneLayoutToSavedIglooMetaData(layoutId, sceneLayout, savedIglooMetaData); return(savedIglooMetaData); }
private void updateSavedIglooMetaData(long layoutId, SceneLayout savedSceneLayout) { SavedIgloosMetaData savedIgloosMetaData = getSavedIgloosMetaData(); List <SavedIglooMetaData> list = new List <SavedIglooMetaData>(savedIgloosMetaData.SavedIgloos); bool flag = false; foreach (SavedIglooMetaData item in list) { if (layoutId == item.LayoutId) { SceneLayoutToSavedIglooMetaData(layoutId, savedSceneLayout, item); item.SceneLayout = savedSceneLayout; flag = true; break; } } if (!flag) { SavedIglooMetaData current = CreateSavedIglooMetaDataFromSceneLayout(layoutId, savedSceneLayout); current.SceneLayout = savedSceneLayout; list.Add(current); if (!savedIgloosMetaData.ActiveIglooId.HasValue) { savedIgloosMetaData.ActiveIglooId = layoutId; } } savedIgloosMetaData.SavedIgloos = list; savedIgloosMetaData.IsDirty = false; }
public void DeleteIglooLayout(long iglooId) { foreach (SavedIglooMetaData savedIgloo in savedIgloosMetaData.SavedIgloos) { if (savedIgloo.LayoutId == iglooId) { iglooToDelete = savedIgloo; } } if (iglooToDelete != null) { eventDispatcher.AddListener <IglooServiceEvents.IglooLayoutDeleted>(onIglooLayoutDeleted); stateController.ShowLoadingModalPopup(); if (iglooToDelete.LayoutId == initialActiveIglooId) { stateController.DataManager.UpdateIglooData(onIglooDataUpdated); } else { iglooService.DeleteIglooLayout(iglooId); } } else { Log.LogErrorFormatted(this, "Tried to delete igloo (ID: {0}), but this igloo was not found in the SavedIgloosMetaData!", iglooId); stateController.IglooSaveStatusNotification(IglooUIStateController.IglooSaveStatus.GeneralError, showAfterSceneLoad: false); } }
public void Init(ManageIglooPopupController manageIglooPopupController, LotDefinition lotDefinition, SavedIglooMetaData iglooMetaData, IglooCardState state) { manageIgloos = manageIglooPopupController; savedIglooMetaData = iglooMetaData; layoutId = iglooMetaData.LayoutId; CreatedDate.text = formatCreatedDate(iglooMetaData.CreatedDate); LastEditedDate.text = formatLastEditedDate(iglooMetaData.LastModifiedDate); Content.LoadAsync(onImageLoadComplete, lotDefinition.PreviewImageLarge); SetCardState(state); }
private SavedIglooMetaData SavedIglooLayoutSummaryToSavedIglooMetaData(SavedIglooLayoutSummary savedIglooLayoutSummary) { SavedIglooMetaData savedIglooMetaData = new SavedIglooMetaData(); savedIglooMetaData.Name = savedIglooLayoutSummary.name; savedIglooMetaData.LayoutId = savedIglooLayoutSummary.layoutId; savedIglooMetaData.LotZoneName = savedIglooLayoutSummary.lot; savedIglooMetaData.CreatedDate = savedIglooLayoutSummary.createdDate; savedIglooMetaData.LastModifiedDate = savedIglooLayoutSummary.lastUpdatedDate; savedIglooMetaData.MemberOnly = savedIglooLayoutSummary.memberOnly; return(savedIglooMetaData); }
private void setIglooPropertiesCard(LotDefinition lotDefinition, SavedIglooMetaData iglooMetaData) { if (membershipData.IsMember && !iglooMetaData.MemberOnly) { return; } if (!iglooPropertiesCards.ContainsKey(iglooMetaData.LayoutId)) { Log.LogErrorFormatted(this, "Unable to find igloo layout card with layout id of {0}.", iglooMetaData.LayoutId); return; } IglooPropertiesCard.IglooCardState state = IglooPropertiesCard.IglooCardState.InActive; if (iglooMetaData.MemberOnly && !membershipData.IsMember) { state = IglooPropertiesCard.IglooCardState.MemberLocked; } else if (savedIgloosMetaData.ActiveIglooId.HasValue && iglooMetaData.LayoutId == savedIgloosMetaData.ActiveIglooId.Value) { state = IglooPropertiesCard.IglooCardState.Active; } iglooPropertiesCards[iglooMetaData.LayoutId].Init(this, lotDefinition, iglooMetaData, state); }
private bool onIglooLayoutDeleted(IglooServiceEvents.IglooLayoutDeleted evt) { eventDispatcher.RemoveListener<IglooServiceEvents.IglooLayoutDeleted>(onIglooLayoutDeleted); stateController.HideLoadingModalPopup(); if (newActiveIglooSceneLayoutData != null && newActiveIglooSceneLayoutData.LotZoneName != iglooToDelete.LotZoneName) { OnCloseButton(); return false; } iglooToDelete = null; GameObject gameObject = iglooPropertiesCards[evt.LayoutId].gameObject; Transform slotContainer = gameObject.transform.parent; iglooPropertiesCards.Remove(evt.LayoutId); Object.Destroy(gameObject); createButtonCount = 1; Content.LoadAsync(delegate(string path, GameObject asset) { replacePropertiesButtonWithCreate(asset, slotContainer); }, CreateNewIglooPrefab); savedIgloosMetaData.IsDirty = true; return false; }
public static void SceneLayoutToSavedIglooMetaData(long layoutId, SceneLayout sceneLayout, SavedIglooMetaData savedIglooMetaData) { savedIglooMetaData.LayoutId = layoutId; savedIglooMetaData.CreatedDate = (sceneLayout.createdDate.HasValue ? sceneLayout.createdDate.Value : 0); savedIglooMetaData.LastModifiedDate = (sceneLayout.lastModifiedDate.HasValue ? sceneLayout.lastModifiedDate.Value : 0); savedIglooMetaData.MemberOnly = sceneLayout.memberOnly; savedIglooMetaData.LotZoneName = sceneLayout.zoneId; }