From bb7810a4bb0ee1a3c21de67e857ca41596646da3 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Wed, 8 Feb 2023 12:06:18 +0100 Subject: implement TargetSelection and card targeting --- go/game/action.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'go/game/action.go') 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 -- cgit v1.2.3