summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-26 19:13:04 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-26 19:13:04 +0200
commit33e57128d48a012533c42635f52037fcdedd4c56 (patch)
tree05deb83b77311d25168e5966c14c1bf20f17fb79 /client/elm/battlemap/src/Update/SelectCharacter.elm
parent9293fb062b0bf66995c72b30e037c762318be000 (diff)
Range indicators are now clickable.
Diffstat (limited to 'client/elm/battlemap/src/Update/SelectCharacter.elm')
-rw-r--r--client/elm/battlemap/src/Update/SelectCharacter.elm33
1 files changed, 22 insertions, 11 deletions
diff --git a/client/elm/battlemap/src/Update/SelectCharacter.elm b/client/elm/battlemap/src/Update/SelectCharacter.elm
index 3fa2ab2..0e7b1c4 100644
--- a/client/elm/battlemap/src/Update/SelectCharacter.elm
+++ b/client/elm/battlemap/src/Update/SelectCharacter.elm
@@ -12,6 +12,8 @@ import Battlemap.Tile
import Battlemap.RangeIndicator
import Model
+import Event
+import Error
display_range : (
Int ->
@@ -39,10 +41,10 @@ display_range dist loc_ref indicator bmap =
)
-apply_to : Model.Type -> Character.Ref -> Model.Type
-apply_to model char_id =
+make_it_so : Model.Type -> Character.Ref -> Model.Type
+make_it_so model char_id =
case (Dict.get char_id model.characters) of
- Nothing -> model
+ Nothing -> {model | state = (Model.Error Error.Programming)}
(Just char) ->
let
new_range_indicator =
@@ -54,7 +56,7 @@ apply_to model char_id =
)
in
{model |
- state = (Model.MovingCharacter char_id),
+ state = Model.MovingCharacterWithClick,
battlemap =
(
(Dict.foldl
@@ -66,12 +68,21 @@ apply_to model char_id =
new_range_indicator
)
),
- navigator =
+ selection =
(Just
- (Battlemap.Navigator.new_navigator
- char.location
- char.movement_points
- )
- ),
- range_indicator = new_range_indicator
+ {
+ character = char_id,
+ navigator =
+ (Battlemap.Navigator.new
+ char.location
+ char.movement_points
+ ),
+ range_indicator = new_range_indicator
+ }
+ )
}
+
+apply_to : Model.Type -> Character.Ref -> Model.Type
+apply_to model char_id =
+ case model.state of
+ _ -> (make_it_so model char_id)