diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-02-08 12:06:18 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-01-27 16:43:48 +0100 |
| commit | bb7810a4bb0ee1a3c21de67e857ca41596646da3 (patch) | |
| tree | b3e7b8dfb9edb10e447e4a769c0d5f623e5cfd28 /go/game/action.go | |
| parent | 8f0404c5d05cd4c19edbb06448fcdee013890a52 (diff) | |
| download | muhqs-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.go | 10 |
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 |
