Exemple #1
0
        private void SetTile(FieldItem tile, int x, int y)
        {
            var l          = Map.CurrentLayer;
            var pgt        = (FieldItem)PG_Tile.SelectedObject;
            var permission = l.IsOccupied(pgt, x, y);

            switch (permission)
            {
            case FieldItemPermission.OutOfBounds:
            case FieldItemPermission.Collision when CHK_NoOverwrite.Checked:
                System.Media.SystemSounds.Asterisk.Play();
                return;
            }

            // Clean up original placed data
            if (tile.IsRoot && CHK_AutoExtension.Checked)
            {
                l.DeleteExtensionTiles(tile, x, y);
            }

            // Set new placed data
            if (pgt.IsRoot && CHK_AutoExtension.Checked)
            {
                l.SetExtensionTiles(pgt, x, y);
            }
            tile.CopyFrom(pgt);

            ReloadItems();
        }
Exemple #2
0
        private void SetTile(FieldItem tile)
        {
            var pgt = (FieldItem)PG_Tile.SelectedObject;

            tile.CopyFrom(pgt);
            ReloadGrid(Layer, X, Y);
            ReloadMap();
        }
Exemple #3
0
        public void FieldItemMarshal()
        {
            var item  = new FieldItem();
            var bytes = item.ToBytesClass();

            bytes.Length.Should().Be(Item.SIZE);

            var other = new FieldItem();

            item.CopyFrom(other);
        }