added hud system, turned all observers into one central observer
This commit is contained in:
10
grid/grid.go
10
grid/grid.go
@@ -71,8 +71,10 @@ func NewGrid(world *ecs.World,
|
||||
var player *components.Player
|
||||
var destroyable *components.Destroyable
|
||||
|
||||
playerobserver := observers.GetPlayerObserver(world)
|
||||
obstacleobserver := observers.GetObstacleObserver(world)
|
||||
playerID := ecs.ComponentID[components.Player](world)
|
||||
obstacleID := ecs.ComponentID[components.Obstacle](world)
|
||||
|
||||
observer := observers.GetGameObserver(world)
|
||||
|
||||
for point, tile := range mapslice {
|
||||
switch tile.Renderable {
|
||||
@@ -84,7 +86,7 @@ func NewGrid(world *ecs.World,
|
||||
case tile.Player:
|
||||
entity := playermapper.New()
|
||||
pos, vel, render, player = playermapper.Get(entity)
|
||||
playerobserver.AddEntity(entity)
|
||||
observer.AddEntity(entity, playerID)
|
||||
vel.Speed = config.PLAYERSPEED
|
||||
player.IsPrimary = tile.IsPrimary
|
||||
player.Sprites = tile.Tiles
|
||||
@@ -97,7 +99,7 @@ func NewGrid(world *ecs.World,
|
||||
vel.Direction = tile.Direction
|
||||
vel.PointingAt = tile.Direction
|
||||
vel.Speed = config.PLAYERSPEED
|
||||
obstacleobserver.AddEntity(entity)
|
||||
observer.AddEntity(entity, obstacleID)
|
||||
case tile.Transient:
|
||||
entity := transmapper.New()
|
||||
pos, render, transient = transmapper.Get(entity)
|
||||
|
||||
Reference in New Issue
Block a user