package observers import ( "github.com/mlange-42/arche/ecs" "github.com/mlange-42/arche/generic" ) // Used for global game state type GameObserver struct { CurrentLevel, Width, Height, Cellsize, Score int } func NewGameObserver(world *ecs.World, startlevel, width, height, cellsize int) *GameObserver { observer := &GameObserver{ CurrentLevel: startlevel, Width: width, Height: height, Cellsize: cellsize, } resmanger := generic.NewResource[GameObserver](world) resmanger.Add(observer) return observer } func GetGameObserver(world *ecs.World) *GameObserver { observerID := ecs.ResourceID[GameObserver](world) observer := world.Resources().Get(observerID).(*GameObserver) return observer }