aboutsummaryrefslogtreecommitdiff
blob: de2a16731031e5654dabbe059faf754ab33607a7 (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
module View.Status exposing (view)

import Dict

import Html

import Battlemap
import Character

import Error
import Event
import Model

moving_character_text : Model.Type -> String
moving_character_text model =
   case model.selection of
      (Model.SelectedCharacter char_id) ->
         case (Dict.get char_id model.characters) of
            Nothing -> "Error: Unknown character selected."
            (Just char) ->
               (
                  "Controlling "
                  ++ char.name
                  ++ ": "
                  ++ (toString
                        (Battlemap.get_navigator_remaining_points
                           model.battlemap
                        )
                     )
                  ++ "/"
                  ++ (toString (Character.get_movement_points char))
                  ++ " movement points remaining."
               )
      _ -> "Error: model.selection does not match its state."

view : Model.Type -> (Html.Html Event.Type)
view model =
   (Html.text
      (
         (case model.state of
            Model.Default -> "Click on a character to control it."
            Model.MovingCharacterWithButtons -> (moving_character_text model)
            Model.MovingCharacterWithClick -> (moving_character_text model)
            Model.FocusingTile -> "Error: Unimplemented."
         )
         ++ " " ++
         (case model.error of
            Nothing -> ""
            (Just error) -> (Error.to_string error)
         )
      )
   )