From 94ed7fb32138013d6d21baeadba9019540ccc66d Mon Sep 17 00:00:00 2001 From: nsensfel Date: Thu, 11 Jan 2018 12:50:43 +0100 Subject: Separates click on char from map / from char menu --- src/battlemap/src/ElmModule/Update.elm | 4 +++ src/battlemap/src/Struct/Event.elm | 1 + src/battlemap/src/Update/DisplayCharacterInfo.elm | 35 ++++++++++++++++++++++ .../src/View/SideBar/TabMenu/Characters.elm | 4 ++- 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 src/battlemap/src/Update/DisplayCharacterInfo.elm (limited to 'src') diff --git a/src/battlemap/src/ElmModule/Update.elm b/src/battlemap/src/ElmModule/Update.elm index c4cd301..f0e62fe 100644 --- a/src/battlemap/src/ElmModule/Update.elm +++ b/src/battlemap/src/ElmModule/Update.elm @@ -9,6 +9,7 @@ import Struct.UI import Struct.Model import Update.ChangeScale +import Update.DisplayCharacterInfo import Update.EndTurn import Update.HandleServerReply import Update.RequestDirection @@ -39,6 +40,9 @@ update event model = (Struct.Event.CharacterSelected char_id) -> (Update.SelectCharacter.apply_to new_model char_id) + (Struct.Event.CharacterInfoRequested char_id) -> + (Update.DisplayCharacterInfo.apply_to new_model char_id) + Struct.Event.TurnEnded -> (Update.EndTurn.apply_to new_model) diff --git a/src/battlemap/src/Struct/Event.elm b/src/battlemap/src/Struct/Event.elm index dadc11d..e5517c4 100644 --- a/src/battlemap/src/Struct/Event.elm +++ b/src/battlemap/src/Struct/Event.elm @@ -16,6 +16,7 @@ type Type = DirectionRequested Struct.Direction.Type | TileSelected Struct.Location.Ref | CharacterSelected Struct.Character.Ref + | CharacterInfoRequested Struct.Character.Ref | TurnEnded | ScaleChangeRequested Float | TabSelected Struct.UI.Tab diff --git a/src/battlemap/src/Update/DisplayCharacterInfo.elm b/src/battlemap/src/Update/DisplayCharacterInfo.elm new file mode 100644 index 0000000..55c49e8 --- /dev/null +++ b/src/battlemap/src/Update/DisplayCharacterInfo.elm @@ -0,0 +1,35 @@ +module Update.DisplayCharacterInfo exposing (apply_to) +-- Elm ------------------------------------------------------------------------- + +-- Battlemap ------------------------------------------------------------------- +import Struct.Character +import Struct.Event +import Struct.Model +import Struct.UI + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +apply_to : ( + Struct.Model.Type -> + Struct.Character.Ref -> + (Struct.Model.Type, (Cmd Struct.Event.Type)) + ) +apply_to model target_ref = + ( + {model | + ui = + (Struct.UI.set_displayed_tab + (Struct.UI.set_previous_action + model.ui + (Just (Struct.UI.SelectedCharacter target_ref)) + ) + Struct.UI.StatusTab + ) + }, + Cmd.none + ) diff --git a/src/battlemap/src/View/SideBar/TabMenu/Characters.elm b/src/battlemap/src/View/SideBar/TabMenu/Characters.elm index cadf81e..5af7a65 100644 --- a/src/battlemap/src/View/SideBar/TabMenu/Characters.elm +++ b/src/battlemap/src/View/SideBar/TabMenu/Characters.elm @@ -31,7 +31,9 @@ get_character_portrait_html char = ), (Html.Attributes.class "clickable"), (Html.Events.onClick - (Struct.Event.CharacterSelected (Struct.Character.get_ref char)) + (Struct.Event.CharacterInfoRequested + (Struct.Character.get_ref char) + ) ) ] [ -- cgit v1.2.3-70-g09d2