| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/battlemap/src/Error.elm | 2 | ||||
| -rw-r--r-- | src/battlemap/src/Model/HandleServerReply.elm | 23 | ||||
| -rw-r--r-- | src/battlemap/src/Update.elm | 8 | 
3 files changed, 31 insertions, 2 deletions
| diff --git a/src/battlemap/src/Error.elm b/src/battlemap/src/Error.elm index 9f20eec..206088e 100644 --- a/src/battlemap/src/Error.elm +++ b/src/battlemap/src/Error.elm @@ -4,6 +4,7 @@ type Mode =     IllegalAction     | Programming     | Unimplemented +   | Networking  type alias Type =     { @@ -25,6 +26,7 @@ to_string e =           IllegalAction -> "Request discarded: "           Programming -> "Error in the program (please report): "           Unimplemented -> "Update discarded due to unimplemented feature: " +         Networking -> "Error while conversing with the server: "        )        ++ e.message     ) diff --git a/src/battlemap/src/Model/HandleServerReply.elm b/src/battlemap/src/Model/HandleServerReply.elm new file mode 100644 index 0000000..4f84821 --- /dev/null +++ b/src/battlemap/src/Model/HandleServerReply.elm @@ -0,0 +1,23 @@ +module Model.HandleServerReply exposing (apply_to) + +-- Battlemap ------------------------------------------------------------------- +import Model +import Error +import Event + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +apply_to : Model.Type -> String -> (Model.Type, (Cmd Event.Type)) +apply_to model serialized_commands = +   ( +      (Model.invalidate +         model +         (Error.new Error.Unimplemented "Received reply from server.") +      ), +      Cmd.none +   ) diff --git a/src/battlemap/src/Update.elm b/src/battlemap/src/Update.elm index a171aa6..f411659 100644 --- a/src/battlemap/src/Update.elm +++ b/src/battlemap/src/Update.elm @@ -11,6 +11,7 @@ import Model.RequestDirection  import Model.SelectTile  import Model.SelectCharacter  import Model.EndTurn +import Model.HandleServerReply  import Send.CharacterTurn @@ -62,11 +63,14 @@ update event model =                 Cmd.none              ) -      (Event.ServerReplied _) -> +      (Event.ServerReplied (Result.Err error)) ->           (              (Model.invalidate                 model -               (Error.new Error.Unimplemented "Handle server reply.") +               (Error.new Error.Networking (toString error))              ),              Cmd.none           ) + +      (Event.ServerReplied (Result.Ok commands)) -> +         (Model.HandleServerReply.apply_to model commands) | 


