public void BindTileController(TilePoolListPresenter controller) { if (_tileController != null) { _tileController.SyncTilePoolList -= SyncTilePoolListHandler; } _tileController = controller; _tilePanel.BindController(controller); if (_tileController != null) { _tileController.SyncTilePoolList += SyncTilePoolListHandler; _layerControl.TextureCache.SourcePool = _tileController.TilePoolManager.TexturePool; } else { _layerControl.TextureCache.SourcePool = null; } InitializeTileSizeList(); }
public Presentation(EditorPresenter editor) { _editor = editor; _stdTools = new StandardToolsPresenter(_editor); _docTools = new DocumentToolsPresenter(_editor); _contentInfo = new ContentInfoArbitrationPresenter(_editor); _tilePoolList = new TilePoolListPresenter(_editor); _objectPoolCollection = new ObjectPoolCollectionPresenter(_editor); _tileBrushManager = new TileBrushManagerPresenter(_editor); _propertyList = new PropertyListPresenter(); _projectExplorer = new ProjectExplorerPresenter(_editor); }
private void CommandCreateStaticBrush() { if (CommandCanCreateStaticBrush()) { using (StaticBrushForm form = new StaticBrushForm()) { using (TilePoolListPresenter tilePoolList = new TilePoolListPresenter(_editor)) { 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.StaticBrushes.GetBrush(form.Brush.Uid) == null) TileBrushManager.StaticBrushes.Brushes.Add(form.Brush); OnSyncTileBrushCollection(EventArgs.Empty); SelectBrush(form.Brush.Uid); OnTileBrushSelected(EventArgs.Empty); } } } } }
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)) { using (TilePoolListPresenter tilePoolList = new TilePoolListPresenter(_editor)) { 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)) { using (TilePoolListPresenter tilePoolList = new TilePoolListPresenter(_editor)) { 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); } } } } }
public void BindTileController(TilePoolListPresenter controller) { _tileController = controller; }
public void BindController(TilePoolListPresenter controller) { if (_controller == controller) { return; } if (_controller != null) { _controller.SyncTilePoolManager -= SyncTilePoolManagerHandler; _controller.SyncTilePoolList -= SyncTilePoolListHandler; _controller.SyncTilePoolControl -= SyncTilePoolControlHandler; _controller.SelectedTilePoolChanged -= SelectedTilePoolChangedHandler; } _controller = controller; if (_controller != null) { _controller.SyncTilePoolManager += SyncTilePoolManagerHandler; _controller.SyncTilePoolList += SyncTilePoolListHandler; _controller.SyncTilePoolControl += SyncTilePoolControlHandler; _controller.SelectedTilePoolChanged += SelectedTilePoolChangedHandler; _commandController.BindCommandManager(_controller.CommandManager); BindTilePoolManager(_controller.TilePoolManager); BindTilePool(_controller.SelectedTilePool); } else { _commandController.BindCommandManager(null); BindTilePoolManager(null); BindTilePool(null); ResetComponent(); } RebuildPoolList(); }