summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-09-27 11:31:17 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-09-27 11:31:17 +0200 |
commit | 2d54254e59289c452777fccb1f4d00b56eb7e451 (patch) | |
tree | ab0835ea7a5917a4363539022cbc730e582aed8a /elm/battlemap/src/Model.elm | |
parent | d2b5c94b717e2d1b7b73a74a1f1ec6af70890a96 (diff) |
Improves error msgs & UI controls.
Diffstat (limited to 'elm/battlemap/src/Model.elm')
-rw-r--r-- | elm/battlemap/src/Model.elm | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/elm/battlemap/src/Model.elm b/elm/battlemap/src/Model.elm index 4303b6f..437d118 100644 --- a/elm/battlemap/src/Model.elm +++ b/elm/battlemap/src/Model.elm @@ -1,10 +1,20 @@ -module Model exposing (Type, CharacterSelection, State(..)) +module Model exposing + ( + Type, + CharacterSelection, + State(..), + get_state, + invalidate, + reset, + clear_error + ) import Dict import Battlemap import Battlemap.Navigator import Battlemap.Location +import Battlemap.Tile import Battlemap.RangeIndicator import Error @@ -24,7 +34,6 @@ type alias CharacterSelection = type State = Default - | Error Error.Type | MovingCharacterWithButtons | MovingCharacterWithClick | FocusingTile @@ -34,5 +43,28 @@ type alias Type = state: State, battlemap: Battlemap.Type, characters: (Dict.Dict Character.Ref Character.Type), + error: (Maybe Error.Type), selection: (Maybe CharacterSelection) } + +get_state : Type -> State +get_state model = model.state + +reset : Type -> Type +reset model = + {model | + state = Default, + selection = Nothing, + error = Nothing, + battlemap = + (Battlemap.apply_to_all_tiles + model.battlemap + (Battlemap.Tile.reset) + ) + } + +invalidate : Type -> Error.Type -> Type +invalidate model err = {model | error = (Just err)} + +clear_error : Type -> Type +clear_error model = {model | error = Nothing} |