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/DirectionRequest.elm
parent9293fb062b0bf66995c72b30e037c762318be000 (diff)
Range indicators are now clickable.
Diffstat (limited to 'client/elm/battlemap/src/Update/DirectionRequest.elm')
-rw-r--r--client/elm/battlemap/src/Update/DirectionRequest.elm25
1 files changed, 17 insertions, 8 deletions
diff --git a/client/elm/battlemap/src/Update/DirectionRequest.elm b/client/elm/battlemap/src/Update/DirectionRequest.elm
index 477ba71..da32240 100644
--- a/client/elm/battlemap/src/Update/DirectionRequest.elm
+++ b/client/elm/battlemap/src/Update/DirectionRequest.elm
@@ -6,23 +6,32 @@ import Battlemap.Direction
import Battlemap.Navigator.Move
import Model
+import Error
-apply_to : Model.Type -> Battlemap.Direction.Type -> Model.Type
-apply_to model dir =
- case (model.state, model.navigator) of
- (_ , Nothing) -> model
- ((Model.MovingCharacter _), (Just nav)) ->
+make_it_so : Model.Type -> Battlemap.Direction.Type -> Model.Type
+make_it_so model dir =
+ case model.selection of
+ Nothing -> {model | state = (Model.Error Error.Programming)}
+ (Just selection) ->
let
(new_bmap, new_nav) =
(Battlemap.Navigator.Move.to
model.battlemap
- nav
+ selection.navigator
dir
(Dict.values model.characters)
)
in
{model |
+ state = Model.MovingCharacterWithButtons,
battlemap = new_bmap,
- navigator = (Just new_nav)
+ selection = (Just {selection | navigator = new_nav})
}
- (_, _) -> model
+
+
+apply_to : Model.Type -> Battlemap.Direction.Type -> Model.Type
+apply_to model dir =
+ case model.state of
+ Model.MovingCharacterWithButtons -> (make_it_so model dir)
+ Model.MovingCharacterWithClick -> (make_it_so model dir)
+ _ -> {model | state = (Model.Error Error.IllegalAction)}