gameServer/HWProtoLobbyState.hs
changeset 3502 ad38c653b7d9
parent 3501 a3159a410e5c
child 3536 7d99655130ff
equal deleted inserted replaced
3501:a3159a410e5c 3502:ad38c653b7d9
    54 handleCmd_lobby ["CHAT", msg] = do
    54 handleCmd_lobby ["CHAT", msg] = do
    55     n <- clientNick
    55     n <- clientNick
    56     s <- roomOthersChans
    56     s <- roomOthersChans
    57     return [AnswerClients s ["CHAT", n, msg]]
    57     return [AnswerClients s ["CHAT", n, msg]]
    58 
    58 
    59 {-
    59 handleCmd_lobby ["CREATE_ROOM", newRoom, roomPassword]
    60 handleCmd_lobby clID clients rooms ["CREATE_ROOM", newRoom, roomPassword]
    60     | illegalName newRoom = return [Warning "Illegal room name"]
    61     | haveSameRoom = [Warning "Room exists"]
    61     | otherwise = do
    62     | illegalName newRoom = [Warning "Illegal room name"]
    62         rs <- allRoomInfos
    63     | otherwise =
    63         (ci, irnc) <- ask
    64         [RoomRemoveThisClient "", -- leave lobby
    64         let cl =  irnc `client` ci
    65         AddRoom newRoom roomPassword,
    65         return $ if isJust $ find (\room -> newRoom == name room) rs then 
    66         AnswerThisClient ["NOT_READY", clientNick]
    66             [Warning "Room exists"]
    67         ]
    67             else
    68     where
    68             [
    69         clientNick = nick $ clients IntMap.! clID
    69                 AddRoom newRoom roomPassword,
    70         haveSameRoom = isJust $ find (\room -> newRoom == name room) $ IntMap.elems rooms
    70                 AnswerClients [sendChan cl] ["NOT_READY", nick cl]
       
    71             ]
    71 
    72 
    72 
    73 
    73 handleCmd_lobby clID clients rooms ["CREATE_ROOM", newRoom] =
    74 handleCmd_lobby ["CREATE_ROOM", newRoom] =
    74     handleCmd_lobby clID clients rooms ["CREATE_ROOM", newRoom, ""]
    75     handleCmd_lobby ["CREATE_ROOM", newRoom, ""]
    75 
    76 
       
    77 {-
    76 
    78 
    77 handleCmd_lobby clID clients rooms ["JOIN_ROOM", roomName, roomPassword]
    79 handleCmd_lobby clID clients rooms ["JOIN_ROOM", roomName, roomPassword]
    78     | noSuchRoom = [Warning "No such room"]
    80     | noSuchRoom = [Warning "No such room"]
    79     | isRestrictedJoins jRoom = [Warning "Joining restricted"]
    81     | isRestrictedJoins jRoom = [Warning "Joining restricted"]
    80     | roomPassword /= password jRoom = [Warning "Wrong password"]
    82     | roomPassword /= password jRoom = [Warning "Wrong password"]
   183 
   185 
   184 handleCmd_lobby clID clients rooms ["CLEAR_ACCOUNTS_CACHE"] =
   186 handleCmd_lobby clID clients rooms ["CLEAR_ACCOUNTS_CACHE"] =
   185         [ClearAccountsCache | isAdministrator client]
   187         [ClearAccountsCache | isAdministrator client]
   186     where
   188     where
   187         client = clients IntMap.! clID
   189         client = clients IntMap.! clID
       
   190 -}
   188 
   191 
   189 
   192 
   190 handleCmd_lobby clID _ _ _ = [ProtocolError "Incorrect command (state: in lobby)"]
   193 handleCmd_lobby _ = return [ProtocolError "Incorrect command (state: in lobby)"]
   191 -}