summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'client/elm/battlemap/src/Update/SelectCharacter.elm')
-rw-r--r--client/elm/battlemap/src/Update/SelectCharacter.elm32
1 files changed, 32 insertions, 0 deletions
diff --git a/client/elm/battlemap/src/Update/SelectCharacter.elm b/client/elm/battlemap/src/Update/SelectCharacter.elm
new file mode 100644
index 0000000..c9c1c94
--- /dev/null
+++ b/client/elm/battlemap/src/Update/SelectCharacter.elm
@@ -0,0 +1,32 @@
+module Update.SelectCharacter exposing (apply_to)
+
+import Dict
+
+import Character
+
+import Battlemap
+import Battlemap.Navigator
+
+import Model
+
+apply_to : Model.Type -> Character.Ref -> Model.Type
+apply_to model char_id =
+ {model |
+ selection = (Just char_id),
+ battlemap =
+ (Battlemap.apply_to_all_tiles
+ model.battlemap
+ (Battlemap.Navigator.reset_navigation)
+ ),
+ navigator =
+ (case (Dict.get char_id model.characters) of
+ Nothing -> Nothing
+ (Just char) ->
+ (Just
+ (Battlemap.Navigator.new_navigator
+ char.location
+ char.movement_points
+ )
+ )
+ )
+ }