| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'client/elm/battlemap/src/Update/DirectionRequest.elm')
| -rw-r--r-- | client/elm/battlemap/src/Update/DirectionRequest.elm | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/client/elm/battlemap/src/Update/DirectionRequest.elm b/client/elm/battlemap/src/Update/DirectionRequest.elm new file mode 100644 index 0000000..6f30866 --- /dev/null +++ b/client/elm/battlemap/src/Update/DirectionRequest.elm @@ -0,0 +1,28 @@ +module Update.DirectionRequest exposing (apply_to) + +import Dict + +import Battlemap.Direction +import Battlemap.Navigator + +import Model + +apply_to : Model.Type -> Battlemap.Direction.Type -> Model.Type +apply_to model dir = +   case (model.selection, model.navigator) of +      (Nothing, _) -> model +      (_ , Nothing) -> model +      ((Just char_id), (Just nav)) -> +         let +            (new_bmap, new_nav) = +               (Battlemap.Navigator.go +                  model.battlemap +                  nav +                  dir +                  (Dict.values model.characters) +               ) +         in +            {model | +               battlemap = new_bmap, +               navigator = (Just new_nav) +            } | 


