commit 449a38f4ca11b14b9714d8f113bff43836cf457c
parent b7238dc2aa4d77de5c221a9102858041cce6761b
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 18 Dec 2023 04:55:01 -0500
cleanup
Diffstat:
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -336,8 +336,8 @@ func (g *Ongoing) GetPlayer(player database.Username) *PokerPlayer {
return nil
}
-func (g *PokerGame) getPlayer(username database.Username) (out *SeatedPlayer) {
- for _, p := range *g.Players.Val() {
+func getPlayer(players []*SeatedPlayer, username database.Username) (out *SeatedPlayer) {
+ for _, p := range players {
if p != nil && p.Username == username {
return p
}
@@ -345,18 +345,17 @@ func (g *PokerGame) getPlayer(username database.Username) (out *SeatedPlayer) {
return
}
-func (g *PokerGame) IsSeated(player database.Username) bool {
- g.Players.RLock()
- defer g.Players.RUnlock()
- return g.isSeated(player)
+func (g *PokerGame) IsSeated(player database.Username) (out bool) {
+ g.Players.RWith(func(gPlayers *[]*SeatedPlayer) { out = isSeated(*gPlayers, player) })
+ return
}
func (g *PokerGame) IsSeated2(player database.Username) bool {
- return g.isSeated(player)
+ return isSeated(*g.Players.Val(), player)
}
-func (g *PokerGame) isSeated(player database.Username) bool {
- return g.getPlayer(player) != nil
+func isSeated(players []*SeatedPlayer, player database.Username) bool {
+ return getPlayer(players, player) != nil
}
func isRoundSettled(players []*PokerPlayer) bool {
@@ -409,8 +408,8 @@ func (g *PokerGame) UnSitPlayer(username database.Username) error {
}
}
- err := g.Players.WithE(func(_ *[]*SeatedPlayer) error {
- p := g.getPlayer(username)
+ err := g.Players.WithE(func(gPlayers *[]*SeatedPlayer) error {
+ p := getPlayer(*gPlayers, username)
if p == nil {
return errors.New("player is not sit")
}
@@ -1508,7 +1507,7 @@ func PokerSitHandler(c echo.Context) error {
if tableAccount.Amount < pokerTable.MinBet {
return errors.New(fmt.Sprintf("not enough chips to sit. have: %d, need: %d", tableAccount.Amount, pokerTable.MinBet))
}
- if g.isSeated(authUser.Username) {
+ if isSeated(*gPlayers, authUser.Username) {
return errors.New("player already seated")
}
if (*gPlayers)[pos] != nil {