mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-09-28 06:06:29 -04:00
code clean up
This commit is contained in:
parent
5c9d4a80e2
commit
1d5516c374
@ -29,12 +29,11 @@ const (
|
|||||||
const (
|
const (
|
||||||
iconOffsetY = 88
|
iconOffsetY = 88
|
||||||
questOffsetX, questOffsetY = 4, 4
|
questOffsetX, questOffsetY = 4, 4
|
||||||
q1SocketX, q1SocketY = 100, 95
|
socket1X = 100
|
||||||
q2SocketX, q2SocketY = 200, 95
|
socket2X = 200
|
||||||
q3SocketX, q3SocketY = 300, 95
|
socket3X = 300
|
||||||
q4SocketX, q4SocketY = 100, 190
|
socketUpY = 95
|
||||||
q5SocketX, q5SocketY = 200, 190
|
socketDownY = 190
|
||||||
q6SocketX, q6SocketY = 300, 190
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -46,8 +45,9 @@ const (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
questTabY = 66
|
questTabY = 66
|
||||||
questTabBaseX = 85
|
questTabYOffset = 31
|
||||||
questTabXOffset = 58
|
questTabBaseX = 86
|
||||||
|
questTabXOffset = 61
|
||||||
)
|
)
|
||||||
|
|
||||||
func (s *QuestLog) getPositionForSocket(number int) (x, y int) {
|
func (s *QuestLog) getPositionForSocket(number int) (x, y int) {
|
||||||
@ -55,12 +55,12 @@ func (s *QuestLog) getPositionForSocket(number int) (x, y int) {
|
|||||||
x int
|
x int
|
||||||
y int
|
y int
|
||||||
}{
|
}{
|
||||||
{q1SocketX, q1SocketY},
|
{socket1X, socketUpY},
|
||||||
{q2SocketX, q2SocketY},
|
{socket2X, socketUpY},
|
||||||
{q3SocketX, q3SocketY},
|
{socket3X, socketUpY},
|
||||||
{q4SocketX, q4SocketY},
|
{socket1X, socketDownY},
|
||||||
{q5SocketX, q5SocketY},
|
{socket2X, socketDownY},
|
||||||
{q6SocketX, q6SocketY},
|
{socket3X, socketDownY},
|
||||||
}
|
}
|
||||||
|
|
||||||
return pos[number].x, pos[number].y
|
return pos[number].x, pos[number].y
|
||||||
@ -103,6 +103,12 @@ func NewQuestLog(asset *d2asset.AssetManager,
|
|||||||
24: 0,
|
24: 0,
|
||||||
25: 0,
|
25: 0,
|
||||||
26: 0,
|
26: 0,
|
||||||
|
27: 0,
|
||||||
|
28: 0,
|
||||||
|
29: 0,
|
||||||
|
30: 0,
|
||||||
|
31: 0,
|
||||||
|
32: 1,
|
||||||
}
|
}
|
||||||
|
|
||||||
var quests [d2enum.ActsNumber]*d2ui.WidgetGroup
|
var quests [d2enum.ActsNumber]*d2ui.WidgetGroup
|
||||||
@ -110,19 +116,18 @@ func NewQuestLog(asset *d2asset.AssetManager,
|
|||||||
quests[i] = ui.NewWidgetGroup(d2ui.RenderPriorityQuestLog)
|
quests[i] = ui.NewWidgetGroup(d2ui.RenderPriorityQuestLog)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var tabs [d2enum.ActsNumber]questLogTab
|
||||||
|
for i := 0; i < d2enum.ActsNumber; i++ {
|
||||||
|
tabs[i] = questLogTab{}
|
||||||
|
}
|
||||||
|
|
||||||
ql := &QuestLog{
|
ql := &QuestLog{
|
||||||
asset: asset,
|
asset: asset,
|
||||||
uiManager: ui,
|
uiManager: ui,
|
||||||
originX: originX,
|
originX: originX,
|
||||||
originY: originY,
|
originY: originY,
|
||||||
act: act,
|
act: act,
|
||||||
tab: [d2enum.ActsNumber]*questLogTab{
|
tab: tabs,
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
},
|
|
||||||
quests: quests,
|
quests: quests,
|
||||||
questStatus: qs,
|
questStatus: qs,
|
||||||
}
|
}
|
||||||
@ -144,7 +149,7 @@ type QuestLog struct {
|
|||||||
selectedTab int
|
selectedTab int
|
||||||
selectedQuest int
|
selectedQuest int
|
||||||
act int
|
act int
|
||||||
tab [d2enum.ActsNumber]*questLogTab
|
tab [d2enum.ActsNumber]questLogTab
|
||||||
|
|
||||||
questName *d2ui.Label
|
questName *d2ui.Label
|
||||||
questDescr *d2ui.Label
|
questDescr *d2ui.Label
|
||||||
@ -175,7 +180,7 @@ const (
|
|||||||
const questDescriptionLenght = 30
|
const questDescriptionLenght = 30
|
||||||
|
|
||||||
type questLogTab struct {
|
type questLogTab struct {
|
||||||
button *d2ui.Button
|
sprite *d2ui.Sprite
|
||||||
invisibleButton *d2ui.Button
|
invisibleButton *d2ui.Button
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,25 +236,33 @@ func (s *QuestLog) Load() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *QuestLog) loadTabs() {
|
func (s *QuestLog) loadTabs() {
|
||||||
var buttonTypes = []d2ui.ButtonType{
|
var err error
|
||||||
d2ui.ButtonTypeTab1,
|
|
||||||
d2ui.ButtonTypeTab2,
|
tabsResource := d2resource.WPTabs
|
||||||
d2ui.ButtonTypeTab3,
|
|
||||||
d2ui.ButtonTypeTab4,
|
|
||||||
d2ui.ButtonTypeTab5,
|
|
||||||
d2ui.ButtonTypeTab1,
|
|
||||||
}
|
|
||||||
|
|
||||||
for i := 0; i < d2enum.ActsNumber; i++ {
|
for i := 0; i < d2enum.ActsNumber; i++ {
|
||||||
currentValue := i
|
currentValue := i
|
||||||
s.tab[i].button = s.uiManager.NewButton(buttonTypes[i], "")
|
|
||||||
s.tab[i].button.SetPosition(questTabBaseX+i*questTabXOffset, questTabY)
|
s.tab[i].sprite, err = s.uiManager.NewSprite(tabsResource, d2resource.PaletteSky)
|
||||||
|
if err != nil {
|
||||||
|
s.Error(err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
// nolint:gomnd // it's constant
|
||||||
|
frame := 2 * currentValue
|
||||||
|
|
||||||
|
err := s.tab[i].sprite.SetCurrentFrame(frame)
|
||||||
|
if err != nil {
|
||||||
|
s.Errorf("Tabs sprite (%s) hasn't frame %d. %s", tabsResource, frame, err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
s.tab[i].sprite.SetPosition(questTabBaseX+i*questTabXOffset, questTabY+questTabYOffset)
|
||||||
|
|
||||||
s.tab[i].invisibleButton = s.uiManager.NewButton(d2ui.ButtonTypeTabBlank, "")
|
s.tab[i].invisibleButton = s.uiManager.NewButton(d2ui.ButtonTypeTabBlank, "")
|
||||||
s.tab[i].invisibleButton.SetPosition(questTabBaseX+i*questTabXOffset, questTabY)
|
s.tab[i].invisibleButton.SetPosition(questTabBaseX+i*questTabXOffset, questTabY)
|
||||||
s.tab[i].invisibleButton.OnActivated(func() { s.setTab(currentValue) })
|
s.tab[i].invisibleButton.OnActivated(func() { s.setTab(currentValue) })
|
||||||
|
|
||||||
s.panelGroup.AddWidget(s.tab[i].button)
|
s.panelGroup.AddWidget(s.tab[i].sprite)
|
||||||
s.panelGroup.AddWidget(s.tab[i].invisibleButton)
|
s.panelGroup.AddWidget(s.tab[i].invisibleButton)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -289,7 +302,7 @@ func (s *QuestLog) loadQuestIconsForAct(act int) *d2ui.WidgetGroup {
|
|||||||
|
|
||||||
icon, err = s.makeQuestIconForAct(act, n)
|
icon, err = s.makeQuestIconForAct(act, n)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.Fatal(err.Error())
|
s.Error(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
icon.SetPosition(x+questOffsetX, y+questOffsetY+iconOffsetY)
|
icon.SetPosition(x+questOffsetX, y+questOffsetY+iconOffsetY)
|
||||||
@ -330,9 +343,11 @@ func (s *QuestLog) loadQuestIconsForAct(act int) *d2ui.WidgetGroup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *QuestLog) makeQuestIconForAct(act, n int) (*d2ui.Sprite, error) {
|
func (s *QuestLog) makeQuestIconForAct(act, n int) (*d2ui.Sprite, error) {
|
||||||
icon, err := s.uiManager.NewSprite(s.questIconsTable(act, n), d2resource.PaletteSky)
|
iconResource := s.questIconsTable(act, n)
|
||||||
|
|
||||||
|
icon, err := s.uiManager.NewSprite(iconResource, d2resource.PaletteSky)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.Fatalf("during creating new quest icons for act %d. %s", act, err.Error())
|
s.Fatalf("during creating new quest icons for act %d (icon sprite %s doesn't exist). %s", act, iconResource, err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
switch s.questStatus[s.cordsToQuestID(act, n)] {
|
switch s.questStatus[s.cordsToQuestID(act, n)] {
|
||||||
@ -393,6 +408,8 @@ func (s *QuestLog) setQuestLabel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *QuestLog) setTab(tab int) {
|
func (s *QuestLog) setTab(tab int) {
|
||||||
|
var mod int
|
||||||
|
|
||||||
s.selectedTab = tab
|
s.selectedTab = tab
|
||||||
s.selectedQuest = d2enum.QuestNone
|
s.selectedQuest = d2enum.QuestNone
|
||||||
s.setQuestLabel()
|
s.setQuestLabel()
|
||||||
@ -402,7 +419,18 @@ func (s *QuestLog) setTab(tab int) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < d2enum.ActsNumber; i++ {
|
for i := 0; i < d2enum.ActsNumber; i++ {
|
||||||
s.tab[i].button.SetEnabled(i == tab)
|
cv := i
|
||||||
|
|
||||||
|
if cv == s.selectedTab {
|
||||||
|
mod = 0
|
||||||
|
} else {
|
||||||
|
mod = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
err := s.tab[cv].sprite.SetCurrentFrame(2*cv + mod)
|
||||||
|
if err != nil {
|
||||||
|
s.Error(err.Error())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user