summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/battlemap/src/Update.elm')
-rw-r--r-- | src/battlemap/src/Update.elm | 27 |
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) |