Change baton render
This commit is contained in:
parent
797886b42b
commit
0a41558c72
27
gfx/gfx.go
27
gfx/gfx.go
|
@ -18,29 +18,37 @@ func Render(s game.State, w *pixelgl.Window, d time.Duration) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func renderBots(s game.State, w *pixelgl.Window, d time.Duration, colors map[*game.Team]pixel.RGBA) {
|
func renderBots(s game.State, w *pixelgl.Window, d time.Duration, colors map[*game.Team]pixel.RGBA) {
|
||||||
b := w.Bounds()
|
bounds := w.Bounds()
|
||||||
im := imdraw.New(nil)
|
im := imdraw.New(nil)
|
||||||
|
|
||||||
for i, t := range s.Teams {
|
for i, t := range s.Teams {
|
||||||
for j, bot := range t.Bots {
|
for j, bot := range t.Bots {
|
||||||
if &t.Bots[j] == t.Baton.Holder {
|
im.Color = colors[&s.Teams[i]]
|
||||||
im.Color = pixel.RGB(0, 1, 0)
|
|
||||||
} else {
|
|
||||||
im.Color = colors[&s.Teams[i]]
|
|
||||||
}
|
|
||||||
|
|
||||||
pos := lanePos(bot.Pos, bot.Lane, botWidth, b)
|
pos := lanePos(bot.Pos, bot.Lane, botWidth, bounds)
|
||||||
|
|
||||||
im.Push(pos)
|
im.Push(pos)
|
||||||
|
|
||||||
im.Clear()
|
im.Clear()
|
||||||
im.Circle(float64(botWidth), 0)
|
im.Circle(botWidth, 0)
|
||||||
|
|
||||||
im.Draw(w)
|
im.Draw(w)
|
||||||
|
if &t.Bots[j] == t.Baton.Holder {
|
||||||
|
renderBaton(pos, w)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func renderBaton(pos pixel.Vec, w *pixelgl.Window) {
|
||||||
|
im := imdraw.New(nil)
|
||||||
|
im.Color = pixel.RGB(0, 0, 0)
|
||||||
|
im.Push(pos)
|
||||||
|
im.Clear()
|
||||||
|
im.Circle(batonWidth, 3)
|
||||||
|
im.Draw(w)
|
||||||
|
}
|
||||||
|
|
||||||
func lanePos(pos, lane int, width float64, bounds pixel.Rect) pixel.Vec {
|
func lanePos(pos, lane int, width float64, bounds pixel.Rect) pixel.Vec {
|
||||||
hOffset := bounds.Size().X / game.Steps
|
hOffset := bounds.Size().X / game.Steps
|
||||||
vOffset := bounds.Size().Y / (game.NumTeams + 1)
|
vOffset := bounds.Size().Y / (game.NumTeams + 1)
|
||||||
|
@ -87,5 +95,6 @@ func teamColors(ts []game.Team) map[*game.Team]pixel.RGBA {
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
botWidth float64 = 20
|
botWidth float64 = 20
|
||||||
|
batonWidth float64 = 12
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue