Render players
parent
c90a2ab605
commit
ea3c90eb46
@ -0,0 +1,53 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"image"
|
||||
|
||||
"code.rocketnine.space/tslocum/boxbrawl/component"
|
||||
"code.rocketnine.space/tslocum/boxbrawl/world"
|
||||
"code.rocketnine.space/tslocum/gohan"
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
)
|
||||
|
||||
type PlayerSystem struct {
|
||||
*component.Once
|
||||
|
||||
initialized bool
|
||||
debugImg *ebiten.Image
|
||||
}
|
||||
|
||||
func (s *PlayerSystem) initialize() {
|
||||
}
|
||||
|
||||
func (s *PlayerSystem) Update(e gohan.Entity) error {
|
||||
if !s.initialized {
|
||||
s.initialize()
|
||||
}
|
||||
|
||||
if world.ConnectPromptVisible {
|
||||
return nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *PlayerSystem) Draw(e gohan.Entity, screen *ebiten.Image) error {
|
||||
if world.ConnectPromptVisible {
|
||||
return nil
|
||||
}
|
||||
|
||||
size := 20
|
||||
var p *component.Player
|
||||
for i := 0; i < 2; i++ {
|
||||
if i == 0 {
|
||||
p = &world.Player1
|
||||
} else {
|
||||
p = &world.Player2
|
||||
}
|
||||
|
||||
r := image.Rect(int(p.X), int(p.Y), int(p.X)+size, int(p.Y)+size)
|
||||
screen.SubImage(r).(*ebiten.Image).Fill(p.Color)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
Loading…
Reference in New Issue