blob: 7ee61a373779f55297c16d292c5a869a201f1082 (
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, (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)
  |