From 2b05b9d8aa47f6cc9d768c6758f1cca4e8721a4c Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Mon, 7 Jul 2025 09:39:29 +0200 Subject: Regroup drawing --- draw.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 draw.go (limited to 'draw.go') diff --git a/draw.go b/draw.go new file mode 100644 index 0000000..9af35f5 --- /dev/null +++ b/draw.go @@ -0,0 +1,33 @@ +package main + +import ( + "fmt" + "image/color" + + "github.com/hajimehoshi/ebiten/v2" + "github.com/hajimehoshi/ebiten/v2/text/v2" +) + +func (e *Entity) Draw(g *Game, screen *ebiten.Image) { + if !e.Image.IsEnabled || !e.Position.IsEnabled { + return + } + op := &ebiten.DrawImageOptions{} + op.GeoM.Translate(float64(e.Position.Value.X), float64(e.Position.Value.Y)) + screen.DrawImage(e.Image.Value, op) + if e.Selection.IsEnabled && e.Selection.Value.IsSelected { + opt := &ebiten.DrawImageOptions{} + opt.GeoM.Translate(float64(e.Position.Value.X-SELECTION_HALO_WIDTH/2), float64(e.Position.Value.Y-SELECTION_HALO_WIDTH/2)) + screen.DrawImage(e.Selection.Value.Halo, opt) + if e.ResourceSource.IsEnabled { + resourceText := fmt.Sprintf("%d", e.ResourceSource.Value.Remaining) + op := &text.DrawOptions{} + op.GeoM.Translate(float64(e.Position.Value.X+5), float64(e.Position.Value.Y+30)) + op.ColorScale.ScaleWithColor(color.White) + text.Draw(screen, resourceText, &text.GoTextFace{ + Source: g.FaceSource, + Size: 40, + }, op) + } + } +} -- cgit v1.3