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); } } } } }
private void CommandCreateStaticBrush() { if (CommandCanCreateStaticBrush()) { using (StaticBrushForm form = new StaticBrushForm()) { 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) form.ReservedNames.Add(item.Name); if (form.ShowDialog() == DialogResult.OK) { if (TileBrushManager.StaticBrushCollections.Count(c => c.GetBrush(form.Brush.Uid) != null) == 0) TileBrushManager.DefaultStaticBrushCollection.Brushes.Add(form.Brush); OnSyncTileBrushCollection(EventArgs.Empty); SelectBrush(form.Brush.Uid); OnTileBrushSelected(EventArgs.Empty); } } } } }