| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/roster-editor/src/Comm/LoadSkills.elm | 31 | ||||
| -rw-r--r-- | src/roster-editor/src/Constants/IO.elm.m4 | 3 | ||||
| -rw-r--r-- | src/roster-editor/src/ElmModule/Init.elm | 5 | ||||
| -rw-r--r-- | src/roster-editor/src/Struct/Character.elm | 7 | ||||
| -rw-r--r-- | src/roster-editor/src/View/CharacterSelection.elm | 56 | ||||
| -rw-r--r-- | src/shared/battle-characters/BattleCharacters/Struct/Character.elm | 4 | 
6 files changed, 95 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) +      )     ) diff --git a/src/shared/battle-characters/BattleCharacters/Struct/Character.elm b/src/shared/battle-characters/BattleCharacters/Struct/Character.elm index 0023b5b..0fe4eb3 100644 --- a/src/shared/battle-characters/BattleCharacters/Struct/Character.elm +++ b/src/shared/battle-characters/BattleCharacters/Struct/Character.elm @@ -3,6 +3,7 @@ module BattleCharacters.Struct.Character exposing        Type,        Unresolved,        get_name, +      get_unresolved_name,        set_name,        get_equipment,        set_equipment, @@ -113,6 +114,9 @@ get_inactive_weapon char =  get_name : Type -> String  get_name c = c.name +get_unresolved_name : Unresolved -> String +get_unresolved_name c = c.name +  set_name : String -> Type -> Type  set_name name char = {char | name = name} | 


