fixed observers, added GameObserver
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"log"
|
||||
"openquell/assets"
|
||||
"openquell/components"
|
||||
"openquell/config"
|
||||
"openquell/observers"
|
||||
|
||||
"github.com/mlange-42/arche/ecs"
|
||||
@@ -27,10 +28,11 @@ func NewGrid(world *ecs.World,
|
||||
|
||||
// we use this to turn our tiles into iterable entities, used for
|
||||
// collision detection, transformation and other things
|
||||
playermapper := generic.NewMap4[
|
||||
playermapper := generic.NewMap5[
|
||||
components.Position,
|
||||
components.Velocity,
|
||||
components.Renderable,
|
||||
components.Speed,
|
||||
components.Player](world)
|
||||
|
||||
solidmapper := generic.NewMap4[
|
||||
@@ -48,6 +50,7 @@ func NewGrid(world *ecs.World,
|
||||
|
||||
var pos *components.Position
|
||||
var render *components.Renderable
|
||||
var speed *components.Speed
|
||||
|
||||
playerobserver := observers.GetPlayerObserver(world)
|
||||
|
||||
@@ -60,9 +63,9 @@ func NewGrid(world *ecs.World,
|
||||
pos, render, _, _ = solidmapper.Get(entity)
|
||||
case tile.Player:
|
||||
entity := playermapper.New()
|
||||
pos, _, render, _ = playermapper.Get(entity)
|
||||
pos, _, render, speed, _ = playermapper.Get(entity)
|
||||
playerobserver.AddEntity(entity)
|
||||
|
||||
speed.Value = config.PLAYERSPEED
|
||||
fmt.Printf("player start pos: %d,%d\n", point.X*tilesize, point.Y*tilesize)
|
||||
case tile.Collectible:
|
||||
entity := colmapper.New()
|
||||
|
||||
Reference in New Issue
Block a user