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) |