public void CreateWorldObject(WorldObjectDefinition worldObjectType) { this.SelectedWorldObject = null; var newWorldObject = worldObjectType.GetDefaultedObject(); var viewModel = worldObjectType.CreateWorldObjectViewModel(); viewModel.Context = Context; newWorldObject.Id = Guid.NewGuid().ToString(); newWorldObject.X = CreationPointX / Settings.MetersToPixels; newWorldObject.Y = CreationPointY / Settings.MetersToPixels; viewModel.SetRepository(_packageRepository); viewModel.SetModel(newWorldObject); viewModel.X = CreationPointX / Settings.MetersToPixels; viewModel.Y = CreationPointY / Settings.MetersToPixels; _worldObjects.Add(viewModel); Context.AddWorldObjectViewModel(viewModel); this.SelectedWorldObject = viewModel; }
public void CopyExecute() { _clipboardObjectDefinition = null; var model = (ArchetypeBasedWorldObject)_selectedWorldObject.MoveViewToModel(); this.CreationPointX = (Int32)model.X + 5; this.CreationPointY = (Int32)model.Y + 5; foreach (var a in _archetypes) { if (a.Key == model.ArchetypeKey) { _clipboardObjectDefinition = a; break; } } _pasteCommand.RaiseCanExecuteChanged(); }