public object Clone() { ArtAsset newAsset = new ArtAsset(Index, m_art, m_type, null, null, m_tileDataInstance); newAsset.m_bmp = this.m_bmp; newAsset.m_bmpImage = this.m_bmpImage; return(newAsset); }
private void CopyToClipboard_Click(object sender, RoutedEventArgs e) { System.Windows.Controls.Button button = sender as System.Windows.Controls.Button; if (button == null) { return; } IList selectedItems = null; BindingList <ArtAsset> targetList = null; if (m_displayItemData) { targetList = ClipBoardItems; if (button.CommandParameter.ToString() == "1") { selectedItems = ArtList1.SelectedItems; } else { selectedItems = ArtList2.SelectedItems; } } else { targetList = ClipBoardLand; if (button.CommandParameter.ToString() == "1") { selectedItems = LandList1.SelectedItems; } else { selectedItems = LandList2.SelectedItems; } } if (selectedItems != null && selectedItems.Count > 0) { foreach (ArtAsset asset in selectedItems) { ArtAsset newAsset = asset.Clone() as ArtAsset; if (newAsset != null) { if (ModifyTileData) { newAsset.ItemDatum = asset.ItemDatum; newAsset.LandDatum = asset.LandDatum; } newAsset.Index = -1; newAsset.ArtInstance = null; newAsset.TileDataInstance = null; targetList.Add(newAsset); } } } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { BitmapImage img = null; ArtAsset asset = value as ArtAsset; if (asset != null) { img = asset.BmpImage; } return(img); }
public void SetItem(int idx, ArtAsset asset) { Items[idx] = asset; OnPropertyChanged("Items"); }
private void MoveSelectedItems(IList sourceSelection, ArtSet destination, IList destinationSelection) { if (sourceSelection == null || destination == null || destinationSelection == null || destinationSelection.Count < 1) { return; } ArtAsset destAsset = destinationSelection[0] as ArtAsset; if (destAsset == null) { return; } int idx = destAsset.Index; if (idx < 0 || idx >= destination.Items.Count) { return; } foreach (ArtAsset asset in sourceSelection) { if (idx < destination.Items.Count) { ArtAsset clone = asset.Clone() as ArtAsset; if (clone != null) { clone.Index = idx; clone.ArtInstance = destination.ArtInstance; clone.TileDataInstance = destination.TileDataInstance; if (ModifyTileData) { clone.ItemDatum = asset.ItemDatum; clone.LandDatum = asset.LandDatum; } else { ArtAsset existingDestinationAsset = null; if (m_displayItemData) { existingDestinationAsset = destination.Items[idx]; } else { existingDestinationAsset = destination.Land[idx]; } if (existingDestinationAsset != null) { clone.ItemDatum = existingDestinationAsset.ItemDatum; clone.LandDatum = existingDestinationAsset.LandDatum; } } if (m_displayItemData) { destination.Items.RemoveAt(idx); destination.Items.Insert(idx, clone); } else { destination.Land.RemoveAt(idx); destination.Land.Insert(idx, clone); } clone.Save(); idx++; } } } }