Implement new viewport size/zoom UI.
This commit is contained in:
@@ -39,6 +39,9 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
editorActionManager = world.WorldActor.Trait<EditorActionManager>();
|
||||
|
||||
editorActionManager.OnChange += EditorActionManagerOnChange;
|
||||
|
||||
// Allow zooming out to full map size
|
||||
worldRenderer.Viewport.UnlockMinimumZoom(0.25f);
|
||||
}
|
||||
|
||||
void EditorActionManagerOnChange()
|
||||
@@ -80,26 +83,11 @@ namespace OpenRA.Mods.Common.Widgets
|
||||
tooltipContainer.Value.RemoveTooltip();
|
||||
}
|
||||
|
||||
void Zoom(int amount)
|
||||
{
|
||||
var zoomSteps = worldRenderer.Viewport.AvailableZoomSteps;
|
||||
var currentZoom = worldRenderer.Viewport.Zoom;
|
||||
|
||||
var nextIndex = zoomSteps.IndexOf(currentZoom) - amount;
|
||||
if (nextIndex < 0 || nextIndex >= zoomSteps.Length)
|
||||
return;
|
||||
|
||||
var zoom = zoomSteps[nextIndex];
|
||||
Parent.Get<DropDownButtonWidget>("ZOOM_BUTTON").SelectedItem = zoom.ToString();
|
||||
worldRenderer.Viewport.Zoom = zoom;
|
||||
}
|
||||
|
||||
public override bool HandleMouseInput(MouseInput mi)
|
||||
{
|
||||
if (mi.Event == MouseInputEvent.Scroll &&
|
||||
Game.Settings.Game.AllowZoom && mi.Modifiers.HasModifier(Game.Settings.Game.ZoomModifier))
|
||||
if (mi.Event == MouseInputEvent.Scroll && mi.Modifiers.HasModifier(Game.Settings.Game.ZoomModifier))
|
||||
{
|
||||
Zoom(mi.Delta.Y);
|
||||
worldRenderer.Viewport.AdjustZoom(mi.Delta.Y * Game.Settings.Game.ZoomSpeed);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user