feat(game): integrate MatchManager into main loop
This commit is contained in:
@@ -8,17 +8,17 @@ import (
|
||||
)
|
||||
|
||||
type Game struct {
|
||||
world *game.World
|
||||
renderer *render.Renderer
|
||||
matchManager *game.MatchManager
|
||||
renderer *render.Renderer
|
||||
}
|
||||
|
||||
func (g *Game) Update() error {
|
||||
g.world.Update()
|
||||
g.matchManager.Update()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g *Game) Draw(screen *ebiten.Image) {
|
||||
g.renderer.DrawWorld(screen, g.world)
|
||||
g.renderer.DrawWorld(screen, g.matchManager.World)
|
||||
}
|
||||
|
||||
func (g *Game) Layout(outsideWidth, outsideHeight int) (int, int) {
|
||||
@@ -29,14 +29,15 @@ func main() {
|
||||
ebiten.SetWindowSize(1280, 720)
|
||||
ebiten.SetWindowTitle("AI Hockey Simulation")
|
||||
|
||||
matchManager := game.NewMatchManager(game.NewWorld(), 60*60, 60*3)
|
||||
g := &Game{
|
||||
world: game.NewWorld(),
|
||||
renderer: render.NewRenderer(),
|
||||
matchManager: matchManager,
|
||||
renderer: render.NewRenderer(),
|
||||
}
|
||||
|
||||
// Give the puck some initial velocity to see it move
|
||||
g.world.Puck.Velocity.X = 2
|
||||
g.world.Puck.Velocity.Y = 1.5
|
||||
g.matchManager.World.Puck.Velocity.X = 2
|
||||
g.matchManager.World.Puck.Velocity.Y = 1.5
|
||||
|
||||
if err := ebiten.RunGame(g); err != nil {
|
||||
log.Fatal(err)
|
||||
|
||||
Reference in New Issue
Block a user