mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2025-02-09 01:56:47 -05:00
party panel: moved colors to panel's constants, removed index requirement from AddPlayer method
This commit is contained in:
parent
bdf640c2b1
commit
74f7705165
@ -9,12 +9,16 @@ import (
|
||||
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2resource"
|
||||
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2util"
|
||||
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2asset"
|
||||
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2gui"
|
||||
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2hero"
|
||||
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2map/d2mapentity"
|
||||
"github.com/OpenDiablo2/OpenDiablo2/d2core/d2ui"
|
||||
)
|
||||
|
||||
const (
|
||||
lightGreen = 0x18ff00ff
|
||||
red = 0xff0000ff
|
||||
)
|
||||
|
||||
const ( // for the dc6 frames
|
||||
partyPanelTopLeft = iota
|
||||
partyPanelTopRight
|
||||
@ -98,15 +102,15 @@ type partyIndex struct {
|
||||
}
|
||||
|
||||
func (pi *partyIndex) setColor(relations d2enum.PlayersRelationships) {
|
||||
var color = d2util.Color(d2gui.ColorWhite)
|
||||
var color = d2util.Color(white)
|
||||
|
||||
switch relations {
|
||||
case d2enum.PlayerRelationEnemy:
|
||||
color = d2util.Color(d2gui.ColorRed)
|
||||
color = d2util.Color(red)
|
||||
|
||||
pi.relationshipSwitcher.SetState(false)
|
||||
case d2enum.PlayerRelationFriend:
|
||||
color = d2util.Color(d2gui.ColorGreen)
|
||||
color = d2util.Color(lightGreen)
|
||||
}
|
||||
|
||||
pi.name.Color[0] = color
|
||||
@ -124,7 +128,15 @@ func (pi *partyIndex) setPositions(idx int) {
|
||||
}
|
||||
|
||||
// AddPlayer adds a new player to the party panel
|
||||
func (s *PartyPanel) AddPlayer(player *d2mapentity.Player, idx int, relations d2enum.PlayersRelationships) {
|
||||
func (s *PartyPanel) AddPlayer(player *d2mapentity.Player, relations d2enum.PlayersRelationships) {
|
||||
idx := 0
|
||||
for n, i := range s.partyIndexes {
|
||||
if i.hero == nil {
|
||||
idx = n
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
s.partyIndexes[idx].hero = player
|
||||
|
||||
s.partyIndexes[idx].name.SetText(player.Name())
|
||||
@ -346,12 +358,12 @@ func (s *PartyPanel) Load() {
|
||||
|
||||
// example data
|
||||
p0 := s.testPlayer
|
||||
s.AddPlayer(p0, 0, d2enum.PlayerRelationEnemy)
|
||||
s.AddPlayer(p0, d2enum.PlayerRelationEnemy)
|
||||
p1 := s.testPlayer
|
||||
// nolint:gomnd // only test
|
||||
p1.Stats.Level = 99
|
||||
p1.Class = d2enum.HeroNecromancer
|
||||
s.AddPlayer(p1, 1, d2enum.PlayerRelationFriend)
|
||||
s.AddPlayer(p1, d2enum.PlayerRelationFriend)
|
||||
|
||||
for n, i := range s.partyIndexes {
|
||||
s.indexes[n].AddWidget(i.name)
|
||||
@ -366,6 +378,8 @@ func (s *PartyPanel) Load() {
|
||||
s.Warning("cannot remove player: DeletePlayer returned false")
|
||||
}
|
||||
|
||||
s.AddPlayer(p0, d2enum.PlayerRelationEnemy)
|
||||
|
||||
w, h = s.bar.GetCurrentFrameSize()
|
||||
v := s.uiManager.NewCustomWidget(s.renderBar, w, h)
|
||||
s.panelGroup.AddWidget(v)
|
||||
|
Loading…
Reference in New Issue
Block a user