Esempio n. 1
0
        public static LevelX.ObjectLayerX ToXmlProxyX(ObjectLayer layer)
        {
            if (layer == null)
            {
                return(null);
            }

            List <LevelX.ObjectInstanceX> objs = new List <LevelX.ObjectInstanceX>();

            foreach (ObjectInstance inst in layer.Objects)
            {
                objs.Add(ObjectInstance.ToXProxy(inst));
            }

            List <CommonX.PropertyX> props = new List <CommonX.PropertyX>();

            foreach (Property prop in layer.PropertyManager.CustomProperties)
            {
                props.Add(Property.ToXmlProxyX(prop));
            }

            return(new LevelX.ObjectLayerX()
            {
                Name = layer.Name,
                Opacity = layer.Opacity,
                Visible = layer.IsVisible,
                RasterMode = layer.RasterMode,
                GridColor = layer.GridColor.ToArgbHex(),
                GridWidth = layer.GridWidth,
                GridHeight = layer.GridHeight,
                Objects = objs.Count > 0 ? objs : null,
                Properties = props.Count > 0 ? props : null,
            });
        }
Esempio n. 2
0
 public ObjectPointerTool(ILayerContext layerContext, ObjectLayer layer, Size gridSize)
 {
     _layerContext = layerContext;
     //_history = history;
     _layer = layer;
     _gridSize = gridSize;
 }
Esempio n. 3
0
        public ObjectOrderCommand(ObjectLayer source)
        {
            _objectSource = source;

            _objects = new List<ObjectRecord>();
            _toFront = new List<ObjectInstance>();
            _toBack = new List<ObjectInstance>();
        }
Esempio n. 4
0
        public ObjectLayer(string name, ObjectLayer layer)
            : base(name, layer)
        {
            _layerOriginX = layer._layerOriginX;
            _layerOriginY = layer._layerOriginY;
            _layerWidth = layer._layerWidth;
            _layerHeight = layer._layerHeight;

            _objects = new List<ObjectInstance>();
            foreach (ObjectInstance inst in layer._objects)
                _objects.Add(inst.Clone() as ObjectInstance);
        }
Esempio n. 5
0
        public ObjectSelectTool(ILayerContext layerContext, ObjectLayer layer, Size gridSize, ObjectSelectionManager selectionManager)
            : base(layerContext, layer, gridSize)
        {
            _annots = layerContext.Annotations;
            _viewport = layerContext.Geometry;
            _selectionManager = selectionManager;
            _layerContext = layerContext;

            InitializeCommandManager();

            _state = new SelectionStandbyToolState(this);
        }
Esempio n. 6
0
        public ObjectLayer(string name, ObjectLayer layer)
            : base(name, layer)
        {
            _layerOriginX = layer._layerOriginX;
            _layerOriginY = layer._layerOriginY;
            _layerWidth   = layer._layerWidth;
            _layerHeight  = layer._layerHeight;

            _objects = new List <ObjectInstance>();
            foreach (ObjectInstance inst in layer._objects)
            {
                _objects.Add(inst.Clone() as ObjectInstance);
            }
        }
Esempio n. 7
0
        public ObjectLayerForm(ObjectLayer layer)
        {
            InitializeForm();

            Text = "Edit Object Layer";

            _layer = layer;
            _nameField.Text = _layer.Name;
            _opacityField.Value = (decimal)_layer.Opacity;
            _gridWidthField.Value = _layer.GridWidth;
            _gridHeightField.Value = _layer.GridHeight;
            _gridColorButton.Color = Color.FromArgb(255, _layer.GridColor.R, _layer.GridColor.G, _layer.GridColor.B);

            _validateController.Validate();
        }
Esempio n. 8
0
 public ObjectAddCommand(ObjectLayer source, ObjectInstance inst, ObjectSelectionManager selectionManager)
     : this(source, selectionManager)
 {
     _objects.Add(inst);
 }
Esempio n. 9
0
        public static LevelX.ObjectLayerX ToXmlProxyX(ObjectLayer layer)
        {
            if (layer == null)
                return null;

            List<LevelX.ObjectInstanceX> objs = new List<LevelX.ObjectInstanceX>();
            foreach (ObjectInstance inst in layer.Objects)
                objs.Add(ObjectInstance.ToXProxy(inst));

            List<CommonX.PropertyX> props = new List<CommonX.PropertyX>();
            foreach (Property prop in layer.PropertyManager.CustomProperties)
                props.Add(Property.ToXmlProxyX(prop));

            return new LevelX.ObjectLayerX() {
                Name = layer.Name,
                Opacity = layer.Opacity,
                Visible = layer.IsVisible,
                RasterMode = layer.RasterMode,
                GridColor = layer.GridColor.ToArgbHex(),
                GridWidth = layer.GridWidth,
                GridHeight = layer.GridHeight,
                Objects = objs.Count > 0 ? objs : null,
                Properties = props.Count > 0 ? props : null,
            };
        }
