summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2017-12-11 18:11:50 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2017-12-11 18:11:50 +0100 |
commit | f9d92b5f1a0595679eddd8b8fda5e816569f15ea (patch) | |
tree | 81b2abc3ef612845ba974249972d07e5165e1ab4 | |
parent | 2d5e842e6955a8619a74a20d9aa3a026d456182c (diff) |
Re-enables the controlled char's navigator.
-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)] ) ) |