gameServer/ServerCore.hs
changeset 11466 4b5c7a5c49fd
parent 11046 47a8c19ecb60
equal deleted inserted replaced
11465:0ae2e4c13bd1 11466:4b5c7a5c49fd
    21 import Control.Concurrent
    21 import Control.Concurrent
    22 import Control.Monad
    22 import Control.Monad
    23 import System.Log.Logger
    23 import System.Log.Logger
    24 import Control.Monad.Reader
    24 import Control.Monad.Reader
    25 import Control.Monad.State.Strict
    25 import Control.Monad.State.Strict
    26 import Data.Set as Set
    26 import Data.Set as Set hiding (null)
    27 import Data.Unique
    27 import Data.Unique
    28 import Data.Maybe
    28 import Data.Maybe
    29 --------------------------------------
    29 --------------------------------------
    30 import CoreTypes
    30 import CoreTypes
    31 import NetRoutines
    31 import NetRoutines
    53 
    53 
    54             removed <- gets removedClients
    54             removed <- gets removedClients
    55             unless (ci `Set.member` removed) $ do
    55             unless (ci `Set.member` removed) $ do
    56                 modify (\s -> s{clientIndex = Just ci})
    56                 modify (\s -> s{clientIndex = Just ci})
    57                 processAction $ ReactCmd cmd
    57                 processAction $ ReactCmd cmd
       
    58                 pa <- client's pendingActions
       
    59                 when (not $ null pa) $ do
       
    60                     mapM_ processAction pa
       
    61                     processAction $ ModifyClient $ \c -> c{pendingActions = []}
    58 
    62 
    59         Remove ci ->
    63         Remove ci ->
    60             processAction (DeleteClient ci)
    64             processAction (DeleteClient ci)
    61 
    65 
    62         ClientAccountInfo ci uid info -> do
    66         ClientAccountInfo ci uid info -> do