summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-09-25 16:08:43 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-09-25 16:08:43 +0200 |
commit | 9293fb062b0bf66995c72b30e037c762318be000 (patch) | |
tree | b20c47fcf589fb0f05d7c500766b1f427a8a9243 | |
parent | 1edd31d9972a7dec8cd54889e33bfdf1d5838670 (diff) |
Introduces 'States' for the model.
-rw-r--r-- | client/elm/battlemap/src/Model.elm | 11 | ||||
-rw-r--r-- | client/elm/battlemap/src/Shim/Model.elm | 4 | ||||
-rw-r--r-- | client/elm/battlemap/src/Update/DirectionRequest.elm | 6 | ||||
-rw-r--r-- | client/elm/battlemap/src/Update/EndTurn.elm | 7 | ||||
-rw-r--r-- | client/elm/battlemap/src/Update/SelectCharacter.elm | 2 | ||||
-rw-r--r-- | client/elm/battlemap/src/View/Status.elm | 6 |
6 files changed, 18 insertions, 18 deletions
diff --git a/client/elm/battlemap/src/Model.elm b/client/elm/battlemap/src/Model.elm index 3bc240e..f5f57c0 100644 --- a/client/elm/battlemap/src/Model.elm +++ b/client/elm/battlemap/src/Model.elm @@ -1,4 +1,4 @@ -module Model exposing (Type) +module Model exposing (Type, State(..)) import Dict @@ -9,14 +9,16 @@ import Battlemap.RangeIndicator import Character -import Shim.Model +type State = + Default + | MovingCharacter Character.Ref -- MODEL type alias Type = { + state: State, battlemap: Battlemap.Type, navigator: (Maybe Battlemap.Navigator.Type), - selection: (Maybe String), characters: (Dict.Dict Character.Ref Character.Type), range_indicator: (Dict.Dict @@ -24,6 +26,3 @@ type alias Type = Battlemap.RangeIndicator.Type ) } - -model : Type -model = (Shim.Model.generate) diff --git a/client/elm/battlemap/src/Shim/Model.elm b/client/elm/battlemap/src/Shim/Model.elm index 5738aa4..3d6cc5a 100644 --- a/client/elm/battlemap/src/Shim/Model.elm +++ b/client/elm/battlemap/src/Shim/Model.elm @@ -2,16 +2,16 @@ module Shim.Model exposing (generate) import Dict ---import Model +import Model import Shim.Battlemap --generate : Model.Type generate = { + state = Model.Default, battlemap = (Shim.Battlemap.generate), navigator = Nothing, - selection = Nothing, characters = (Dict.insert "2" diff --git a/client/elm/battlemap/src/Update/DirectionRequest.elm b/client/elm/battlemap/src/Update/DirectionRequest.elm index 2d8b42c..477ba71 100644 --- a/client/elm/battlemap/src/Update/DirectionRequest.elm +++ b/client/elm/battlemap/src/Update/DirectionRequest.elm @@ -9,10 +9,9 @@ import Model apply_to : Model.Type -> Battlemap.Direction.Type -> Model.Type apply_to model dir = - case (model.selection, model.navigator) of - (Nothing, _) -> model + case (model.state, model.navigator) of (_ , Nothing) -> model - ((Just char_id), (Just nav)) -> + ((Model.MovingCharacter _), (Just nav)) -> let (new_bmap, new_nav) = (Battlemap.Navigator.Move.to @@ -26,3 +25,4 @@ apply_to model dir = battlemap = new_bmap, navigator = (Just new_nav) } + (_, _) -> model diff --git a/client/elm/battlemap/src/Update/EndTurn.elm b/client/elm/battlemap/src/Update/EndTurn.elm index 3490d57..cc81028 100644 --- a/client/elm/battlemap/src/Update/EndTurn.elm +++ b/client/elm/battlemap/src/Update/EndTurn.elm @@ -44,7 +44,8 @@ update_model model nav char_id = apply_to : Model.Type -> Model.Type apply_to model = - case (model.navigator, model.selection) of + case (model.state, model.navigator) of (_, Nothing) -> model - (Nothing, _) -> model - ((Just nav), (Just char_id)) -> (update_model model nav char_id) + ((Model.MovingCharacter char_id), (Just nav)) -> + (update_model model nav char_id) + (_, _) -> model diff --git a/client/elm/battlemap/src/Update/SelectCharacter.elm b/client/elm/battlemap/src/Update/SelectCharacter.elm index b2b28ca..3fa2ab2 100644 --- a/client/elm/battlemap/src/Update/SelectCharacter.elm +++ b/client/elm/battlemap/src/Update/SelectCharacter.elm @@ -54,7 +54,7 @@ apply_to model char_id = ) in {model | - selection = (Just char_id), + state = (Model.MovingCharacter char_id), battlemap = ( (Dict.foldl diff --git a/client/elm/battlemap/src/View/Status.elm b/client/elm/battlemap/src/View/Status.elm index 544aa4b..3a06572 100644 --- a/client/elm/battlemap/src/View/Status.elm +++ b/client/elm/battlemap/src/View/Status.elm @@ -10,10 +10,9 @@ import Model view : Model.Type -> (Html.Html Update.Type) view model = (Html.text - (case (model.selection, model.navigator) of - (Nothing, _) -> "" + (case (model.state, model.navigator) of (_, Nothing) -> "" - ((Just char_id), (Just nav)) -> + ((Model.MovingCharacter char_id), (Just nav)) -> case (Dict.get char_id model.characters) of Nothing -> "" (Just char) -> @@ -26,5 +25,6 @@ view model = ++ (toString char.movement_points) ++ " movement points remaining." ) + (_, _) -> "" ) ) |