gameServer/Actions.hs
changeset 13418 bb24c3414b0d
parent 12864 73ebc894a725
child 13506 36f3f77e9b1b
equal deleted inserted replaced
13417:8d7d48736184 13418:bb24c3414b0d
    41 import System.Random
    41 import System.Random
    42 import qualified Data.Traversable as DT
    42 import qualified Data.Traversable as DT
    43 import Text.Regex.TDFA
    43 import Text.Regex.TDFA
    44 import qualified Text.Regex.TDFA as TDFA
    44 import qualified Text.Regex.TDFA as TDFA
    45 import qualified Text.Regex.TDFA.ByteString as TDFAB
    45 import qualified Text.Regex.TDFA.ByteString as TDFAB
       
    46 import qualified Data.Yaml as YAML
    46 -----------------------------
    47 -----------------------------
    47 #if defined(OFFICIAL_SERVER)
    48 #if defined(OFFICIAL_SERVER)
    48 import OfficialServer.GameReplayStore
    49 import OfficialServer.GameReplayStore
    49 #endif
    50 #endif
    50 import CoreTypes
    51 import CoreTypes
   850 
   851 
   851 processAction (SaveRoom rname) = do
   852 processAction (SaveRoom rname) = do
   852     rnc <- gets roomsClients
   853     rnc <- gets roomsClients
   853     ri <- clientRoomA
   854     ri <- clientRoomA
   854     rm <- io $ room'sM rnc id ri
   855     rm <- io $ room'sM rnc id ri
   855     liftIO $ writeFile (B.unpack rname) $ show (greeting rm, roomSaves rm)
   856     liftIO $ YAML.encodeFile (B.unpack rname) (greeting rm, roomSaves rm)
   856 
   857 
   857 processAction (LoadRoom rname) = do
   858 processAction (LoadRoom rname) = do
   858     (g, rs) <- liftIO $ liftM read $ readFile (B.unpack rname)
   859     Right (g, rs) <- io $ YAML.decodeFileEither (B.unpack rname)
   859     processAction $ ModifyRoom $ \r -> r{greeting = g, roomSaves = rs}
   860     processAction $ ModifyRoom $ \r -> r{greeting = g, roomSaves = rs}
   860 
   861 
   861 processAction Cleanup = do
   862 processAction Cleanup = do
   862     jm <- gets joinsMonitor
   863     jm <- gets joinsMonitor
   863 
   864