| summaryrefslogtreecommitdiff | 
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2018-09-11 18:54:02 +0200 | 
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2018-09-11 18:54:02 +0200 | 
| commit | 393a98b5ba0465d9e4dcb9c29c9fd3503f7d79b5 (patch) | |
| tree | 5020a11e39aaaf3609e60df2111ee73a9b9eb465 /src/roster-editor | |
| parent | 4089e04b953ce2799d839d841278446d7f0b4c32 (diff) | |
Still working on the roster editor...
Diffstat (limited to 'src/roster-editor')
| -rw-r--r-- | src/roster-editor/src/ElmModule/View.elm | 13 | ||||
| -rw-r--r-- | src/roster-editor/src/Struct/Model.elm | 2 | ||||
| -rw-r--r-- | src/roster-editor/src/Update/SelectCharacter.elm | 297 | ||||
| -rw-r--r-- | src/roster-editor/src/View/CharacterCard.elm (renamed from src/roster-editor/src/View/Controlled/CharacterCard.elm) | 135 | ||||
| -rw-r--r-- | src/roster-editor/src/View/Controlled.elm | 144 | ||||
| -rw-r--r-- | src/roster-editor/src/View/Controlled/ManualControls.elm | 60 | ||||
| -rw-r--r-- | src/roster-editor/src/View/Controlled/Targets.elm | 69 | ||||
| -rw-r--r-- | src/roster-editor/src/View/SubMenu.elm | 85 | 
8 files changed, 79 insertions, 726 deletions
| diff --git a/src/roster-editor/src/ElmModule/View.elm b/src/roster-editor/src/ElmModule/View.elm index 3f643f5..f559cb5 100644 --- a/src/roster-editor/src/ElmModule/View.elm +++ b/src/roster-editor/src/ElmModule/View.elm @@ -2,21 +2,16 @@ module ElmModule.View exposing (view)  -- Elm -------------------------------------------------------------------------  import Html -import Html.Lazy  import Html.Attributes --- Map ------------------------------------------------------------------- -import Constants.UI - +-- Roster Editor ---------------------------------------------------------------  import Struct.Event  import Struct.Model -import View.MessageBoard +import View.Controlled +import View.CurrentTab  import View.MainMenu -import View.CharacterSelection -import View.PortraitSelection -import View.WeaponSelection -import View. +import View.MessageBoard  --------------------------------------------------------------------------------  -- LOCAL ----------------------------------------------------------------------- diff --git a/src/roster-editor/src/Struct/Model.elm b/src/roster-editor/src/Struct/Model.elm index 3e7fc01..43a1fe3 100644 --- a/src/roster-editor/src/Struct/Model.elm +++ b/src/roster-editor/src/Struct/Model.elm @@ -44,6 +44,7 @@ type alias Type =        error: (Maybe Struct.Error.Type),        player_id: String,        roster_id: String, +      edited_char: (Maybe Struct.Character.Type),        session_token: String,        ui: Struct.UI.Type     } @@ -75,6 +76,7 @@ new flags =                    else flags.user_id                 ),              session_token = flags.token, +            edited_char = Nothing,              ui = (Struct.UI.default)           }     in diff --git a/src/roster-editor/src/Update/SelectCharacter.elm b/src/roster-editor/src/Update/SelectCharacter.elm index 169046c..ab54e2d 100644 --- a/src/roster-editor/src/Update/SelectCharacter.elm +++ b/src/roster-editor/src/Update/SelectCharacter.elm @@ -3,296 +3,43 @@ module Update.SelectCharacter exposing (apply_to)  -- Elm -------------------------------------------------------------------------  import Array -import Task - --- Map ------------------------------------------------------------------- -import Action.Scroll - -import Struct.Map +-- Roster Editor ---------------------------------------------------------------  import Struct.Character -import Struct.CharacterTurn  import Struct.Error  import Struct.Event -import Struct.Location  import Struct.Model -import Struct.Navigator -import Struct.Statistics -import Struct.UI -import Struct.Weapon -import Struct.WeaponSet  --------------------------------------------------------------------------------  -- LOCAL -----------------------------------------------------------------------  -------------------------------------------------------------------------------- -get_character_navigator : ( -      Struct.Model.Type -> -      Struct.Character.Type -> -      Struct.Navigator.Type -   ) -get_character_navigator model char = -   let -      weapon = -         (Struct.WeaponSet.get_active_weapon -            (Struct.Character.get_weapons char) -         ) -   in -      (Struct.Navigator.new -         (Struct.Character.get_location char) -         (Struct.Statistics.get_movement_points -            (Struct.Character.get_statistics char) -         ) -         (Struct.Weapon.get_defense_range weapon) -         (Struct.Weapon.get_attack_range weapon) -         (Struct.Map.get_movement_cost_function -            model.map -            (Struct.Character.get_location char) -            (Array.toList model.characters) -         ) -      ) - -attack_character : ( -      Struct.Model.Type -> -      Int -> -      Struct.Character.Type -> -      Struct.Model.Type -   ) -attack_character model target_char_id target_char = -   {model | -      char_turn = -         (Struct.CharacterTurn.set_target -            (Just target_char_id) -            model.char_turn -         ), -      ui = -         (Struct.UI.reset_displayed_nav -            (Struct.UI.reset_displayed_tab -               (Struct.UI.set_previous_action Nothing model.ui) -            ) -         ) -   } - -ctrl_or_focus_character : ( -      Struct.Model.Type -> -      Int -> -      Struct.Character.Type -> -      Struct.Model.Type -   ) -ctrl_or_focus_character model target_char_id target_char = -   if (Struct.Character.is_enabled target_char) -   then -      let -         nav = -            (case (Struct.UI.try_getting_displayed_nav model.ui) of -               (Just dnav) -> dnav -               Nothing -> -                  (get_character_navigator model target_char) -            ) -      in -         {model | -            char_turn = -               (Struct.CharacterTurn.set_navigator -                  nav -                  (Struct.CharacterTurn.set_active_character -                     target_char -                     model.char_turn -                  ) -               ), -            ui = -               (Struct.UI.reset_displayed_nav -                  (Struct.UI.reset_displayed_tab -                     (Struct.UI.set_previous_action Nothing model.ui) -                  ) -               ) -         } -   else -      {model | -         ui = -            (Struct.UI.set_previous_action -               (Just (Struct.UI.SelectedCharacter target_char_id)) -               (Struct.UI.set_displayed_nav -                  (get_character_navigator model target_char) -                  model.ui -               ) -            ) -      } -can_target_character : ( -      Struct.Model.Type -> -      Struct.Character.Type -> -      Bool -   ) -can_target_character model target = +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +apply_to : Struct.Model.Type -> (Struct.Model.Type, (Cmd Struct.Event.Type)) +apply_to model target_char_ix = +   -- TODO: store currently edited char, if it exists. +   -- Basically, there will be a marker on characters to tell if they've been +   -- edited. There will also be a "Save" button, like in the map editor, that +   -- will send all modified characters to the server (and mark them as +   -- up-to-date).     ( -      (Struct.CharacterTurn.can_select_target model.char_turn) -      && (Struct.Character.is_alive target) -      &&        ( -         case -            (Struct.CharacterTurn.try_getting_navigator -               model.char_turn -            ) -         of -            (Just nav) -> -               case -                  (Struct.Navigator.try_getting_path_to -                     (Struct.Location.get_ref -                        (Struct.Character.get_location target) -                     ) -                     nav -                  ) -               of -                  (Just _) -> True -                  _ -> False - -            _ -> -               False -      ) -   ) - -second_click_on : ( -      Struct.Model.Type -> -      Int -> -      (Struct.Model.Type, (Cmd Struct.Event.Type)) -   ) -second_click_on model target_char_id = -   case (Array.get target_char_id model.characters) of -      (Just target_char) -> -         case -            ( -               (Struct.CharacterTurn.try_getting_active_character -                  model.char_turn -               ), -               (Struct.CharacterTurn.try_getting_target model.char_turn) -            ) -         of -            ((Just _), (Just char_turn_target_id)) -> -               if (char_turn_target_id == target_char_id) -               then -                  ( -                     model, -                     Cmd.none -                  ) -               else -                  ( -                     (ctrl_or_focus_character model target_char_id target_char), -                     (Task.attempt -                        (Struct.Event.attempted) -                        (Action.Scroll.to -                           (Struct.Character.get_location target_char) -                           model.ui -                        ) -                     ) -                  ) - -            ((Just _), Nothing) -> -               if (can_target_character model target_char) -               then -                  ( -                     (attack_character -                        model -                        target_char_id -                        target_char -                     ), -                     Cmd.none -                  ) -               else -                  ( -                     (ctrl_or_focus_character model target_char_id target_char), -                     (Task.attempt -                        (Struct.Event.attempted) -                        (Action.Scroll.to -                           (Struct.Character.get_location target_char) -                           model.ui -                        ) -                     ) -                  ) - -            (_, _) -> -               ( -                  (ctrl_or_focus_character model target_char_id target_char), -                  (Task.attempt -                     (Struct.Event.attempted) -                     (Action.Scroll.to -                        (Struct.Character.get_location target_char) -                        model.ui -                     ) -                  ) -               ) - -      Nothing -> -         ( -            (Struct.Model.invalidate -               (Struct.Error.new -                  Struct.Error.Programming -                  "SelectCharacter: Unknown char selected." -               ) -               model -            ), -            Cmd.none -         ) - -first_click_on : ( -      Struct.Model.Type -> -      Int -> -      (Struct.Model.Type, (Cmd Struct.Event.Type)) -   ) -first_click_on model target_char_id = -   if -   ( -      (Struct.CharacterTurn.try_getting_target model.char_turn) -      == -      (Just target_char_id) -   ) -   then -      (model, Cmd.none) -   else -      case (Array.get target_char_id model.characters) of -         (Just target_char) -> -            ( -               {model | -                  ui = -                     (Struct.UI.set_previous_action -                        (Just (Struct.UI.SelectedCharacter target_char_id)) -                        (Struct.UI.set_displayed_tab -                           Struct.UI.StatusTab -                           (Struct.UI.set_displayed_nav -                              (get_character_navigator model target_char) -                              model.ui -                           ) -                        ) -                     ) -               }, -               Cmd.none -            ) - -         Nothing -> -            ( +         case (Array.get target_char_ix model.characters) of +            Nothing ->                 (Struct.Model.invalidate                    (Struct.Error.new                       Struct.Error.Programming -                     "SelectCharacter: Unknown char selected." +                     ( +                        "Unknown character index selected \"" +                        ++ (toString target_char_ix) +                        ++ "\"." +                     )                    )                    model -               ), -               Cmd.none -            ) +               ) --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -apply_to : ( -      Struct.Model.Type -> -      Int -> -      (Struct.Model.Type, (Cmd Struct.Event.Type)) -   ) -apply_to model target_char_id = -   if -   ( -      (Struct.UI.get_previous_action model.ui) -      == -      (Just (Struct.UI.SelectedCharacter target_char_id)) +            (Just char) -> {model | edited_char = (Just char)} +      ), +      Cmd.none     ) -   then -      (second_click_on model target_char_id) -   else -      (first_click_on model target_char_id) diff --git a/src/roster-editor/src/View/Controlled/CharacterCard.elm b/src/roster-editor/src/View/CharacterCard.elm index ac56cbb..f3e8fb9 100644 --- a/src/roster-editor/src/View/Controlled/CharacterCard.elm +++ b/src/roster-editor/src/View/CharacterCard.elm @@ -39,9 +39,9 @@ get_name : (  get_name char =     (Html.div        [ -         (Html.Attributes.class "battle-info-card-name"), -         (Html.Attributes.class "battle-info-card-text-field"), -         (Html.Attributes.class "battle-character-card-name") +         (Html.Attributes.class "roster-info-card-name"), +         (Html.Attributes.class "roster-info-card-text-field"), +         (Html.Attributes.class "roster-character-card-name")        ]        [           (Html.text (Struct.Character.get_name char)) @@ -63,7 +63,7 @@ get_health_bar char =        (View.Gauge.get_html           ("HP: " ++ (toString current) ++ "/" ++ (toString max))           (100.0 * ((toFloat current)/(toFloat max))) -         [(Html.Attributes.class "battle-character-card-health")] +         [(Html.Attributes.class "roster-character-card-health")]           []           []        ) @@ -75,7 +75,7 @@ get_rank_status : (  get_rank_status rank =     (Html.div        [ -         (Html.Attributes.class "battle-character-card-status"), +         (Html.Attributes.class "roster-character-card-status"),           (Html.Attributes.class "clickable"),           (Html.Events.onClick              (Struct.Event.RequestedHelp (Struct.HelpRequest.HelpOnRank rank)) @@ -84,10 +84,10 @@ get_rank_status rank =              (                 case rank of                    Struct.Character.Commander -> -                     "battle-character-card-commander-status" +                     "roster-character-card-commander-status"                    Struct.Character.Target -> -                     "battle-character-card-target-status" +                     "roster-character-card-target-status"                    Struct.Character.Optional -> ""              ) @@ -104,7 +104,7 @@ get_statuses : (  get_statuses char =     (Html.div        [ -         (Html.Attributes.class "battle-character-card-statuses") +         (Html.Attributes.class "roster-character-card-statuses")        ]        [           ( @@ -137,7 +137,7 @@ get_active_movement_bar maybe_navigator char =        (View.Gauge.get_html           ("MP: " ++ (toString current) ++ "/" ++ (toString max))           (100.0 * ((toFloat current)/(toFloat max))) -         [(Html.Attributes.class "battle-character-card-movement")] +         [(Html.Attributes.class "roster-character-card-movement")]           []           []        ) @@ -164,7 +164,7 @@ get_inactive_movement_bar char =              )           )           100.0 -         [(Html.Attributes.class "battle-character-card-movement")] +         [(Html.Attributes.class "roster-character-card-movement")]           []           []        ) @@ -202,7 +202,7 @@ get_weapon_field_header : (  get_weapon_field_header damage_multiplier weapon =     (Html.div        [ -         (Html.Attributes.class "battle-character-card-header") +         (Html.Attributes.class "roster-character-card-header")        ]        [           (Html.div @@ -247,7 +247,7 @@ get_mod_html mod =     in        (Html.div           [ -            (Html.Attributes.class "battle-info-card-mod") +            (Html.Attributes.class "roster-info-card-mod")           ]           [              (Html.text @@ -263,7 +263,7 @@ get_multiplied_mod_html multiplier mod =     in        (Html.div           [ -            (Html.Attributes.class "battle-character-card-mod") +            (Html.Attributes.class "roster-character-card-mod")           ]           [              (Html.text @@ -285,13 +285,13 @@ get_weapon_details : (  get_weapon_details omnimods damage_multiplier weapon =     (Html.div        [ -         (Html.Attributes.class "battle-character-card-weapon") +         (Html.Attributes.class "roster-character-card-weapon")        ]        [           (get_weapon_field_header damage_multiplier weapon),           (Html.div              [ -               (Html.Attributes.class "battle-info-card-omnimods-listing") +               (Html.Attributes.class "roster-info-card-omnimods-listing")              ]              (List.map                 (get_multiplied_mod_html damage_multiplier) @@ -309,7 +309,7 @@ get_weapon_summary : (  get_weapon_summary damage_multiplier weapon =     (Html.div        [ -         (Html.Attributes.class "battle-character-card-weapon-summary") +         (Html.Attributes.class "roster-character-card-weapon-summary")        ]        [           (get_weapon_field_header damage_multiplier weapon) @@ -324,12 +324,12 @@ get_armor_details : (  get_armor_details omnimods armor =     (Html.div        [ -         (Html.Attributes.class "battle-character-card-armor") +         (Html.Attributes.class "roster-character-card-armor")        ]        [           (Html.div              [ -               (Html.Attributes.class "battle-character-card-armor-name") +               (Html.Attributes.class "roster-character-card-armor-name")              ]              [                 (Html.text (Struct.Armor.get_name armor)) @@ -337,7 +337,7 @@ get_armor_details omnimods armor =           ),           (Html.div              [ -               (Html.Attributes.class "battle-info-card-omnimods-listing") +               (Html.Attributes.class "roster-info-card-omnimods-listing")              ]              (List.map                 (get_mod_html) @@ -351,7 +351,7 @@ stat_name  : String -> (Html.Html Struct.Event.Type)  stat_name name =     (Html.div        [ -         (Html.Attributes.class "battle-character-card-stat-name") +         (Html.Attributes.class "roster-character-card-stat-name")        ]        [           (Html.text name) @@ -362,7 +362,7 @@ stat_val : Int -> Bool -> (Html.Html Struct.Event.Type)  stat_val val perc =     (Html.div        [ -         (Html.Attributes.class "battle-character-card-stat-val") +         (Html.Attributes.class "roster-character-card-stat-val")        ]        [           (Html.text @@ -388,7 +388,7 @@ get_relevant_stats : (  get_relevant_stats stats =     (Html.div        [ -         (Html.Attributes.class "battle-character-card-stats") +         (Html.Attributes.class "roster-character-card-stats")        ]        [           (stat_name "Dodge"), @@ -407,33 +407,29 @@ get_relevant_stats stats =  --------------------------------------------------------------------------------  -- EXPORTED --------------------------------------------------------------------  -------------------------------------------------------------------------------- -get_minimal_html : ( -      Int -> -      Struct.Character.Type -> -      (Html.Html Struct.Event.Type) -   ) -get_minimal_html player_ix char = +get_minimal_html : Struct.Character.Type -> (Html.Html Struct.Event.Type) +get_minimal_html char =     (Html.div        [ -         (Html.Attributes.class "battle-info-card"), -         (Html.Attributes.class "battle-info-card-minimal"), -         (Html.Attributes.class "battle-character-card"), -         (Html.Attributes.class "battle-character-card-minimal") +         (Html.Attributes.class "roster-info-card"), +         (Html.Attributes.class "roster-info-card-minimal"), +         (Html.Attributes.class "roster-character-card"), +         (Html.Attributes.class "roster-character-card-minimal")        ]        [           (get_name char),           (Html.div              [ -               (Html.Attributes.class "battle-info-card-top"), -               (Html.Attributes.class "battle-character-card-top") +               (Html.Attributes.class "roster-info-card-top"), +               (Html.Attributes.class "roster-character-card-top")              ]              [                 (Html.div                    [ -                     (Html.Attributes.class "battle-info-card-picture") +                     (Html.Attributes.class "roster-info-card-picture")                    ]                    [ -                     (View.Character.get_portrait_html player_ix char) +                     (View.Character.get_portrait_html char)                    ]                 ),                 (get_health_bar char), @@ -444,59 +440,8 @@ get_minimal_html player_ix char =        ]     ) -get_summary_html : ( -      Struct.CharacterTurn.Type -> -      Int -> -      Struct.Character.Type -> -      (Html.Html Struct.Event.Type) -   ) -get_summary_html char_turn player_ix char = -   let -      weapon_set = (Struct.Character.get_weapons char) -      main_weapon = (Struct.WeaponSet.get_active_weapon weapon_set) -      char_statistics = (Struct.Character.get_statistics char) -      damage_modifier = (Struct.Statistics.get_damage_modifier char_statistics) -      secondary_weapon = (Struct.WeaponSet.get_secondary_weapon weapon_set) -      omnimods = (Struct.Character.get_current_omnimods char) -   in -      (Html.div -         [ -            (Html.Attributes.class "battle-character-card") -         ] -         [ -            (get_name char), -            (Html.div -               [ -                  (Html.Attributes.class "battle-info-card-top"), -                  (Html.Attributes.class "battle-character-card-top") -               ] -               [ -                  (Html.div -                     [ -                        (Html.Attributes.class "battle-info-card-picture") -                     ] -                     [ -                        (View.Character.get_portrait_html player_ix char) -                     ] -                  ), -                  (get_health_bar char), -                  (get_movement_bar char_turn char), -                  (get_statuses char) -               ] -            ), -            (get_weapon_details omnimods damage_modifier main_weapon), -            (get_armor_details omnimods (Struct.Character.get_armor char)), -            (get_relevant_stats char_statistics), -            (get_weapon_summary damage_modifier secondary_weapon) -         ] -      ) - -get_full_html : ( -      Int -> -      Struct.Character.Type -> -      (Html.Html Struct.Event.Type) -   ) -get_full_html player_ix char = +get_full_html : Struct.Character.Type -> (Html.Html Struct.Event.Type) +get_full_html char =     let        weapon_set = (Struct.Character.get_weapons char)        main_weapon = (Struct.WeaponSet.get_active_weapon weapon_set) @@ -508,23 +453,23 @@ get_full_html player_ix char =     in        (Html.div           [ -            (Html.Attributes.class "battle-info-card"), -            (Html.Attributes.class "battle-character-card") +            (Html.Attributes.class "roster-info-card"), +            (Html.Attributes.class "roster-character-card")           ]           [              (get_name char),              (Html.div                 [ -                  (Html.Attributes.class "battle-info-card-top"), -                  (Html.Attributes.class "battle-character-card-top") +                  (Html.Attributes.class "roster-info-card-top"), +                  (Html.Attributes.class "roster-character-card-top")                 ]                 [                    (Html.div                       [ -                        (Html.Attributes.class "battle-info-card-picture") +                        (Html.Attributes.class "roster-info-card-picture")                       ]                       [ -                        (View.Character.get_portrait_html player_ix char) +                        (View.Character.get_portrait_html char)                       ]                    ),                    (get_health_bar char), diff --git a/src/roster-editor/src/View/Controlled.elm b/src/roster-editor/src/View/Controlled.elm index d0c33a5..45c8a70 100644 --- a/src/roster-editor/src/View/Controlled.elm +++ b/src/roster-editor/src/View/Controlled.elm @@ -3,156 +3,34 @@ module View.Controlled exposing (get_html)  -- Elm -------------------------------------------------------------------------  import Html  import Html.Attributes -import Html.Events +import Html.Lazy --- Struct.Map ------------------------------------------------------------------- -import Struct.CharacterTurn +-- Roster Editor ---------------------------------------------------------------  import Struct.Event -import Struct.Navigator +import Struct.Model  import Util.Html -import View.Controlled.CharacterCard -import View.Controlled.ManualControls +import View.CharacterCard  --------------------------------------------------------------------------------  -- LOCAL -----------------------------------------------------------------------  -------------------------------------------------------------------------------- -has_a_path : Struct.CharacterTurn.Type -> Bool -has_a_path char_turn = -   case (Struct.CharacterTurn.try_getting_navigator char_turn) of -      (Just nav) -> ((Struct.Navigator.get_path nav) /= []) -      Nothing -> False - - -attack_button : Struct.CharacterTurn.Type -> (Html.Html Struct.Event.Type) -attack_button char_turn = -   (Html.button -      [ (Html.Events.onClick Struct.Event.AttackWithoutMovingRequest) ] -      [ -         (Html.text -            ( -               if (has_a_path char_turn) -               then ("Go & Select Target") -               else ("Select Target") -            ) -         ) -      ] -   ) - -abort_button : (Html.Html Struct.Event.Type) -abort_button = -   (Html.button -      [ (Html.Events.onClick Struct.Event.AbortTurnRequest) ] -      [ (Html.text "Abort") ] -   ) - -undo_button : (Html.Html Struct.Event.Type) -undo_button = -   (Html.button -      [ (Html.Events.onClick Struct.Event.UndoActionRequest) ] -      [ (Html.text "Undo") ] -   ) - -end_turn_button : String -> (Html.Html Struct.Event.Type) -end_turn_button suffix = -   (Html.button -      [ -         (Html.Events.onClick Struct.Event.TurnEnded), -         (Html.Attributes.class "battle-end-turn-button") -      ] -      [ (Html.text ("End Turn" ++ suffix)) ] -   ) - -inventory_button : Bool -> (Html.Html Struct.Event.Type) -inventory_button go_prefix = -   (Html.button -      [ (Html.Events.onClick Struct.Event.WeaponSwitchRequest) ] -      [ -         (Html.text -            ( -               if (go_prefix) -               then ("Go & Switch Weapon") -               else ("Switch Weapon") -            ) -         ) -      ] -   ) - -get_available_actions : ( -      Struct.CharacterTurn.Type -> -      (List (Html.Html Struct.Event.Type)) -   ) -get_available_actions char_turn = -   case (Struct.CharacterTurn.get_state char_turn) of -      Struct.CharacterTurn.SelectedCharacter -> -         [ -            (attack_button char_turn), -            (inventory_button (has_a_path char_turn)), -            (end_turn_button " Doing Nothing"), -            (abort_button) -         ] - -      Struct.CharacterTurn.MovedCharacter -> -         [ -            (inventory_button False), -            (end_turn_button " by Moving"), -            (undo_button), -            (abort_button) -         ] - -      Struct.CharacterTurn.ChoseTarget -> -         [ -            (end_turn_button " by Attacking"), -            (undo_button), -            (abort_button) -         ] - -      Struct.CharacterTurn.SwitchedWeapons -> -         [ -            (end_turn_button " by Switching Weapons"), -            (undo_button), -            (abort_button) -         ] - -      _ -> -         [ -         ]  --------------------------------------------------------------------------------  -- EXPORTED --------------------------------------------------------------------  -------------------------------------------------------------------------------- -get_html : Struct.CharacterTurn.Type -> Int -> (Html.Html Struct.Event.Type) -get_html char_turn player_ix = -   case -      (Struct.CharacterTurn.try_getting_active_character char_turn) -   of +get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) +get_html model = +   case model.edited_char of +      Nothing -> (Util.Html.nothing)        (Just char) ->           (Html.div -            [(Html.Attributes.class "battle-controlled")] +            [(Html.Attributes.class "roster-editor-controlled")]              [ -               (View.Controlled.CharacterCard.get_summary_html -                  char_turn -                  player_ix +               (Html.Lazy.lazy +                  (View.CharacterCard.get_summary_html)                    char -               ), -               ( -                  if -                  ( -                     (Struct.CharacterTurn.get_state char_turn) -                     == -                     Struct.CharacterTurn.SelectedCharacter -                  ) -                  then -                     (View.Controlled.ManualControls.get_html) -                  else -                     (Util.Html.nothing) -               ), -               (Html.div -                  [(Html.Attributes.class "battle-controlled-actions")] -                  (get_available_actions char_turn)                 )              ]           ) - -      Nothing -> (Util.Html.nothing) diff --git a/src/roster-editor/src/View/Controlled/ManualControls.elm b/src/roster-editor/src/View/Controlled/ManualControls.elm deleted file mode 100644 index 1dceafb..0000000 --- a/src/roster-editor/src/View/Controlled/ManualControls.elm +++ /dev/null @@ -1,60 +0,0 @@ -module View.Controlled.ManualControls exposing (get_html) - --- Elm ------------------------------------------------------------------------- -import Html -import Html.Attributes -import Html.Events - --- Map ------------------------------------------------------------------- -import Struct.Direction -import Struct.Event - --------------------------------------------------------------------------------- --- LOCAL ----------------------------------------------------------------------- --------------------------------------------------------------------------------- -direction_button : ( -      Struct.Direction.Type -> -      String -> -      (Html.Html Struct.Event.Type) -   ) -direction_button dir label = -   (Html.div -      [ -         (Html.Attributes.class ("battle-manual-controls-" ++ label)), -         (Html.Attributes.class "clickable"), -         (Html.Events.onClick -            (Struct.Event.DirectionRequested dir) -         ) -      ] -      [] -   ) - -go_button : (Html.Html Struct.Event.Type) -go_button = -   (Html.button -      [ -         (Html.Attributes.class "battle-manual-controls-go"), -         (Html.Events.onClick Struct.Event.AttackWithoutMovingRequest) -      ] -      [ -         (Html.text "Go") -      ] -   ) - --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_html : (Html.Html Struct.Event.Type) -get_html = -   (Html.div -      [ -         (Html.Attributes.class "battle-manual-controls") -      ] -      [ -         (direction_button Struct.Direction.Left "left"), -         (direction_button Struct.Direction.Down "down"), -         (direction_button Struct.Direction.Up "up"), -         (direction_button Struct.Direction.Right "right"), -         (go_button) -      ] -   ) diff --git a/src/roster-editor/src/View/Controlled/Targets.elm b/src/roster-editor/src/View/Controlled/Targets.elm deleted file mode 100644 index eee5a54..0000000 --- a/src/roster-editor/src/View/Controlled/Targets.elm +++ /dev/null @@ -1,69 +0,0 @@ -module View.SideBar.Targets exposing (get_html) - --- Elm ------------------------------------------------------------------------- -import Dict - -import Html -import Html.Attributes - --- Map ------------------------------------------------------------------- -import Struct.Character -import Struct.Event -import Struct.Model -import Struct.Statistics - --------------------------------------------------------------------------------- --- LOCAL ----------------------------------------------------------------------- --------------------------------------------------------------------------------- - -get_target_info_html : ( -      Struct.Model.Type -> -      Struct.Character.Ref -> -      (Html.Html Struct.Event.Type) -   ) -get_target_info_html model char_ref = -   case (Dict.get char_ref model.characters) of -      Nothing -> (Html.text "Error: Unknown character selected.") -      (Just char) -> -         (Html.text -            ( -               "Attacking " -               ++ char.name -               ++ " (player " -               ++ (toString (Struct.Character.get_player_ix char)) -               ++ "): " -               ++ -               (toString -                  (Struct.Statistics.get_movement_points -                     (Struct.Character.get_statistics char) -                  ) -               ) -               ++ " movement points; " -               ++ "???" -               ++ " attack range. Health: " -               ++ (toString (Struct.Character.get_sane_current_health char)) -               ++ "/" -               ++ -               (toString -                  (Struct.Statistics.get_max_health -                     (Struct.Character.get_statistics char) -                  ) -               ) -            ) -         ) - --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_html : ( -      Struct.Model.Type -> -      Struct.Character.Ref -> -      (Html.Html Struct.Event.Type) -   ) -get_html model target_ref = -   (Html.div -      [ -         (Html.Attributes.class "battle-side-bar-targets") -      ] -      [(get_target_info_html model target_ref)] -   ) diff --git a/src/roster-editor/src/View/SubMenu.elm b/src/roster-editor/src/View/SubMenu.elm deleted file mode 100644 index e661b9c..0000000 --- a/src/roster-editor/src/View/SubMenu.elm +++ /dev/null @@ -1,85 +0,0 @@ -module View.SubMenu exposing (get_html) - --- Elm ------------------------------------------------------------------------- -import Array - -import Html -import Html.Attributes -import Html.Lazy - --- Map ------------------------------------------------------------------- -import Struct.CharacterTurn -import Struct.Event -import Struct.Model -import Struct.UI - -import Util.Html - -import View.Controlled.CharacterCard - -import View.SubMenu.Characters -import View.SubMenu.Settings -import View.SubMenu.Status -import View.SubMenu.Timeline - --------------------------------------------------------------------------------- --- LOCAL ----------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_inner_html : ( -      Struct.Model.Type -> -      Struct.UI.Tab -> -      (Html.Html Struct.Event.Type) -   ) -get_inner_html model tab = -   case tab of -      Struct.UI.StatusTab -> -         (View.SubMenu.Status.get_html model) - -      Struct.UI.CharactersTab -> -         (Html.Lazy.lazy2 -            (View.SubMenu.Characters.get_html) -            model.characters -            model.player_ix -         ) - -      Struct.UI.SettingsTab -> -         (View.SubMenu.Settings.get_html model) - -      Struct.UI.TimelineTab -> -         (View.SubMenu.Timeline.get_html model) - --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) -get_html model = -   case (Struct.UI.try_getting_displayed_tab model.ui) of -      (Just tab) -> -         (Html.div -            [(Html.Attributes.class "battle-sub-menu")] -            [(get_inner_html model tab)] -         ) - -      Nothing -> -         case (Struct.CharacterTurn.try_getting_target model.char_turn) of -            (Just char_ref) -> -               case (Array.get char_ref model.characters) of -                  (Just char) -> -                     (Html.div -                        [(Html.Attributes.class "battle-sub-menu")] -                        [ -                           (Html.text "Targeting:"), -                           (Html.Lazy.lazy3 -                              (View.Controlled.CharacterCard.get_summary_html) -                              model.char_turn -                              model.player_ix -                              char -                           ) -                        ] -                     ) - -                  Nothing -> -                     (Util.Html.nothing) - -            Nothing -> -               (Util.Html.nothing) | 


