diff -r 87ee1be17d27 -r f85243bf890e gameServer/ServerState.hs --- a/gameServer/ServerState.hs Sun Dec 19 20:45:15 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -module ServerState - ( - module RoomsAndClients, - clientRoomA, - ServerState(..), - client's, - allClientsS, - roomClientsS - ) where - -import Control.Monad.State.Strict -import Data.Set as Set ----------------------- -import RoomsAndClients -import CoreTypes - -data ServerState = ServerState { - clientIndex :: !(Maybe ClientIndex), - serverInfo :: !ServerInfo, - removedClients :: !(Set.Set ClientIndex), - roomsClients :: !MRnC - } - - -clientRoomA :: StateT ServerState IO RoomIndex -clientRoomA = do - (Just ci) <- gets clientIndex - rnc <- gets roomsClients - liftIO $ clientRoomM rnc ci - -client's :: (ClientInfo -> a) -> StateT ServerState IO a -client's f = do - (Just ci) <- gets clientIndex - rnc <- gets roomsClients - liftIO $ client'sM rnc f ci - -allClientsS :: StateT ServerState IO [ClientInfo] -allClientsS = gets roomsClients >>= liftIO . clientsM - -roomClientsS :: RoomIndex -> StateT ServerState IO [ClientInfo] -roomClientsS ri = do - rnc <- gets roomsClients - liftIO $ roomClientsM rnc ri