summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-09-26 19:13:04 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-09-26 19:13:04 +0200 |
commit | 33e57128d48a012533c42635f52037fcdedd4c56 (patch) | |
tree | 05deb83b77311d25168e5966c14c1bf20f17fb79 /client/elm/battlemap/src/Update/SelectCharacter.elm | |
parent | 9293fb062b0bf66995c72b30e037c762318be000 (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.elm | 33 |
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) |