summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-09-06 20:12:37 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-09-06 20:12:37 +0200 |
commit | 8ef8145f77d6a4d82378b6abd03f62b74dc45118 (patch) | |
tree | 367f58d5ce7709243459e895e05e164e94e6f99c /src | |
parent | 2d859e80c3e034b9f312df2cd9b2e70cd8766655 (diff) |
Working on the UI...
Diffstat (limited to 'src')
-rw-r--r-- | src/roster-editor/src/Update/SwitchWeapons.elm | 5 | ||||
-rw-r--r-- | src/roster-editor/src/View/CharacterCard.elm | 223 | ||||
-rw-r--r-- | src/roster-editor/src/View/Controlled.elm | 4 | ||||
-rw-r--r-- | src/shared/battle/Battle/View/Attribute.elm | 20 |
4 files changed, 139 insertions, 113 deletions
diff --git a/src/roster-editor/src/Update/SwitchWeapons.elm b/src/roster-editor/src/Update/SwitchWeapons.elm index 40cc7ac..3bc8e71 100644 --- a/src/roster-editor/src/Update/SwitchWeapons.elm +++ b/src/roster-editor/src/Update/SwitchWeapons.elm @@ -37,6 +37,11 @@ apply_to model = ) char ) + ), + ui = + (Struct.UI.set_displayed_tab + Struct.UI.WeaponSelectionTab + model.ui ) } diff --git a/src/roster-editor/src/View/CharacterCard.elm b/src/roster-editor/src/View/CharacterCard.elm index 4fca090..ca300b7 100644 --- a/src/roster-editor/src/View/CharacterCard.elm +++ b/src/roster-editor/src/View/CharacterCard.elm @@ -11,6 +11,9 @@ import Html import Html.Attributes import Html.Events +-- Shared ---------------------------------------------------------------------- +import Util.Html + -- Battle ---------------------------------------------------------------------- import Battle.Struct.Omnimods import Battle.Struct.Attributes @@ -135,16 +138,29 @@ get_movement_bar char_atts = ) get_weapon_field_header : ( - Float -> + Bool -> BattleCharacters.Struct.Weapon.Type -> (Html.Html Struct.Event.Type) ) -get_weapon_field_header damage_multiplier weapon = +get_weapon_field_header is_active_wp weapon = (Html.div [ (Html.Attributes.class "character-card-header") ] [ + ( + if (is_active_wp) + then + (Html.div + [ + (Html.Attributes.class "character-card-active-weapon") + ] + [ + (Html.text "(Equipped)") + ] + ) + else (Util.Html.nothing) + ), (Html.div [ ] @@ -159,28 +175,6 @@ get_weapon_field_header damage_multiplier weapon = (Html.div [ (Html.Attributes.class "omnimod-icon"), - (Html.Attributes.class "omnimod-icon-dmg") - ] - [ - ] - ), - (Html.text - (String.fromInt - (ceiling - ( - (toFloat - (BattleCharacters.Struct.Weapon.get_damage_sum - weapon - ) - ) - * damage_multiplier - ) - ) - ) - ), - (Html.div - [ - (Html.Attributes.class "omnimod-icon"), (Html.Attributes.class "omnimod-icon-range") ] [ @@ -229,77 +223,44 @@ get_mod_html mod = ] ) -get_multiplied_mod_html : ( - Float -> - (String, Int) -> - (Html.Html Struct.Event.Type) - ) -get_multiplied_mod_html multiplier mod = - let - (category, value) = mod - in - (Html.div - [ - (Html.Attributes.class "character-card-mod") - ] - [ - (Html.div - [ - (Html.Attributes.class "omnimod-icon"), - (Html.Attributes.class ("omnimod-icon-" ++ category)) - ] - [ - ] - ), - (Html.text - (String.fromInt (ceiling ((toFloat value) * multiplier))) - ) - ] - ) - get_weapon_details : ( - Float -> - BattleCharacters.Struct.Weapon.Type -> + Struct.UI.Tab -> Bool -> + BattleCharacters.Struct.Weapon.Type -> (Html.Html Struct.Event.Type) ) -get_weapon_details damage_multiplier weapon is_active_wp = - if (is_active_wp) - then - (Html.div - [ - (Html.Attributes.class "character-card-weapon"), - (Html.Attributes.class "clickable"), - (Html.Events.onClick - (Struct.Event.TabSelected Struct.UI.WeaponSelectionTab) - ) - ] - [ - (get_weapon_field_header damage_multiplier weapon), - (Battle.View.Omnimods.get_html_with_modifier - damage_multiplier - (BattleCharacters.Struct.Weapon.get_omnimods weapon) +get_weapon_details current_tab is_active_wp weapon = + (Html.div + [ + (Html.Attributes.class "character-card-weapon"), + (Html.Attributes.class "clickable"), + (Html.Events.onClick + ( + if (is_active_wp) + then (Struct.Event.TabSelected Struct.UI.WeaponSelectionTab) + else (Struct.Event.SwitchWeapons) ) - ] - ) - else - (Html.div - [ - (Html.Attributes.class "character-card-weapon-summary"), - (Html.Attributes.class "clickable"), - (Html.Events.onClick (Struct.Event.SwitchWeapons)) - ] - [ - (get_weapon_field_header damage_multiplier weapon) - ] - ) + ) + ] + [ + (get_weapon_field_header is_active_wp weapon), + ( + if (is_active_wp && (current_tab == Struct.UI.WeaponSelectionTab)) + then + (Battle.View.Omnimods.get_html + (BattleCharacters.Struct.Weapon.get_omnimods weapon) + ) + else (Util.Html.nothing) + ) + ] + ) get_armor_details : ( - Float -> + Struct.UI.Tab -> BattleCharacters.Struct.Armor.Type -> (Html.Html Struct.Event.Type) ) -get_armor_details damage_multiplier armor = +get_armor_details current_tab armor = (Html.div [ (Html.Attributes.class "character-card-armor"), @@ -317,19 +278,22 @@ get_armor_details damage_multiplier armor = (Html.text (BattleCharacters.Struct.Armor.get_name armor)) ] ), - (Battle.View.Omnimods.get_html_with_modifier - damage_multiplier - (BattleCharacters.Struct.Armor.get_omnimods armor) + ( + if (current_tab == Struct.UI.ArmorSelectionTab) + then + (Battle.View.Omnimods.get_html + (BattleCharacters.Struct.Armor.get_omnimods armor) + ) + else (Util.Html.nothing) ) ] ) get_glyph_board_details : ( - Float -> BattleCharacters.Struct.GlyphBoard.Type -> (Html.Html Struct.Event.Type) ) -get_glyph_board_details damage_multiplier board = +get_glyph_board_details board = (Html.div [ (Html.Attributes.class "character-card-glyph-board") @@ -362,16 +326,52 @@ get_glyph_board_details damage_multiplier board = ) get_relevant_atts : ( + Battle.Struct.Omnimods.Type -> Battle.Struct.Attributes.Type -> (Html.Html Struct.Event.Type) ) -get_relevant_atts atts = +get_relevant_atts omnimods atts = (Html.div [ - (Html.Attributes.class "character-card-atts"), - (Html.Attributes.class "clickable") + (Html.Attributes.class "character-card-atts") ] - (Battle.View.Attribute.get_all_but_gauges_html atts) + ( + [ + ( + let + damage_multiplier = + (Battle.Struct.Attributes.get_damage_multiplier atts) + in + (Html.div + [ + (Html.Attributes.class "omnimod-attack-mods") + ] + (List.map + ( + \(s, i) -> + (get_mod_html + ( + s, + (ceiling ((toFloat i) * damage_multiplier)) + ) + ) + ) + (Battle.Struct.Omnimods.get_attack_mods omnimods) + ) + ) + ), + (Html.div + [ + (Html.Attributes.class "omnimod-defense-mods") + ] + (List.map + (get_mod_html) + (Battle.Struct.Omnimods.get_defense_mods omnimods) + ) + ) + ] + ++ (Battle.View.Attribute.get_all_but_gauges_html atts) + ) ) -------------------------------------------------------------------------------- @@ -420,16 +420,16 @@ get_minimal_html char = ] ) -get_full_html : Struct.Character.Type -> (Html.Html Struct.Event.Type) -get_full_html char = +get_full_html : ( + Struct.UI.Tab -> + Struct.Character.Type -> + (Html.Html Struct.Event.Type) + ) +get_full_html current_tab char = let base_char = (Struct.Character.get_base_character char) char_attributes = (BattleCharacters.Struct.Character.get_attributes base_char) - damage_multiplier = - (Battle.Struct.Attributes.get_damage_multiplier - char_attributes - ) omnimods = (BattleCharacters.Struct.Character.get_omnimods base_char) equipment = (BattleCharacters.Struct.Character.get_equipment base_char) is_using_secondary = @@ -468,25 +468,24 @@ get_full_html char = ] ), (get_weapon_details - damage_multiplier - (BattleCharacters.Struct.Equipment.get_primary_weapon equipment) + current_tab (not is_using_secondary) + (BattleCharacters.Struct.Equipment.get_primary_weapon equipment) + ), + (get_weapon_details + current_tab + is_using_secondary + (BattleCharacters.Struct.Equipment.get_secondary_weapon + equipment + ) ), (get_armor_details - damage_multiplier + current_tab (BattleCharacters.Struct.Equipment.get_armor equipment) ), (get_glyph_board_details - damage_multiplier (BattleCharacters.Struct.Equipment.get_glyph_board equipment) ), - (get_relevant_atts char_attributes), - (get_weapon_details - damage_multiplier - (BattleCharacters.Struct.Equipment.get_secondary_weapon - equipment - ) - is_using_secondary - ) + (get_relevant_atts omnimods char_attributes) ] ) diff --git a/src/roster-editor/src/View/Controlled.elm b/src/roster-editor/src/View/Controlled.elm index 138add9..702c05f 100644 --- a/src/roster-editor/src/View/Controlled.elm +++ b/src/roster-editor/src/View/Controlled.elm @@ -11,6 +11,7 @@ import Util.Html -- Local Module ---------------------------------------------------------------- import Struct.Event import Struct.Model +import Struct.UI import View.CharacterCard @@ -29,8 +30,9 @@ get_html model = (Html.div [(Html.Attributes.class "controlled")] [ - (Html.Lazy.lazy + (Html.Lazy.lazy2 (View.CharacterCard.get_full_html) + (Struct.UI.get_displayed_tab model.ui) char ) ] diff --git a/src/shared/battle/Battle/View/Attribute.elm b/src/shared/battle/Battle/View/Attribute.elm index ae2edf3..49fe7a8 100644 --- a/src/shared/battle/Battle/View/Attribute.elm +++ b/src/shared/battle/Battle/View/Attribute.elm @@ -163,6 +163,10 @@ get_all_html atts = (get_html Battle.Struct.Attributes.MovementPoints (Battle.Struct.Attributes.get_movement_points atts) + ), + (get_html + Battle.Struct.Attributes.DamageModifier + (Battle.Struct.Attributes.get_damage_modifier atts) ) ] @@ -199,6 +203,10 @@ get_all_signed_html atts = (get_signed_html Battle.Struct.Attributes.MovementPoints (Battle.Struct.Attributes.get_movement_points atts) + ), + (get_signed_html + Battle.Struct.Attributes.DamageModifier + (Battle.Struct.Attributes.get_damage_modifier atts) ) ] @@ -227,6 +235,14 @@ get_all_but_gauges_html atts = (get_html Battle.Struct.Attributes.CriticalHits (Battle.Struct.Attributes.get_critical_hits atts) + ), + (get_html + Battle.Struct.Attributes.CriticalHits + (Battle.Struct.Attributes.get_critical_hits atts) + ), + (get_html + Battle.Struct.Attributes.DamageModifier + (Battle.Struct.Attributes.get_damage_modifier atts) ) ] @@ -255,5 +271,9 @@ get_all_but_gauges_signed_html atts = (get_signed_html Battle.Struct.Attributes.CriticalHits (Battle.Struct.Attributes.get_critical_hits atts) + ), + (get_signed_html + Battle.Struct.Attributes.DamageModifier + (Battle.Struct.Attributes.get_damage_modifier atts) ) ] |