コード例 #1
0
 public void UpdateTileset(string filename)
 {
     Map.Tileset.UpdateFromImage(filename);
     MapControl.RefreshLayers();
     TilesetControl.Invalidate();
     Invalidate(true);
 }
コード例 #2
0
 public void SetTileSize(int tileWidth, int tileHeight)
 {
     MapControl.ResizeLayers(tileWidth, tileHeight);
     TilesetControl.UpdateTileSize();
     TilesetControl.Invalidate();
     IsDirty = true;
 }
コード例 #3
0
 private void MapControl_PropChanged(object sender, EventArgs e)
 {
     LayerEditor.Layers.StartLayer = Map.StartLayer;
     LayerEditor.Layers.Invalidate();
     EntitiesControl.UpdateList(Map.Entities, Map.Layers);
     TilesetControl.Select(MapControl.CurrentTile);
     SelectTiles(TilesetControl.Selected);
     MapControl.SelWidth = 1;
 }
コード例 #4
0
        private void TileDrawer_ImageEdited(object sender, EventArgs e)
        {
            short tw = TilesetControl.Tileset.TileWidth;
            short th = TilesetControl.Tileset.TileHeight;

            TilesetControl.SetImages(TileDrawer.GetImages(tw, th));
            MapControl.RefreshLayers();
            IsDirty = true;
        }
コード例 #5
0
        private void SelectTiles(List <short> tiles)
        {
            MapControl.Tiles       = tiles;
            MapControl.SelWidth    = TilesetControl.Selection.Width;
            MapControl.CurrentTile = tiles[0];
            Bitmap img = TilesetControl.GetCompiledImage();

            TileDrawer.Content = img;
            img.Dispose();
            TileEditor.Tile = Map.Tileset.Tiles[tiles[0]];
        }
コード例 #6
0
        public override void Load(string filepath)
        {
            Map map = new Map();

            map.Load(filepath);

            MapControl.BaseMap     = map;
            TilesetControl.Tileset = MapControl.BaseMap.Tileset;
            TilesetControl.Select(0);
            SelectTiles(TilesetControl.Selected);
            TilesetControl.ZoomIn();
            InitLayers();
            MapControl.UpdateView();

            Invalidate(true);
        }
コード例 #7
0
        private void TilesetControl_TileAdded(short tile, List <Tile> tiles)
        {
            TileAddPage page = new TileAddPage(this, tiles, tile, Map.CloneAllLayerTiles());

            MapControl.PushTileLayerPage(page);

            foreach (Layer lay in Map.Layers)
            {
                lay.AdjustTiles((short)(tile - 1), (short)tiles.Count);
            }
            MapControl.RefreshLayers();

            redoButton.Enabled = MapControl.CanRedo;
            undoButton.Enabled = MapControl.CanUndo;
            TilesetControl.Select(tile);
            IsDirty = true;
        }
コード例 #8
0
        public void CreateNew(short width      = 20,
                              short height     = 15, short tileWidth    = 16,
                              short tileHeight = 16, string tilesetPath = null)
        {
            Map map = new Map();

            map.CreateNew(width, height, tileWidth, tileHeight, tilesetPath);
            MapControl.BaseMap = map;

            TilesetControl.Tileset = MapControl.BaseMap.Tileset;
            TilesetControl.Select(0);
            SelectTiles(TilesetControl.Selected);
            InitLayers();
            MapControl.UpdateView();

            Invalidate(true);
        }
コード例 #9
0
 private void redoButton_Click(object sender, EventArgs e)
 {
     Redo();
     TilesetControl.UpdateHeight();
     SelectTiles(TilesetControl.Selected);
 }