| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-09-27 10:31:16 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-09-27 10:31:16 +0200 | 
| commit | 2c9b2af9ac011a871c5c02d3e2258fca73a98880 (patch) | |
| tree | 653db3959f444f1065f05658650c6ec81863d627 /elm/battlemap/src/View | |
| parent | 33e57128d48a012533c42635f52037fcdedd4c56 (diff) | |
Splits client and server into two repositories.
Diffstat (limited to 'elm/battlemap/src/View')
| -rw-r--r-- | elm/battlemap/src/View/Controls.elm | 36 | ||||
| -rw-r--r-- | elm/battlemap/src/View/Status.elm | 42 | 
2 files changed, 78 insertions, 0 deletions
| diff --git a/elm/battlemap/src/View/Controls.elm b/elm/battlemap/src/View/Controls.elm new file mode 100644 index 0000000..be698bf --- /dev/null +++ b/elm/battlemap/src/View/Controls.elm @@ -0,0 +1,36 @@ +module View.Controls exposing (view) + +import Html +import Html.Events + +import Battlemap.Direction + +import Event + +direction_button : Battlemap.Direction.Type -> String -> (Html.Html Event.Type) +direction_button dir label = +   (Html.button +      [ +         (Html.Events.onClick +            (Event.DirectionRequest dir) +         ) +      ] +      [ (Html.text label) ] +   ) + +end_turn_button : (Html.Html Event.Type) +end_turn_button = +   (Html.button +      [ (Html.Events.onClick Event.EndTurn) ] +      [ (Html.text "End Turn") ] +   ) + +view : (List (Html.Html Event.Type)) +view = +   [ +      (direction_button Battlemap.Direction.Left "Left"), +      (direction_button Battlemap.Direction.Down "Down"), +      (direction_button Battlemap.Direction.Up "Up"), +      (direction_button Battlemap.Direction.Right "Right"), +      (end_turn_button) +   ] diff --git a/elm/battlemap/src/View/Status.elm b/elm/battlemap/src/View/Status.elm new file mode 100644 index 0000000..a7beb28 --- /dev/null +++ b/elm/battlemap/src/View/Status.elm @@ -0,0 +1,42 @@ +module View.Status exposing (view) + +import Dict + +import Html + +import Error +import Event +import Model + +moving_character_text : Model.Type -> String +moving_character_text model = +   case model.selection of +      Nothing -> "Error: no model.selection." +      (Just selection) -> +         case (Dict.get selection.character model.characters) of +            Nothing -> "Error: Unknown character selected." +            (Just char) -> +               ( +                  "Controlling " +                  ++ char.name +                  ++ ": " +                  ++ (toString selection.navigator.remaining_points) +                  ++ "/" +                  ++ (toString char.movement_points) +                  ++ " movement points remaining." +               ) + +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." +         (Model.Error Error.Programming) -> +            "Error of programming, please report." +         (Model.Error Error.IllegalAction) -> +            "This cannot be done while in this state." +      ) +   ) | 


