diff options
Diffstat (limited to 'go/client')
| -rw-r--r-- | go/client/game.go | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/go/client/game.go b/go/client/game.go index 0e516815..787987d5 100644 --- a/go/client/game.go +++ b/go/client/game.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "image/color" "log" "github.com/hajimehoshi/ebiten/v2" @@ -307,24 +308,24 @@ func (g *Game) removePrompt() { g.prompt = nil } -func (g *Game) addHighlight(obj interface{}) { +func (g *Game) addHighlight(obj interface{}, color color.Color) { switch obj := obj.(type) { case ui.HandCard: - g.handLayer.AddHighlightCard(obj.C) + g.handLayer.AddHighlightCard(obj.C, color) case *game.Card: - g.handLayer.AddHighlightCard(obj) + g.handLayer.AddHighlightCard(obj, color) case *game.Tile: - g.mapView.AddHighlightTile(obj) + g.mapView.AddHighlightTile(obj, color) case *game.Unit: - g.mapView.AddHighlightPermanent(obj) + g.mapView.AddHighlightPermanent(obj, color) default: log.Panicf("Unhandled highlight of type %T", obj) } } -func (g *Game) addHighlights(objs []interface{}) { +func (g *Game) addHighlights(objs []interface{}, color color.Color) { for _, obj := range objs { - g.addHighlight(obj) + g.addHighlight(obj, color) } } @@ -475,7 +476,7 @@ func (g *Game) handleSelection(obj interface{}, x, y int) { a := game.NewPlayAction(g.activePlayer, obj.C) if a.Targets().RequireSelection() { g.addPrompt(a, fmt.Sprintf("Select targets to play %v", obj.C.Name)) - g.handLayer.HighlightCard(obj.C) + g.handLayer.HighlightCard(obj.C, ui.HighlightSelectionColor) } else { g.declareAction(a) } @@ -493,7 +494,7 @@ func (g *Game) updateHighlight() { a := g.prompt.Action() if pa, ok := a.(*game.PlayAction); ok { - g.addHighlight(ui.HandCard{C: pa.Card}) + g.addHighlight(ui.HandCard{C: pa.Card}, ui.HighlightOptionColor) } targets := a.Targets() @@ -502,13 +503,13 @@ func (g *Game) updateHighlight() { } for _, t := range targets.Targets() { - g.addHighlights(t.Selection()) + g.addHighlights(t.Selection(), ui.HighlightSelectionColor) } target := targets.Cur() if target.AllowSelection() { options := target.Options() - g.addHighlights(options) + g.addHighlights(options, ui.HighlightOptionColor) } } |
