summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/roster-editor')
-rw-r--r--src/roster-editor/src/Comm/LoadSkills.elm31
-rw-r--r--src/roster-editor/src/Constants/IO.elm.m43
-rw-r--r--src/roster-editor/src/ElmModule/Init.elm5
-rw-r--r--src/roster-editor/src/Struct/Character.elm7
-rw-r--r--src/roster-editor/src/View/CharacterSelection.elm56
5 files changed, 91 insertions, 11 deletions
diff --git a/src/roster-editor/src/Comm/LoadSkills.elm b/src/roster-editor/src/Comm/LoadSkills.elm
new file mode 100644
index 0000000..db3ee7f
--- /dev/null
+++ b/src/roster-editor/src/Comm/LoadSkills.elm
@@ -0,0 +1,31 @@
+module Comm.LoadSkills exposing (try)
+
+-- Elm -------------------------------------------------------------------------
+
+-- Local Module ----------------------------------------------------------------
+import Comm.Send
+
+import Constants.IO
+
+import Struct.Event
+import Struct.Model
+
+--------------------------------------------------------------------------------
+-- TYPES ------------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+try : Struct.Model.Type -> (Maybe (Cmd Struct.Event.Type))
+try model =
+ (Just
+ (Comm.Send.empty_request
+ model
+ Constants.IO.skills_data_url
+ )
+ )
diff --git a/src/roster-editor/src/Constants/IO.elm.m4 b/src/roster-editor/src/Constants/IO.elm.m4
index c09c556..368dda6 100644
--- a/src/roster-editor/src/Constants/IO.elm.m4
+++ b/src/roster-editor/src/Constants/IO.elm.m4
@@ -27,5 +27,8 @@ glyph_boards_data_url = (base_url ++ "/asset/data/glyph_boards.json")
glyphs_data_url : String
glyphs_data_url = (base_url ++ "/asset/data/glyphs.json")
+skills_data_url : String
+skills_data_url = (base_url ++ "/asset/data/skills.json")
+
portraits_data_url : String
portraits_data_url = (base_url ++ "/asset/data/portraits.json")
diff --git a/src/roster-editor/src/ElmModule/Init.elm b/src/roster-editor/src/ElmModule/Init.elm
index dbf228e..2e72f49 100644
--- a/src/roster-editor/src/ElmModule/Init.elm
+++ b/src/roster-editor/src/ElmModule/Init.elm
@@ -9,6 +9,7 @@ import Comm.LoadArmors
import Comm.LoadWeapons
import Comm.LoadPortraits
import Comm.LoadGlyphs
+import Comm.LoadSkills
import Comm.LoadGlyphBoards
import Struct.Event
@@ -48,6 +49,10 @@ init flags =
(Just cmd) -> cmd
Nothing -> Cmd.none
),
+ (case (Comm.LoadSkills.try model) of
+ (Just cmd) -> cmd
+ Nothing -> Cmd.none
+ ),
(case (Comm.LoadRoster.try model) of
(Just cmd) -> cmd
Nothing -> Cmd.none
diff --git a/src/roster-editor/src/Struct/Character.elm b/src/roster-editor/src/Struct/Character.elm
index 2633456..d2dc129 100644
--- a/src/roster-editor/src/Struct/Character.elm
+++ b/src/roster-editor/src/Struct/Character.elm
@@ -6,6 +6,7 @@ module Struct.Character exposing
get_battle_index,
set_battle_index,
get_base_character,
+ get_unresolved_base_character,
set_base_character,
set_was_edited,
get_was_edited,
@@ -119,6 +120,12 @@ set_battle_index battle_ix c = {c | battle_ix = battle_ix}
get_base_character : Type -> BattleCharacters.Struct.Character.Type
get_base_character c = c.base
+get_unresolved_base_character : (
+ Unresolved ->
+ BattleCharacters.Struct.Character.Unresolved
+ )
+get_unresolved_base_character c = c.base
+
set_base_character : BattleCharacters.Struct.Character.Type -> Type -> Type
set_base_character base c = {c | base = base }
diff --git a/src/roster-editor/src/View/CharacterSelection.elm b/src/roster-editor/src/View/CharacterSelection.elm
index 115b083..341f122 100644
--- a/src/roster-editor/src/View/CharacterSelection.elm
+++ b/src/roster-editor/src/View/CharacterSelection.elm
@@ -8,7 +8,11 @@ import List
import Html
import Html.Attributes
+-- Battle Characters -----------------------------------------------------------
+import BattleCharacters.Struct.Character
+
-- Local Module ----------------------------------------------------------------
+import Struct.Character
import Struct.Event
import Struct.Model
@@ -17,6 +21,30 @@ import View.CharacterCard
--------------------------------------------------------------------------------
-- LOCAL -----------------------------------------------------------------------
--------------------------------------------------------------------------------
+handle_unresolved_characters : (
+ Struct.Model.Type ->
+ (List (Html.Html Struct.Event.Type))
+ )
+handle_unresolved_characters model =
+ if (List.isEmpty model.unresolved_characters)
+ then []
+ else
+ (
+ (Html.text
+ "Unresolved Characters:"
+ )
+ ::
+ (List.map
+ (\char ->
+ (Html.text
+ (BattleCharacters.Struct.Character.get_unresolved_name
+ (Struct.Character.get_unresolved_base_character char)
+ )
+ )
+ )
+ model.unresolved_characters
+ )
+ )
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
@@ -28,16 +56,22 @@ get_html model =
(Html.Attributes.class "selection-window"),
(Html.Attributes.class "character-selection")
]
- [
- (Html.text "Character Selection"),
- (Html.div
- [
- (Html.Attributes.class "selection-window-listing")
- ]
- (List.map
- (View.CharacterCard.get_minimal_html)
- (Array.toList model.characters)
+ (
+ [
+ (Html.text
+ "Character Selection"
+ ),
+ (Html.div
+ [
+ (Html.Attributes.class "selection-window-listing")
+ ]
+ (List.map
+ (View.CharacterCard.get_minimal_html)
+ (Array.toList model.characters)
+ )
)
- )
- ]
+ ]
+ ++
+ (handle_unresolved_characters model)
+ )
)