commit 68cec7b6fab4022d30bf9abe9a2b8bc4dae503ff
parent f07485c8332697d50e002cb14af90efc95fe57be
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Tue, 12 Dec 2023 17:00:30 -0500
cleanup
Diffstat:
2 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/pkg/web/handlers/poker/events.go b/pkg/web/handlers/poker/events.go
@@ -1,5 +1,7 @@
package poker
+import "dkforest/pkg/database"
+
type PokerEvent struct {
ID string
Idx int
@@ -8,7 +10,7 @@ type PokerEvent struct {
Left int
Reveal bool
Angle string
- Player string
+ Player database.Username
}
type GameStartedEvent struct {
@@ -25,7 +27,7 @@ type ResetCardsEvent struct {
type PlayerBetEvent struct {
PlayerSeatIdx int
- Player string
+ Player database.Username
Bet int
TotalBet int
Cash int
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -71,7 +71,7 @@ func (p *Poker) GetGame(roomID string) *PokerGame {
}
type PlayerEvent struct {
- Player string
+ Player database.Username
Call bool
Check bool
Fold bool
@@ -98,7 +98,7 @@ type Ongoing struct {
type PokerStandingPlayer struct {
UserID database.UserID
- Username string
+ Username database.Username
Cash int
LastActionTS time.Time
}
@@ -291,7 +291,7 @@ func (g *Ongoing) CountAlivePlayers() (playerAlive int) {
return
}
-func (g *Ongoing) GetPlayer(player string) *PokerPlayer {
+func (g *Ongoing) GetPlayer(player database.Username) *PokerPlayer {
for _, p := range g.Players {
if p.Username == player {
return p
@@ -342,7 +342,7 @@ func (g *PokerGame) incrDealerIdx() {
func (g *PokerGame) UnSitPlayer(db *database.DkfDB, roomID string, authUser *database.User, pokerTable database.PokerTable) error {
if g.Ongoing != nil {
- if p := g.Ongoing.GetPlayer(authUser.Username.String()); p != nil {
+ if p := g.Ongoing.GetPlayer(authUser.Username); p != nil {
p.Unsit.Store(true)
}
}
@@ -350,7 +350,7 @@ func (g *PokerGame) UnSitPlayer(db *database.DkfDB, roomID string, authUser *dat
g.PlayersMtx.RLock()
defer g.PlayersMtx.RUnlock()
for idx, p := range g.Players {
- if p != nil && p.Username == authUser.Username.String() {
+ if p != nil && p.Username == authUser.Username {
return g.UnSitPlayer1(db, roomID, p, idx, pokerTable)
}
}
@@ -360,7 +360,7 @@ func (g *PokerGame) UnSitPlayer(db *database.DkfDB, roomID string, authUser *dat
func (g *PokerGame) UnSitPlayer1(db *database.DkfDB, roomID string, player *PokerStandingPlayer, idx int, pokerTable database.PokerTable) error {
roomTopic := "room_" + roomID
- user, err := db.GetUserByUsername(database.Username(player.Username))
+ user, err := db.GetUserByUsername(player.Username)
if err != nil {
return err
}
@@ -406,14 +406,14 @@ func (g *PokerGame) SitPlayer(authUser *database.User, pos int, chips int64) err
g.PlayersMtx.Lock()
defer g.PlayersMtx.Unlock()
for _, p := range g.Players {
- if p != nil && p.Username == authUser.Username.String() {
+ if p != nil && p.Username == authUser.Username {
return errors.New("player already seated")
}
}
if g.Players[pos] != nil {
return errors.New("seat already taken")
}
- g.Players[pos] = &PokerStandingPlayer{UserID: authUser.ID, Username: authUser.Username.String(), Cash: int(chips), LastActionTS: time.Now()}
+ g.Players[pos] = &PokerStandingPlayer{UserID: authUser.ID, Username: authUser.Username, Cash: int(chips), LastActionTS: time.Now()}
return nil
}
@@ -528,7 +528,7 @@ OUTER:
for { // Repeat until we get an event from the player we're interested in
var evt PlayerEvent
- roomUserTopic := "room_" + roomID + "_" + p.Username
+ roomUserTopic := "room_" + roomID + "_" + p.Username.String()
select {
case evt = <-g.PlayersEventCh:
@@ -722,7 +722,7 @@ func dealPlayersCards(g *PokerGame, roomTopic string, seats []Seat, idx *int) {
if p.isAllIn() {
continue
}
- roomUserTopic := roomTopic + "_" + p.Username
+ roomUserTopic := roomTopic + "_" + p.Username.String()
seatData := seats[p.SeatIdx]
time.Sleep(time.Second)
if p.Folded.Load() {
@@ -902,7 +902,7 @@ END:
account.Amount += int64(el.Gain)
account.AmountBet = 0
account.DoSave(tx)
- winnersStr += el.Player.Username + " "
+ winnersStr += el.Player.Username.String() + " "
el.Player.Cash += el.Gain
}
for _, p := range g.Ongoing.Players {
@@ -1086,7 +1086,7 @@ func (g *PokerGame) CountSeated() (count int) {
return
}
-func (g *PokerGame) IsSeated(player string) (bool, int) {
+func (g *PokerGame) IsSeated(player database.Username) (bool, int) {
g.PlayersMtx.RLock()
defer g.PlayersMtx.RUnlock()
isSeated := false
@@ -1169,7 +1169,7 @@ func PokerCallHandler(c echo.Context) error {
}
if c.Request().Method == http.MethodPost {
select {
- case g.PlayersEventCh <- PlayerEvent{Player: authUser.Username.String(), Call: true}:
+ case g.PlayersEventCh <- PlayerEvent{Player: authUser.Username, Call: true}:
default:
}
}
@@ -1185,7 +1185,7 @@ func PokerFoldHandler(c echo.Context) error {
}
if c.Request().Method == http.MethodPost {
select {
- case g.PlayersEventCh <- PlayerEvent{Player: authUser.Username.String(), Fold: true}:
+ case g.PlayersEventCh <- PlayerEvent{Player: authUser.Username, Fold: true}:
default:
}
}
@@ -1394,7 +1394,7 @@ func buildBaseHtml(g *PokerGame, authUser *database.User, roomID string) (html s
if evt.Player == "" {
html += getPokerEventHtml(evt, "0s")
}
- if evt.Player == authUser.Username.String() {
+ if evt.Player == authUser.Username {
html += getPokerEventHtml(evt, "0s")
}
}
@@ -1544,7 +1544,7 @@ func buildSeatsHtml(g *PokerGame, authUser *database.User, roomID string) (html
func drawSeatsStyle(authUser *database.User, g *PokerGame) string {
html := "<style>"
- seated, _ := g.IsSeated(authUser.Username.String())
+ seated, _ := g.IsSeated(authUser.Username)
g.PlayersMtx.RLock()
defer g.PlayersMtx.RUnlock()
for i, p := range g.Players {
@@ -1554,10 +1554,10 @@ func drawSeatsStyle(authUser *database.User, g *PokerGame) string {
html += `.takeSeat` + itoa(i+1) + ` { display: block; }`
}
if p != nil {
- if p.Username == authUser.Username.String() {
+ if p.Username == authUser.Username {
html += `#seat` + itoa(i+1) + ` { border: 2px solid #0d1b8f; }`
}
- html += `#seat` + itoa(i+1) + ` .inner:before { content: "` + p.Username + `"; }`
+ html += `#seat` + itoa(i+1) + ` .inner:before { content: "` + p.Username.String() + `"; }`
html += `#seat` + itoa(i+1) + `_cash:before { content: "` + itoa(p.getDisplayCash(g)) + `"; }`
if g.Ongoing != nil {
if op := g.Ongoing.GetPlayer(p.Username); op != nil && op.Bet > 0 {