private void SelectBrush(Guid brushId) { if (_selectedBrush == brushId) { return; } TileBrush prevBrush = _selectedBrushRef; TileBrush newBrush = TileBrushManager.GetBrush(brushId); _selectedBrushRef = newBrush; OnSyncCurrentBrush(new SyncTileBrushEventArgs(prevBrush)); }
public void ActionEditBrush(Guid brushId) { TileBrush brush = TileBrushManager.GetBrush(brushId) as TileBrush; if (brush == null) { return; } if (brush is DynamicTileBrush) { using (DynamicBrushForm form = new DynamicBrushForm(brush as DynamicTileBrush)) { PresenterManager manager = new PresenterManager(); manager.Register <EditorPresenter>(_editor); using (TilePoolListPresenter tilePoolList = new TilePoolListPresenter()) { tilePoolList.Initialize(manager); tilePoolList.BindTilePoolManager(_editor.Project.TilePoolManager); form.BindTileController(tilePoolList); foreach (TileBrush item in TileBrushManager.Brushes) { if (item.Name != brush.Name) { form.ReservedNames.Add(item.Name); } } if (form.ShowDialog() == DialogResult.OK) { OnSyncTileBrushCollection(EventArgs.Empty); SelectBrush(form.Brush.Uid); OnTileBrushSelected(EventArgs.Empty); } } } } else if (brush is StaticTileBrush) { using (StaticBrushForm form = new StaticBrushForm(brush as StaticTileBrush)) { PresenterManager manager = new PresenterManager(); manager.Register <EditorPresenter>(_editor); using (TilePoolListPresenter tilePoolList = new TilePoolListPresenter()) { tilePoolList.Initialize(manager); tilePoolList.BindTilePoolManager(_editor.Project.TilePoolManager); form.BindTileController(tilePoolList); foreach (TileBrush item in TileBrushManager.Brushes) { if (item.Name != brush.Name) { form.ReservedNames.Add(item.Name); } } if (form.ShowDialog() == DialogResult.OK) { OnSyncTileBrushCollection(EventArgs.Empty); SelectBrush(form.Brush.Uid); OnTileBrushSelected(EventArgs.Empty); } } } } }