aboutsummaryrefslogtreecommitdiff
path: root/go/game/trigger.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-12-03 15:24:37 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2025-01-27 16:43:54 +0100
commit9b71fe182e8e42ea2b7d3ba42a0f2767e5e5a246 (patch)
tree6c7fb471efa87cd4f5f2e5c00fa067c65d10ca7e /go/game/trigger.go
parent771b85c660dfd03f786aaf86ff86a9416e361235 (diff)
downloadmuhqs-game-9b71fe182e8e42ea2b7d3ba42a0f2767e5e5a246.tar.gz
muhqs-game-9b71fe182e8e42ea2b7d3ba42a0f2767e5e5a246.zip
prompt the user to order its triggers
All TriggeredAction are passed in the wrapper action DeclareTriggeredActionsAction to the controller of the triggers. It is expected to receive an ordered list back from the user again wrapped in a DeclareTriggeredActionsAction. The triggered actions will be declared in from first to last.
Diffstat (limited to 'go/game/trigger.go')
-rw-r--r--go/game/trigger.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/go/game/trigger.go b/go/game/trigger.go
index 39901d71..8fe4ae89 100644
--- a/go/game/trigger.go
+++ b/go/game/trigger.go
@@ -61,7 +61,7 @@ func newEotEvent() Event {
type Trigger interface {
Card() *Card
String() string
- trigger(*State, Event) ([]Action, bool)
+ trigger(*State, Event) ([]*TriggeredAction, bool)
}
type triggerBase struct {
@@ -80,11 +80,11 @@ func (t *triggerBase) String() string {
return t.desc
}
-func (t *triggerBase) trigger(s *State, e Event) ([]Action, bool) {
+func (t *triggerBase) trigger(s *State, e Event) ([]*TriggeredAction, bool) {
triggered, remove := t.condition(s, e)
if !triggered {
return nil, remove
}
- return []Action{newTriggeredAction(e, t, t.resolveFunc, t.costFunc)}, remove
+ return []*TriggeredAction{newTriggeredAction(e, t, t.resolveFunc, t.costFunc)}, remove
}