summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-01-11 12:50:43 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-01-11 12:50:43 +0100 |
commit | 94ed7fb32138013d6d21baeadba9019540ccc66d (patch) | |
tree | da3c072d5fa66c3d6840e9ea1f6ec13567609b99 | |
parent | c67d87c4e22daff2e9c205ebc0a7e7c5124cd924 (diff) |
Separates click on char from map / from char menu
-rw-r--r-- | src/battlemap/src/ElmModule/Update.elm | 4 | ||||
-rw-r--r-- | src/battlemap/src/Struct/Event.elm | 1 | ||||
-rw-r--r-- | src/battlemap/src/Update/DisplayCharacterInfo.elm | 35 | ||||
-rw-r--r-- | src/battlemap/src/View/SideBar/TabMenu/Characters.elm | 4 |
4 files changed, 43 insertions, 1 deletions
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) + ) ) ] [ |