| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-10-12 19:46:36 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-10-12 19:46:36 +0200 | 
| commit | 5a75000ec7b961ad5fe93814e5b7905cacbdba49 (patch) | |
| tree | aa0065ccb2251ecd7cf53dfd91e4ba1dd7ae8a52 /elm/battlemap/src/Model/SelectCharacter.elm | |
| parent | 2d54254e59289c452777fccb1f4d00b56eb7e451 (diff) | |
Started a rather large reorganization.messy-exchanges
Diffstat (limited to 'elm/battlemap/src/Model/SelectCharacter.elm')
| -rw-r--r-- | elm/battlemap/src/Model/SelectCharacter.elm | 42 | 
1 files changed, 42 insertions, 0 deletions
diff --git a/elm/battlemap/src/Model/SelectCharacter.elm b/elm/battlemap/src/Model/SelectCharacter.elm new file mode 100644 index 0000000..942e84d --- /dev/null +++ b/elm/battlemap/src/Model/SelectCharacter.elm @@ -0,0 +1,42 @@ +module Model.SelectCharacter exposing (apply_to) + +import Dict + +import Character + +import Battlemap + +import Model +import Event +import Error + +make_it_so : Model.Type -> Character.Ref -> Model.Type +make_it_so model char_id = +   case (Dict.get char_id model.characters) of +      (Just char) -> +            {model | +               state = Model.MovingCharacterWithClick, +               selection = (Model.SelectedCharacter char_id), +               battlemap = +                  (Battlemap.set_navigator +                     (Character.get_location char) +                     (Character.get_movement_points char) +                     (Character.get_attack_range char) +                     (\e -> True) -- TODO: check for characters. +                     model.battlemap +                  ) +            } + +      Nothing -> +         (Model.invalidate +            model +            (Error.new +               Error.Programming +               "SelectCharacter: Unknown char selected." +            ) +         ) + +apply_to : Model.Type -> Character.Ref -> Model.Type +apply_to model char_id = +   case (Model.get_state model) of +      _ -> (make_it_so model char_id)  | 


