summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/roster-editor')
-rw-r--r--src/roster-editor/src/Comm/JoinBattle.elm12
-rw-r--r--src/roster-editor/src/Comm/LoadRoster.elm15
-rw-r--r--src/roster-editor/src/Comm/Send.elm31
-rw-r--r--src/roster-editor/src/Comm/UpdateRoster.elm15
-rw-r--r--src/roster-editor/src/Struct/Model.elm5
-rw-r--r--src/roster-editor/src/Update/SetArmor.elm20
-rw-r--r--src/roster-editor/src/Update/SetGlyph.elm16
-rw-r--r--src/roster-editor/src/Update/SetGlyphBoard.elm12
-rw-r--r--src/roster-editor/src/Update/SetPortrait.elm12
-rw-r--r--src/roster-editor/src/Update/SetWeapon.elm20
-rw-r--r--src/roster-editor/src/View/ArmorSelection.elm29
-rw-r--r--src/roster-editor/src/View/GlyphBoardSelection.elm28
-rw-r--r--src/roster-editor/src/View/GlyphSelection.elm58
-rw-r--r--src/roster-editor/src/View/PortraitSelection.elm25
-rw-r--r--src/roster-editor/src/View/WeaponSelection.elm95
15 files changed, 271 insertions, 122 deletions
diff --git a/src/roster-editor/src/Comm/JoinBattle.elm b/src/roster-editor/src/Comm/JoinBattle.elm
index eb204df..90978a9 100644
--- a/src/roster-editor/src/Comm/JoinBattle.elm
+++ b/src/roster-editor/src/Comm/JoinBattle.elm
@@ -28,8 +28,16 @@ try_encoding model =
(Just
(Json.Encode.object
[
- ("stk", (Json.Encode.string model.session_token)),
- ("pid", (Json.Encode.string model.player_id)),
+ ("stk",
+ (Json.Encode.string
+ (Struct.Flags.get_session_token model.flags)
+ )
+ ),
+ ("pid",
+ (Json.Encode.string
+ (Struct.Flags.get_user_id model.flags)
+ )
+ ),
(
"six",
(Json.Encode.int
diff --git a/src/roster-editor/src/Comm/LoadRoster.elm b/src/roster-editor/src/Comm/LoadRoster.elm
index babe0f6..062caf2 100644
--- a/src/roster-editor/src/Comm/LoadRoster.elm
+++ b/src/roster-editor/src/Comm/LoadRoster.elm
@@ -3,6 +3,9 @@ module Comm.LoadRoster exposing (try)
-- Elm -------------------------------------------------------------------------
import Json.Encode
+-- Shared ----------------------------------------------------------------------
+import Struct.Flags
+
-- Local Module ----------------------------------------------------------------
import Comm.Send
@@ -23,8 +26,16 @@ try_encoding model =
(Just
(Json.Encode.object
[
- ("stk", (Json.Encode.string model.session_token)),
- ("pid", (Json.Encode.string model.player_id)),
+ ("stk",
+ (Json.Encode.string
+ (Struct.Flags.get_session_token model.flags)
+ )
+ ),
+ ("pid",
+ (Json.Encode.string
+ (Struct.Flags.get_user_id model.flags)
+ )
+ ),
("rid", (Json.Encode.string model.roster_id))
]
)
diff --git a/src/roster-editor/src/Comm/Send.elm b/src/roster-editor/src/Comm/Send.elm
index 3253f96..f6e9847 100644
--- a/src/roster-editor/src/Comm/Send.elm
+++ b/src/roster-editor/src/Comm/Send.elm
@@ -7,11 +7,7 @@ import Json.Decode
import Json.Encode
--- Battle Characters ----------------------------------------------------------
-import BattleCharacters.Comm.AddArmor
-import BattleCharacters.Comm.AddGlyph
-import BattleCharacters.Comm.AddGlyphBoard
-import BattleCharacters.Comm.AddPortrait
-import BattleCharacters.Comm.AddWeapon
+import BattleCharacters.Comm.AddDataSetItem
--- Local Module ---------------------------------------------------------------
import Comm.GoTo
@@ -36,24 +32,25 @@ internal_decoder reply_type =
"add_char" -> (Comm.AddChar.decode)
- "add_armor" -> (BattleCharacters.Comm.AddArmor.decode)
- "add_weapon" -> (BattleCharacters.Comm.AddWeapon.decode)
- "add_portrait" -> (BattleCharacters.Comm.AddPortrait.decode)
- "add_glyph" -> (BattleCharacters.Comm.AddGlyph.decode)
- "add_glyph_board" -> (BattleCharacters.Comm.AddGlyphBoard.decode)
-
"disconnected" -> (Json.Decode.succeed Struct.ServerReply.Disconnected)
"goto" -> (Comm.GoTo.decode)
"okay" -> (Json.Decode.succeed Struct.ServerReply.Okay)
other ->
- (Json.Decode.fail
- (
- "Unknown server command \""
- ++ other
- ++ "\""
- )
+ if
+ (String.startsWith
+ (BattleCharacters.Comm.AddDataSetItem.prefix)
+ reply_type
)
+ then (BattleCharacters.Comm.AddDataSetItem.get_decoder_for reply_type)
+ else
+ (Json.Decode.fail
+ (
+ "Unknown server command \""
+ ++ other
+ ++ "\""
+ )
+ )
decode : (Json.Decode.Decoder Struct.ServerReply.Type)
decode =
diff --git a/src/roster-editor/src/Comm/UpdateRoster.elm b/src/roster-editor/src/Comm/UpdateRoster.elm
index 9f77fc4..a635359 100644
--- a/src/roster-editor/src/Comm/UpdateRoster.elm
+++ b/src/roster-editor/src/Comm/UpdateRoster.elm
@@ -7,6 +7,9 @@ import List
import Json.Encode
+-- Shared ----------------------------------------------------------------------
+import Struct.Flags
+
-- Local Module ----------------------------------------------------------------
import Comm.Send
@@ -28,8 +31,16 @@ try_encoding model =
(Just
(Json.Encode.object
[
- ("stk", (Json.Encode.string model.session_token)),
- ("pid", (Json.Encode.string model.player_id)),
+ ("stk",
+ (Json.Encode.string
+ (Struct.Flags.get_session_token model.flags)
+ )
+ ),
+ ("pid",
+ (Json.Encode.string
+ (Struct.Flags.get_user_id model.flags)
+ )
+ ),
(
"rst",
(Json.Encode.list
diff --git a/src/roster-editor/src/Struct/Model.elm b/src/roster-editor/src/Struct/Model.elm
index e345aaa..c3903d7 100644
--- a/src/roster-editor/src/Struct/Model.elm
+++ b/src/roster-editor/src/Struct/Model.elm
@@ -24,13 +24,8 @@ import Struct.Flags
import Util.Array
-- Battle Characters -----------------------------------------------------------
-import BattleCharacters.Struct.Armor
import BattleCharacters.Struct.DataSet
import BattleCharacters.Struct.Equipment
-import BattleCharacters.Struct.Glyph
-import BattleCharacters.Struct.GlyphBoard
-import BattleCharacters.Struct.Portrait
-import BattleCharacters.Struct.Weapon
-- Local Module ----------------------------------------------------------------
import Struct.Character
diff --git a/src/roster-editor/src/Update/SetArmor.elm b/src/roster-editor/src/Update/SetArmor.elm
index 3dc899c..310ffaa 100644
--- a/src/roster-editor/src/Update/SetArmor.elm
+++ b/src/roster-editor/src/Update/SetArmor.elm
@@ -6,6 +6,7 @@ import Dict
-- Battle Characters -----------------------------------------------------------
import BattleCharacters.Struct.Armor
import BattleCharacters.Struct.Character
+import BattleCharacters.Struct.DataSet
import BattleCharacters.Struct.Equipment
-- Local Module ----------------------------------------------------------------
@@ -46,12 +47,23 @@ apply_to : (
BattleCharacters.Struct.Armor.Ref ->
(Struct.Model.Type, (Cmd Struct.Event.Type))
)
-apply_to model ref =
+apply_to model armor_id =
(
(
- case (model.edited_char, (Dict.get ref model.armors)) of
- ((Just char), (Just armor)) ->
- {model | edited_char = (Just (equip armor char)) }
+ case model.edited_char of
+ (Just char) ->
+ {model |
+ edited_char =
+ (Just
+ (equip
+ (BattleCharacters.Struct.DataSet.get_armor
+ armor_id
+ model.characters_dataset
+ )
+ char
+ )
+ )
+ }
_ -> model
),
diff --git a/src/roster-editor/src/Update/SetGlyph.elm b/src/roster-editor/src/Update/SetGlyph.elm
index 067cf7c..9c00fcd 100644
--- a/src/roster-editor/src/Update/SetGlyph.elm
+++ b/src/roster-editor/src/Update/SetGlyph.elm
@@ -4,9 +4,10 @@ module Update.SetGlyph exposing (apply_to)
import Dict
-- Battle Characters -----------------------------------------------------------
-import BattleCharacters.Struct.Glyph
-import BattleCharacters.Struct.Equipment
import BattleCharacters.Struct.Character
+import BattleCharacters.Struct.DataSet
+import BattleCharacters.Struct.Equipment
+import BattleCharacters.Struct.Glyph
-- Local Module ----------------------------------------------------------------
import Struct.Character
@@ -26,11 +27,11 @@ apply_to : (
BattleCharacters.Struct.Glyph.Ref ->
(Struct.Model.Type, (Cmd Struct.Event.Type))
)
-apply_to model ref =
+apply_to model glyph_id =
(
(
- case (model.edited_char, (Dict.get ref model.glyphs)) of
- ((Just char), (Just glyph)) ->
+ case model.edited_char of
+ (Just char) ->
let
base_char = (Struct.Character.get_base_character char)
(glyph_slot, glyph_modifier) =
@@ -38,7 +39,10 @@ apply_to model ref =
updated_equipment =
(BattleCharacters.Struct.Equipment.set_glyph
glyph_slot
- glyph
+ (BattleCharacters.Struct.DataSet.get_glyph
+ glyph_id
+ model.characters_dataset
+ )
(BattleCharacters.Struct.Character.get_equipment
base_char
)
diff --git a/src/roster-editor/src/Update/SetGlyphBoard.elm b/src/roster-editor/src/Update/SetGlyphBoard.elm
index 9f0f452..c7f1f5b 100644
--- a/src/roster-editor/src/Update/SetGlyphBoard.elm
+++ b/src/roster-editor/src/Update/SetGlyphBoard.elm
@@ -5,6 +5,7 @@ import Dict
-- Battle Characters -----------------------------------------------------------
import BattleCharacters.Struct.Character
+import BattleCharacters.Struct.DataSet
import BattleCharacters.Struct.Equipment
import BattleCharacters.Struct.GlyphBoard
@@ -25,16 +26,19 @@ apply_to : (
BattleCharacters.Struct.GlyphBoard.Ref ->
(Struct.Model.Type, (Cmd Struct.Event.Type))
)
-apply_to model ref =
+apply_to model glyph_board_id =
(
(
- case (model.edited_char, (Dict.get ref model.glyph_boards)) of
- ((Just char), (Just glyph_board)) ->
+ case model.edited_char of
+ (Just char) ->
let
base_char = (Struct.Character.get_base_character char)
updated_equipment =
(BattleCharacters.Struct.Equipment.set_glyph_board
- glyph_board
+ (BattleCharacters.Struct.DataSet.get_glyph_board
+ glyph_board_id
+ model.characters_dataset
+ )
(BattleCharacters.Struct.Character.get_equipment
base_char
)
diff --git a/src/roster-editor/src/Update/SetPortrait.elm b/src/roster-editor/src/Update/SetPortrait.elm
index 369d644..a296d77 100644
--- a/src/roster-editor/src/Update/SetPortrait.elm
+++ b/src/roster-editor/src/Update/SetPortrait.elm
@@ -5,6 +5,7 @@ import Dict
-- Battle Characters -----------------------------------------------------------
import BattleCharacters.Struct.Character
+import BattleCharacters.Struct.DataSet
import BattleCharacters.Struct.Equipment
import BattleCharacters.Struct.Portrait
@@ -25,11 +26,11 @@ apply_to : (
BattleCharacters.Struct.Portrait.Ref ->
(Struct.Model.Type, (Cmd Struct.Event.Type))
)
-apply_to model ref =
+apply_to model portrait_id =
(
(
- case (model.edited_char, (Dict.get ref model.portraits)) of
- ((Just char), (Just portrait)) ->
+ case model.edited_char of
+ (Just char) ->
let base_char = (Struct.Character.get_base_character char) in
{model |
edited_char =
@@ -37,7 +38,10 @@ apply_to model ref =
(Struct.Character.set_base_character
(BattleCharacters.Struct.Character.set_equipment
(BattleCharacters.Struct.Equipment.set_portrait
- portrait
+ (BattleCharacters.Struct.DataSet.get_portrait
+ portrait_id
+ model.characters_dataset
+ )
(BattleCharacters.Struct.Character.get_equipment
base_char
)
diff --git a/src/roster-editor/src/Update/SetWeapon.elm b/src/roster-editor/src/Update/SetWeapon.elm
index 56ded72..20d3797 100644
--- a/src/roster-editor/src/Update/SetWeapon.elm
+++ b/src/roster-editor/src/Update/SetWeapon.elm
@@ -5,6 +5,7 @@ import Dict
-- Battle Characters -----------------------------------------------------------
import BattleCharacters.Struct.Character
+import BattleCharacters.Struct.DataSet
import BattleCharacters.Struct.Equipment
import BattleCharacters.Struct.Weapon
@@ -57,12 +58,23 @@ apply_to : (
BattleCharacters.Struct.Weapon.Ref ->
(Struct.Model.Type, (Cmd Struct.Event.Type))
)
-apply_to model ref =
+apply_to model weapon_id =
(
(
- case (model.edited_char, (Dict.get ref model.weapons)) of
- ((Just char), (Just weapon)) ->
- {model | edited_char = (Just (equip weapon char)) }
+ case model.edited_char of
+ (Just char) ->
+ {model |
+ edited_char =
+ (Just
+ (equip
+ (BattleCharacters.Struct.DataSet.get_weapon
+ weapon_id
+ model.characters_dataset
+ )
+ char
+ )
+ )
+ }
_ -> model
),
diff --git a/src/roster-editor/src/View/ArmorSelection.elm b/src/roster-editor/src/View/ArmorSelection.elm
index 671e56e..ae54d5c 100644
--- a/src/roster-editor/src/View/ArmorSelection.elm
+++ b/src/roster-editor/src/View/ArmorSelection.elm
@@ -6,12 +6,14 @@ import Dict
import Html
import Html.Attributes
import Html.Events
+import Html.Lazy
-- Battle ----------------------------------------------------------------------
import Battle.View.Omnimods
-- Battle Characters -----------------------------------------------------------
import BattleCharacters.Struct.Armor
+import BattleCharacters.Struct.DataSet
-- Local Module ----------------------------------------------------------------
import Struct.Event
@@ -68,11 +70,11 @@ get_armor_html armor =
]
)
---------------------------------------------------------------------------------
--- EXPORTED --------------------------------------------------------------------
---------------------------------------------------------------------------------
-get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type)
-get_html model =
+true_get_html : (
+ BattleCharacters.Struct.DataSet.Type ->
+ (Html.Html Struct.Event.Type)
+ )
+true_get_html dataset =
(Html.div
[
(Html.Attributes.class "selection-window"),
@@ -84,7 +86,22 @@ get_html model =
[
(Html.Attributes.class "selection-window-listing")
]
- (List.map (get_armor_html) (Dict.values model.armors))
+ (List.map
+ (get_armor_html)
+ (Dict.values
+ (BattleCharacters.Struct.DataSet.get_armors dataset)
+ )
+ )
)
]
)
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type)
+get_html model =
+ (Html.Lazy.lazy
+ (true_get_html)
+ model.characters_dataset
+ )
diff --git a/src/roster-editor/src/View/GlyphBoardSelection.elm b/src/roster-editor/src/View/GlyphBoardSelection.elm
index b9edfa8..775a13a 100644
--- a/src/roster-editor/src/View/GlyphBoardSelection.elm
+++ b/src/roster-editor/src/View/GlyphBoardSelection.elm
@@ -4,10 +4,12 @@ module View.GlyphBoardSelection exposing (get_html)
import Dict
import Html
+import Html.Lazy
import Html.Attributes
import Html.Events
-- Battle Characters -----------------------------------------------------------
+import BattleCharacters.Struct.DataSet
import BattleCharacters.Struct.GlyphBoard
-- Local Module ----------------------------------------------------------------
@@ -46,11 +48,11 @@ get_glyph_board_html glyph_board =
]
)
---------------------------------------------------------------------------------
--- EXPORTED --------------------------------------------------------------------
---------------------------------------------------------------------------------
-get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type)
-get_html model =
+true_get_html : (
+ BattleCharacters.Struct.DataSet.Type ->
+ (Html.Html Struct.Event.Type)
+ )
+true_get_html dataset =
(Html.div
[
(Html.Attributes.class "selection-window"),
@@ -62,7 +64,21 @@ get_html model =
[
(Html.Attributes.class "selection-window-listing")
]
- (List.map (get_glyph_board_html) (Dict.values model.glyph_boards))
+ (List.map
+ (get_glyph_board_html)
+ (Dict.values
+ (BattleCharacters.Struct.DataSet.get_glyph_boards dataset)
+ )
+ )
)
]
)
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type)
+get_html model =
+ (Html.Lazy.lazy
+ (true_get_html)
+ model.characters_dataset
+ )
diff --git a/src/roster-editor/src/View/GlyphSelection.elm b/src/roster-editor/src/View/GlyphSelection.elm
index 9cc825d..8d4ef84 100644
--- a/src/roster-editor/src/View/GlyphSelection.elm
+++ b/src/roster-editor/src/View/GlyphSelection.elm
@@ -8,15 +8,20 @@ import Set
import Dict
import Html
+import Html.Lazy
import Html.Attributes
import Html.Events
+-- Shared ----------------------------------------------------------------------
+import Util.Html
+
-- Battle ----------------------------------------------------------------------
import Battle.Struct.Omnimods
import Battle.View.Omnimods
-- Battle Characters -----------------------------------------------------------
+import BattleCharacters.Struct.DataSet
import BattleCharacters.Struct.Character
import BattleCharacters.Struct.Equipment
import BattleCharacters.Struct.Glyph
@@ -84,23 +89,23 @@ get_glyph_html invalid_family_ids factor glyph =
]
)
---------------------------------------------------------------------------------
--- EXPORTED --------------------------------------------------------------------
---------------------------------------------------------------------------------
-get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type)
-get_html model =
- (Html.div
- [
- (Html.Attributes.class "selection-window"),
- (Html.Attributes.class "glyph-management")
- ]
- (
- case model.edited_char of
- Nothing -> [ (Html.text "Choose a character first.") ]
- (Just char) ->
+true_get_html : (
+ (Maybe Struct.Character.Type) ->
+ Int ->
+ BattleCharacters.Struct.DataSet.Type ->
+ (Html.Html Struct.Event.Type)
+ )
+true_get_html maybe_char glyph_modifier dataset =
+ case maybe_char of
+ Nothing -> (Util.Html.nothing)
+ (Just char) ->
+ (Html.div
+ [
+ (Html.Attributes.class "selection-window"),
+ (Html.Attributes.class "glyph-management")
+ ]
+ (
let
- (slot_index, glyph_modifier) =
- (Struct.UI.get_glyph_slot model.ui)
glyph_multiplier =
((toFloat glyph_modifier) / 100.0)
used_glyph_family_indices =
@@ -117,9 +122,26 @@ get_html model =
used_glyph_family_indices
glyph_multiplier
)
- (Dict.values model.glyphs)
+ (Dict.values
+ (BattleCharacters.Struct.DataSet.get_glyphs
+ dataset
+ )
+ )
)
)
]
+ )
+ )
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type)
+get_html model =
+ let (slot_index, glyph_modifier) = (Struct.UI.get_glyph_slot model.ui) in
+ (Html.Lazy.lazy3
+ (true_get_html)
+ model.edited_char
+ glyph_modifier
+ model.characters_dataset
)
- )
diff --git a/src/roster-editor/src/View/PortraitSelection.elm b/src/roster-editor/src/View/PortraitSelection.elm
index 9065c9d..fbed67b 100644
--- a/src/roster-editor/src/View/PortraitSelection.elm
+++ b/src/roster-editor/src/View/PortraitSelection.elm
@@ -6,11 +6,13 @@ import Dict
import Html
import Html.Attributes
import Html.Events
+import Html.Lazy
import List
-- Battle Characters -----------------------------------------------------------
import BattleCharacters.Struct.Portrait
+import BattleCharacters.Struct.DataSet
-- Local Module ----------------------------------------------------------------
import Struct.Event
@@ -88,11 +90,11 @@ get_portrait_html pt =
]
)
---------------------------------------------------------------------------------
--- EXPORTED --------------------------------------------------------------------
---------------------------------------------------------------------------------
-get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type)
-get_html model =
+true_get_html : (
+ BattleCharacters.Struct.DataSet.Type ->
+ (Html.Html Struct.Event.Type)
+ )
+true_get_html dataset =
(Html.div
[
(Html.Attributes.class "selection-window"),
@@ -106,8 +108,19 @@ get_html model =
]
(List.map
(get_portrait_html)
- (Dict.values model.portraits)
+ (Dict.values
+ (BattleCharacters.Struct.DataSet.get_portraits dataset)
+ )
)
)
]
)
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type)
+get_html model =
+ (Html.Lazy.lazy
+ (true_get_html)
+ model.characters_dataset
+ )
diff --git a/src/roster-editor/src/View/WeaponSelection.elm b/src/roster-editor/src/View/WeaponSelection.elm
index a5a8293..830ec72 100644
--- a/src/roster-editor/src/View/WeaponSelection.elm
+++ b/src/roster-editor/src/View/WeaponSelection.elm
@@ -4,6 +4,7 @@ module View.WeaponSelection exposing (get_html)
import Dict
import Html
+import Html.Lazy
import Html.Attributes
import Html.Events
@@ -15,6 +16,7 @@ import Battle.View.Omnimods
-- Battle Characters -----------------------------------------------------------
import BattleCharacters.Struct.Character
+import BattleCharacters.Struct.DataSet
import BattleCharacters.Struct.Weapon
-- Local Module ----------------------------------------------------------------
@@ -87,6 +89,59 @@ get_weapon_html weapon =
]
)
+get_weapon_htmls : (
+ Bool ->
+ BattleCharacters.Struct.DataSet.Type ->
+ (List (Html.Html Struct.Event.Type))
+ )
+get_weapon_htmls is_selecting_secondary dataset =
+ if (is_selecting_secondary)
+ then
+ (List.filterMap
+ (\wp ->
+ if (BattleCharacters.Struct.Weapon.get_is_primary wp)
+ then Nothing
+ else (Just (get_weapon_html wp))
+ )
+ (Dict.values
+ (BattleCharacters.Struct.DataSet.get_weapons dataset)
+ )
+ )
+ else
+ (List.map
+ (get_weapon_html)
+ (Dict.values
+ (BattleCharacters.Struct.DataSet.get_weapons dataset)
+ )
+ )
+
+true_get_html : (
+ Bool ->
+ BattleCharacters.Struct.DataSet.Type ->
+ (Html.Html Struct.Event.Type)
+ )
+true_get_html is_selecting_secondary dataset =
+ (Html.div
+ [
+ (Html.Attributes.class "selection-window"),
+ (Html.Attributes.class "weapon-selection")
+ ]
+ [
+ (Html.text
+ (
+ if (is_selecting_secondary)
+ then "Secondary Weapon Selection"
+ else "Primary Weapon Selection"
+ )
+ ),
+ (Html.div
+ [
+ (Html.Attributes.class "selection-window-listing")
+ ]
+ (get_weapon_htmls is_selecting_secondary dataset)
+ )
+ ]
+ )
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
--------------------------------------------------------------------------------
@@ -101,40 +156,8 @@ get_html model =
(Struct.Character.get_base_character char)
)
in
- (Html.div
- [
- (Html.Attributes.class "selection-window"),
- (Html.Attributes.class "weapon-selection")
- ]
- [
- (Html.text
- (
- if (is_selecting_secondary)
- then "Secondary Weapon Selection"
- else "Primary Weapon Selection"
- )
- ),
- (Html.div
- [
- (Html.Attributes.class "selection-window-listing")
- ]
- (List.map
- (get_weapon_html)
- (List.filter
- (\e ->
- (not
- (
- is_selecting_secondary
- &&
- (BattleCharacters.Struct.Weapon.get_is_primary
- e
- )
- )
- )
- )
- (Dict.values model.weapons)
- )
- )
- )
- ]
+ (Html.Lazy.lazy2
+ (true_get_html)
+ is_selecting_secondary
+ model.characters_dataset
)