diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2024-03-26 09:53:08 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-08-20 15:57:10 +0200 |
| commit | 2f23f0f6b97deedb0f4f432776c685c60944d805 (patch) | |
| tree | 630b0aa5f2c033f845fbf023910e3ede57368655 | |
| parent | 74807f6c9d26015620ba8627a3650ccc995fd56f (diff) | |
| download | muhqs-game-2f23f0f6b97deedb0f4f432776c685c60944d805.tar.gz muhqs-game-2f23f0f6b97deedb0f4f432776c685c60944d805.zip | |
client: start trigger implementation
| -rw-r--r-- | go/client/game.go | 14 |
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() |
