summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-27 11:31:17 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-27 11:31:17 +0200
commit2d54254e59289c452777fccb1f4d00b56eb7e451 (patch)
treeab0835ea7a5917a4363539022cbc730e582aed8a /elm/battlemap/src/Model.elm
parentd2b5c94b717e2d1b7b73a74a1f1ec6af70890a96 (diff)
Improves error msgs & UI controls.
Diffstat (limited to 'elm/battlemap/src/Model.elm')
-rw-r--r--elm/battlemap/src/Model.elm36
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}