diff -r c7d258a4358e -r 6b074de32bea gameServer/Actions.hs --- a/gameServer/Actions.hs Thu Nov 01 08:59:16 2012 -0400 +++ b/gameServer/Actions.hs Fri Nov 02 00:09:40 2012 +0400 @@ -62,6 +62,7 @@ | ModifyRoom (RoomInfo -> RoomInfo) | ModifyServerInfo (ServerInfo -> ServerInfo) | AddRoom B.ByteString B.ByteString + | SendUpdateOnThisRoom | CheckRegistered | ClearAccountsCache | ProcessAccountInfo AccountInfo @@ -319,6 +320,16 @@ io $ removeRoom rnc ri +processAction SendUpdateOnThisRoom = do + Just clId <- gets clientIndex + proto <- client's clientProto + rnc <- gets roomsClients + ri <- io $ clientRoomM rnc clId + rm <- io $ room'sM rnc id ri + chans <- liftM (map sendChan) $! sameProtoClientsS proto + processAction $ AnswerClients chans ("ROOM" : "UPD" : name rm : roomInfo (name rm) rm) + + processAction UnreadyRoomClients = do ri <- clientRoomA roomPlayers <- roomClientsS ri @@ -348,6 +359,7 @@ } ) : UnreadyRoomClients + : SendUpdateOnThisRoom : answerRemovedTeams