improved color parsing
This commit is contained in:
@@ -165,6 +165,27 @@ func (p *DemoParser) getMatchPlayerBySteamID(stats []*ent.MatchPlayer, steamId u
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setMatchPlayerColor(matchPlayer *ent.MatchPlayer, demoPlayer *common.Player) {
|
||||||
|
matchPlayer.Crosshair = demoPlayer.CrosshairCode()
|
||||||
|
switch demoPlayer.Color() {
|
||||||
|
case common.Yellow:
|
||||||
|
matchPlayer.Color = matchplayer.ColorYellow
|
||||||
|
break
|
||||||
|
case common.Green:
|
||||||
|
matchPlayer.Color = matchplayer.ColorGreen
|
||||||
|
break
|
||||||
|
case common.Purple:
|
||||||
|
matchPlayer.Color = matchplayer.ColorPurple
|
||||||
|
break
|
||||||
|
case common.Blue:
|
||||||
|
matchPlayer.Color = matchplayer.ColorBlue
|
||||||
|
break
|
||||||
|
case common.Orange:
|
||||||
|
matchPlayer.Color = matchplayer.ColorOrange
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (p *DemoParser) parseWorker() {
|
func (p *DemoParser) parseWorker() {
|
||||||
for demo := range p.demoQueue {
|
for demo := range p.demoQueue {
|
||||||
if demo.MatchId == 0 {
|
if demo.MatchId == 0 {
|
||||||
@@ -344,6 +365,14 @@ func (p *DemoParser) parseWorker() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// onPlayerConnected
|
||||||
|
demoParser.RegisterEventHandler(func(e events.PlayerTeamChange) {
|
||||||
|
if e.Player != nil {
|
||||||
|
tMatchPlayer := p.getMatchPlayerBySteamID(tStats, e.Player.SteamID64)
|
||||||
|
setMatchPlayerColor(tMatchPlayer, e.Player)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// onMatchStart
|
// onMatchStart
|
||||||
demoParser.RegisterEventHandler(func(e events.MatchStart) {
|
demoParser.RegisterEventHandler(func(e events.MatchStart) {
|
||||||
gs := demoParser.GameState()
|
gs := demoParser.GameState()
|
||||||
@@ -352,26 +381,7 @@ func (p *DemoParser) parseWorker() {
|
|||||||
if demoPlayer != nil && demoPlayer.SteamID64 != 0 {
|
if demoPlayer != nil && demoPlayer.SteamID64 != 0 {
|
||||||
tMatchPlayer := p.getMatchPlayerBySteamID(tStats, demoPlayer.SteamID64)
|
tMatchPlayer := p.getMatchPlayerBySteamID(tStats, demoPlayer.SteamID64)
|
||||||
|
|
||||||
tMatchPlayer.Crosshair = demoPlayer.CrosshairCode()
|
setMatchPlayerColor(tMatchPlayer, demoPlayer)
|
||||||
switch demoPlayer.Color() {
|
|
||||||
case common.Yellow:
|
|
||||||
tMatchPlayer.Color = matchplayer.ColorYellow
|
|
||||||
break
|
|
||||||
case common.Green:
|
|
||||||
tMatchPlayer.Color = matchplayer.ColorGreen
|
|
||||||
break
|
|
||||||
case common.Purple:
|
|
||||||
tMatchPlayer.Color = matchplayer.ColorPurple
|
|
||||||
break
|
|
||||||
case common.Blue:
|
|
||||||
tMatchPlayer.Color = matchplayer.ColorBlue
|
|
||||||
break
|
|
||||||
case common.Orange:
|
|
||||||
tMatchPlayer.Color = matchplayer.ColorOrange
|
|
||||||
break
|
|
||||||
default:
|
|
||||||
tMatchPlayer.Color = matchplayer.ColorGrey
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user