Example #1
0
        private TilePool LoadFile()
        {
            if (_fileStream == null)
            {
                return(null);
            }

            if (_fileStream.Position != 0)
            {
                _fileStream.Position = 0;
            }

            _localManager.Reset();

            TextureResource resource = TextureResourceBitmapExt.CreateTextureResource(_fileStream);

            TilePool.TileImportOptions options = new TilePool.TileImportOptions()
            {
                TileHeight    = (int)_numTileHeight.Value,
                TileWidth     = (int)_numTileWidth.Value,
                SpaceX        = (int)_numXSpacing.Value,
                SpaceY        = (int)_numYSpacing.Value,
                MarginX       = (int)_numXMargin.Value,
                MarginY       = (int)_numYMargin.Value,
                ImportPolicty = TileImportPolicy.SetUnique,
            };

            _previewPool      = _localManager.ImportPool(_textName.Text, resource, options);
            _originalResource = _previewPool.TileSource.Crop(_previewPool.TileSource.Bounds);

            if (_useTransColor)
            {
                SetTransparentColor();
            }

            // Update preview window

            if (_previewLayer != null)
            {
                _previewLayer.Dispose();
            }

            Model.TileSetLayer layer = new Model.TileSetLayer(_previewPool.Name, _previewPool);
            _previewLayer = new TileSetLayerPresenter(layer)
            {
                LevelGeometry = _layerControl.LevelGeometry,
            };

            _rootLayer.Layers.Clear();
            _rootLayer.Layers.Add(_previewLayer);

            // Update stats

            _countTilesHigh.Text   = ((_height + (int)_numYSpacing.Value) / ((int)_numTileHeight.Value + (int)_numYSpacing.Value + (int)_numYMargin.Value)).ToString();
            _countTilesWide.Text   = ((_width + (int)_numXSpacing.Value) / ((int)_numTileWidth.Value + (int)_numXSpacing.Value + (int)_numXMargin.Value)).ToString();
            _countUniqueTiles.Text = _previewPool.Count.ToString();

            return(_previewPool);
        }