diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-12-08 21:12:57 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-01-27 16:43:54 +0100 |
| commit | 8f904d4914bc7083c17bb19659609a00247fa6b2 (patch) | |
| tree | c9989b08cba85e4a4207e6c6d8e7bb51e92b4075 /go/game | |
| parent | f8242b7e640b798c009a302cee3017c825019d8f (diff) | |
| download | muhqs-game-8f904d4914bc7083c17bb19659609a00247fa6b2.tar.gz muhqs-game-8f904d4914bc7083c17bb19659609a00247fa6b2.zip | |
game: support actions without cost func
Diffstat (limited to 'go/game')
| -rw-r--r-- | go/game/action.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/go/game/action.go b/go/game/action.go index a8b27314..0c372ab8 100644 --- a/go/game/action.go +++ b/go/game/action.go @@ -85,10 +85,15 @@ func (a *ActionBase) Controller() *Player { return nil } -func (a *ActionBase) resolve(s *State) { a.resolveFunc(s) } -func (a *ActionBase) PayCosts(s *State) bool { return a.costFunc(s) } -func (a *ActionBase) Targets() *Targets { return a.targets } -func (a *ActionBase) Target() *Target { return a.targets.ts[0] } +func (a *ActionBase) resolve(s *State) { a.resolveFunc(s) } +func (a *ActionBase) PayCosts(s *State) bool { + if a.costFunc != nil { + return a.costFunc(s) + } + return true +} +func (a *ActionBase) Targets() *Targets { return a.targets } +func (a *ActionBase) Target() *Target { return a.targets.ts[0] } func (a *ActionBase) CheckTargets(s *State) error { if a.targets == nil { return nil |
