Add a ChromeLogic base class for chrome logic.

This commit is contained in:
Paul Chote
2015-10-20 22:57:25 +01:00
parent 1e890a921f
commit b6f463729b
69 changed files with 85 additions and 77 deletions

View File

@@ -140,6 +140,12 @@ namespace OpenRA.Widgets
} }
} }
public class ChromeLogic : IDisposable
{
public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }
protected virtual void Dispose(bool disposing) { }
}
public abstract class Widget public abstract class Widget
{ {
public readonly List<Widget> Children = new List<Widget>(); public readonly List<Widget> Children = new List<Widget>();
@@ -151,7 +157,7 @@ namespace OpenRA.Widgets
public string Width = "0"; public string Width = "0";
public string Height = "0"; public string Height = "0";
public string[] Logic = { }; public string[] Logic = { };
public object[] LogicObjects { get; private set; } public ChromeLogic[] LogicObjects { get; private set; }
public bool Visible = true; public bool Visible = true;
public bool IgnoreMouseOver; public bool IgnoreMouseOver;
public bool IgnoreChildMouseOver; public bool IgnoreChildMouseOver;
@@ -244,7 +250,7 @@ namespace OpenRA.Widgets
args["widget"] = this; args["widget"] = this;
LogicObjects = Logic.Select(l => Game.ModData.ObjectCreator.CreateObject<object>(l, args)) LogicObjects = Logic.Select(l => Game.ModData.ObjectCreator.CreateObject<ChromeLogic>(l, args))
.ToArray(); .ToArray();
args.Remove("widget"); args.Remove("widget");
@@ -486,8 +492,7 @@ namespace OpenRA.Widgets
if (LogicObjects != null) if (LogicObjects != null)
foreach (var l in LogicObjects) foreach (var l in LogicObjects)
if (l is IDisposable) l.Dispose();
((IDisposable)l).Dispose();
} }
public Widget GetOrNull(string id) public Widget GetOrNull(string id)

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Cnc.Widgets.Logic namespace OpenRA.Mods.Cnc.Widgets.Logic
{ {
public class ProductionTabsLogic public class ProductionTabsLogic : ChromeLogic
{ {
readonly ProductionTabsWidget tabs; readonly ProductionTabsWidget tabs;
readonly World world; readonly World world;

View File

@@ -20,7 +20,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class AssetBrowserLogic public class AssetBrowserLogic : ChromeLogic
{ {
static readonly string[] AllowedExtensions = { ".shp", ".r8", "tmp", ".tem", ".des", ".sno", ".int", ".jun", ".vqa" }; static readonly string[] AllowedExtensions = { ".shp", ".r8", "tmp", ".tem", ".des", ".sno", ".int", ".jun", ".vqa" };

View File

@@ -12,7 +12,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ButtonTooltipLogic public class ButtonTooltipLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ButtonTooltipLogic(Widget widget, ButtonWidget button) public ButtonTooltipLogic(Widget widget, ButtonWidget button)

View File

@@ -16,7 +16,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ColorPickerLogic public class ColorPickerLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ColorPickerLogic(Widget widget, World world, HSLColor initialColor, Action<HSLColor> onChange, WorldRenderer worldRenderer) public ColorPickerLogic(Widget widget, World world, HSLColor initialColor, Action<HSLColor> onChange, WorldRenderer worldRenderer)

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ConnectionLogic public class ConnectionLogic : ChromeLogic
{ {
Action onConnect, onAbort; Action onConnect, onAbort;
Action<string> onRetry; Action<string> onRetry;
@@ -76,7 +76,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
} }
} }
public class ConnectionFailedLogic public class ConnectionFailedLogic : ChromeLogic
{ {
PasswordFieldWidget passwordField; PasswordFieldWidget passwordField;
bool passwordOffsetAdjusted; bool passwordOffsetAdjusted;

View File

@@ -15,7 +15,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class CreditsLogic public class CreditsLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public CreditsLogic(Widget widget, Action onExit) public CreditsLogic(Widget widget, Action onExit)

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class DirectConnectLogic public class DirectConnectLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public DirectConnectLogic(Widget widget, Action onExit, Action openLobby) public DirectConnectLogic(Widget widget, Action onExit, Action openLobby)

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class DisconnectWatcherLogic public class DisconnectWatcherLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public DisconnectWatcherLogic(Widget widget, OrderManager orderManager) public DisconnectWatcherLogic(Widget widget, OrderManager orderManager)

View File

@@ -23,7 +23,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ActorSelectorLogic public class ActorSelectorLogic : ChromeLogic
{ {
readonly EditorViewportControllerWidget editor; readonly EditorViewportControllerWidget editor;
readonly DropDownButtonWidget ownersDropDown; readonly DropDownButtonWidget ownersDropDown;

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class LayerSelectorLogic public class LayerSelectorLogic : ChromeLogic
{ {
readonly EditorViewportControllerWidget editor; readonly EditorViewportControllerWidget editor;
readonly Ruleset modRules; readonly Ruleset modRules;

View File

@@ -16,7 +16,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class MapEditorLogic public class MapEditorLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public MapEditorLogic(Widget widget, World world, WorldRenderer worldRenderer) public MapEditorLogic(Widget widget, World world, WorldRenderer worldRenderer)

View File

@@ -18,7 +18,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class MapEditorTabsLogic public class MapEditorTabsLogic : ChromeLogic
{ {
protected enum MenuType { Tiles, Layers, Actors } protected enum MenuType { Tiles, Layers, Actors }
protected MenuType menuType = MenuType.Tiles; protected MenuType menuType = MenuType.Tiles;

View File

@@ -21,7 +21,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class NewMapLogic public class NewMapLogic : ChromeLogic
{ {
Widget panel; Widget panel;

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class SaveMapLogic public class SaveMapLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public SaveMapLogic(Widget widget, Action<string> onSave, Action onExit, Map map, List<MiniYamlNode> playerDefinitions, List<MiniYamlNode> actorDefinitions) public SaveMapLogic(Widget widget, Action<string> onSave, Action onExit, Map map, List<MiniYamlNode> playerDefinitions, List<MiniYamlNode> actorDefinitions)

View File

@@ -16,7 +16,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class TileSelectorLogic public class TileSelectorLogic : ChromeLogic
{ {
readonly EditorViewportControllerWidget editor; readonly EditorViewportControllerWidget editor;
readonly ScrollPanelWidget panel; readonly ScrollPanelWidget panel;

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class FactionTooltipLogic public class FactionTooltipLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public FactionTooltipLogic(Widget widget, ButtonWidget button) public FactionTooltipLogic(Widget widget, ButtonWidget button)

View File

@@ -19,7 +19,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
class GlobalChatLogic : IDisposable class GlobalChatLogic : ChromeLogic
{ {
readonly ScrollPanelWidget historyPanel; readonly ScrollPanelWidget historyPanel;
readonly LabelWidget historyTemplate; readonly LabelWidget historyTemplate;
@@ -149,8 +149,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
} }
bool disposed; bool disposed;
public void Dispose() protected override void Dispose(bool disposing)
{ {
base.Dispose(disposing);
if (disposed) if (disposed)
return; return;

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class AddFactionSuffixLogic public class AddFactionSuffixLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public AddFactionSuffixLogic(Widget widget, World world) public AddFactionSuffixLogic(Widget widget, World world)

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ClassicProductionLogic public class ClassicProductionLogic : ChromeLogic
{ {
readonly ProductionPaletteWidget palette; readonly ProductionPaletteWidget palette;
readonly World world; readonly World world;

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ControlGroupLogic public class ControlGroupLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ControlGroupLogic(Widget widget, World world, WorldRenderer worldRenderer) public ControlGroupLogic(Widget widget, World world, WorldRenderer worldRenderer)

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class DebugMenuLogic public class DebugMenuLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public DebugMenuLogic(Widget widget, World world) public DebugMenuLogic(Widget widget, World world)

View File

@@ -16,7 +16,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class DiplomacyLogic public class DiplomacyLogic : ChromeLogic
{ {
readonly World world; readonly World world;

View File

@@ -12,7 +12,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
class GameInfoBriefingLogic class GameInfoBriefingLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameInfoBriefingLogic(Widget widget, World world) public GameInfoBriefingLogic(Widget widget, World world)

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public enum IngameInfoPanel { AutoSelect, Map, Objectives, Debug } public enum IngameInfoPanel { AutoSelect, Map, Objectives, Debug }
class GameInfoLogic class GameInfoLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameInfoLogic(Widget widget, World world, IngameInfoPanel activePanel) public GameInfoLogic(Widget widget, World world, IngameInfoPanel activePanel)

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
class GameInfoObjectivesLogic class GameInfoObjectivesLogic : ChromeLogic
{ {
readonly ContainerWidget template; readonly ContainerWidget template;

View File

@@ -16,7 +16,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
class GameInfoStatsLogic class GameInfoStatsLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameInfoStatsLogic(Widget widget, World world) public GameInfoStatsLogic(Widget widget, World world)

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class GameTimerLogic public class GameTimerLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public GameTimerLogic(Widget widget, OrderManager orderManager, World world) public GameTimerLogic(Widget widget, OrderManager orderManager, World world)

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class IngameCashCounterLogic public class IngameCashCounterLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngameCashCounterLogic(Widget widget, World world) public IngameCashCounterLogic(Widget widget, World world)

View File

@@ -18,7 +18,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class IngameChatLogic public class IngameChatLogic : ChromeLogic
{ {
readonly OrderManager orderManager; readonly OrderManager orderManager;
readonly Ruleset modRules; readonly Ruleset modRules;

View File

@@ -18,7 +18,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class IngameMenuLogic public class IngameMenuLogic : ChromeLogic
{ {
Widget menu; Widget menu;

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class IngamePowerBarLogic public class IngamePowerBarLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngamePowerBarLogic(Widget widget, World world) public IngamePowerBarLogic(Widget widget, World world)

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class IngamePowerCounterLogic public class IngamePowerCounterLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngamePowerCounterLogic(Widget widget, World world) public IngamePowerCounterLogic(Widget widget, World world)

View File

@@ -16,7 +16,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class IngameRadarDisplayLogic public class IngameRadarDisplayLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngameRadarDisplayLogic(Widget widget, World world) public IngameRadarDisplayLogic(Widget widget, World world)

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class IngameSiloBarLogic public class IngameSiloBarLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public IngameSiloBarLogic(Widget widget, World world) public IngameSiloBarLogic(Widget widget, World world)

View File

@@ -12,7 +12,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class LoadIngamePerfLogic public class LoadIngamePerfLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public LoadIngamePerfLogic(Widget widget, World world) public LoadIngamePerfLogic(Widget widget, World world)

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class LoadIngamePlayerOrObserverUILogic public class LoadIngamePlayerOrObserverUILogic : ChromeLogic
{ {
bool loadingObserverWidgets = false; bool loadingObserverWidgets = false;

View File

@@ -12,7 +12,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class LoadMapEditorLogic public class LoadMapEditorLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public LoadMapEditorLogic(Widget widget, World world) public LoadMapEditorLogic(Widget widget, World world)

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class MenuButtonsChromeLogic public class MenuButtonsChromeLogic : ChromeLogic
{ {
readonly World world; readonly World world;
readonly Widget worldRoot; readonly Widget worldRoot;

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ObserverShroudSelectorLogic public class ObserverShroudSelectorLogic : ChromeLogic
{ {
readonly CameraOption combined, disableShroud; readonly CameraOption combined, disableShroud;
readonly IOrderedEnumerable<IGrouping<int, CameraOption>> teams; readonly IOrderedEnumerable<IGrouping<int, CameraOption>> teams;

View File

@@ -20,7 +20,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ObserverStatsLogic public class ObserverStatsLogic : ChromeLogic
{ {
ContainerWidget basicStatsHeaders; ContainerWidget basicStatsHeaders;
ContainerWidget economyStatsHeaders; ContainerWidget economyStatsHeaders;

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class SellOrderButtonLogic public class SellOrderButtonLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public SellOrderButtonLogic(Widget widget, World world) public SellOrderButtonLogic(Widget widget, World world)
@@ -31,7 +31,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
} }
} }
public class RepairOrderButtonLogic public class RepairOrderButtonLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public RepairOrderButtonLogic(Widget widget, World world) public RepairOrderButtonLogic(Widget widget, World world)
@@ -45,7 +45,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
} }
} }
public class PowerdownOrderButtonLogic public class PowerdownOrderButtonLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public PowerdownOrderButtonLogic(Widget widget, World world) public PowerdownOrderButtonLogic(Widget widget, World world)
@@ -59,7 +59,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
} }
} }
public class BeaconOrderButtonLogic public class BeaconOrderButtonLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public BeaconOrderButtonLogic(Widget widget, World world) public BeaconOrderButtonLogic(Widget widget, World world)

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ProductionTooltipLogic public class ProductionTooltipLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ProductionTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, ProductionPaletteWidget palette, World world) public ProductionTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, ProductionPaletteWidget palette, World world)

View File

@@ -15,7 +15,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ReplayControlBarLogic public class ReplayControlBarLogic : ChromeLogic
{ {
enum PlaybackSpeed { Regular, Slow, Fast, Maximum } enum PlaybackSpeed { Regular, Slow, Fast, Maximum }

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class SupportPowerBinLogic public class SupportPowerBinLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public SupportPowerBinLogic(Widget widget, World world) public SupportPowerBinLogic(Widget widget, World world)

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class SupportPowerTooltipLogic public class SupportPowerTooltipLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public SupportPowerTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, SupportPowersWidget palette, World world) public SupportPowerTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, SupportPowersWidget palette, World world)

View File

@@ -16,7 +16,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class WorldTooltipLogic public class WorldTooltipLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public WorldTooltipLogic(Widget widget, World world, TooltipContainerWidget tooltipContainer, ViewportControllerWidget viewport) public WorldTooltipLogic(Widget widget, World world, TooltipContainerWidget tooltipContainer, ViewportControllerWidget viewport)

View File

@@ -18,7 +18,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class DownloadPackagesLogic public class DownloadPackagesLogic : ChromeLogic
{ {
static readonly string[] SizeSuffixes = { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" }; static readonly string[] SizeSuffixes = { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
readonly Widget panel; readonly Widget panel;

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class InstallFromCDLogic public class InstallFromCDLogic : ChromeLogic
{ {
readonly string modId; readonly string modId;
readonly Widget panel; readonly Widget panel;

View File

@@ -12,7 +12,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class InstallLogic : Widget public class InstallLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public InstallLogic(Widget widget, string mirrorListUrl, string modId) public InstallLogic(Widget widget, string mirrorListUrl, string modId)

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class InstallMusicLogic public class InstallMusicLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public InstallMusicLogic(Widget widget, string modId) public InstallMusicLogic(Widget widget, string modId)

View File

@@ -15,7 +15,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ClientTooltipLogic public class ClientTooltipLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public ClientTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, OrderManager orderManager, int clientIndex) public ClientTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, OrderManager orderManager, int clientIndex)

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
class KickClientLogic class KickClientLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public KickClientLogic(Widget widget, string clientName, Action<bool> okPressed, Action cancelPressed) public KickClientLogic(Widget widget, string clientName, Action<bool> okPressed, Action cancelPressed)

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
class KickSpectatorsLogic class KickSpectatorsLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public KickSpectatorsLogic(Widget widget, string clientCount, Action okPressed, Action cancelPressed) public KickSpectatorsLogic(Widget widget, string clientCount, Action okPressed, Action cancelPressed)

View File

@@ -21,7 +21,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class LobbyLogic public class LobbyLogic : ChromeLogic
{ {
static readonly Action DoNothing = () => { }; static readonly Action DoNothing = () => { };

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class LobbyMapPreviewLogic public class LobbyMapPreviewLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
internal LobbyMapPreviewLogic(Widget widget, OrderManager orderManager, LobbyLogic lobby) internal LobbyMapPreviewLogic(Widget widget, OrderManager orderManager, LobbyLogic lobby)

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class SpawnSelectorTooltipLogic public class SpawnSelectorTooltipLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public SpawnSelectorTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, MapPreviewWidget preview) public SpawnSelectorTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, MapPreviewWidget preview)

View File

@@ -18,7 +18,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class MainMenuLogic public class MainMenuLogic : ChromeLogic
{ {
protected enum MenuType { Main, Singleplayer, Extras, MapEditor, None } protected enum MenuType { Main, Singleplayer, Extras, MapEditor, None }

View File

@@ -18,7 +18,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class MapChooserLogic public class MapChooserLogic : ChromeLogic
{ {
readonly Widget widget; readonly Widget widget;
readonly DropDownButtonWidget gameModeDropdown; readonly DropDownButtonWidget gameModeDropdown;

View File

@@ -21,7 +21,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class MissionBrowserLogic public class MissionBrowserLogic : ChromeLogic
{ {
enum PlayingVideo { None, Info, Briefing, GameStart } enum PlayingVideo { None, Info, Briefing, GameStart }

View File

@@ -19,7 +19,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ModBrowserLogic public class ModBrowserLogic : ChromeLogic
{ {
readonly Widget modList; readonly Widget modList;
readonly ButtonWidget modTemplate; readonly ButtonWidget modTemplate;

View File

@@ -16,7 +16,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class MusicPlayerLogic public class MusicPlayerLogic : ChromeLogic
{ {
readonly ScrollPanelWidget musicList; readonly ScrollPanelWidget musicList;
readonly ScrollItemWidget itemTemplate; readonly ScrollItemWidget itemTemplate;

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class PerfDebugLogic public class PerfDebugLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public PerfDebugLogic(Widget widget) public PerfDebugLogic(Widget widget)

View File

@@ -22,7 +22,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ReplayBrowserLogic public class ReplayBrowserLogic : ChromeLogic
{ {
static Filter filter = new Filter(); static Filter filter = new Filter();

View File

@@ -20,7 +20,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ServerBrowserLogic public class ServerBrowserLogic : ChromeLogic
{ {
static readonly Action DoNothing = () => { }; static readonly Action DoNothing = () => { };

View File

@@ -14,7 +14,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class ServerCreationLogic public class ServerCreationLogic : ChromeLogic
{ {
Widget panel; Widget panel;
Action onCreate; Action onCreate;

View File

@@ -17,7 +17,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class SettingsLogic public class SettingsLogic : ChromeLogic
{ {
enum PanelType { Display, Audio, Input, Advanced } enum PanelType { Display, Audio, Input, Advanced }
Dictionary<PanelType, Action> leavePanelActions = new Dictionary<PanelType, Action>(); Dictionary<PanelType, Action> leavePanelActions = new Dictionary<PanelType, Action>();

View File

@@ -13,7 +13,7 @@ using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class SimpleTooltipLogic public class SimpleTooltipLogic : ChromeLogic
{ {
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
public SimpleTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, Func<string> getText) public SimpleTooltipLogic(Widget widget, TooltipContainerWidget tooltipContainer, Func<string> getText)

View File

@@ -11,10 +11,11 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using OpenRA.Widgets;
namespace OpenRA.Mods.Common.Widgets.Logic namespace OpenRA.Mods.Common.Widgets.Logic
{ {
public class TabCompletionLogic public class TabCompletionLogic : ChromeLogic
{ {
IList<string> candidates = new List<string>(); IList<string> candidates = new List<string>();
int currentCandidateIndex = 0; int currentCandidateIndex = 0;