예제 #1
0
        public void PasteStamp(Point ChunkCoord, int index, Classes.Scene.EditorLayer EditLayerA, Classes.Scene.EditorLayer EditLayerB, bool deleteMode = false)
        {
            Point TileCoord = new Point(ChunkCoord.X * 128, ChunkCoord.Y * 128);
            Dictionary <Point, ushort> ConvertedChunkA = new Dictionary <Point, ushort>();
            Dictionary <Point, ushort> ConvertedChunkB = new Dictionary <Point, ushort>();

            if (deleteMode)
            {
                ConvertedChunkA = ConvertChunkSideAtoClipboard(EditorStamps.StampList[0]);
                ConvertedChunkB = ConvertChunkSideBtoClipboard(EditorStamps.StampList[0]);
            }
            else
            {
                ConvertedChunkA = ConvertChunkSideAtoClipboard(StageStamps.StampList[index]);
                ConvertedChunkB = ConvertChunkSideBtoClipboard(StageStamps.StampList[index]);
            }

            EditLayerA?.PasteClipboardData(TileCoord, new Classes.Clipboard.TilesClipboardEntry(ConvertedChunkA));
            EditLayerB?.PasteClipboardData(TileCoord, new Classes.Clipboard.TilesClipboardEntry(ConvertedChunkB));
            Actions.UndoRedoModel.UpdateEditLayersActions();
            EditLayerA?.DeselectAll();
            EditLayerB?.DeselectAll();
        }