mchess-server/server/lobby.go

44 lines
619 B
Go
Raw Normal View History

package server
2023-04-18 20:47:51 +00:00
import (
"github.com/google/uuid"
)
2023-04-18 20:47:51 +00:00
type Lobby map[uuid.UUID]Player
var lobbyInstance Lobby = nil
func GetLobby() Lobby {
if lobbyInstance == nil {
lobbyInstance = newLobby()
}
return lobbyInstance
}
func newLobby() Lobby {
lobby := make(map[uuid.UUID]Player, 0)
return lobby
}
2023-04-18 20:47:51 +00:00
func (lobby Lobby) RegisterPlayer(player *Player) {
lobby[player.Uuid] = *player
2023-04-18 20:47:51 +00:00
var players []Player
for _, player := range lobby {
if !player.InGame {
players = append(players, player)
2023-04-18 20:47:51 +00:00
}
}
if len(players) < 2 {
return
}
game := NewGame()
game.addPlayersToGame([2]Player(players[:2]))
}