Exemple #1
0
        private void resizeTilemapsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (currentSector == null)
            {
                return;
            }

            int currentSizeX = 0;
            int currentSizeY = 0;

            foreach (Tilemap tilemap in currentSector.tilemaps)
            {
                if (tilemap.width > currentSizeX)
                {
                    currentSizeX = tilemap.width;
                }
                if (tilemap.height > currentSizeY)
                {
                    currentSizeY = tilemap.height;
                }
            }

            SectorResizeDialog srd = new SectorResizeDialog(currentSizeX, currentSizeY);

            if (srd.ShowDialog() == DialogResult.OK)
            {
                foreach (Tilemap tilemap in currentSector.tilemaps)
                {
                    tilemap.OffsetBy(srd.OffsetX, srd.OffsetY);
                    tilemap.ResizeTo(srd.SectorWidth, srd.SectorHeight);
                }
                foreach (GameObject go in currentSector.gameObjects)
                {
                    if (!(go is SpatialGameObject))
                    {
                        continue;
                    }
                    SpatialGameObject sgo = (SpatialGameObject)go;
                    sgo.X += 32 * srd.OffsetX;
                    sgo.Y += 32 * srd.OffsetY;
                }
                cbSector_SelectedIndexChanged(sender, e);
            }
        }
        private void resizeTilemapsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (currentSector == null) return;

            int currentSizeX = 0;
            int currentSizeY = 0;
            foreach (Tilemap tilemap in currentSector.tilemaps) {
                if (tilemap.width > currentSizeX) currentSizeX = tilemap.width;
                if (tilemap.height > currentSizeY) currentSizeY = tilemap.height;
            }

            SectorResizeDialog srd = new SectorResizeDialog(currentSizeX, currentSizeY);

            if (srd.ShowDialog() == DialogResult.OK) {
                foreach (Tilemap tilemap in currentSector.tilemaps) {
                    tilemap.OffsetBy(srd.OffsetX, srd.OffsetY);
                    tilemap.ResizeTo(srd.SectorWidth, srd.SectorHeight);
                }
                foreach (GameObject go in currentSector.gameObjects) {
                    if (!(go is SpatialGameObject)) continue;
                    SpatialGameObject sgo = (SpatialGameObject)go;
                    sgo.X += 32*srd.OffsetX;
                    sgo.Y += 32*srd.OffsetY;
                }
                cbSector_SelectedIndexChanged(sender, e);
            }
        }