Example #1
0
        private void UpdateSavedIgloosMetaDataFromSavedgloosLayoutSummary(SavedIglooLayoutsSummary savedIglooLayoutsSummary)
        {
            SavedIgloosMetaData savedIgloosMetaData = getSavedIgloosMetaData();

            savedIgloosMetaData.ActiveIglooId   = savedIglooLayoutsSummary.activeLayoutId;
            savedIgloosMetaData.IglooVisibility = savedIglooLayoutsSummary.visibility;
            List <SavedIglooLayoutSummary> layoutsSummary = savedIglooLayoutsSummary.layouts;

            if (layoutsSummary != null)
            {
                List <SavedIglooMetaData> list = new List <SavedIglooMetaData>(savedIgloosMetaData.SavedIgloos);
                int i;
                for (i = 0; i < layoutsSummary.Count; i++)
                {
                    int num = list.FindIndex((SavedIglooMetaData layout) => layout.LayoutId == layoutsSummary[i].layoutId);
                    if (num >= 0)
                    {
                        list[num] = SavedIglooLayoutSummaryToSavedIglooMetaData(layoutsSummary[i]);
                    }
                    else
                    {
                        list.Add(SavedIglooLayoutSummaryToSavedIglooMetaData(layoutsSummary[i]));
                    }
                }
                savedIgloosMetaData.SavedIgloos = list;
            }
            savedIgloosMetaData.IsDirty = false;
        }
Example #2
0
        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;
        }
Example #3
0
        private IEnumerator loadIglooEntity(INetworkServicesManager network, SavedIgloosMetaData savedIgloosMetaData)
        {
            yield return(null);

            network.IglooService.UpdateIglooData(savedIgloosMetaData.IglooVisibility, savedIgloosMetaData.ActiveIglooId);
            foreach (SavedIglooMetaData savedIgloo in savedIgloosMetaData.SavedIgloos)
            {
                network.IglooService.GetIglooLayout(savedIgloo.LayoutId);
            }
        }
 private bool onSavedIgloosMetaDataAdded(DataEntityEvents.ComponentAddedEvent <SavedIgloosMetaData> evt)
 {
     if (evt.Handle == dataEntityCollection.LocalPlayerHandle)
     {
         dataEntityCollection.EventDispatcher.RemoveListener <DataEntityEvents.ComponentAddedEvent <SavedIgloosMetaData> >(onSavedIgloosMetaDataAdded);
         savedIgloosMetaData = evt.Component;
         updateButtonSelection();
     }
     return(false);
 }
Example #5
0
        private bool onIglooLayoutDeleted(IglooServiceEvents.IglooLayoutDeleted evt)
        {
            SavedIgloosMetaData       savedIgloosMetaData = getSavedIgloosMetaData();
            List <SavedIglooMetaData> list = new List <SavedIglooMetaData>(savedIgloosMetaData.SavedIgloos);

            foreach (SavedIglooMetaData item in list)
            {
                if (evt.LayoutId == item.LayoutId)
                {
                    savedIgloosMetaData.SavedIgloos.Remove(item);
                    break;
                }
            }
            return(false);
        }
Example #6
0
 public void Setup(Transform popupParent, SavedIgloosMetaData savedIgloosMetaData, bool enableButton)
 {
     this.popupParent = popupParent;
     if (this.savedIgloosMetaData != null)
     {
         this.savedIgloosMetaData.PublishedStatusUpdated -= onPublishedStatusUpdated;
     }
     this.savedIgloosMetaData = savedIgloosMetaData;
     savedIgloosMetaData.PublishedStatusUpdated += onPublishedStatusUpdated;
     onPublishedStatusUpdated(savedIgloosMetaData.IglooVisibility);
     isLoading           = false;
     button.interactable = enableButton;
     if (buttonTintSelector != null)
     {
         int index = (!enableButton) ? 1 : 0;
         buttonTintSelector.SelectColor(index);
     }
 }
