Example #1
0
        private void InitializeNewBrush()
        {
            string   prototype = _prototypeList.SelectedItem as string;
            TileSize size      = _tileSizeList.SelectedItem as TileSize;

            if (prototype == null || size == null)
            {
                return;
            }

            DynamicTileBrushClass brushClass = Project.DynamicBrushClassRegistry.Lookup(prototype);

            if (brushClass == null)
            {
                return;
            }

            string name = "";

            if (_brush != null)
            {
                name = _brush.Name;
            }

            InitializeBrush(new DynamicTileBrush(name, size.Width, size.Height, brushClass));
        }
Example #2
0
        private DynamicTileBrush(LibraryX.DynamicTileBrushX proxy, TilePoolManager manager, DynamicTileBrushClassRegistry registry)
            : base(proxy.Uid, proxy.Name, proxy.TileWidth, proxy.TileHeight)
        {
            _brushClass = registry.Lookup(proxy.Type);
            if (_brushClass == null)
                return;

            _tiles = _brushClass.CreateTileProxyList();

            foreach (var entry in proxy.Entries) {
                TilePool pool = manager.PoolFromItemKey(entry.TileId);
                if (pool == null)
                    continue;

                SetTile(entry.Slot, pool.GetTile(entry.TileId));
            }
        }
Example #3
0
 public DynamicTileBrush(string name, int tileWidth, int tileHeight, DynamicTileBrushClass brushClass)
     : base(Guid.NewGuid(), name, tileWidth, tileHeight)
 {
     _brushClass = brushClass;
     _tiles = brushClass.CreateTileProxyList();
 }