summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/battlemap/src/Update.elm')
-rw-r--r--src/battlemap/src/Update.elm27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/battlemap/src/Update.elm b/src/battlemap/src/Update.elm
new file mode 100644
index 0000000..7ee61a3
--- /dev/null
+++ b/src/battlemap/src/Update.elm
@@ -0,0 +1,27 @@
+module Update exposing (update)
+
+import Event
+
+import Model
+import Model.RequestDirection
+import Model.SelectTile
+import Model.SelectCharacter
+import Model.EndTurn
+
+update : Event.Type -> Model.Type -> (Model.Type, (Cmd Event.Type))
+update event model =
+ let
+ new_model = (Model.clear_error model)
+ in
+ case event of
+ (Event.DirectionRequested d) ->
+ ((Model.RequestDirection.apply_to new_model d), Cmd.none)
+
+ (Event.TileSelected loc) ->
+ ((Model.SelectTile.apply_to new_model loc), Cmd.none)
+
+ (Event.CharacterSelected char_id) ->
+ ((Model.SelectCharacter.apply_to new_model char_id), Cmd.none)
+
+ Event.TurnEnded ->
+ ((Model.EndTurn.apply_to new_model), Cmd.none)