aboutsummaryrefslogtreecommitdiff
path: root/internal/casino/table.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-24 20:06:41 -0400
committerhistoria <[not public]>2026-09-24 20:07:31 -0400
commit13db3e50cb6e29eedbf25416e5284bf08b0adefb (patch)
treed5e9b99030b25cc7fc102288b694c133f8832f84 /internal/casino/table.go
parentd114c747a7672c7e4daab3a5b5f1b2f066ebc912 (diff)
downloadthehouseoficarus-13db3e50cb6e29eedbf25416e5284bf08b0adefb.tar.gz
feat: casino table ux: aliases, rebet hints, deadline notifications, spectator mode
Diffstat (limited to 'internal/casino/table.go')
-rw-r--r--internal/casino/table.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/internal/casino/table.go b/internal/casino/table.go
index 408e5fe..17732e0 100644
--- a/internal/casino/table.go
+++ b/internal/casino/table.go
@@ -19,6 +19,8 @@ type tableGame interface {
hasParticipant(name string) bool
refundAll() []Event
idle() bool
+ status(name string) []Event
+ overview() string
// base returns the table identity shared with the Table handle.
base() *tableBase
}
@@ -52,7 +54,7 @@ func (b *tableBase) playerAction(name, publicMessage, privateMessage string) Eve
// betMenuEvent builds the shared "place your bet" menu heading for a table
// game; only the command list differs per game.
func (b *tableBase) betMenuEvent(name string, commands []MenuCommand) Event {
- heading := fmt.Sprintf("New %s hand! Place your bet.", b.Config.Game)
+ heading := fmt.Sprintf("%s | Next hand | Limits %s", b.Config.Label(), betRangeText(b.Config.MinBet, b.Config.MaxBet))
e := b.private(name, heading)
e.Color = "casino_menu"
e.Menu = &MenuView{Heading: heading, ShowBalance: true, Commands: commands}
@@ -105,3 +107,7 @@ func (t *Table) refundAll() []Event { return t.game.refundAll() }
// idle on the Table wrapper delegates to the game.
func (t *Table) idle() bool { return t.game.idle() }
+
+// Status is a read-only view: it never restarts a deadline or changes a wager.
+func (t *Table) Status(name string) []Event { return t.game.status(name) }
+func (t *Table) Overview() string { return t.game.overview() }