Skip to content

Commit 21a54df

Browse files
committed
rework function
1 parent 20e8936 commit 21a54df

2 files changed

Lines changed: 13 additions & 17 deletions

File tree

internal/gameServer/server.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,17 @@ func (g *GameServer) ManagePlayers() {
206206
}
207207
}
208208

209+
func (g *GameServer) IsRoomCreator(socket *websocket.Conn) bool {
210+
roomCreator := false
211+
g.Players.Range(func(k, v any) bool {
212+
if v.(*Client).Number == 0 && v.(*Client).Socket == socket {
213+
roomCreator = true
214+
}
215+
return true
216+
})
217+
return roomCreator
218+
}
219+
209220
func (g *GameServer) GetPlayersLength() int {
210221
length := 0
211222
g.Players.Range(func(_, _ any) bool {

internal/lobbyServer/lobby.go

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -129,17 +129,6 @@ func (s *LobbyServer) findGameServer(port int) (string, *gameserver.GameServer)
129129
return "", nil
130130
}
131131

132-
func (s *LobbyServer) findRoomCreatorSocket(g *gameserver.GameServer) *websocket.Conn {
133-
var c *websocket.Conn
134-
g.Players.Range(func(k, v any) bool {
135-
if v.(*gameserver.Client).Number == 0 {
136-
c = v.(*gameserver.Client).Socket
137-
}
138-
return true
139-
})
140-
return c
141-
}
142-
143132
func (s *LobbyServer) updatePlayers(g *gameserver.GameServer) {
144133
if g == nil {
145134
return
@@ -428,9 +417,7 @@ func (s *LobbyServer) wsHandler(w http.ResponseWriter, r *http.Request) {
428417
roomName, g := s.findGameServer(receivedMessage.Room.Port)
429418

430419
if g != nil {
431-
roomCreatorSocket := s.findRoomCreatorSocket(g)
432-
433-
if roomCreatorSocket != ws {
420+
if !g.IsRoomCreator(ws) {
434421
sendMessage.Accept = BadPlayer
435422
sendMessage.Message = "Player must be room creator"
436423
if err := s.sendData(ws, sendMessage); err != nil {
@@ -629,9 +616,7 @@ func (s *LobbyServer) wsHandler(w http.ResponseWriter, r *http.Request) {
629616
sendMessage.Type = TypeReplyBeginGame
630617
roomName, g := s.findGameServer(receivedMessage.Room.Port)
631618
if g != nil {
632-
roomCreatorSocket := s.findRoomCreatorSocket(g)
633-
634-
if roomCreatorSocket != ws {
619+
if !g.IsRoomCreator(ws) {
635620
sendMessage.Accept = BadPlayer
636621
sendMessage.Message = "Player must be room creator"
637622
if err := s.sendData(ws, sendMessage); err != nil {

0 commit comments

Comments
 (0)