aboutsummaryrefslogtreecommitdiff
path: root/go
diff options
context:
space:
mode:
Diffstat (limited to 'go')
-rw-r--r--go/client/game.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/go/client/game.go b/go/client/game.go
index 58e4c63c..4d265e4b 100644
--- a/go/client/game.go
+++ b/go/client/game.go
@@ -50,6 +50,7 @@ type Game struct {
storeButton *ui.SimpleButton
stackBuffer *ui.Buffer
prompt *ui.Prompt
+ triggers []*game.TriggeredAction
ui.Collection
activePlayer *game.Player
@@ -320,6 +321,13 @@ func (g *Game) removePrompt() {
g.prompt = nil
}
+func (g *Game) addTriggers(actions []*game.TriggeredAction) {
+ if g.triggers != nil {
+ log.Panicf("There is already an active trigger ui")
+ }
+ g.triggers = actions
+}
+
func (g *Game) addHighlight(obj interface{}, color color.Color) {
switch obj := obj.(type) {
case ui.HandCard:
@@ -435,6 +443,12 @@ func (g *Game) handlePlayerNotifications() {
}
}
g.addPrompt(ctx.Action, ctx.Prompt)
+
+ case game.DeclareTriggeredActionsPrompt:
+ triggeredActions := n.Context.([]*game.TriggeredAction)
+ // TODO: present triggered action for ordering and target selection
+ g.playerCtrl.SendAction(
+ game.NewDeclareTriggeredActionsAction(triggeredActions))
}
g.stateBar.ForceRedraw()