aboutsummaryrefslogtreecommitdiff
path: root/go/ui/mapView.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/ui/mapView.go')
-rw-r--r--go/ui/mapView.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/go/ui/mapView.go b/go/ui/mapView.go
index 528ce6db..035f0f35 100644
--- a/go/ui/mapView.go
+++ b/go/ui/mapView.go
@@ -282,6 +282,7 @@ func (vw *MapView) drawMapLayer(screen *ebiten.Image) {
screen.DrawImage(vw.mapLayer, &ebiten.DrawImageOptions{})
}
+// getPermanentSymbol returnes a cached symbol or generates a new generic one.
func getPermanentSymbol(p game.Permanent, i int) *ebiten.Image {
permanentSymbol := assets.GetSymbol(p.Card().FileName())
if permanentSymbol == nil {
@@ -292,7 +293,9 @@ func getPermanentSymbol(p game.Permanent, i int) *ebiten.Image {
}
}
- return permanentSymbol
+ // Return a copy of the image to allow modifications without affect other
+ // uses of the symbol.
+ return ebiten.NewImageFromImage(permanentSymbol)
}
func (vw *MapView) drawPermanentsLayer(screen *ebiten.Image) {
@@ -321,12 +324,12 @@ func (vw *MapView) drawPermanentsLayer(screen *ebiten.Image) {
}
}
- vw.permanentsLayer.DrawImage(permanentSymbol, op)
-
// Draw a pile hint
if len(p.Pile()) > 0 {
drawPileHint(permanentSymbol)
}
+
+ vw.permanentsLayer.DrawImage(permanentSymbol, op)
}
}