summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-01-11 12:50:43 +0100
committernsensfel <SpamShield0@noot-noot.org>2018-01-11 12:50:43 +0100
commit94ed7fb32138013d6d21baeadba9019540ccc66d (patch)
treeda3c072d5fa66c3d6840e9ea1f6ec13567609b99
parentc67d87c4e22daff2e9c205ebc0a7e7c5124cd924 (diff)
Separates click on char from map / from char menu
-rw-r--r--src/battlemap/src/ElmModule/Update.elm4
-rw-r--r--src/battlemap/src/Struct/Event.elm1
-rw-r--r--src/battlemap/src/Update/DisplayCharacterInfo.elm35
-rw-r--r--src/battlemap/src/View/SideBar/TabMenu/Characters.elm4
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)
+ )
)
]
[