Esempio n. 10
0
        public static LevelX ToXProxy(Level level)
        {
            if (level == null)
            {
                return(null);
            }

            foreach (Layer layer in level.Layers)
            {
                if (layer is TileGridLayer)
                {
                    TileGridLayer tileLayer = layer as TileGridLayer;
                    foreach (LocatedTile tile in tileLayer.Tiles)
                    {
                        if (!level._localTileIndex.ContainsValue(tile.Tile.Uid))
                        {
                            level._localTileIndex.Add(level._indexSequence++, tile.Tile.Uid);
                        }
                    }
                }
            }

            List <LevelX.TileIndexEntryX> tileIndexEntries = new List <LevelX.TileIndexEntryX>();

            foreach (var item in level._localTileIndex)
            {
                tileIndexEntries.Add(new LevelX.TileIndexEntryX()
                {
                    Id  = item.Key,
                    Uid = item.Value,
                });
            }

            LevelX.TileIndexX tileIndex = new LevelX.TileIndexX()
            {
                Entries  = tileIndexEntries,
                Sequence = level._indexSequence,
            };

            List <AbstractXmlSerializer <LevelX.LayerX> > layers = new List <AbstractXmlSerializer <LevelX.LayerX> >();

            foreach (Layer layer in level.Layers)
            {
                if (layer is MultiTileGridLayer)
                {
                    layers.Add(MultiTileGridLayer.ToXmlProxyX(layer as MultiTileGridLayer));
                }
                else if (layer is ObjectLayer)
                {
                    layers.Add(ObjectLayer.ToXmlProxyX(layer as ObjectLayer));
                }
            }

            LevelX.PropertyGroupX propGroup = new LevelX.PropertyGroupX()
            {
                LevelGuid = level.Uid,
                Extra     = (level.Extra != null && level.Extra.Count > 0) ? level.Extra.ToArray() : null,
            };

            if (level.Project != null)
            {
                propGroup.ProjectGuid = level.Project.Uid;
            }

            return(new LevelX()
            {
                PropertyGroup = propGroup,
                Name = level.Name,
                OriginX = level.OriginX,
                OriginY = level.OriginY,
                Width = level.Width,
                Height = level.Height,
                TileIndex = tileIndex,
                Layers = layers.Count > 0 ? layers : null,
            });
        }
Esempio n. 11
0
 public ObjectAddCommand(ObjectLayer source)
 {
     _objectSource = source;
     _objects = new List<ObjectInstance>();
 }
Esempio n. 12
0
        private void CommandAddObjectLayer()
        {
            if (CommandCanAddObjectLayer()) {
                string name = FindDefaultLayerName("Object Layer");

                ObjectLayer layer = new ObjectLayer(name, _level);
                _level.Layers.Add(layer);

                // Intercept event instead
                AddLayer(layer);

                SelectLayer(layer.Uid);

                OnSyncLayerList(EventArgs.Empty);
                OnSyncLayerSelection(EventArgs.Empty);
            }
        }
Esempio n. 13
0
 public ObjectAddCommand(ObjectLayer source, ObjectSelectionManager selectionManager)
     : base(selectionManager)
 {
     _objectSource = source;
     _objects = new List<ObjectInstance>();
 }
Esempio n. 14
0
 public ObjectAddCommand(ObjectLayer source, List<ObjectInstance> objects, ObjectSelectionManager selectionManager)
     : this(source, selectionManager)
 {
     foreach (ObjectInstance inst in objects)
         _objects.Add(inst);
 }
Esempio n. 15
0
 public ObjectDrawTool(ILayerContext layerContext, ObjectLayer layer, Size gridSize)
     : base(layerContext, layer, gridSize)
 {
     _annots = layerContext.Annotations;
 }
Esempio n. 16
0
        private void ApplyNew()
        {
            _layer = new ObjectLayer(
                _nameField.Text.Trim(),
                _level);

            _layer.Opacity = (float)_opacityField.Value;
            _layer.GridWidth = (int)_gridWidthField.Value;
            _layer.GridHeight = (int)_gridHeightField.Value;
            _layer.GridColor = new Treefrog.Framework.Imaging.Color(_gridColorButton.Color.R, _gridColorButton.Color.G, _gridColorButton.Color.B, 128);
        }
Esempio n. 17
0
 public ObjectAddCommand(ObjectLayer source, ObjectInstance inst)
     : this(source)
 {
     _objects.Add(inst);
 }
Esempio n. 18
0
 public ObjectAddCommand(ObjectLayer source, List<ObjectInstance> objects)
     : this(source)
 {
     foreach (ObjectInstance inst in objects)
         _objects.Add(inst);
 }
Esempio n. 19
0
        private void CommandCloneLayer()
        {
            if (CommandCanCloneLayer() && _layerPresenters.ContainsKey(_selectedLayer)) {
                string name = FindCloneLayerName(SelectedLayer.LayerName);

                Layer layer = null;
                if (_selectedLayerRef is TileLayerPresenter)
                    layer = new MultiTileGridLayer(name, SelectedLayer.Layer as MultiTileGridLayer);
                else if (_selectedLayerRef is ObjectLayerPresenter)
                    layer = new ObjectLayer(name, SelectedLayer.Layer as ObjectLayer);
                else
                    return;

                _level.Layers.Add(layer);

                // Intercept event instead
                AddLayer(layer);

                SelectLayer(layer.Uid);

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