| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/battlemap/src/Update/RequestDirection.elm | 58 | ||||
| -rw-r--r-- | src/battlemap/src/Update/SelectTile.elm | 10 | ||||
| -rw-r--r-- | src/battlemap/src/View/Battlemap.elm | 13 | 
3 files changed, 48 insertions, 33 deletions
| diff --git a/src/battlemap/src/Update/RequestDirection.elm b/src/battlemap/src/Update/RequestDirection.elm index 48174d6..db403ba 100644 --- a/src/battlemap/src/Update/RequestDirection.elm +++ b/src/battlemap/src/Update/RequestDirection.elm @@ -4,13 +4,13 @@ module Update.RequestDirection exposing (apply_to)  import Dict  -- Battlemap ------------------------------------------------------------------- -import Struct.Battlemap  import Struct.Character  import Struct.CharacterTurn  import Struct.Direction  import Struct.Error  import Struct.Event  import Struct.Model +import Struct.Navigator  import Struct.UI  -------------------------------------------------------------------------------- @@ -18,38 +18,34 @@ import Struct.UI  --------------------------------------------------------------------------------  make_it_so : (        Struct.Model.Type -> -      Struct.Character.Ref -> +      Struct.Navigator.Type ->        Struct.Direction.Type ->        Struct.Model.Type     ) -make_it_so model char_ref dir = -   let -      new_bmap = ---         (Struct.Battlemap.try_adding_step_to_navigator -           (Just model.battlemap) ---            (Dict.values model.characters) ---            dir ---         ) -   in -      case new_bmap of -         (Just bmap) -> -            {model | -               battlemap = bmap, -               ui = -                  (Struct.UI.set_previous_action -                     model.ui -                     (Just Struct.UI.UsedManualControls) -                  ) -            } - -         Nothing -> -            (Struct.Model.invalidate -               model -               (Struct.Error.new -                  Struct.Error.IllegalAction -                  "Unreachable/occupied tile." +make_it_so model navigator dir = +   case (Struct.Navigator.try_adding_step navigator dir) of +      (Just new_navigator) -> +         {model | +            char_turn = +               (Struct.CharacterTurn.set_navigator +                  model.char_turn +                  new_navigator +               ), +            ui = +               (Struct.UI.set_previous_action +                  model.ui +                  (Just Struct.UI.UsedManualControls)                 ) +         } + +      Nothing -> +         (Struct.Model.invalidate +            model +            (Struct.Error.new +               Struct.Error.IllegalAction +               "Unreachable/occupied tile."              ) +         )  --------------------------------------------------------------------------------  -- EXPORTED -------------------------------------------------------------------- @@ -61,11 +57,11 @@ apply_to : (     )  apply_to model dir =     case -      (Struct.CharacterTurn.try_getting_controlled_character model.char_turn) +      (Struct.CharacterTurn.try_getting_navigator model.char_turn)     of -      (Just char_ref) -> +      (Just navigator) ->           ( -            (make_it_so model char_ref dir), +            (make_it_so model navigator dir),              Cmd.none           ) diff --git a/src/battlemap/src/Update/SelectTile.elm b/src/battlemap/src/Update/SelectTile.elm index 42f7b29..b44e139 100644 --- a/src/battlemap/src/Update/SelectTile.elm +++ b/src/battlemap/src/Update/SelectTile.elm @@ -1,6 +1,6 @@  module Update.SelectTile exposing (apply_to) --- Elrm ------------------------------------------------------------------------ +-- Elm -------------------------------------------------------------------------  -- Battlemap -------------------------------------------------------------------  import Struct.Battlemap @@ -85,7 +85,13 @@ go_to_tile model navigator loc_ref =           )        of           (Just path) -> -            case (List.foldr (try_autopiloting) (Just navigator) path) of +            case +               (List.foldr +                  (try_autopiloting) +                  (Just (Struct.Navigator.clear_path navigator)) +                  path +               ) +            of                 (Just new_navigator) ->                    (                       {model | diff --git a/src/battlemap/src/View/Battlemap.elm b/src/battlemap/src/View/Battlemap.elm index f1643d6..f52ed4e 100644 --- a/src/battlemap/src/View/Battlemap.elm +++ b/src/battlemap/src/View/Battlemap.elm @@ -13,11 +13,15 @@ import List  -- Battlemap -------------------------------------------------------------------  import Struct.Battlemap +import Struct.CharacterTurn  import Struct.Event  import Struct.Model +import Struct.Navigator  import Struct.Tile  import Struct.UI +import Util.Html +  import View.Battlemap.Character  import View.Battlemap.Navigator  import View.Battlemap.Tile @@ -123,5 +127,14 @@ get_html model =              (View.Battlemap.Character.get_html)              (Dict.values model.characters)           ) +         ++ +         case (Struct.CharacterTurn.try_getting_navigator model.char_turn) of +            (Just navigator) -> +               (View.Battlemap.Navigator.get_html +                  (Struct.Navigator.get_summary navigator) +               ) + +            Nothing -> +               [(Util.Html.nothing)]        )     ) | 


