From c9859f25d309ea520474f9bf23ac4bb82477fae3 Mon Sep 17 00:00:00 2001 From: "M. Sz" Date: Tue, 19 Jan 2021 19:36:16 +0100 Subject: [PATCH 1/3] party panel: party panel is created only, when game isn't singlePlayer game --- d2game/d2player/game_controls.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/d2game/d2player/game_controls.go b/d2game/d2player/game_controls.go index 975b90d3..f7641f28 100644 --- a/d2game/d2player/game_controls.go +++ b/d2game/d2player/game_controls.go @@ -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 From a126242f9f997063609b37bd64dbd83ea6416e77 Mon Sep 17 00:00:00 2001 From: "M. Sz" Date: Tue, 19 Jan 2021 19:42:17 +0100 Subject: [PATCH 2/3] main menu: btnServerIPOk label --- d2game/d2gamescreen/main_menu.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/d2game/d2gamescreen/main_menu.go b/d2game/d2gamescreen/main_menu.go index c11f8e09..388275b9 100644 --- a/d2game/d2gamescreen/main_menu.go +++ b/d2game/d2gamescreen/main_menu.go @@ -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) From 67525c8f4dccca93a9934e90716fbb4ed7858949 Mon Sep 17 00:00:00 2001 From: "M. Sz" Date: Wed, 20 Jan 2021 08:48:55 +0100 Subject: [PATCH 3/3] game control: fixed panics on game start, when single player (party panel wasn't created) --- d2game/d2gamescreen/game.go | 4 +++- d2game/d2player/game_controls.go | 32 +++++++++++++++++++++++++++----- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/d2game/d2gamescreen/game.go b/d2game/d2gamescreen/game.go index 5ee10d83..3d01b6c7 100644 --- a/d2game/d2gamescreen/game.go +++ b/d2game/d2gamescreen/game.go @@ -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 diff --git a/d2game/d2player/game_controls.go b/d2game/d2player/game_controls.go index f7641f28..ffe408f7 100644 --- a/d2game/d2player/game_controls.go +++ b/d2game/d2player/game_controls.go @@ -505,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 } @@ -564,7 +567,11 @@ 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) @@ -683,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() @@ -707,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 @@ -735,7 +749,15 @@ func (g *GameControls) updateLayout() { } 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 {