public void AddEntity(IEntity entity) { var viewModel = new EntityNodeViewModel(entity); var components = entity.GetAllComponents(); foreach (var component in components) { viewModel.Components.Add(new ComponentNodeViewModel(component)); } EntityToViewModel.TryAdd(entity, viewModel); Model.Entities.Add(viewModel); }
public void AddChild(IEntity parent, IEntity child) { if (!EntityToViewModel.ContainsKey(parent)) { return; } if (EntityToViewModel.TryGetValue(child, out var existingViewModel)) { Model.Entities.Remove(existingViewModel); EntityToViewModel[parent].Entities.Add(existingViewModel); } else { var viewModel = new EntityNodeViewModel(child); EntityToViewModel[parent].Entities.Add(viewModel); } }