mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-09-29 06:36:30 -04:00
socket highlight init
This commit is contained in:
parent
5804cd2c23
commit
013264cb8e
@ -240,7 +240,6 @@ func (s *QuestLog) Load() {
|
|||||||
s.questName.SetPosition(questNameLabelX, questNameLabelY)
|
s.questName.SetPosition(questNameLabelX, questNameLabelY)
|
||||||
s.panelGroup.AddWidget(s.questName)
|
s.panelGroup.AddWidget(s.questName)
|
||||||
|
|
||||||
//s.questDescr = s.uiManager.NewLabel(d2resource.Font16, d2resource.PaletteStatic)
|
|
||||||
s.questDescr = s.uiManager.NewLabel(d2resource.FontFormal12, d2resource.PaletteStatic)
|
s.questDescr = s.uiManager.NewLabel(d2resource.FontFormal12, d2resource.PaletteStatic)
|
||||||
s.questDescr.Alignment = d2ui.HorizontalAlignLeft
|
s.questDescr.Alignment = d2ui.HorizontalAlignLeft
|
||||||
s.questDescr.Color[0] = rgbaColor(white)
|
s.questDescr.Color[0] = rgbaColor(white)
|
||||||
@ -300,19 +299,24 @@ func (s *QuestLog) loadQuestIconsForAct(act int) *d2ui.WidgetGroup {
|
|||||||
questsInAct = normalActQuestsNumber
|
questsInAct = normalActQuestsNumber
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var sockets []*d2ui.Sprite
|
||||||
|
|
||||||
|
var buttons []*d2ui.Button
|
||||||
|
|
||||||
for n := 0; n < questsInAct; n++ {
|
for n := 0; n < questsInAct; n++ {
|
||||||
q := s.questTable(act, n)
|
q := s.questTable(act, n)
|
||||||
|
|
||||||
button := s.uiManager.NewButton(d2ui.ButtonTypeBlankQuestBtn, "")
|
|
||||||
button.SetPosition(q.x+questOffsetX, q.y+questOffsetY)
|
|
||||||
button.OnActivated(s.makeQuestCallback(n))
|
|
||||||
|
|
||||||
socket, err := s.uiManager.NewSprite(d2resource.QuestLogSocket, d2resource.PaletteSky)
|
socket, err := s.uiManager.NewSprite(d2resource.QuestLogSocket, d2resource.PaletteSky)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.Error(err.Error())
|
s.Error(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
socket.SetPosition(q.x+questOffsetX, q.y+iconOffsetY+2*questOffsetY)
|
socket.SetPosition(q.x+questOffsetX, q.y+iconOffsetY+2*questOffsetY)
|
||||||
|
sockets = append(sockets, socket)
|
||||||
|
|
||||||
|
button := s.uiManager.NewButton(d2ui.ButtonTypeBlankQuestBtn, "")
|
||||||
|
button.SetPosition(q.x+questOffsetX, q.y+questOffsetY)
|
||||||
|
buttons = append(buttons, button)
|
||||||
|
|
||||||
icon, err := s.uiManager.NewSprite(d2resource.QuestLogDone, d2resource.PaletteSky)
|
icon, err := s.uiManager.NewSprite(d2resource.QuestLogDone, d2resource.PaletteSky)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -327,29 +331,58 @@ func (s *QuestLog) loadQuestIconsForAct(act int) *d2ui.WidgetGroup {
|
|||||||
icon.SetPosition(q.x+questOffsetX, q.y+questOffsetY+iconOffsetY)
|
icon.SetPosition(q.x+questOffsetX, q.y+questOffsetY+iconOffsetY)
|
||||||
|
|
||||||
wg.AddWidget(icon)
|
wg.AddWidget(icon)
|
||||||
wg.AddWidget(socket)
|
|
||||||
wg.AddWidget(button)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for i := 0; i < questsInAct; i++ {
|
||||||
|
currentQuest := i
|
||||||
|
buttons[i].OnActivated(func() {
|
||||||
|
var err error
|
||||||
|
for j := 0; j < questsInAct; j++ {
|
||||||
|
err = sockets[j].SetCurrentFrame(0)
|
||||||
|
if err != nil {
|
||||||
|
s.Error(err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if act-1 == s.selectedTab {
|
||||||
|
err = sockets[currentQuest].SetCurrentFrame(1)
|
||||||
|
if err != nil {
|
||||||
|
s.Error(err.Error())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s.onQuestClicked(currentQuest + 1)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, s := range sockets {
|
||||||
|
wg.AddWidget(s)
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, b := range buttons {
|
||||||
|
wg.AddWidget(b)
|
||||||
|
}
|
||||||
|
|
||||||
wg.SetVisible(false)
|
wg.SetVisible(false)
|
||||||
|
|
||||||
return wg
|
return wg
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *QuestLog) makeQuestCallback(n int) func() {
|
/*func (s *QuestLog) makeQuestCallback(n int) func() {
|
||||||
return func() {
|
return func() {
|
||||||
s.onQuestClicked(n + 1)
|
s.onQuestClicked(n + 1)
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
// nolint:unparam // will be used
|
||||||
func (s *QuestLog) setQuestLabel(status int) {
|
func (s *QuestLog) setQuestLabel(status int) {
|
||||||
if s.selectedQuest == 0 {
|
if s.selectedQuest == 0 {
|
||||||
s.questName.SetText("")
|
s.questName.SetText("")
|
||||||
s.questDescr.SetText("")
|
s.questDescr.SetText("")
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
s.questName.SetText(s.asset.TranslateString(fmt.Sprintf("qstsa%dq%d", s.selectedTab+1, s.selectedQuest)))
|
s.questName.SetText(s.asset.TranslateString(fmt.Sprintf("qstsa%dq%d", s.selectedTab+1, s.selectedQuest)))
|
||||||
//s.questDescr.SetText(s.asset.TranslateString(fmt.Sprintf("qstsa%dq%d", s.selectedTab+1, s.selectedQuest)))
|
// s.questDescr.SetText(s.asset.TranslateString(fmt.Sprintf("qstsa%dq%d", s.selectedTab+1, s.selectedQuest)))
|
||||||
s.questDescr.SetText("sample quest description")
|
s.questDescr.SetText("sample quest description")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user