aboutsummaryrefslogtreecommitdiff
blob: c6146e13e6bd969c288590c14623093a5dfb3353 (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
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
update event model =
   let
      new_model = (Model.clear_error model)
   in
   case event of
      (Event.DirectionRequested d) ->
         (Model.DirectionRequest.apply_to new_model d)

      (Event.TileSelected loc) ->
         (Model.SelectTile.apply_to new_model loc)

      (Event.CharacterSelected char_id) ->
         (Model.SelectCharacter.apply_to new_model char_id)

      Event.TurnEnded ->
         (Model.EndTurn.apply_to new_model)