added mouse menu to player hud (events in level_scene), fix level 4

This commit is contained in:
2024-03-18 19:34:57 +01:00
parent daa5e41551
commit ae0e3a0676
9 changed files with 77 additions and 28 deletions

View File

@@ -19,6 +19,7 @@ type HudSystem struct {
Cellsize int
Observer *observers.GameObserver
Plan *ldtkgo.Level
MenuIcon *ebiten.Image
}
func NewHudSystem(world *ecs.World, plan *ldtkgo.Level) System {
@@ -26,6 +27,7 @@ func NewHudSystem(world *ecs.World, plan *ldtkgo.Level) System {
Observer: observers.GetGameObserver(world),
World: world,
Plan: plan,
MenuIcon: assets.Assets["menu"],
}
return system
@@ -51,16 +53,20 @@ func (system *HudSystem) Draw(screen *ebiten.Image) {
score := fmt.Sprintf("Score: %d", system.Observer.GetScore())
level := fmt.Sprintf("Level %d: %s", system.Plan.PropertyByIdentifier("level").AsInt(),
strings.ReplaceAll(system.Plan.Identifier, "_", " "))
des := system.Plan.PropertyByIdentifier("description").AsString()
assets.FontRenderer.Renderer.SetSizePx(20)
assets.FontRenderer.Renderer.SetTarget(screen)
system.Print(score, 515, 22)
des := system.Plan.PropertyByIdentifier("description").AsString()
system.Print(score, 450, 22)
x := system.GetTextXCentered(des)
system.Print(system.Plan.PropertyByIdentifier("description").AsString(), x, 470)
system.Print(des, x, 470)
system.Print(level, 10, 22)
op.GeoM.Reset()
op.GeoM.Translate(600, 0)
screen.DrawImage(system.MenuIcon, op)
}
func (system *HudSystem) Print(text string, x, y int) {