Migrate hotkey consumers to HotkeyManager.
This commit is contained in:
@@ -23,12 +23,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
public class MapEditorLogic : ChromeLogic
|
||||
{
|
||||
[ObjectCreator.UseCtor]
|
||||
public MapEditorLogic(Widget widget, World world, WorldRenderer worldRenderer, Dictionary<string, MiniYaml> logicArgs)
|
||||
public MapEditorLogic(Widget widget, ModData modData, World world, WorldRenderer worldRenderer, Dictionary<string, MiniYaml> logicArgs)
|
||||
{
|
||||
MiniYaml yaml;
|
||||
var changeZoomKey = new HotkeyReference();
|
||||
if (logicArgs.TryGetValue("ChangeZoomKey", out yaml))
|
||||
changeZoomKey = new HotkeyReference(yaml.Value, Game.Settings.Keys);
|
||||
changeZoomKey = modData.Hotkeys[yaml.Value];
|
||||
|
||||
var editorViewport = widget.Get<EditorViewportControllerWidget>("MAP_EDITOR");
|
||||
|
||||
|
||||
@@ -27,8 +27,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic.Ingame
|
||||
readonly World world;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public CycleBasesHotkeyLogic(Widget widget, WorldRenderer worldRenderer, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "CycleBasesKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
public CycleBasesHotkeyLogic(Widget widget, ModData modData, WorldRenderer worldRenderer, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "CycleBasesKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
{
|
||||
viewport = worldRenderer.Viewport;
|
||||
selection = world.Selection;
|
||||
|
||||
@@ -26,8 +26,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic.Ingame
|
||||
readonly World world;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public CycleProductionActorsHotkeyLogic(Widget widget, WorldRenderer worldRenderer, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "CycleProductionActorsKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
public CycleProductionActorsHotkeyLogic(Widget widget, ModData modData, WorldRenderer worldRenderer, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "CycleProductionActorsKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
{
|
||||
viewport = worldRenderer.Viewport;
|
||||
selection = world.Selection;
|
||||
|
||||
@@ -22,8 +22,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic.Ingame
|
||||
StatusBarsType[] options = { StatusBarsType.Standard, StatusBarsType.DamageShow, StatusBarsType.AlwaysShow };
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public CycleStatusBarsHotkeyLogic(Widget widget, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "CycleStatusBarsKey", "WORLD_KEYHANDLER", logicArgs) { }
|
||||
public CycleStatusBarsHotkeyLogic(Widget widget, ModData modData, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "CycleStatusBarsKey", "WORLD_KEYHANDLER", logicArgs) { }
|
||||
|
||||
protected override bool OnHotkeyActivated(KeyInput e)
|
||||
{
|
||||
|
||||
@@ -24,8 +24,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic.Ingame
|
||||
readonly RadarPings radarPings;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public JumpToLastEventHotkeyLogic(Widget widget, WorldRenderer worldRenderer, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "JumpToLastEventKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
public JumpToLastEventHotkeyLogic(Widget widget, ModData modData, WorldRenderer worldRenderer, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "JumpToLastEventKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
{
|
||||
viewport = worldRenderer.Viewport;
|
||||
radarPings = world.WorldActor.TraitOrDefault<RadarPings>();
|
||||
|
||||
@@ -23,8 +23,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic.Ingame
|
||||
readonly Selection selection;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public JumpToSelectedActorsHotkeyLogic(Widget widget, WorldRenderer worldRenderer, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "JumpToSelectedActorsKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
public JumpToSelectedActorsHotkeyLogic(Widget widget, ModData modData, WorldRenderer worldRenderer, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "JumpToSelectedActorsKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
{
|
||||
viewport = worldRenderer.Viewport;
|
||||
selection = world.Selection;
|
||||
|
||||
@@ -22,8 +22,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic.Ingame
|
||||
readonly World world;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public PauseHotkeyLogic(Widget widget, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "PauseKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
public PauseHotkeyLogic(Widget widget, ModData modData, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "PauseKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
{
|
||||
this.world = world;
|
||||
}
|
||||
|
||||
@@ -22,8 +22,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic.Ingame
|
||||
readonly Viewport viewport;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public TogglePixelDoubleHotkeyLogic(Widget widget, WorldRenderer worldRenderer, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "TogglePixelDoubleKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
public TogglePixelDoubleHotkeyLogic(Widget widget, ModData modData, WorldRenderer worldRenderer, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "TogglePixelDoubleKey", "WORLD_KEYHANDLER", logicArgs)
|
||||
{
|
||||
viewport = worldRenderer.Viewport;
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic.Ingame
|
||||
public class TogglePlayerStanceColorHotkeyLogic : SingleHotkeyBaseLogic
|
||||
{
|
||||
[ObjectCreator.UseCtor]
|
||||
public TogglePlayerStanceColorHotkeyLogic(Widget widget, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "TogglePlayerStanceColorKey", "WORLD_KEYHANDLER", logicArgs) { }
|
||||
public TogglePlayerStanceColorHotkeyLogic(Widget widget, ModData modData, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "TogglePlayerStanceColorKey", "WORLD_KEYHANDLER", logicArgs) { }
|
||||
|
||||
protected override bool OnHotkeyActivated(KeyInput e)
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
Widget currentWidget;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public MenuButtonsChromeLogic(Widget widget, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
public MenuButtonsChromeLogic(Widget widget, ModData modData, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
{
|
||||
this.world = world;
|
||||
|
||||
@@ -36,11 +36,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
menuRoot = Ui.Root.Get("MENU_ROOT");
|
||||
|
||||
MiniYaml yaml;
|
||||
var ks = Game.Settings.Keys;
|
||||
string[] keyNames = Enum.GetNames(typeof(ObserverStatsPanel));
|
||||
var statsHotkeys = new HotkeyReference[keyNames.Length];
|
||||
for (var i = 0; i < keyNames.Length; i++)
|
||||
statsHotkeys[i] = logicArgs.TryGetValue("Statistics" + keyNames[i] + "Key", out yaml) ? new HotkeyReference(yaml.Value, ks) : new HotkeyReference();
|
||||
statsHotkeys[i] = logicArgs.TryGetValue("Statistics" + keyNames[i] + "Key", out yaml) ? modData.Hotkeys[yaml.Value] : new HotkeyReference();
|
||||
|
||||
// System buttons
|
||||
var options = widget.GetOrNull<MenuButtonWidget>("OPTIONS_BUTTON");
|
||||
|
||||
@@ -62,15 +62,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
}
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public ObserverShroudSelectorLogic(Widget widget, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
public ObserverShroudSelectorLogic(Widget widget, ModData modData, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
{
|
||||
MiniYaml yaml;
|
||||
var ks = Game.Settings.Keys;
|
||||
if (logicArgs.TryGetValue("CombinedViewKey", out yaml))
|
||||
combinedViewKey = new HotkeyReference(yaml.Value, ks);
|
||||
combinedViewKey = modData.Hotkeys[yaml.Value];
|
||||
|
||||
if (logicArgs.TryGetValue("WorldViewKey", out yaml))
|
||||
worldViewKey = new HotkeyReference(yaml.Value, ks);
|
||||
worldViewKey = modData.Hotkeys[yaml.Value];
|
||||
|
||||
limitViews = world.Map.Visibility.HasFlag(MapVisibility.MissionSelector);
|
||||
|
||||
|
||||
@@ -44,17 +44,17 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
readonly WorldRenderer worldRenderer;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public ObserverStatsLogic(World world, WorldRenderer worldRenderer, Widget widget, Action onExit, ObserverStatsPanel activePanel, Dictionary<string, MiniYaml> logicArgs)
|
||||
public ObserverStatsLogic(World world, ModData modData, WorldRenderer worldRenderer, Widget widget,
|
||||
Action onExit, ObserverStatsPanel activePanel, Dictionary<string, MiniYaml> logicArgs)
|
||||
{
|
||||
this.world = world;
|
||||
this.worldRenderer = worldRenderer;
|
||||
|
||||
MiniYaml yaml;
|
||||
var ks = Game.Settings.Keys;
|
||||
string[] keyNames = Enum.GetNames(typeof(ObserverStatsPanel));
|
||||
var statsHotkeys = new HotkeyReference[keyNames.Length];
|
||||
for (var i = 0; i < keyNames.Length; i++)
|
||||
statsHotkeys[i] = logicArgs.TryGetValue("Statistics" + keyNames[i] + "Key", out yaml) ? new HotkeyReference(yaml.Value, ks) : new HotkeyReference();
|
||||
statsHotkeys[i] = logicArgs.TryGetValue("Statistics" + keyNames[i] + "Key", out yaml) ? modData.Hotkeys[yaml.Value] : new HotkeyReference();
|
||||
|
||||
players = world.Players.Where(p => !p.NonCombatant);
|
||||
|
||||
|
||||
@@ -22,28 +22,26 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
readonly MusicPlaylist musicPlaylist;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public MusicHotkeyLogic(Widget widget, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
public MusicHotkeyLogic(Widget widget, ModData modData, World world, Dictionary<string, MiniYaml> logicArgs)
|
||||
{
|
||||
musicPlaylist = world.WorldActor.Trait<MusicPlaylist>();
|
||||
|
||||
var ks = Game.Settings.Keys;
|
||||
MiniYaml yaml;
|
||||
|
||||
var stopKey = new HotkeyReference();
|
||||
if (logicArgs.TryGetValue("StopMusicKey", out yaml))
|
||||
stopKey = new HotkeyReference(yaml.Value, ks);
|
||||
stopKey = modData.Hotkeys[yaml.Value];
|
||||
|
||||
var pauseKey = new HotkeyReference();
|
||||
if (logicArgs.TryGetValue("PauseMusicKey", out yaml))
|
||||
pauseKey = new HotkeyReference(yaml.Value, ks);
|
||||
pauseKey = modData.Hotkeys[yaml.Value];
|
||||
|
||||
var prevKey = new HotkeyReference();
|
||||
if (logicArgs.TryGetValue("PrevMusicKey", out yaml))
|
||||
prevKey = new HotkeyReference(yaml.Value, ks);
|
||||
prevKey = modData.Hotkeys[yaml.Value];
|
||||
|
||||
var nextKey = new HotkeyReference();
|
||||
if (logicArgs.TryGetValue("NextMusicKey", out yaml))
|
||||
nextKey = new HotkeyReference(yaml.Value, ks);
|
||||
nextKey = modData.Hotkeys[yaml.Value];
|
||||
|
||||
var keyhandler = widget.Get<LogicKeyListenerWidget>("GLOBAL_KEYHANDLER");
|
||||
keyhandler.AddHandler(e =>
|
||||
|
||||
@@ -20,8 +20,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
public class MuteHotkeyLogic : SingleHotkeyBaseLogic
|
||||
{
|
||||
[ObjectCreator.UseCtor]
|
||||
public MuteHotkeyLogic(Widget widget, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "MuteAudioKey", "GLOBAL_KEYHANDLER", logicArgs) { }
|
||||
public MuteHotkeyLogic(Widget widget, ModData modData, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "MuteAudioKey", "GLOBAL_KEYHANDLER", logicArgs) { }
|
||||
|
||||
protected override bool OnHotkeyActivated(KeyInput e)
|
||||
{
|
||||
|
||||
@@ -19,8 +19,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
public class ScreenshotHotkeyLogic : SingleHotkeyBaseLogic
|
||||
{
|
||||
[ObjectCreator.UseCtor]
|
||||
public ScreenshotHotkeyLogic(Widget widget, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, "TakeScreenshotKey", "GLOBAL_KEYHANDLER", logicArgs) { }
|
||||
public ScreenshotHotkeyLogic(Widget widget, ModData modData, Dictionary<string, MiniYaml> logicArgs)
|
||||
: base(widget, modData, "TakeScreenshotKey", "GLOBAL_KEYHANDLER", logicArgs) { }
|
||||
|
||||
protected override bool OnHotkeyActivated(KeyInput e)
|
||||
{
|
||||
|
||||
@@ -17,14 +17,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
{
|
||||
public abstract class SingleHotkeyBaseLogic : ChromeLogic
|
||||
{
|
||||
protected SingleHotkeyBaseLogic(Widget widget, string argName, string parentName, Dictionary<string, MiniYaml> logicArgs)
|
||||
protected SingleHotkeyBaseLogic(Widget widget, ModData modData, string argName, string parentName, Dictionary<string, MiniYaml> logicArgs)
|
||||
{
|
||||
var ks = Game.Settings.Keys;
|
||||
MiniYaml yaml;
|
||||
|
||||
var namedKey = new HotkeyReference();
|
||||
if (logicArgs.TryGetValue(argName, out yaml))
|
||||
namedKey = new HotkeyReference(yaml.Value, ks);
|
||||
namedKey = modData.Hotkeys[yaml.Value];
|
||||
|
||||
var keyhandler = widget.Get<LogicKeyListenerWidget>(parentName);
|
||||
keyhandler.AddHandler(e =>
|
||||
|
||||
Reference in New Issue
Block a user