Cabal Common Library Doc Keyboard

From Elite Wiki
Revision as of 14:12, 20 September 2023 by Cholmondely (talk | contribs) (Retagged!)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Overview

This is the main class for the keyboard with its members and part of the Cabal_Common_Library.

The keyboard is fairly simple to use and requires only a worldScripts call with a few parameters. Optionally, the calling script can provide a callback which is executed when the user has finished entering characters. Everything else performed within the script. The keyboard itself ships 4 different modes (Alphanumeric, Alphabetic, Numeric and Hexadecimal).

A keyboard can only be called when the player is docked! Please also note, that missionchoices are a bit tricky and may require a workaround if you are calling another mission screen with choices in the callback function.

Missionscreens in Cabal_Common_Keyboard.js are using the screenID Added in v1.7.1

"Cabal_Common_Keyboard"


Functions

start()

worldScripts.Cabal_Common_Keyboard( who, min, mode, scpic, scovl, scmod )

Starts the keyboard handling, creates the keyboard object and calls keyboardShow(). If ‘who’ is specified the script will callback after completing or aborting.

Parameters:

who
String. The name of a worldScript which implements the keyboard callback.
min
Number. Optional - minimum length for completion, default(4).
mode
Number. Optional - 1(only alphabetical), 2(only numeric), 3(hexadecimal), default 4(alphanumeric).
scpic
String. Optional. Name for screenbackground build upon scpic + suffix. The mode defines which one will be used.
scovl
String. Optional. Filename for screenoverlay (with fileextension). Default null.
scmod
String. Optional. Role for the used model. Default ‘cabal_common_key’.

Returns:

nothing

Suffixes are :

  • 1 - ‘_keyboard_alpha.png’
  • 2 - ‘_keyboard_nums.png’
  • 3 - ‘_keyboard_hex.png’
  • 4 - ‘_keyboard.png’

Example

 worldScripts.Cabal_Common_Keyboard.start(this.name,5,1);


keyboardEval()

worldScripts.Cabal_Common_Keyboard.keyboardEval = function( choice )

Workaround to change the context of this!!! It simply passes the choice to keyboardChoice().

Parameters:

choice
String. Passed parameter from Oolite.

Returns:

nothing

Calls:

 worldScripts.Cabal_Common_Keyboard.keyboardChoice(choice);


keyboardChoice()

worldScripts.Cabal_Common_Keyboard.keyboardChoice = function( choice )

Evaluates the user choice. When keyboard.toCall is specified and user confirms or aborts the keyboard input.

Parameters:

choice
String. Passed parameter from Oolite, passed through keyboardEval().

Returns:

nothing

Callback:

  • - String. if user aborts.
  • keyboard.input - String. If user confirmed input.
 worldScripts[this.keyboard.toCall].Cabal_Common_Keyboard_Output(this.keyboard.input);