| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2022-01-30 18:29:19 +0100 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2022-01-30 18:29:19 +0100 |
| commit | 671397a5b81ab500a1973edda33ea1d79cb77bf7 (patch) | |
| tree | 2e7acdf9a8f0c3273c3023ea6abe7d20b7cebeb8 | |
| parent | d222161a5bcce5c0f2848d9714ab509b4ba957ff (diff) | |
| -rw-r--r-- | src/Struct/UI.elm | 30 | ||||
| -rw-r--r-- | src/Update/Story.elm | 24 |
2 files changed, 52 insertions, 2 deletions
diff --git a/src/Struct/UI.elm b/src/Struct/UI.elm index ade62ce..ab95861 100644 --- a/src/Struct/UI.elm +++ b/src/Struct/UI.elm @@ -94,6 +94,36 @@ clear_prompt ui = field_content = "" } +display_prompt_content : Type -> Type +display_prompt_content ui = + (display_text (Html.br [] []) + (display_text + (Html.text ("> " ++ ui.field_content)) + (display_text (Html.br [] []) ui) + ) + ) + +display_chosen_option_label : Int -> Type -> Type +display_chosen_option_label id ui = + case + (List.filter + (\(index, label) -> (index == id)) + ui.displayed_choices + ) + of + [] -> ui + ((index, label) :: []) -> + (display_text (Html.br [] []) + (display_text + label + (display_text + (Html.text "> ") + (display_text (Html.br [] []) ui) + ) + ) + ) + _ -> ui + clear_displayed_texts : Type -> Type clear_displayed_texts ui = {ui | displayed_texts = []} diff --git a/src/Update/Story.elm b/src/Update/Story.elm index 173d7b3..d897808 100644 --- a/src/Update/Story.elm +++ b/src/Update/Story.elm @@ -190,6 +190,10 @@ input_string string model = (Tonkadur.Types.set_target_from_string string model.tonkadur + ), + ui = + (Struct.UI.clear_prompt + (Struct.UI.display_prompt_content model.ui) ) } ) @@ -229,6 +233,10 @@ input_float string model = (Tonkadur.Types.set_target_from_float float model.tonkadur + ), + ui = + (Struct.UI.clear_prompt + (Struct.UI.display_prompt_content model.ui) ) } ) @@ -268,6 +276,10 @@ input_integer string model = (Tonkadur.Types.set_target_from_integer int model.tonkadur + ), + ui = + (Struct.UI.clear_prompt + (Struct.UI.display_prompt_content model.ui) ) } ) @@ -297,6 +309,10 @@ input_command string model = (Tonkadur.Types.set_target_from_command (String.words string) model.tonkadur + ), + ui = + (Struct.UI.clear_prompt + (Struct.UI.display_prompt_content model.ui) ) } ) @@ -318,7 +334,10 @@ select_choice ix model = model.tonkadur ) ), - ui = (Struct.UI.clear_prompt model.ui) + ui = + (Struct.UI.clear_prompt + (Struct.UI.display_chosen_option_label ix model.ui) + ) } ) @@ -326,7 +345,8 @@ handle_prompt_input : Struct.Model.Type -> Struct.Model.Type handle_prompt_input model = case model.ui.input of Struct.UI.NoInput -> model - Struct.UI.FloatInput -> (input_float (Struct.UI.get_field_content model.ui) model) + Struct.UI.FloatInput -> + (input_float (Struct.UI.get_field_content model.ui) model) Struct.UI.IntegerInput -> (input_integer (Struct.UI.get_field_content model.ui) model) Struct.UI.StringInput -> |


