Exemplo n.º 1
0
        private void CommandAddTileLayer()
        {
            if (CommandCanAddTileLayer())
            {
                string name = FindDefaultLayerName("Tile Layer");

                using (TileLayerForm form = new TileLayerForm(_level, name)) {
                    foreach (Layer layer in _level.Layers)
                    {
                        form.ReservedNames.Add(layer.Name);
                    }

                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        _level.Layers.Add(form.Layer);

                        // Intercept event instead
                        AddLayer(form.Layer);

                        SelectLayer(form.Layer.Uid);

                        OnSyncLayerList(EventArgs.Empty);
                        OnSyncLayerSelection(EventArgs.Empty);
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void CommandEditLayer()
        {
            if (CommandCanEditLayer())
            {
                if (SelectedLayer.Layer is MultiTileGridLayer)
                {
                    using (TileLayerForm form = new TileLayerForm(SelectedLayer.Layer as MultiTileGridLayer)) {
                        foreach (Layer layer in _level.Layers)
                        {
                            if (layer.Name != SelectedLayer.Layer.Name)
                            {
                                form.ReservedNames.Add(layer.Name);
                            }
                        }

                        if (form.ShowDialog() == DialogResult.OK)
                        {
                            _gridLayer.GridColor = SelectedLayer.Layer.GridColor;
                            OnSyncLayerList(EventArgs.Empty);
                        }
                    }
                }
                else if (SelectedLayer.Layer is ObjectLayer)
                {
                    using (ObjectLayerForm form = new ObjectLayerForm(SelectedLayer.Layer as ObjectLayer)) {
                        foreach (Layer layer in _level.Layers)
                        {
                            if (layer.Name != SelectedLayer.Layer.Name)
                            {
                                form.ReservedNames.Add(layer.Name);
                            }
                        }

                        if (form.ShowDialog() == DialogResult.OK)
                        {
                            _gridLayer.GridSpacingX = SelectedLayer.Layer.GridWidth;
                            _gridLayer.GridSpacingY = SelectedLayer.Layer.GridHeight;
                            _gridLayer.GridColor    = SelectedLayer.Layer.GridColor;
                            OnSyncLayerList(EventArgs.Empty);
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void CommandEditLayer()
        {
            if (CommandCanEditLayer()) {
                if (SelectedLayer.Layer is MultiTileGridLayer) {
                    using (TileLayerForm form = new TileLayerForm(SelectedLayer.Layer as MultiTileGridLayer)) {
                        foreach (Layer layer in _level.Layers) {
                            if (layer.Name != SelectedLayer.Layer.Name)
                                form.ReservedNames.Add(layer.Name);
                        }

                        if (form.ShowDialog() == DialogResult.OK) {
                            _gridLayer.GridColor = SelectedLayer.Layer.GridColor;
                            OnSyncLayerList(EventArgs.Empty);
                        }
                    }
                }
                else if (SelectedLayer.Layer is ObjectLayer) {
                    using (ObjectLayerForm form = new ObjectLayerForm(SelectedLayer.Layer as ObjectLayer)) {
                        foreach (Layer layer in _level.Layers) {
                            if (layer.Name != SelectedLayer.Layer.Name)
                                form.ReservedNames.Add(layer.Name);
                        }

                        if (form.ShowDialog() == DialogResult.OK) {
                            _gridLayer.GridSpacingX = SelectedLayer.Layer.GridWidth;
                            _gridLayer.GridSpacingY = SelectedLayer.Layer.GridHeight;
                            _gridLayer.GridColor = SelectedLayer.Layer.GridColor;
                            OnSyncLayerList(EventArgs.Empty);
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
        private void CommandAddTileLayer()
        {
            if (CommandCanAddTileLayer()) {
                string name = FindDefaultLayerName("Tile Layer");

                using (TileLayerForm form = new TileLayerForm(_level, name)) {
                    foreach (Layer layer in _level.Layers)
                        form.ReservedNames.Add(layer.Name);

                    if (form.ShowDialog() == DialogResult.OK) {
                        _level.Layers.Add(form.Layer);

                        // Intercept event instead
                        AddLayer(form.Layer);

                        SelectLayer(form.Layer.Uid);

                        OnSyncLayerList(EventArgs.Empty);
                        OnSyncLayerSelection(EventArgs.Empty);
                    }
                }
            }
        }