From 0bd774aaa66c4ac27718c431559dbae7899b229c Mon Sep 17 00:00:00 2001 From: gravestench Date: Mon, 26 Oct 2020 11:39:10 +0000 Subject: [PATCH] fixed some of the remaining funlen lint errors (#850) * d2records/: suppressing function legnth lint errors for record loaders * d2gamescreen/character_select.go: broke up OnLoad method to reduce complexity * d2ui/button.go: suppressing funlen lint error, can't reduce function size --- d2core/d2records/belts_loader.go | 1 + d2core/d2records/charstats_loader.go | 1 + d2core/d2records/inventory_loader.go | 2 +- d2core/d2records/item_common_loader.go | 1 + d2core/d2records/level_details_loader.go | 1 + d2core/d2records/missiles_loader.go | 1 + d2core/d2records/monster_stats_loader.go | 2 +- d2core/d2records/unique_items_loader.go | 1 + d2core/d2ui/button.go | 1 + d2game/d2gamescreen/character_select.go | 106 ++++++++++++++--------- 10 files changed, 75 insertions(+), 42 deletions(-) diff --git a/d2core/d2records/belts_loader.go b/d2core/d2records/belts_loader.go index 229d1b4d..2c79b6eb 100644 --- a/d2core/d2records/belts_loader.go +++ b/d2core/d2records/belts_loader.go @@ -6,6 +6,7 @@ import ( "github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2txt" ) +// nolint:funlen // cant reduce func beltsLoader(r *RecordManager, d *d2txt.DataDictionary) error { records := make(Belts) diff --git a/d2core/d2records/charstats_loader.go b/d2core/d2records/charstats_loader.go index 6c7f4047..26939937 100644 --- a/d2core/d2records/charstats_loader.go +++ b/d2core/d2records/charstats_loader.go @@ -7,6 +7,7 @@ import ( "github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2txt" ) +// nolint:funlen // cant reduce func charStatsLoader(r *RecordManager, d *d2txt.DataDictionary) error { records := make(CharStats) diff --git a/d2core/d2records/inventory_loader.go b/d2core/d2records/inventory_loader.go index 22496721..e7d4f29c 100644 --- a/d2core/d2records/inventory_loader.go +++ b/d2core/d2records/inventory_loader.go @@ -7,7 +7,7 @@ import ( "github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2txt" ) -// LoadInventory loads all of the inventory records from inventory.txt +// nolint:funlen // cant reduce func inventoryLoader(r *RecordManager, d *d2txt.DataDictionary) error { records := make(Inventory) diff --git a/d2core/d2records/item_common_loader.go b/d2core/d2records/item_common_loader.go index 4fcb79ed..c5c7d5fb 100644 --- a/d2core/d2records/item_common_loader.go +++ b/d2core/d2records/item_common_loader.go @@ -10,6 +10,7 @@ import ( "github.com/OpenDiablo2/OpenDiablo2/d2common/d2enum" ) +// nolint:funlen // cant reduce func loadCommonItems(d *d2txt.DataDictionary, source d2enum.InventoryItemType) (CommonItems, error) { records := make(CommonItems) diff --git a/d2core/d2records/level_details_loader.go b/d2core/d2records/level_details_loader.go index 8471985c..0eee96ab 100644 --- a/d2core/d2records/level_details_loader.go +++ b/d2core/d2records/level_details_loader.go @@ -8,6 +8,7 @@ import ( "github.com/OpenDiablo2/OpenDiablo2/d2common/d2enum" ) +// nolint:funlen // cant reduce func levelDetailsLoader(r *RecordManager, d *d2txt.DataDictionary) error { records := make(LevelDetails) diff --git a/d2core/d2records/missiles_loader.go b/d2core/d2records/missiles_loader.go index ac898af0..931a0022 100644 --- a/d2core/d2records/missiles_loader.go +++ b/d2core/d2records/missiles_loader.go @@ -9,6 +9,7 @@ import ( "github.com/OpenDiablo2/OpenDiablo2/d2common/d2calculation" ) +// nolint:funlen // cant reduce func missilesLoader(r *RecordManager, d *d2txt.DataDictionary) error { records := make(Missiles) r.missilesByName = make(missilesByName) diff --git a/d2core/d2records/monster_stats_loader.go b/d2core/d2records/monster_stats_loader.go index b9c28af7..aee396c9 100644 --- a/d2core/d2records/monster_stats_loader.go +++ b/d2core/d2records/monster_stats_loader.go @@ -7,7 +7,7 @@ import ( "github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2txt" ) -// LoadMonStats loads monstats +// nolint:funlen // cant reduce func monsterStatsLoader(r *RecordManager, d *d2txt.DataDictionary) error { records := make(MonStats) diff --git a/d2core/d2records/unique_items_loader.go b/d2core/d2records/unique_items_loader.go index 34b6d53e..ce78ce05 100644 --- a/d2core/d2records/unique_items_loader.go +++ b/d2core/d2records/unique_items_loader.go @@ -6,6 +6,7 @@ import ( "github.com/OpenDiablo2/OpenDiablo2/d2common/d2fileformats/d2txt" ) +// nolint:funlen // cant reduce func uniqueItemsLoader(r *RecordManager, d *d2txt.DataDictionary) error { records := make(UniqueItems) diff --git a/d2core/d2ui/button.go b/d2core/d2ui/button.go index 9d4674d5..ef3c82ba 100644 --- a/d2core/d2ui/button.go +++ b/d2core/d2ui/button.go @@ -116,6 +116,7 @@ const ( pressedButtonOffset = 2 ) +// nolint:funlen // cant reduce func getButtonLayouts() map[ButtonType]ButtonLayout { return map[ButtonType]ButtonLayout{ ButtonTypeWide: { diff --git a/d2game/d2gamescreen/character_select.go b/d2game/d2gamescreen/character_select.go index 573f7926..de1c6d34 100644 --- a/d2game/d2gamescreen/character_select.go +++ b/d2game/d2gamescreen/character_select.go @@ -152,50 +152,16 @@ func (v *CharacterSelect) OnLoad(loading d2screen.LoadingState) { loading.Progress(tenPercent) - bgX, bgY := 0, 0 - - v.background, err = v.uiManager.NewSprite(d2resource.CharacterSelectionBackground, d2resource.PaletteSky) - if err != nil { - log.Print(err) - } - - v.background.SetPosition(bgX, bgY) - + v.loadBackground() v.createButtons(loading) - - heroTitleX, heroTitleY := 320, 23 - v.d2HeroTitle = v.uiManager.NewLabel(d2resource.Font42, d2resource.PaletteUnits) - v.d2HeroTitle.SetPosition(heroTitleX, heroTitleY) - v.d2HeroTitle.Alignment = d2gui.HorizontalAlignCenter + v.loadHeroTitle() loading.Progress(thirtyPercent) - v.deleteCharConfirmLabel = v.uiManager.NewLabel(d2resource.Font16, d2resource.PaletteUnits) - lines := "Are you sure that you want\nto delete this character?\nTake note: this will delete all\nversions of this Character." - v.deleteCharConfirmLabel.SetText(lines) - v.deleteCharConfirmLabel.Alignment = d2gui.HorizontalAlignCenter - deleteConfirmX, deleteConfirmY := 400, 185 - v.deleteCharConfirmLabel.SetPosition(deleteConfirmX, deleteConfirmY) - - v.selectionBox, err = v.uiManager.NewSprite(d2resource.CharacterSelectionSelectBox, d2resource.PaletteSky) - if err != nil { - log.Print(err) - } - - selBoxX, selBoxY := 37, 86 - v.selectionBox.SetPosition(selBoxX, selBoxY) - - v.okCancelBox, err = v.uiManager.NewSprite(d2resource.PopUpOkCancel, d2resource.PaletteFechar) - if err != nil { - log.Print(err) - } - - okCancelX, okCancelY := 270, 175 - v.okCancelBox.SetPosition(okCancelX, okCancelY) - - scrollBarX, scrollBarY, scrollBarHeight := 586, 87, 369 - v.charScrollbar = v.uiManager.NewScrollbar(scrollBarX, scrollBarY, scrollBarHeight) - v.charScrollbar.OnActivated(func() { v.onScrollUpdate() }) + v.loadDeleteCharConfirm() + v.loadSelectionBox() + v.loadOkCancelBox() + v.loadCharScrollbar() loading.Progress(fiftyPercent) @@ -221,9 +187,69 @@ func (v *CharacterSelect) OnLoad(loading d2screen.LoadingState) { v.characterExpLabel[i].SetPosition(offsetX, offsetY) v.characterExpLabel[i].Color[0] = rgbaColor(lightGreen) } + v.refreshGameStates() } +func (v *CharacterSelect) loadBackground() { + var err error + + bgX, bgY := 0, 0 + + v.background, err = v.uiManager.NewSprite(d2resource.CharacterSelectionBackground, d2resource.PaletteSky) + if err != nil { + log.Print(err) + } + + v.background.SetPosition(bgX, bgY) +} + +func (v *CharacterSelect) loadHeroTitle() { + heroTitleX, heroTitleY := 320, 23 + v.d2HeroTitle = v.uiManager.NewLabel(d2resource.Font42, d2resource.PaletteUnits) + v.d2HeroTitle.SetPosition(heroTitleX, heroTitleY) + v.d2HeroTitle.Alignment = d2gui.HorizontalAlignCenter +} + +func (v *CharacterSelect) loadDeleteCharConfirm() { + v.deleteCharConfirmLabel = v.uiManager.NewLabel(d2resource.Font16, d2resource.PaletteUnits) + lines := "Are you sure that you want\nto delete this character?\nTake note: this will delete all\nversions of this Character." + v.deleteCharConfirmLabel.SetText(lines) + v.deleteCharConfirmLabel.Alignment = d2gui.HorizontalAlignCenter + deleteConfirmX, deleteConfirmY := 400, 185 + v.deleteCharConfirmLabel.SetPosition(deleteConfirmX, deleteConfirmY) +} + +func (v *CharacterSelect) loadSelectionBox() { + var err error + + v.selectionBox, err = v.uiManager.NewSprite(d2resource.CharacterSelectionSelectBox, d2resource.PaletteSky) + if err != nil { + log.Print(err) + } + + selBoxX, selBoxY := 37, 86 + v.selectionBox.SetPosition(selBoxX, selBoxY) +} + +func (v *CharacterSelect) loadOkCancelBox() { + var err error + + v.okCancelBox, err = v.uiManager.NewSprite(d2resource.PopUpOkCancel, d2resource.PaletteFechar) + if err != nil { + log.Print(err) + } + + okCancelX, okCancelY := 270, 175 + v.okCancelBox.SetPosition(okCancelX, okCancelY) +} + +func (v *CharacterSelect) loadCharScrollbar() { + scrollBarX, scrollBarY, scrollBarHeight := 586, 87, 369 + v.charScrollbar = v.uiManager.NewScrollbar(scrollBarX, scrollBarY, scrollBarHeight) + v.charScrollbar.OnActivated(func() { v.onScrollUpdate() }) +} + func rgbaColor(rgba uint32) color.RGBA { result := color.RGBA{} a, b, g, r := 0, 1, 2, 3