summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-25 16:08:43 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-25 16:08:43 +0200
commit9293fb062b0bf66995c72b30e037c762318be000 (patch)
treeb20c47fcf589fb0f05d7c500766b1f427a8a9243
parent1edd31d9972a7dec8cd54889e33bfdf1d5838670 (diff)
Introduces 'States' for the model.
-rw-r--r--client/elm/battlemap/src/Model.elm11
-rw-r--r--client/elm/battlemap/src/Shim/Model.elm4
-rw-r--r--client/elm/battlemap/src/Update/DirectionRequest.elm6
-rw-r--r--client/elm/battlemap/src/Update/EndTurn.elm7
-rw-r--r--client/elm/battlemap/src/Update/SelectCharacter.elm2
-rw-r--r--client/elm/battlemap/src/View/Status.elm6
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."
)
+ (_, _) -> ""
)
)