summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2017-11-02 16:38:19 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2017-11-02 16:38:19 +0100 |
commit | 87fd9b3f1c9ad877bd487ddd3375377ae965e75a (patch) | |
tree | 12e07c8f191793f9d8dd693471bfcd5ded946dbc /src | |
parent | 98c9c4f227af30cad5eb28b16d4c62c0c328ccbe (diff) |
I'll soon have to start coding stuff server-side.
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) |