remove updateStateC
[darcs-mirror-haskell-partty.git] / Partty.hs
index 8db6701..e7a8ed1 100644 (file)
--- a/Partty.hs
+++ b/Partty.hs
@@ -187,14 +187,12 @@ callNightCallback ncb ps d e = do
 runner :: Handle -> DayCallback d -> NightCallback d -> ParttyState -> d -> IO ()
 runner h dcb ncb = fix $ \loop ps d -> do
        (e,ps') <- getNextUserMessage h ps
-       (d',ps'') <- case e of
+       d' <- case e of
                Left dm  -> do (client_messages, d') <- callDayCallback dcb ps' d dm
                               mapM_ (sendClientMessage h) client_messages
-                              let ps'' = foldr updateStateC ps' client_messages
-                              return (d',ps'')
-               Right nm -> do d' <- callNightCallback ncb ps' d nm
-                              return (d',ps')
-       loop ps'' d'
+                              return d'
+               Right nm -> do callNightCallback ncb ps' d nm
+       loop ps' d'
 
 getNextUserMessage :: Handle -> ParttyState -> IO (Either DayMessage NightMessage, ParttyState)
 getNextUserMessage h ps = do
@@ -332,10 +330,6 @@ updateState (InternalMessage (ActionsLeft n)) ps =
 
 updateState msg ps = ps -- TODO: this is a stub
 
-updateStateC :: ClientMessage -> ParttyState -> ParttyState
-updateStateC (Goto place) ps = ps {psPlace = place}
-updateStateC msg ps = ps
-
 -- Convenience functions for accessing the state
 
 whoIsHere :: (MonadReader ParttyState m) => m [Player]