summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2022-01-30 18:29:19 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2022-01-30 18:29:19 +0100
commit671397a5b81ab500a1973edda33ea1d79cb77bf7 (patch)
tree2e7acdf9a8f0c3273c3023ea6abe7d20b7cebeb8
parentd222161a5bcce5c0f2848d9714ab509b4ba957ff (diff)
-rw-r--r--src/Struct/UI.elm30
-rw-r--r--src/Update/Story.elm24
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 ->