Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
 public void SetItem(int idx, ArtAsset asset)
 {
     Items[idx] = asset;
     OnPropertyChanged("Items");
 }
Exemplo n.º 5
0
        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++;
                    }
                }
            }
        }