summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2017-12-11 18:11:50 +0100
committernsensfel <SpamShield0@noot-noot.org>2017-12-11 18:11:50 +0100
commitf9d92b5f1a0595679eddd8b8fda5e816569f15ea (patch)
tree81b2abc3ef612845ba974249972d07e5165e1ab4
parent2d5e842e6955a8619a74a20d9aa3a026d456182c (diff)
Re-enables the controlled char's navigator.
-rw-r--r--src/battlemap/src/Update/RequestDirection.elm58
-rw-r--r--src/battlemap/src/Update/SelectTile.elm10
-rw-r--r--src/battlemap/src/View/Battlemap.elm13
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)]
)
)