mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-24 07:02:26 +01:00
Merge pull request #4247 from quacksouls/doc-prompt
DOC: `ns.prompt()`: some cleanup and examples
This commit is contained in:
commit
51f8d29e7a
82
src/ScriptEditor/NetscriptDefinitions.d.ts
vendored
82
src/ScriptEditor/NetscriptDefinitions.d.ts
vendored
@ -6608,16 +6608,84 @@ export interface NS {
|
||||
* @remarks
|
||||
* RAM cost: 0 GB
|
||||
*
|
||||
* Prompts the player with a dialog box. If `options.type` is undefined or "boolean",
|
||||
* the player is shown "Yes" and "No" prompts, which return true and false respectively.
|
||||
* Passing a type of "text" will give the player a text field and a value of "select"
|
||||
* will show a drop-down field. Choosing type "select" will require an array or object
|
||||
* to be passed via the `options.choices` property.
|
||||
* The script’s execution is halted until the player selects one of the options.
|
||||
* Prompts the player with a dialog box. Here is an explanation of the various options.
|
||||
*
|
||||
* - `options.type` is not provided to the function. If `options.type` is left out and
|
||||
* only a string is passed to the function, then the default behavior is to create a
|
||||
* boolean dialog box.
|
||||
*
|
||||
* - `options.type` has value `undefined` or `"boolean"`. A boolean dialog box is
|
||||
* created. The player is shown "Yes" and "No" prompts, which return true and false
|
||||
* respectively. The script's execution is halted until the player presses either the
|
||||
* "Yes" or "No" button.
|
||||
*
|
||||
* - `options.type` has value `"text"`. The player is given a text field to enter
|
||||
* free-form text. The script's execution is halted until the player enters some text
|
||||
* and/or presses the "Confirm" button.
|
||||
*
|
||||
* - `options.type` has value `"select"`. The player is shown a drop-down field.
|
||||
* Choosing type `"select"` will require an array to be passed via the
|
||||
* `options.choices` property. The array can be an array of strings, an array of
|
||||
* numbers (not BigInt numbers), or a mixture of both numbers and strings. Any other
|
||||
* types of array elements will result in an error or an undefined/unexpected
|
||||
* behavior. The `options.choices` property will be ignored if `options.type` has a
|
||||
* value other than `"select"`. The script's execution is halted until the player
|
||||
* chooses one of the provided options and presses the "Confirm" button.
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* // NS1
|
||||
* // A Yes/No question. The default is to create a boolean dialog box.
|
||||
* var queryA = "Do you enjoy Bitburner?";
|
||||
* var resultA = prompt(queryA);
|
||||
* tprint(queryA + " " + resultA);
|
||||
*
|
||||
* // Another Yes/No question. Can also create a boolean dialog box by explicitly
|
||||
* // passing the option {"type": "boolean"}.
|
||||
* var queryB = "Is programming fun?";
|
||||
* var resultB = prompt(queryB, { type: "boolean" });
|
||||
* tprint(queryB + " " + resultB);
|
||||
*
|
||||
* // Free-form text box.
|
||||
* var resultC = prompt("Please enter your name.", { type: "text" });
|
||||
* tprint("Hello, " + resultC + ".");
|
||||
*
|
||||
* // A drop-down list.
|
||||
* var resultD = prompt("Please select your favorite fruit.", {
|
||||
* type: "select",
|
||||
* choices: ["Apple", "Banana", "Orange", "Pear", "Strawberry"]
|
||||
* });
|
||||
* tprint("Your favorite fruit is " + resultD.toLowerCase() + ".");
|
||||
* ```
|
||||
* @example
|
||||
* ```ts
|
||||
* // NS2
|
||||
* // A Yes/No question. The default is to create a boolean dialog box.
|
||||
* const queryA = "Do you enjoy Bitburner?";
|
||||
* const resultA = await ns.prompt(queryA);
|
||||
* ns.tprint(`${queryA} ${resultA}`);
|
||||
*
|
||||
* // Another Yes/No question. Can also create a boolean dialog box by explicitly
|
||||
* // passing the option {"type": "boolean"}.
|
||||
* const queryB = "Is programming fun?";
|
||||
* const resultB = await ns.prompt(queryB, { type: "boolean" });
|
||||
* ns.tprint(`${queryB} ${resultB}`);
|
||||
*
|
||||
* // Free-form text box.
|
||||
* const resultC = await ns.prompt("Please enter your name.", { type: "text" });
|
||||
* ns.tprint(`Hello, ${resultC}.`);
|
||||
*
|
||||
* // A drop-down list.
|
||||
* const resultD = await ns.prompt("Please select your favorite fruit.", {
|
||||
* type: "select",
|
||||
* choices: ["Apple", "Banana", "Orange", "Pear", "Strawberry"]
|
||||
* });
|
||||
* ns.tprint(`Your favorite fruit is ${resultD.toLowerCase()}.`);
|
||||
* ```
|
||||
*
|
||||
* @param txt - Text to appear in the prompt dialog box.
|
||||
* @param options - Options to modify the prompt the player is shown.
|
||||
* @returns True if the player click “Yes”; false if the player clicks “No”; or the value entered by the player.
|
||||
* @returns True if the player clicks “Yes”; false if the player clicks “No”; or the value entered by the player.
|
||||
*/
|
||||
prompt(
|
||||
txt: string,
|
||||
|
Loading…
Reference in New Issue
Block a user