summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-18 18:15:59 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-18 18:15:59 +0200
commit0b9096ed0c66db403c244a4720bac60326a40394 (patch)
tree233d01b0b04463c3c8db7e20f3c3152f73427a34 /client/elm/battlemap/src/Battlemap/Navigator.elm
parentc9786fd27954c79faf901963003a8b7b3131ca4c (diff)
Character-focused navigators.
Diffstat (limited to 'client/elm/battlemap/src/Battlemap/Navigator.elm')
-rw-r--r--client/elm/battlemap/src/Battlemap/Navigator.elm30
1 files changed, 25 insertions, 5 deletions
diff --git a/client/elm/battlemap/src/Battlemap/Navigator.elm b/client/elm/battlemap/src/Battlemap/Navigator.elm
index b040676..df0e2cf 100644
--- a/client/elm/battlemap/src/Battlemap/Navigator.elm
+++ b/client/elm/battlemap/src/Battlemap/Navigator.elm
@@ -1,16 +1,29 @@
-module Battlemap.Navigator exposing (Navigator, new_navigator, go)
+module Battlemap.Navigator exposing
+ (
+ Navigator,
+ new_navigator,
+ reset_navigation,
+ go
+ )
import Set exposing (Set, member, empty, insert)
import Battlemap exposing (Battlemap, has_location, apply_to_tile)
-import Battlemap.Location exposing (..)
-import Battlemap.Direction exposing (..)
-import Battlemap.Tile exposing (set_direction)
+import Battlemap.Direction exposing (Direction(..))
+import Battlemap.Tile exposing (Tile, set_direction)
+
+import Battlemap.Location exposing
+ (
+ Location,
+ LocationRef,
+ neighbor,
+ to_comparable
+ )
type alias Navigator =
{
current_location : Location,
- visited_locations : (Set LocationComparable)
+ visited_locations : (Set LocationRef)
}
new_navigator : Location -> Navigator
@@ -20,6 +33,13 @@ new_navigator start =
visited_locations = empty
}
+
+reset_navigation : Tile -> Tile
+reset_navigation t =
+ {t |
+ nav_level = None
+ }
+
go : Battlemap -> Navigator -> Direction -> (Battlemap, Navigator)
go battlemap nav dir =
let