From 4d7d25a504b99eae52a2122c93ca0d087e145239 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Wed, 7 Nov 2018 10:27:03 +0100 Subject: Primary & secondary weapons selection. --- src/roster-editor/src/ElmModule/Update.elm | 9 +++++++++ src/roster-editor/src/Struct/Event.elm | 1 + src/roster-editor/src/Struct/UI.elm | 5 +++++ src/roster-editor/src/View/CharacterCard.elm | 8 ++------ 4 files changed, 17 insertions(+), 6 deletions(-) (limited to 'src/roster-editor') diff --git a/src/roster-editor/src/ElmModule/Update.elm b/src/roster-editor/src/ElmModule/Update.elm index dce9852..02e417a 100644 --- a/src/roster-editor/src/ElmModule/Update.elm +++ b/src/roster-editor/src/ElmModule/Update.elm @@ -5,6 +5,7 @@ module ElmModule.Update exposing (update) -- Roster Editor --------------------------------------------------------------- import Struct.Event import Struct.Model +import Struct.UI import Update.GoToMainMenu import Update.HandleServerReply @@ -49,6 +50,14 @@ update event model = (Struct.Event.TabSelected tab) -> (Update.SelectTab.apply_to new_model tab) + (Struct.Event.ClickedOnWeapon is_main) -> + (Update.SelectTab.apply_to + {model | + ui = (Struct.UI.set_is_selecting_main_weapon is_main model.ui) + } + Struct.UI.WeaponSelectionTab + ) + (Struct.Event.ServerReplied result) -> (Update.HandleServerReply.apply_to model result) diff --git a/src/roster-editor/src/Struct/Event.elm b/src/roster-editor/src/Struct/Event.elm index 7574f62..4bb1083 100644 --- a/src/roster-editor/src/Struct/Event.elm +++ b/src/roster-editor/src/Struct/Event.elm @@ -25,6 +25,7 @@ type Type = | RequestedHelp Struct.HelpRequest.Type | ServerReplied (Result Http.Error (List Struct.ServerReply.Type)) | TabSelected Struct.UI.Tab + | ClickedOnWeapon Bool | SelectedArmor Struct.Armor.Ref | SelectedGlyph (Struct.Glyph.Ref, Int) diff --git a/src/roster-editor/src/Struct/UI.elm b/src/roster-editor/src/Struct/UI.elm index cd72247..f3ed05d 100644 --- a/src/roster-editor/src/Struct/UI.elm +++ b/src/roster-editor/src/Struct/UI.elm @@ -7,6 +7,8 @@ module Struct.UI exposing get_displayed_tab, set_displayed_tab, reset_displayed_tab, + -- Main or Secondary Weapon? + set_is_selecting_main_weapon, is_selecting_main_weapon ) @@ -55,5 +57,8 @@ set_displayed_tab tab ui = {ui | displayed_tab = tab} reset_displayed_tab : Type -> Type reset_displayed_tab ui = {ui | displayed_tab = CharacterSelectionTab} +set_is_selecting_main_weapon : Bool -> Type -> Type +set_is_selecting_main_weapon val ui = {ui | is_selecting_main_weapon = val} + is_selecting_main_weapon : Type -> Bool is_selecting_main_weapon ui = ui.is_selecting_main_weapon diff --git a/src/roster-editor/src/View/CharacterCard.elm b/src/roster-editor/src/View/CharacterCard.elm index 432a8e3..aa3e922 100644 --- a/src/roster-editor/src/View/CharacterCard.elm +++ b/src/roster-editor/src/View/CharacterCard.elm @@ -192,9 +192,7 @@ get_weapon_details omnimods damage_multiplier weapon = [ (Html.Attributes.class "character-card-weapon"), (Html.Attributes.class "clickable"), - (Html.Events.onClick - (Struct.Event.TabSelected Struct.UI.WeaponSelectionTab) - ) + (Html.Events.onClick (Struct.Event.ClickedOnWeapon True)) ] [ (get_weapon_field_header damage_multiplier weapon), @@ -220,9 +218,7 @@ get_weapon_summary damage_multiplier weapon = [ (Html.Attributes.class "character-card-weapon-summary"), (Html.Attributes.class "clickable"), - (Html.Events.onClick - (Struct.Event.TabSelected Struct.UI.WeaponSelectionTab) - ) + (Html.Events.onClick (Struct.Event.ClickedOnWeapon False)) ] [ (get_weapon_field_header damage_multiplier weapon) -- cgit v1.2.3-70-g09d2