summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'elm/battlemap/src/Model/RequestDirection.elm')
-rw-r--r--elm/battlemap/src/Model/RequestDirection.elm81
1 files changed, 0 insertions, 81 deletions
diff --git a/elm/battlemap/src/Model/RequestDirection.elm b/elm/battlemap/src/Model/RequestDirection.elm
deleted file mode 100644
index cf600e6..0000000
--- a/elm/battlemap/src/Model/RequestDirection.elm
+++ /dev/null
@@ -1,81 +0,0 @@
-module Model.RequestDirection exposing (apply_to)
-
-import Dict
-
-import Battlemap
-import Battlemap.Direction
-import Battlemap.Location
-
-
-import Character
-
-import Model
-import Error
-
-make_it_so : Model.Type -> Battlemap.Direction.Type -> Model.Type
-make_it_so model dir =
- case model.selection of
- (Model.SelectedCharacter char_id) ->
- let
- new_bmap =
- (Battlemap.try_adding_step_to_navigator
- model.battlemap
- (\loc ->
- (List.all
- (\char ->
- (
- ((Character.get_ref char) == char_id)
- ||
- (
- (Battlemap.Location.get_ref
- (Character.get_location char)
- )
- /=
- (Battlemap.Location.get_ref loc)
- )
- )
- )
- (Dict.values model.characters)
- )
- )
- dir
- )
- in
- case new_bmap of
- (Just bmap) ->
- {model |
- state = Model.MovingCharacterWithButtons,
- battlemap = bmap
- }
-
- Nothing ->
- (Model.invalidate
- model
- (Error.new
- Error.IllegalAction
- "Unreachable/occupied tile."
- )
- )
-
- _ ->
- (Model.invalidate
- model
- (Error.new
- Error.Programming
- "DirectionRequest: model moving char, no char selected."
- )
- )
-
-apply_to : Model.Type -> Battlemap.Direction.Type -> Model.Type
-apply_to model dir =
- case (Model.get_state model) of
- Model.MovingCharacterWithButtons -> (make_it_so model dir)
- Model.MovingCharacterWithClick -> (make_it_so model dir)
- _ ->
- (Model.invalidate
- model
- (Error.new
- Error.IllegalAction
- "This can only be done while moving a character."
- )
- )