Fix mini panel not moving back on panel close button pressed

This commit is contained in:
cardoso 2021-01-22 15:50:03 -03:00
parent f83c74ffde
commit 7dd00645cd
2 changed files with 13 additions and 4 deletions

View File

@ -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()
}
}

View File

@ -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