| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/battlemap/src/Struct/Model.elm | 14 | ||||
| -rw-r--r-- | src/battlemap/src/Update/EndTurn.elm | 19 | 
2 files changed, 25 insertions, 8 deletions
diff --git a/src/battlemap/src/Struct/Model.elm b/src/battlemap/src/Struct/Model.elm index 7a331f6..85b7f08 100644 --- a/src/battlemap/src/Struct/Model.elm +++ b/src/battlemap/src/Struct/Model.elm @@ -4,6 +4,7 @@ module Struct.Model exposing        new,        add_character,        update_character, +      update_character_fun,        add_weapon,        add_armor,        add_tile, @@ -28,6 +29,8 @@ import Struct.TurnResult  import Struct.UI  import Struct.Weapon +import Util.Array +  --------------------------------------------------------------------------------  -- TYPES -----------------------------------------------------------------------  -------------------------------------------------------------------------------- @@ -142,6 +145,17 @@ update_character ix new_val model =        characters = (Array.set ix new_val model.characters)     } +update_character_fun : ( +      Int -> +      ((Maybe Struct.Character.Type) -> (Maybe Struct.Character.Type)) -> +      Type -> +      Type +   ) +update_character_fun ix fun model = +   {model | +      characters = (Util.Array.update ix (fun) model.characters) +   } +  invalidate : Struct.Error.Type -> Type -> Type  invalidate err model =     {model | diff --git a/src/battlemap/src/Update/EndTurn.elm b/src/battlemap/src/Update/EndTurn.elm index 457d788..f2bd706 100644 --- a/src/battlemap/src/Update/EndTurn.elm +++ b/src/battlemap/src/Update/EndTurn.elm @@ -15,6 +15,15 @@ import Struct.Navigator  --------------------------------------------------------------------------------  -- LOCAL -----------------------------------------------------------------------  -------------------------------------------------------------------------------- +maybe_disable_char : ( +      (Maybe Struct.Character.Type) -> +      (Maybe Struct.Character.Type) +   ) +maybe_disable_char maybe_char = +   case maybe_char of +      (Just char) -> (Just (Struct.Character.set_enabled False char)) +      Nothing -> Nothing +  make_it_so : (        Struct.Model.Type ->        Struct.Character.Type -> @@ -26,15 +35,9 @@ make_it_so model char nav =        (Just cmd) ->           (              (Struct.Model.reset -               (Struct.Model.update_character +               (Struct.Model.update_character_fun                    (Struct.Character.get_index char) -                  (Struct.Character.set_enabled -                     False -                     (Struct.Character.set_location -                        (Struct.Navigator.get_current_location nav) -                        char -                     ) -                  ) +                  (maybe_disable_char)                    model                 )              ),  | 


