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)); }
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)); } }
public DynamicTileBrush(string name, int tileWidth, int tileHeight, DynamicTileBrushClass brushClass) : base(Guid.NewGuid(), name, tileWidth, tileHeight) { _brushClass = brushClass; _tiles = brushClass.CreateTileProxyList(); }