From 0918e1700bf86ef551f70852578502e2420f81c9 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Sun, 6 Feb 2022 22:23:41 +0100 Subject: [PATCH] made the new changes work correctly with touch input --- MLEM/Input/InputHandler.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/MLEM/Input/InputHandler.cs b/MLEM/Input/InputHandler.cs index 2761bcf..5a61256 100644 --- a/MLEM/Input/InputHandler.cs +++ b/MLEM/Input/InputHandler.cs @@ -288,13 +288,14 @@ namespace MLEM.Input { this.LastViewportTouchState = this.ViewportTouchState; this.TouchState = active ? TouchPanel.GetState() : default; - this.ViewportTouchState = this.TouchState; - if (this.ViewportTouchState.Count > 0 && this.ViewportOffset != Point.Zero) { - for (var i = 0; i < this.ViewportTouchState.Count; i++) { - var touch = this.ViewportTouchState[i]; + if (this.TouchState.Count > 0 && this.ViewportOffset != Point.Zero) { + this.ViewportTouchState = new List(); + foreach (var touch in this.TouchState) { touch.TryGetPreviousLocation(out var previous); - this.ViewportTouchState[i] = new TouchLocation(touch.Id, touch.State, touch.Position + this.ViewportOffset.ToVector2(), previous.State, previous.Position + this.ViewportOffset.ToVector2()); + this.ViewportTouchState.Add(new TouchLocation(touch.Id, touch.State, touch.Position + this.ViewportOffset.ToVector2(), previous.State, previous.Position + this.ViewportOffset.ToVector2())); } + } else { + this.ViewportTouchState = this.TouchState; } this.gestures.Clear();