public void RecreateEntityGroupGraph(UTinyEntityGroup.Reference entityGroupRef)
        {
            var entityGroup = entityGroupRef.Dereference(Registry);

            if (null == entityGroup)
            {
                return;
            }
            m_EntityGroupToGraph[entityGroupRef] = EntityGroupGraph.CreateFromEntityGroup(entityGroup);
        }
Esempio n. 2
0
 public void RecreateEntityGroupGraphs()
 {
     foreach (var entityGroupRef in LoadedEntityGroups)
     {
         var entityGroup = entityGroupRef.Dereference(Registry);
         if (null == entityGroup)
         {
             continue;
         }
         m_EntityGroupToGraph[entityGroupRef] = EntityGroupGraph.CreateFromEntityGroup(entityGroup);
     }
 }
Esempio n. 3
0
        private void LoadEntityGroup(UTinyEntityGroup.Reference entityGroupRef, int index, bool rebuildWorkspace)
        {
            var entityGroup = entityGroupRef.Dereference(Registry);

            if (null == entityGroup)
            {
                Debug.Log($"{UTinyConstants.ApplicationName}: Could not load group named '{entityGroupRef.Name}' as the reference could not be resolved.");
                return;
            }

            if (m_LoadedEntityGroups.Contains(entityGroupRef))
            {
                Debug.Log($"{UTinyConstants.ApplicationName}: Cannot load the group named '{entityGroupRef.Name}'. It is already loaded");
                return;
            }

            if (HierarchyHelper.GetOrGenerateScratchPad(m_Context))
            {
                OnWillLoadEntityGroup?.Invoke(entityGroupRef);
                if (index >= 0 && index < m_LoadedEntityGroups.Count)
                {
                    m_LoadedEntityGroups.Insert(index, entityGroupRef);
                }
                else
                {
                    m_LoadedEntityGroups.Add(entityGroupRef);
                }
                m_EntityGroupToGraph[entityGroupRef] = EntityGroupGraph.CreateFromEntityGroup(entityGroup);
            }

            if (rebuildWorkspace)
            {
                RebuildWorkspace();
            }
            SetActiveEntityGroup(entityGroupRef, rebuildWorkspace);

            OnEntityGroupLoaded?.Invoke(entityGroupRef);
        }