aboutsummaryrefslogtreecommitdiff
blob: 0947e99cdfc5760cb971ab0ae4367509a452bb94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module Update exposing (update)

import Event

import Model

import Update.DirectionRequest
import Update.SelectTile
import Update.SelectCharacter
import Update.EndTurn

update : Event.Type -> Model.Type -> Model.Type
update event model =
   let
      new_model = (Model.clear_error model)
   in
   case event of
      (Event.DirectionRequest d) ->
         (Update.DirectionRequest.apply_to new_model d)

      (Event.SelectTile loc) ->
         (Update.SelectTile.apply_to new_model loc)

      (Event.SelectCharacter char_id) ->
         (Update.SelectCharacter.apply_to new_model char_id)

      Event.EndTurn ->
         (Update.EndTurn.apply_to new_model)