summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2017-11-02 16:38:19 +0100
committernsensfel <SpamShield0@noot-noot.org>2017-11-02 16:38:19 +0100
commit87fd9b3f1c9ad877bd487ddd3375377ae965e75a (patch)
tree12e07c8f191793f9d8dd693471bfcd5ded946dbc
parent98c9c4f227af30cad5eb28b16d4c62c0c328ccbe (diff)
I'll soon have to start coding stuff server-side.
-rw-r--r--src/battlemap/src/Error.elm2
-rw-r--r--src/battlemap/src/Model/HandleServerReply.elm23
-rw-r--r--src/battlemap/src/Update.elm8
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)