equal
deleted
inserted
replaced
5 import Control.Concurrent.Chan |
5 import Control.Concurrent.Chan |
6 import qualified Data.IntSet as IntSet |
6 import qualified Data.IntSet as IntSet |
7 import qualified Data.Set as Set |
7 import qualified Data.Set as Set |
8 import qualified Data.Sequence as Seq |
8 import qualified Data.Sequence as Seq |
9 import System.Log.Logger |
9 import System.Log.Logger |
10 import Monad |
10 import Control.Monad |
11 import Data.Time |
11 import Data.Time |
12 import Maybe |
12 import Data.Maybe |
13 import Control.Monad.Reader |
13 import Control.Monad.Reader |
14 import Control.Monad.State |
14 import Control.Monad.State |
15 import qualified Data.ByteString.Char8 as B |
15 import qualified Data.ByteString.Char8 as B |
16 ----------------------------- |
16 ----------------------------- |
17 import CoreTypes |
17 import CoreTypes |
114 --playersIDs = IntSet.delete ci (playersIDs r) |
114 --playersIDs = IntSet.delete ci (playersIDs r) |
115 playersIn = (playersIn r) - 1, |
115 playersIn = (playersIn r) - 1, |
116 readyPlayers = if ready then readyPlayers r - 1 else readyPlayers r |
116 readyPlayers = if ready then readyPlayers r - 1 else readyPlayers r |
117 }) ri |
117 }) ri |
118 |
118 |
119 removeClient rnc ci |
|
120 |
|
121 modify (\s -> s{removedClients = ci `Set.insert` removedClients s}) |
119 modify (\s -> s{removedClients = ci `Set.insert` removedClients s}) |
122 |
120 |
123 processAction (DeleteClient ci) = do |
121 processAction (DeleteClient ci) = do |
|
122 rnc <- gets roomsClients |
|
123 liftIO $ removeClient rnc ci |
124 modify (\s -> s{removedClients = ci `Set.delete` removedClients s}) |
124 modify (\s -> s{removedClients = ci `Set.delete` removedClients s}) |
125 |
125 |
126 {- |
126 {- |
127 where |
127 where |
128 client = clients ! clID |
128 client = clients ! clID |