| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2022-01-30 00:37:05 +0100 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2022-01-30 00:37:05 +0100 | 
| commit | b1d6d8af0e31123d46e102bc68fcfd02d3b51256 (patch) | |
| tree | 9caad859acaf7481d248d3d5e0de9d3c9114a0b2 /src/Update | |
| parent | 0705fbf7c20c5002c26a2c9faa9663b047189e39 (diff) | |
...
Diffstat (limited to 'src/Update')
| -rw-r--r-- | src/Update/Story.elm | 62 | 
1 files changed, 57 insertions, 5 deletions
| diff --git a/src/Update/Story.elm b/src/Update/Story.elm index 3c9d041..708f5a9 100644 --- a/src/Update/Story.elm +++ b/src/Update/Story.elm @@ -67,6 +67,17 @@ step model =                 )           } +      (Tonkadur.Types.MustPromptFloat min max label) -> +         {model | +            tonkadur = (Tonkadur.Types.allow_continuing model.tonkadur), +            ui = +               (Struct.UI.prompt_float +                  (Tonkadur.Types.value_to_float min) +                  (Tonkadur.Types.value_to_float max) +                  model.ui +               ) +         } +        (Tonkadur.Types.MustPromptInteger min max label) ->           {model |              tonkadur = (Tonkadur.Types.allow_continuing model.tonkadur), @@ -95,7 +106,7 @@ step model =                 (List.foldl                    (\option (ix, ui) ->                       case option of -                        (Tonkadur.Types.Choice rich_text) -> +                        (Tonkadur.Types.TextOption rich_text) ->                             (                                (ix + 1),                                (Struct.UI.display_choice @@ -142,7 +153,7 @@ step model =              }           ) -      _ -> model +--      _ -> model  --------------------------------------------------------------------------------  -- EXPORTED -------------------------------------------------------------------- @@ -155,9 +166,11 @@ select_choice ix model =     (step        {model |           tonkadur = -            (Tonkadur.Types.set_last_choice_index -               ix -               model.tonkadur +            (Tonkadur.Types.clear_all_options +               (Tonkadur.Types.set_last_choice_index +                  ix +                  model.tonkadur +               )              )        }     ) @@ -191,6 +204,45 @@ input_string string model =           }        ) +input_float : String -> Struct.Model.Type -> Struct.Model.Type +input_float string model = +   case (String.toFloat string) of +      Nothing -> +         {model | +            ui = +               (Struct.UI.display_string_error +                  "Input expects a float." +                  model.ui +               ) +         } + +      (Just float) -> +         if ((float < model.ui.min_float) || (float > model.ui.max_float)) +         then +            {model | +               ui = +                  (Struct.UI.display_string_error +                     ( +                        "Input float should be between " +                        ++ (String.fromFloat model.ui.min_float) +                        ++ " and " +                        ++ (String.fromFloat model.ui.max_float) +                        ++ "." +                     ) +                     model.ui +                  ) +            } +         else +            (step +               {model | +                  tonkadur = +                     (Tonkadur.Types.set_target_from_float +                        float +                        model.tonkadur +                     ) +               } +            ) +  input_integer : String -> Struct.Model.Type -> Struct.Model.Type  input_integer string model =     case (String.toInt string) of | 


