| 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 /client/elm/battlemap | |
| parent | 1edd31d9972a7dec8cd54889e33bfdf1d5838670 (diff) | |
Introduces 'States' for the model.
Diffstat (limited to 'client/elm/battlemap')
| -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."                    ) +         (_, _) -> ""        )     ) | 


