public void RecreateEntityGroupGraph(UTinyEntityGroup.Reference entityGroupRef) { var entityGroup = entityGroupRef.Dereference(Registry); if (null == entityGroup) { return; } m_EntityGroupToGraph[entityGroupRef] = EntityGroupGraph.CreateFromEntityGroup(entityGroup); }
public void RecreateEntityGroupGraphs() { foreach (var entityGroupRef in LoadedEntityGroups) { var entityGroup = entityGroupRef.Dereference(Registry); if (null == entityGroup) { continue; } m_EntityGroupToGraph[entityGroupRef] = EntityGroupGraph.CreateFromEntityGroup(entityGroup); } }
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); }