diff -r bd540ba66599 -r 4771fed9272e gameServer/ServerState.hs --- a/gameServer/ServerState.hs Sat Mar 05 22:39:26 2011 +0300 +++ b/gameServer/ServerState.hs Sun Mar 06 21:54:37 2011 +0300 @@ -15,33 +15,33 @@ import RoomsAndClients import CoreTypes -data ServerState c = ServerState { +data ServerState = ServerState { clientIndex :: !(Maybe ClientIndex), - serverInfo :: !(ServerInfo c), + serverInfo :: !ServerInfo, removedClients :: !(Set.Set ClientIndex), roomsClients :: !MRnC } -clientRoomA :: StateT (ServerState c) IO RoomIndex +clientRoomA :: StateT ServerState IO RoomIndex clientRoomA = do (Just ci) <- gets clientIndex rnc <- gets roomsClients io $ clientRoomM rnc ci -client's :: (ClientInfo -> a) -> StateT (ServerState c) IO a +client's :: (ClientInfo -> a) -> StateT ServerState IO a client's f = do (Just ci) <- gets clientIndex rnc <- gets roomsClients io $ client'sM rnc f ci -allClientsS :: StateT (ServerState c) IO [ClientInfo] +allClientsS :: StateT ServerState IO [ClientInfo] allClientsS = gets roomsClients >>= liftIO . clientsM -roomClientsS :: RoomIndex -> StateT (ServerState c) IO [ClientInfo] +roomClientsS :: RoomIndex -> StateT ServerState IO [ClientInfo] roomClientsS ri = do rnc <- gets roomsClients io $ roomClientsM rnc ri -io :: IO a -> StateT (ServerState c) IO a +io :: IO a -> StateT ServerState IO a io = liftIO