Merge branch 'master' into inventory_tooltips_fixes

This commit is contained in:
Tim Sarbin 2021-01-25 09:54:57 -05:00 committed by GitHub
commit 987a2f5094
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 53 additions and 14 deletions

View File

@ -280,7 +280,9 @@ func (v *Game) Advance(elapsed float64) error {
v.soundEnv.Advance(elapsed)
if v.gameControls != nil {
v.gameControls.PartyPanel.UpdatePlayersList(v.gameClient.Players)
if v.gameControls.PartyPanel != nil {
v.gameControls.PartyPanel.UpdatePlayersList(v.gameClient.Players)
}
}
return nil

View File

@ -387,7 +387,7 @@ func (v *MainMenu) createMainMenuButtons(loading d2screen.LoadingState) {
v.btnServerIPCancel.SetPosition(srvCancelBtnX, srvCancelBtnY)
v.btnServerIPCancel.OnActivated(func() { v.onBtnTCPIPCancelClicked() })
v.btnServerIPOk = v.uiManager.NewButton(d2ui.ButtonTypeOkCancel, v.asset.TranslateString(d2enum.OKLabel))
v.btnServerIPOk = v.uiManager.NewButton(d2ui.ButtonTypeOkCancel, v.asset.TranslateLabel(d2enum.OKLabel))
v.btnServerIPOk.SetPosition(srvOkBtnX, srvOkBtnY)
v.btnServerIPOk.OnActivated(func() { v.onBtnTCPIPOkClicked() })
loading.Progress(eightyPercent)

View File

@ -174,8 +174,6 @@ func NewGameControls(
heroStatsPanel := NewHeroStatsPanel(asset, ui, hero.Name(), hero.Class, l, hero.Stats)
PartyPanel := NewPartyPanel(asset, ui, hero.Name(), l, hero, hero.Stats, players)
questLog := NewQuestLog(asset, ui, l, audioProvider, hero.Act)
inventory, err := NewInventory(asset, ui, l, hero.Gold, inventoryRecord)
@ -208,7 +206,6 @@ func NewGameControls(
inventory: inventory,
skilltree: skilltree,
heroStatsPanel: heroStatsPanel,
PartyPanel: PartyPanel,
questLog: questLog,
HelpOverlay: helpOverlay,
keyMap: keyMap,
@ -236,6 +233,11 @@ func NewGameControls(
isSinglePlayer: isSinglePlayer,
}
if !isSinglePlayer {
PartyPanel := NewPartyPanel(asset, ui, hero.Name(), l, hero, hero.Stats, players)
gc.PartyPanel = PartyPanel
}
hud := NewHUD(asset, ui, hero, miniPanel, actionableRegions, mapEngine, l, gc, mapRenderer)
gc.hud = hud
@ -503,7 +505,10 @@ func (g *GameControls) OnMouseMove(event d2interface.MouseMoveEvent) bool {
}
g.hud.OnMouseMove(event)
g.PartyPanel.OnMouseMove(event)
if g.PartyPanel != nil {
g.PartyPanel.OnMouseMove(event)
}
return false
}
@ -562,10 +567,13 @@ func (g *GameControls) OnMouseButtonDown(event d2interface.MouseEvent) bool {
func (g *GameControls) clearLeftScreenSide() {
g.heroStatsPanel.Close()
g.PartyPanel.Close()
if g.PartyPanel != nil {
g.PartyPanel.Close()
}
g.questLog.Close()
g.hud.skillSelectMenu.ClosePanels()
g.hud.miniPanel.SetMovedRight(false)
g.updateLayout()
}
@ -573,7 +581,6 @@ func (g *GameControls) clearRightScreenSide() {
g.inventory.Close()
g.skilltree.Close()
g.hud.skillSelectMenu.ClosePanels()
g.hud.miniPanel.SetMovedLeft(false)
g.updateLayout()
}
@ -592,7 +599,6 @@ func (g *GameControls) openLeftPanel(panel Panel) {
if !isOpen {
panel.Open()
g.hud.miniPanel.SetMovedRight(true)
g.updateLayout()
}
}
@ -606,7 +612,6 @@ func (g *GameControls) openRightPanel(panel Panel) {
if !isOpen {
panel.Open()
g.hud.miniPanel.SetMovedLeft(true)
g.updateLayout()
}
}
@ -621,6 +626,7 @@ func (g *GameControls) togglePartyPanel() {
}
func (g *GameControls) onCloseHeroStatsPanel() {
g.updateLayout()
}
func (g *GameControls) toggleLeftSkillPanel() {
@ -642,6 +648,7 @@ func (g *GameControls) toggleQuestLog() {
}
func (g *GameControls) onCloseQuestLog() {
g.updateLayout()
}
func (g *GameControls) toggleHelpOverlay() {
@ -659,6 +666,7 @@ func (g *GameControls) toggleInventoryPanel() {
}
func (g *GameControls) onCloseInventory() {
g.updateLayout()
}
func (g *GameControls) toggleSkilltreePanel() {
@ -666,6 +674,7 @@ func (g *GameControls) toggleSkilltreePanel() {
}
func (g *GameControls) onCloseSkilltree() {
g.updateLayout()
}
func (g *GameControls) openEscMenu() {
@ -681,7 +690,11 @@ func (g *GameControls) Load() {
g.inventory.Load()
g.skilltree.load()
g.heroStatsPanel.Load()
g.PartyPanel.Load()
if g.PartyPanel != nil {
g.PartyPanel.Load()
}
g.questLog.Load()
g.HelpOverlay.Load()
@ -705,7 +718,10 @@ func (g *GameControls) Advance(elapsed float64) error {
g.hud.Advance(elapsed)
g.inventory.Advance(elapsed)
g.questLog.Advance(elapsed)
g.PartyPanel.Advance(elapsed)
if g.PartyPanel != nil {
g.PartyPanel.Advance(elapsed)
}
if err := g.escapeMenu.Advance(elapsed); err != nil {
return err
@ -724,16 +740,27 @@ 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()
}
}
func (g *GameControls) isLeftPanelOpen() bool {
return g.heroStatsPanel.IsOpen() || g.PartyPanel.IsOpen() || g.questLog.IsOpen() || g.inventory.moveGoldPanel.IsOpen()
var partyPanel bool
if g.PartyPanel != nil {
partyPanel = g.PartyPanel.IsOpen()
} else {
partyPanel = false
}
return g.heroStatsPanel.IsOpen() || partyPanel || g.questLog.IsOpen() || g.inventory.moveGoldPanel.IsOpen()
}
func (g *GameControls) isRightPanelOpen() bool {

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