package gameServer import ( "fmt" "log" "daydev.org/shipsgs/internal/config" "daydev.org/shipsgs/internal/player" "daydev.org/shipsgs/internal/utils" ) type GameServer struct { Logger *utils.Logger Config *config.S_Config maxLobbies int currentLobbies int maxPlayers int currentPlayers int // Storing connected Players playerConns map[*player.Player]bool // Notify Game Server a New Player connection chan *player.Player //Quit the loops correctly and shut down the Game Server Shutdown chan bool } func (m *GameServer) Init(logger *utils.Logger, config *config.S_Config) { m.Logger = logger m.Config = config m.maxLobbies = m.Config.MaxLobbies m.maxPlayers = m.Config.MaxPlayers m.currentLobbies = 0 m.currentPlayers = 0 } func (m *GameServer) Update() { for { // select - go through the messages select { case c := <-m.connection: fmt.Println("a new connection", c) } //default shutdown if m.Shutdown == nil { m.ShutdownServer() break } } } func (m *GameServer) Scheduled1S() { } func (m *GameServer) Scheduled10S() { } func (m *GameServer) ShutdownServer() { fmt.Println("shutting down the GameServer") } func (m *GameServer) CreateLobby() { if m.currentLobbies >= m.maxLobbies { log.Fatal("Server cannot spawn more lobbies than it already has") return } }