private void HandleChanges(Changes changes) { foreach (var created in changes.CreatedEntities()) { var entity = m_WorldManager.GetEntityFromGuid(created); if (EntityManager.Exists(entity) && EntityManager.HasComponent <EntityName>(entity)) { m_EntityGuidToName[created] = EntityManager.GetBufferAsString <EntityName>(entity); } } foreach (var changed in changes.ChangedEntitiesWithAddComponent <EntityName>() .Concat(changes.ChangedEntitiesWithSetComponent <EntityName>())) { var entity = m_WorldManager.GetEntityFromGuid(changed); if (EntityManager.Exists(entity) && EntityManager.HasComponent <EntityName>(entity)) { m_EntityGuidToName[changed] = EntityManager.GetBufferAsString <EntityName>(entity); } } foreach (var changed in changes.ChangedEntitiesWithRemoveComponent <EntityName>()) { m_EntityGuidToName.Remove(changed); } foreach (var deleted in changes.DeletedEntities()) { m_EntityGuidToName.Remove(deleted); } }