gameServer/Actions.hs
changeset 3283 18ee933a5864
parent 2948 3f21a9dc93d0
child 3425 ead2ed20dfd4
equal deleted inserted replaced
3282:9ca28cef559a 3283:18ee933a5864
    20     | AnswerThisRoom [String]
    20     | AnswerThisRoom [String]
    21     | AnswerOthersInRoom [String]
    21     | AnswerOthersInRoom [String]
    22     | AnswerSameClan [String]
    22     | AnswerSameClan [String]
    23     | AnswerLobby [String]
    23     | AnswerLobby [String]
    24     | SendServerMessage
    24     | SendServerMessage
       
    25     | SendServerVars
    25     | RoomAddThisClient Int -- roomID
    26     | RoomAddThisClient Int -- roomID
    26     | RoomRemoveThisClient String
    27     | RoomRemoveThisClient String
    27     | RemoveTeam String
    28     | RemoveTeam String
    28     | RemoveRoom
    29     | RemoveRoom
    29     | UnreadyRoomClients
    30     | UnreadyRoomClients
   116 processAction (clID, serverInfo, clients, rooms) SendServerMessage = do
   117 processAction (clID, serverInfo, clients, rooms) SendServerMessage = do
   117     writeChan (sendChan $ clients ! clID) ["SERVER_MESSAGE", message serverInfo]
   118     writeChan (sendChan $ clients ! clID) ["SERVER_MESSAGE", message serverInfo]
   118     return (clID, serverInfo, clients, rooms)
   119     return (clID, serverInfo, clients, rooms)
   119     where
   120     where
   120         client = clients ! clID
   121         client = clients ! clID
   121         message = if clientProto client < 29 then
   122         message si = if clientProto client < latestReleaseVersion si then
   122             serverMessageForOldVersions
   123             serverMessageForOldVersions si
   123             else
   124             else
   124             serverMessage
   125             serverMessage si
       
   126 
       
   127 processAction (clID, serverInfo, clients, rooms) SendServerVars = do
       
   128     writeChan (sendChan $ clients ! clID) ("SERVER_VARS" : vars)
       
   129     return (clID, serverInfo, clients, rooms)
       
   130     where
       
   131         client = clients ! clID
       
   132         vars = [
       
   133             "MOTD_NEW", serverMessage serverInfo, 
       
   134             "MOTD_OLD", serverMessageForOldVersions serverInfo, 
       
   135             "LATEST_PROTO", show $ latestReleaseVersion serverInfo
       
   136             ]
   125 
   137 
   126 
   138 
   127 processAction (clID, serverInfo, clients, rooms) (ProtocolError msg) = do
   139 processAction (clID, serverInfo, clients, rooms) (ProtocolError msg) = do
   128     writeChan (sendChan $ clients ! clID) ["ERROR", msg]
   140     writeChan (sendChan $ clients ! clID) ["ERROR", msg]
   129     return (clID, serverInfo, clients, rooms)
   141     return (clID, serverInfo, clients, rooms)