From bb52f791e29320bab0f0ae9763d248bcaf521fd5 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Tue, 19 Jun 2018 13:00:25 +0200 Subject: Fixes incorrect use of the CharacterTurn's char. --- src/battlemap/src/Struct/Model.elm | 14 ++++++++++++++ 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 ) ), -- cgit v1.2.3-70-g09d2