equal
deleted
inserted
replaced
53 | Unban B.ByteString |
53 | Unban B.ByteString |
54 | ChangeMaster |
54 | ChangeMaster |
55 | RemoveClientTeams ClientIndex |
55 | RemoveClientTeams ClientIndex |
56 | ModifyClient (ClientInfo -> ClientInfo) |
56 | ModifyClient (ClientInfo -> ClientInfo) |
57 | ModifyClient2 ClientIndex (ClientInfo -> ClientInfo) |
57 | ModifyClient2 ClientIndex (ClientInfo -> ClientInfo) |
|
58 | ModifyRoomClients (ClientInfo -> ClientInfo) |
58 | ModifyRoom (RoomInfo -> RoomInfo) |
59 | ModifyRoom (RoomInfo -> RoomInfo) |
59 | ModifyServerInfo (ServerInfo -> ServerInfo) |
60 | ModifyServerInfo (ServerInfo -> ServerInfo) |
60 | AddRoom B.ByteString B.ByteString |
61 | AddRoom B.ByteString B.ByteString |
61 | CheckRegistered |
62 | CheckRegistered |
62 | ClearAccountsCache |
63 | ClearAccountsCache |
180 processAction (ModifyClient2 ci f) = do |
181 processAction (ModifyClient2 ci f) = do |
181 rnc <- gets roomsClients |
182 rnc <- gets roomsClients |
182 io $ modifyClient rnc f ci |
183 io $ modifyClient rnc f ci |
183 return () |
184 return () |
184 |
185 |
|
186 processAction (ModifyRoomClients f) = do |
|
187 rnc <- gets roomsClients |
|
188 ri <- clientRoomA |
|
189 roomClIDs <- io $ roomClientsIndicesM rnc ri |
|
190 io $ mapM_ (modifyClient rnc f) roomClIDs |
|
191 |
185 |
192 |
186 processAction (ModifyRoom f) = do |
193 processAction (ModifyRoom f) = do |
187 rnc <- gets roomsClients |
194 rnc <- gets roomsClients |
188 ri <- clientRoomA |
195 ri <- clientRoomA |
189 io $ modifyRoom rnc f ri |
196 io $ modifyRoom rnc f ri |
313 rnc <- gets roomsClients |
320 rnc <- gets roomsClients |
314 ri <- clientRoomA |
321 ri <- clientRoomA |
315 roomPlayers <- roomClientsS ri |
322 roomPlayers <- roomClientsS ri |
316 roomClIDs <- io $ roomClientsIndicesM rnc ri |
323 roomClIDs <- io $ roomClientsIndicesM rnc ri |
317 pr <- client's clientProto |
324 pr <- client's clientProto |
318 processAction $ AnswerClients (map sendChan roomPlayers) $ notReadyMessage pr (map nick roomPlayers) |
325 mapM_ processAction [ |
319 io $ mapM_ (modifyClient rnc (\cl -> cl{isReady = False})) roomClIDs |
326 AnswerClients (map sendChan roomPlayers) $ notReadyMessage pr (map nick roomPlayers) |
320 processAction $ ModifyRoom (\r -> r{readyPlayers = 0}) |
327 , ModifyRoomClients (\cl -> cl{isReady = False}) |
|
328 , ModifyRoom (\r -> r{readyPlayers = 0}) |
|
329 ] |
321 where |
330 where |
322 notReadyMessage p nicks = if p < 38 then "NOT_READY" : nicks else "CLIENT_FLAGS" : "-r" : nicks |
331 notReadyMessage p nicks = if p < 38 then "NOT_READY" : nicks else "CLIENT_FLAGS" : "-r" : nicks |
323 |
332 |
324 |
333 |
325 processAction FinishGame = do |
334 processAction FinishGame = do |