Hotkeys for move viewport to map edge

This commit is contained in:
Tamás Viszkok
2016-05-16 20:19:08 +02:00
parent 9707cd9be9
commit 522e937597
3 changed files with 34 additions and 1 deletions

View File

@@ -455,7 +455,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ "MapScrollUp", "Map scroll up" },
{ "MapScrollDown", "Map scroll down" },
{ "MapScrollLeft", "Map scroll left" },
{ "MapScrollRight", "Map scroll right" }
{ "MapScrollRight", "Map scroll right" },
{ "MapPushTop", "Map push to top" },
{ "MapPushBottom", "Map push to bottom" },
{ "MapPushLeftEdge", "Map push to left edge" },
{ "MapPushRightEdge", "Map push to right edge" }
};
var header = ScrollItemWidget.Setup(hotkeyHeader, returnTrue, doNothing);

View File

@@ -331,6 +331,29 @@ namespace OpenRA.Mods.Common.Widgets
return true;
}
if (key == ks.MapPushTop)
{
worldRenderer.Viewport.Center(new WPos(worldRenderer.Viewport.CenterPosition.X, 0, 0));
return false;
}
if (key == ks.MapPushBottom)
{
worldRenderer.Viewport.Center(new WPos(worldRenderer.Viewport.CenterPosition.X, worldRenderer.World.Map.ProjectedBottomRight.Y, 0));
return false;
}
if (key == ks.MapPushLeftEdge)
{
worldRenderer.Viewport.Center(new WPos(0, worldRenderer.Viewport.CenterPosition.Y, 0));
return false;
}
if (key == ks.MapPushRightEdge)
{
worldRenderer.Viewport.Center(new WPos(worldRenderer.World.Map.ProjectedBottomRight.X, worldRenderer.Viewport.CenterPosition.Y, 0));
}
if (key == ks.ViewPortBookmarkSaveSlot1)
{
SaveCurrentPositionToBookmark(0);