commit 8b66543b2a6cf6e8ec14b5ee45202652cd4c9a56
parent cc97239f2355ec80f367e14cf0772f0f00e34e52
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Sun, 17 Dec 2023 05:26:19 -0500
cleanup
Diffstat:
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -495,7 +495,8 @@ func (g *PokerGame) newLogEvent(msg string) {
}
}
-func showCards(g *PokerGame, roomTopic string, seats []Seat) {
+func showCards(g *PokerGame, seats []Seat) {
+ roomTopic := g.RoomID.Topic()
for _, p := range g.Ongoing.Players {
if !p.Folded.Load() {
p.CardsMtx.RLock()
@@ -519,7 +520,8 @@ func showCards(g *PokerGame, roomTopic string, seats []Seat) {
}
}
-func setWaitTurn(g *PokerGame, roomTopic string, seatIdx int) {
+func setWaitTurn(g *PokerGame, seatIdx int) {
+ roomTopic := g.RoomID.Topic()
evt := PokerWaitTurnEvent{Idx: seatIdx, CreatedAt: time.Now()}
PokerPubSub.Pub(roomTopic, evt)
@@ -600,7 +602,7 @@ RoundIsSettledLoop:
continue AllPlayersLoop
}
- setWaitTurn(g, roomTopic, p.SeatIdx)
+ setWaitTurn(g, p.SeatIdx)
PokerPubSub.Pub(roomUserTopic, PokerYourTurnEvent{})
doTimeout := func() int {
@@ -841,7 +843,7 @@ RoundIsSettled:
PokerPubSub.Pub(roomTopic, AutoActionEvent{Message: ""})
PokerPubSub.Pub(roomTopic, ErrorMsgEvent{Message: ""})
g.newLogEvent(fmt.Sprintf("--"))
- setWaitTurn(g, roomTopic, -1)
+ setWaitTurn(g, -1)
time.Sleep(time.Second)
@@ -892,7 +894,8 @@ var dealerTokenPos = [][]int{
{363, 123},
}
-func dealPlayersCards(g *PokerGame, roomTopic string, seats []Seat, idx *int) {
+func dealPlayersCards(g *PokerGame, seats []Seat, idx *int) {
+ roomTopic := g.RoomID.Topic()
var card string
for cardIdx := 1; cardIdx <= NbCardsPerPlayer; cardIdx++ {
for _, p := range g.Ongoing.Players {
@@ -900,7 +903,7 @@ func dealPlayersCards(g *PokerGame, roomTopic string, seats []Seat, idx *int) {
if p.isAllIn() {
continue
}
- roomUserTopic := roomTopic + "_" + pUsername.String()
+ roomUserTopic := g.RoomID.UserTopic(pUsername)
seatData := seats[p.SeatIdx]
time.Sleep(time.Second)
if p.Folded.Load() {
@@ -1014,7 +1017,7 @@ func dealerThread(g *PokerGame) {
time.Sleep(time.Second)
// Deal players cards
- dealPlayersCards(g, roomTopic, seats, &idx)
+ dealPlayersCards(g, seats, &idx)
// Wait for players to bet/call/check/fold...
time.Sleep(time.Second)
@@ -1067,7 +1070,7 @@ func dealerThread(g *PokerGame) {
}
// Show cards
- showCards(g, roomTopic, seats)
+ showCards(g, seats)
END:
@@ -1627,7 +1630,8 @@ func buildPayloadHtml(g *PokerGame, authUser *database.User, payload any) (html
return
}
-func buildBaseHtml(g *PokerGame, authUser *database.User, roomID RoomID, playerBuyIn database.PokerChip) (html string) {
+func buildBaseHtml(g *PokerGame, authUser *database.User, playerBuyIn database.PokerChip) (html string) {
+ roomID := g.RoomID
html += hutils.HtmlCssReset
html += pokerCss
//html += `<script>document.onclick = function(e) { console.log(e.x, e.y); };</script>` // TODO: dev only
@@ -1636,7 +1640,7 @@ func buildBaseHtml(g *PokerGame, authUser *database.User, roomID RoomID, playerB
//html += buildDevHtml()
html += buildHelpHtml()
html += buildCardsHtml()
- html += buildSeatsHtml(g, authUser, roomID, playerBuyIn)
+ html += buildSeatsHtml(g, authUser, playerBuyIn)
html += buildActionsDiv(roomID)
html += buildDealerTokenHtml(g)
html += `<iframe src="/poker/` + roomID.String() + `/logs" id="eventLogs"></iframe>`
@@ -1814,7 +1818,7 @@ func buildActionsDiv(roomID RoomID) (html string) {
return
}
-func buildSeatsHtml(g *PokerGame, authUser *database.User, roomID RoomID, playerBuyIn database.PokerChip) (html string) {
+func buildSeatsHtml(g *PokerGame, authUser *database.User, playerBuyIn database.PokerChip) (html string) {
g.PlayersMtx.RLock()
defer g.PlayersMtx.RUnlock()
for i := range g.Players {
@@ -1823,7 +1827,7 @@ func buildSeatsHtml(g *PokerGame, authUser *database.User, roomID RoomID, player
html += `<div>`
for i := range g.Players {
html += `<div class="seat" id="seat` + itoa(i+1) + `">
-<iframe src="/poker/` + roomID.String() + `/sit/` + itoa(i+1) + `?buy-in=` + itoa2(playerBuyIn) + `" class="takeSeat takeSeat` + itoa(i+1) + `"></iframe>`
+<iframe src="/poker/` + g.RoomID.String() + `/sit/` + itoa(i+1) + `?buy-in=` + itoa2(playerBuyIn) + `" class="takeSeat takeSeat` + itoa(i+1) + `"></iframe>`
html += ` <div class="inner"></div>`
html += ` <div id="seat` + itoa(i+1) + `_cash" class="cash"></div>`
html += `</div>`
@@ -2317,7 +2321,7 @@ func PokerHandler(c echo.Context) error {
playerBuyIn := database.PokerChip(utils.DoParseUint64(c.QueryParam("buy-in")))
- send(buildBaseHtml(g, authUser, roomID, playerBuyIn))
+ send(buildBaseHtml(g, authUser, playerBuyIn))
c.Response().Flush()
Loop: