Example #1
0
 public override void Do()
 {
     ClipBoardManager clipBoardManager = ClipBoardManager.Instance;
     m_previousClipboardContent = clipBoardManager.RetrieveTileBrush();
     TileBrush tileBrush = new TileBrush(m_layer, m_tileSelection);
     clipBoardManager.StoreTileBrush(tileBrush);
 }
Example #2
0
 internal TileBrush(TileBrush tileBrush)
 {
     m_id                  = tileBrush.m_id;
     m_brushSize           = tileBrush.m_brushSize;
     m_tileSize            = tileBrush.m_tileSize;
     m_displaySize         = tileBrush.m_displaySize;
     m_tileBrushElements   = new List <TileBrushElement>(tileBrush.m_tileBrushElements);
     m_imageRepresentation = tileBrush.m_imageRepresentation;
 }
Example #3
0
 internal TileBrush(TileBrush tileBrush)
 {
     m_id = tileBrush.m_id;
     m_brushSize = tileBrush.m_brushSize;
     m_tileSize = tileBrush.m_tileSize;
     m_displaySize = tileBrush.m_displaySize;
     m_tileBrushElements = new List<TileBrushElement>(tileBrush.m_tileBrushElements);
     m_imageRepresentation = tileBrush.m_imageRepresentation;
 }
Example #4
0
        public EditCutCommand(Layer layer, TileSelection tileSelection)
        {
            m_layer = layer;
            m_selectionLocation = tileSelection.Bounds.Location;
            m_tileSelection = tileSelection;
            m_oldTiles = null;

            m_description = "Cut selection from layer \"" + m_layer.Id + "\"";
        }
Example #5
0
        public EditDeleteCommand(Layer layer, TileSelection tileSelection)
        {
            m_layer = layer;
            m_selectionLocation = tileSelection.Bounds.Location;
            m_tileSelection = tileSelection;
            m_tileBrush = null;

            m_description = "Erase selection from layer \"" + m_layer.Id + "\"";
        }
Example #6
0
        public TileBrushDialog(Map map, TileBrushCollection tileBrushCollection)
        {
            InitializeComponent();

            m_map = map;
            m_tileBrushCollection = tileBrushCollection;
            m_newTileBrush = null;
            m_selectedTileBrush = null;
        }
Example #7
0
        public override void Do()
        {
            TileSelection tileSelection = new TileSelection();
            m_tileBrush.GenerateSelection(m_brushLocation, tileSelection);
            m_oldTiles = new TileBrush(m_layer, tileSelection);

            m_tileBrush.ApplyTo(m_layer, m_brushLocation, m_tileSelection);
            if (!m_fromClipboard)
                m_tileSelection.Clear();
        }
Example #8
0
        public EditTileBrushesCommand(
            Map map,
            TileBrushCollection currentTileBrushCollection,
            TileBrush newTileBrush)
        {
            m_map = map;
            m_currentTileBrushCollection = currentTileBrushCollection;
            m_oldTileBrushCollection = new TileBrushCollection(currentTileBrushCollection);
            m_newTileBrushCollection = new TileBrushCollection(currentTileBrushCollection);
            m_newTileBrushCollection.TileBrushes.Add(newTileBrush);

            m_description = "Make new tile brush";
        }
Example #9
0
        public EditPasteCommand(Layer layer,
            TileBrush tileBrush, Location brushLocation,
            TileSelection tileSelection, bool fromClipboard)
        {
            m_layer = layer;
            m_tileBrush = tileBrush;
            m_brushLocation = brushLocation;
            m_tileSelection = tileSelection;
            m_fromClipboard = fromClipboard;
            m_oldTiles = null;

            m_description = fromClipboard
                ? "Paste copied tiles" : "Paste tile brush \"" + tileBrush.Id + "\"";
            m_description += " at " + m_brushLocation + " in layer \"" + m_layer.Id + "\"";
        }
Example #10
0
 public override void Do()
 {
     m_tileBrush = new TileBrush(m_layer, m_tileSelection);
     m_tileSelection.EraseTiles(m_layer);
 }
Example #11
0
 public TilePickerEventArgs(TileBrush tileBrush)
 {
     m_tileSheet = null;
     m_tileIndex = -1;
     m_tileBrush = tileBrush;
 }
