From 7dd00645cd9b4dc9b58df9b473e58576ff56fcc0 Mon Sep 17 00:00:00 2001 From: cardoso Date: Fri, 22 Jan 2021 15:50:03 -0300 Subject: [PATCH] Fix mini panel not moving back on panel close button pressed --- d2game/d2player/game_controls.go | 7 +++---- d2game/d2player/mini_panel.go | 10 ++++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/d2game/d2player/game_controls.go b/d2game/d2player/game_controls.go index a2b321e4..68baeebd 100644 --- a/d2game/d2player/game_controls.go +++ b/d2game/d2player/game_controls.go @@ -565,7 +565,6 @@ func (g *GameControls) clearLeftScreenSide() { g.PartyPanel.Close() g.questLog.Close() g.hud.skillSelectMenu.ClosePanels() - g.hud.miniPanel.SetMovedRight(false) g.updateLayout() } @@ -573,7 +572,6 @@ func (g *GameControls) clearRightScreenSide() { g.inventory.Close() g.skilltree.Close() g.hud.skillSelectMenu.ClosePanels() - g.hud.miniPanel.SetMovedLeft(false) g.updateLayout() } @@ -592,7 +590,6 @@ func (g *GameControls) openLeftPanel(panel Panel) { if !isOpen { panel.Open() - g.hud.miniPanel.SetMovedRight(true) g.updateLayout() } } @@ -606,7 +603,6 @@ func (g *GameControls) openRightPanel(panel Panel) { if !isOpen { panel.Open() - g.hud.miniPanel.SetMovedLeft(true) g.updateLayout() } } @@ -728,10 +724,13 @@ func (g *GameControls) updateLayout() { switch { case isRightPanelOpen == isLeftPanelOpen: + g.hud.miniPanel.ResetPosition() g.mapRenderer.ViewportDefault() case isRightPanelOpen: + g.hud.miniPanel.SetMovedRight(true) g.mapRenderer.ViewportToLeft() case isLeftPanelOpen: + g.hud.miniPanel.SetMovedLeft(true) g.mapRenderer.ViewportToRight() } } diff --git a/d2game/d2player/mini_panel.go b/d2game/d2player/mini_panel.go index cfb35dae..0332f3aa 100644 --- a/d2game/d2player/mini_panel.go +++ b/d2game/d2player/mini_panel.go @@ -331,6 +331,16 @@ func (m *miniPanel) SetMovedLeft(moveLeft bool) { m.movedLeft = moveLeft } +func (m *miniPanel) ResetPosition() { + if m.movedLeft { + m.undoMoveLeft() + m.movedLeft = false + } else if m.movedRight { + m.undoMoveRight() + m.movedRight = false + } +} + func (m *miniPanel) SetMovedRight(moveRight bool) { if m.movedRight == moveRight { return