public CopyPasteEditorAction(MapCopyFilters copyFilters, Map map, Dictionary <CPos, Tuple <TerrainTile, ResourceTile, byte> > tiles, Dictionary <string, ActorReference> previews, EditorActorLayer editorLayer, CellRegion dest) { this.copyFilters = copyFilters; this.tiles = tiles; this.previews = previews; this.editorLayer = editorLayer; this.dest = dest; mapTiles = map.Tiles; mapHeight = map.Height; mapResources = map.Resources; Text = "Copied {0} tiles".F(tiles.Count); }
Widget CreateCategoriesPanel() { var categoriesPanel = Ui.LoadWidget("COPY_FILTER_PANEL", null, new WidgetArgs()); var categoryTemplate = categoriesPanel.Get <CheckboxWidget>("CATEGORY_TEMPLATE"); MapCopyFilters[] allCategories = { MapCopyFilters.Terrain, MapCopyFilters.Resources, MapCopyFilters.Actors }; foreach (var cat in allCategories) { var category = (CheckboxWidget)categoryTemplate.Clone(); category.GetText = () => cat.ToString(); category.IsChecked = () => copyFilters.HasFlag(cat); category.IsVisible = () => true; category.OnClick = () => copyFilters ^= cat; categoriesPanel.AddChild(category); } return(categoriesPanel); }