aboutsummaryrefslogtreecommitdiff
path: root/go/game/action.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-02-08 12:06:18 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2025-01-27 16:43:48 +0100
commitbb7810a4bb0ee1a3c21de67e857ca41596646da3 (patch)
treeb3e7b8dfb9edb10e447e4a769c0d5f623e5cfd28 /go/game/action.go
parent8f0404c5d05cd4c19edbb06448fcdee013890a52 (diff)
downloadmuhqs-game-bb7810a4bb0ee1a3c21de67e857ca41596646da3.tar.gz
muhqs-game-bb7810a4bb0ee1a3c21de67e857ca41596646da3.zip
implement TargetSelection and card targeting
Diffstat (limited to 'go/game/action.go')
-rw-r--r--go/game/action.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/go/game/action.go b/go/game/action.go
index fbcad0a7..a283bbfb 100644
--- a/go/game/action.go
+++ b/go/game/action.go
@@ -40,6 +40,16 @@ func (*HandCardSelection) Resolve(*State) {}
func (*HandCardSelection) String() string { return "hand card selection" }
func NewHandCardSelection(cards []*Card) Action { return &HandCardSelection{cards} }
+type TargetSelection struct{ targets *Targets }
+
+func (*TargetSelection) Source() interface{} { return nil }
+func (sel *TargetSelection) Targets() *Targets { return sel.targets }
+func (sel *TargetSelection) CheckTargets(s *State) error { return sel.targets.CheckTargets(s) }
+func (*TargetSelection) PayCosts(*State) bool { return true }
+func (*TargetSelection) Resolve(*State) {}
+func (*TargetSelection) String() string { return "target selection" }
+func NewTargetSelection(targets *Targets) Action { return &TargetSelection{targets} }
+
type ActionBase struct {
source interface{}
Card *Card