From 1f78b3a425e727fcebc2e86fbbf89bbb973e63a0 Mon Sep 17 00:00:00 2001 From: teinarss Date: Sat, 13 Jul 2019 16:39:39 +0200 Subject: [PATCH] Cleanup in MapEditorTabsLogic --- .../Logic/Editor/MapEditorTabsLogic.cs | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/Logic/Editor/MapEditorTabsLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Editor/MapEditorTabsLogic.cs index f0a8695d9f..dfcab16e0d 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Editor/MapEditorTabsLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Editor/MapEditorTabsLogic.cs @@ -16,34 +16,31 @@ namespace OpenRA.Mods.Common.Widgets.Logic { public class MapEditorTabsLogic : ChromeLogic { + readonly Widget widget; + protected enum MenuType { Tiles, Layers, Actors } protected MenuType menuType = MenuType.Tiles; + readonly Widget tabContainer; [ObjectCreator.UseCtor] public MapEditorTabsLogic(Widget widget, WorldRenderer worldRenderer) { - var tabContainer = widget.Get("MAP_EDITOR_TAB_CONTAINER"); + this.widget = widget; + tabContainer = widget.Get("MAP_EDITOR_TAB_CONTAINER"); - var tilesTab = tabContainer.Get("TILES_TAB"); - tilesTab.IsHighlighted = () => menuType == MenuType.Tiles; - tilesTab.OnClick = () => { menuType = MenuType.Tiles; }; + SetupTab("TILES_TAB", "TILE_WIDGETS", MenuType.Tiles); + SetupTab("OVERLAYS_TAB", "LAYER_WIDGETS", MenuType.Layers); + SetupTab("ACTORS_TAB", "ACTOR_WIDGETS", MenuType.Actors); + } - var overlaysTab = tabContainer.Get("OVERLAYS_TAB"); - overlaysTab.IsHighlighted = () => menuType == MenuType.Layers; - overlaysTab.OnClick = () => { menuType = MenuType.Layers; }; + void SetupTab(string buttonId, string tabId, MenuType tabType) + { + var tab = tabContainer.Get(buttonId); + tab.IsHighlighted = () => menuType == tabType; + tab.OnClick = () => { menuType = tabType; }; - var actorsTab = tabContainer.Get("ACTORS_TAB"); - actorsTab.IsHighlighted = () => menuType == MenuType.Actors; - actorsTab.OnClick = () => { menuType = MenuType.Actors; }; - - var tileContainer = widget.Parent.Get("TILE_WIDGETS"); - tileContainer.IsVisible = () => menuType == MenuType.Tiles; - - var layerContainer = widget.Parent.Get("LAYER_WIDGETS"); - layerContainer.IsVisible = () => menuType == MenuType.Layers; - - var actorContainer = widget.Parent.Get("ACTOR_WIDGETS"); - actorContainer.IsVisible = () => menuType == MenuType.Actors; + var container = widget.Parent.Get(tabId); + container.IsVisible = () => menuType == tabType; } } }