Example #12
0
        private void OnTilePanelMouseUp(object sender, MouseEventArgs mouseEventArgs)
        {
            if (m_tileSheet == null)
                return;

            if (mouseEventArgs.Button != MouseButtons.Left)
                return;

            m_leftMouseDown = false;

            if (m_brushEnd == m_brushStart)
            {
                // single tile selected
                m_selectedTileIndex = GetTileIndex(mouseEventArgs.Location);
                if (m_selectedTileIndex >= 0)
                {
                    if (m_orderMode == OrderMode.MRU)
                        m_selectedTileIndex = m_indexToMru[m_selectedTileIndex];

                    UpdateMru(m_selectedTileIndex);

                    if (m_orderMode == OrderMode.MRU)
                        m_focusOnTile = true;

                    if (TileSelected != null)
                        TileSelected(this,
                            new TilePickerEventArgs(m_tileSheet, m_selectedTileIndex));

                    m_tilePanel.Invalidate();
                }
            }
            else
            {
                if (TileBrushSelected != null)
                {
                    // tile brush selected
                    int tileCount = m_tileSheet.TileCount;
                    int tilesAcross = Math.Max(1, m_requiredSize.Width / (m_tileSheet.TileWidth + 1));
                    int tilesDown = 1 + (tileCount - 1) / tilesAcross;
                    xTile.Layers.Layer dummyLayer = new xTile.Layers.Layer(
                        "", m_tileSheet.Map,
                        new xTile.Dimensions.Size(1, 1), m_tileSheet.TileSize);
                    List<TileBrushElement> tileBrushElements = new List<TileBrushElement>();
                    for (int tileY = m_brushStart.Y; tileY <= m_brushEnd.Y; tileY++)
                    {
                        for (int tileX = m_brushStart.X; tileX <= m_brushEnd.X; tileX++)
                        {
                            int tileIndex = tileY * tilesAcross + tileX;
                            if (tileIndex >= tileCount)
                                continue;
                            if (m_orderMode == OrderMode.MRU)
                                tileIndex = m_indexToMru[tileIndex];
                            tileBrushElements.Add(new TileBrushElement(
                                new StaticTile(dummyLayer, m_tileSheet, BlendMode.Alpha, tileIndex),
                                new xTile.Dimensions.Location(tileX - m_brushStart.X, tileY - m_brushStart.Y)));
                        }
                    }

                    TileBrush tileBrush = new TileBrush("TilePickerBrush", tileBrushElements);
                    TileBrushSelected(this, new TilePickerEventArgs(tileBrush));
                }
            }
        }
Example #13
0
        private void OnEditMakeTileBrush(object sender, EventArgs eventArgs)
        {
            Layer layer = m_mapPanel.SelectedLayer;
            if (layer == null)
                return;

            TileSelection tileSelection = m_mapPanel.TileSelection;
            if (tileSelection.IsEmpty())
                return;

            string tileBrushId = m_tileBrushCollection.GenerateId();
            TileBrush newTileBrush = new TileBrush(tileBrushId, layer, tileSelection);

            TileBrushDialog tileBrushDialog
                = new TileBrushDialog(m_map, m_tileBrushCollection, newTileBrush);
            if (tileBrushDialog.ShowDialog(this) == DialogResult.OK)
            {
                UpdateTileBrushDropDown();
                m_mapPanel.TileSelection.Clear();

                OnToolsTileBrush(sender, eventArgs);

                UpdateTileBrushDropDown();
                UpdateEditControls();
            }
        }
Example #14
0
 private ClipBoardManager()
 {
     m_tileBrush = null;
 }
Example #15
0
 public void StoreTileBrush(TileBrush tileBrush)
 {
     m_tileBrush = tileBrush;
 }
Example #16
0
        private void OnSelectedIndexChanged(object sender, EventArgs eventArgs)
        {
            bool selected = m_listView.SelectedIndices.Count > 0;
            m_renameButton.Enabled = m_deleteButton.Enabled = selected;

            m_selectedTileBrush = selected
                ? (TileBrush) m_listView.SelectedItems[0].Tag
                : null;
        }
Example #17
0
 public TilePickerEventArgs(TileSheet tileSheet, int tileIndex)
 {
     m_tileSheet = tileSheet;
     m_tileIndex = tileIndex;
     m_tileBrush = null;
 }