Example #7
0
 private bool onIglooJoined(WorldServiceEvents.SelfRoomJoinedEvent evt)
 {
     if (!string.IsNullOrEmpty(evt.Room.zoneId.instanceId))
     {
         DataEntityHandle activeHandle = layoutManager.GetActiveHandle();
         if (!dataEntityCollection.TryGetComponent <SceneOwnerData>(activeHandle, out var component))
         {
             component = dataEntityCollection.AddComponent <SceneOwnerData>(activeHandle);
         }
         component.Name    = evt.RoomOwnerName;
         component.IsOwner = evt.IsRoomOwner;
         if (layoutManager.IsInOwnIgloo())
         {
             SavedIgloosMetaData savedIgloosMetaData = getSavedIgloosMetaData();
             if (savedIgloosMetaData.ActiveIglooId.HasValue)
             {
                 updateSavedIglooMetaData(savedIgloosMetaData.ActiveIglooId.Value, evt.ExtraLayoutData);
             }
             if (savedIgloosMetaData.IsFirstIglooLoad())
             {
                 layoutManager.AddNewActiveLayout();
                 savedIgloosMetaData.IglooVisibility = IglooVisibility.PUBLIC;
                 LocomotionActionEvent locomotionActionEvent = default(LocomotionActionEvent);
                 locomotionActionEvent.Type      = LocomotionAction.Move;
                 locomotionActionEvent.Position  = Vector3.zero;
                 locomotionActionEvent.Direction = Vector3.zero;
                 LocomotionActionEvent action = locomotionActionEvent;
                 networkServicesManager.PlayerActionService.LocomotionAction(action);
             }
             else
             {
                 layoutManager.CacheLayoutFromSceneLayout(savedIgloosMetaData.ActiveIglooId.Value, evt.ExtraLayoutData);
             }
         }
         else
         {
             layoutManager.CacheLayoutFromSceneLayout(0L, evt.ExtraLayoutData);
         }
         DataEntityHandle activeHandle2 = layoutManager.GetActiveHandle();
         stateListener = dataEntityCollection.Whenever <SceneStateData>(activeHandle2, onStateAdded, onStateRemoved);
     }
     return(false);
 }
Example #8
0
 private void onSavedIgloosMetaData(SavedIgloosMetaData savedIgloosMetaData)
 {
     this.savedIgloosMetaData = savedIgloosMetaData;
     this.savedIgloosMetaData.SavedIgloosUpdated     += onSavedIgloosUpdated;
     this.savedIgloosMetaData.PublishedStatusUpdated += onPublishStatusUpdated;
     this.savedIgloosMetaData.ActiveIglooIdUpdated   += onActiveIglooIdUpdated;
     initialActiveIglooId   = savedIgloosMetaData.ActiveIglooId;
     initialIglooVisibility = savedIgloosMetaData.IglooVisibility;
     if (savedIgloosMetaData.SavedIgloos.Count > 0)
     {
         for (int i = 0; i < savedIgloosMetaData.SavedIgloos.Count; i++)
         {
             if (!savedIgloosMetaData.SavedIgloos[i].MemberOnly)
             {
                 hasNonMemberIgloo = true;
                 break;
             }
         }
     }
     checkForData();
 }
Example #9
0
 private void onSavedIgloosAdded(SavedIgloosMetaData savedIgloosMetaData)
 {
     this.savedIgloosMetaData = savedIgloosMetaData;
 }
Example #10
0
 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);
 }
 private void onSavedIgloosAdded(SavedIgloosMetaData savedIgloosMetaData)
 {
     this.savedIgloosMetaData = savedIgloosMetaData;
     this.savedIgloosMetaData.SavedIgloosUpdated += onSavedIgloosUpdated;
     isFirstIglooLoad = !savedIgloosMetaData.ActiveIglooId.HasValue || savedIgloosMetaData.ActiveIglooId == 0;
 }
Example #12
0
 private void onSavedIgloosAdded(SavedIgloosMetaData savedIgloosMetaData)
 {
     this.savedIgloosMetaData = savedIgloosMetaData;
     this.savedIgloosMetaData.SavedIgloosUpdated += onSavedIgloosUpdated;
     isFirstIglooLoad = savedIgloosMetaData.IsFirstIglooLoad();
 }