engine.console Functions
Controls console-related parameters.
Adding Console Command with Several Arguments#
The Console class can be used to create custom user console commands with a different number of arguments. This section provides an example of how to create a custom console command with several arguments.
In the example below, we perform the following actions:
- Define and implement methods for console commands.
- Add a new command.
1. Implementing Callback Function
In this example, we define 2 functions in the world script (unigine_project.usc file): one as a callback for a console command with no arguments and one for a console command with 1 argument.
// unigine_project.usc
// a script function to be executed for no arguments input
void console_action_callback() {
log.message("first action! no arguments!\n");
}
// a script function to be executed for 1 argument input
void console_action_callback(string arg) {
log.message("second action! the argument is: %s\n",arg);
}
2. Adding Custom Console Command
Add a custom command to the unigine_project.usc file by using engine.console.addCommand() function. By adding this code into init() function, the engine adds a new console command on world initialization.
// unigine_project.usc
/* ... */
int init() {
// add a command
engine.console.addCommand("console_action","my_command description","console_action_callback");
return 1;
}
/* ... */
3. Running Sample
Run the project and open the console. Write recently created command to check the result:
#if you write "console_action"
console_action
first action! no arguments!
#if you write "console_action arg"
console action arg
second action! the argument is: arg
To remove the added console command, use removeCommand() method.
See Also#
- C++ API sample located in the folder <UnigineSDK>/source/samples/Api/Systems/Console
- C# API sample located in the folder <UnigineSDK>/source/csharp/samples/Api/Systems/Console
Console Class
Members
void engine.console.setActivity ( int activity ) #
Open or close the console. By default the console is closed.Arguments
- int activity - Positive integer to make the console active (opened); otherwise, 0.
int engine.console.getActivity ( ) #
Returns a state of the console.Return value
1 if the console is active (opened); otherwise, 0.void engine.console.setBackgroundColor ( vec4 color ) #
Sets a background color for the console.Arguments
- vec4 color - Four-component vector specifying the color in the RGBA format.
int engine.console.isCommand ( string name ) #
Returns a value indicating if a command with a given name exists.Arguments
- string name - The command name.
Return value
1 if the command exists; otherwise, 0.string engine.console.getCommandDescription ( string name ) #
Returns the description of the console command by its name. If the name isn't specified, an empty string will be returned.Arguments
- string name - The command name.
Return value
The command description if it exists; otherwise, an empty string.string engine.console.getCommandName ( int num ) #
Returns the name of the console command by its number in the array of the existing commands.Arguments
- int num - The command number.
Return value
The command name if it is found in the array of the existing commands; otherwise, an empty string.void engine.console.setErrorColor ( vec4 color ) #
Sets a color for error messages in the console.Arguments
- vec4 color - Four-component vector specifying the color in the RGBA format.
void engine.console.setFloat ( string name, float value ) #
Sets a float value for a given variable.Arguments
- string name - The variable name.
- float value - Float value of the variable.
float engine.console.getFloat ( string name ) #
Returns a float value of a given variable.Arguments
- string name - The variable name.
Return value
Float value of the variable.float engine.console.getFloatMax ( string name ) #
Returns a maximum float value for a given variable.Arguments
- string name - Variable name.
Return value
Maximum float value of the variable.float engine.console.getFloatMin ( string name ) #
Returns a minimum float value for a given variable.Arguments
- string name - Variable name.
Return value
Minimum float value of the variable.int engine.console.isFloat ( string name ) #
Checks if the value set for the given console variable is of the float type.Arguments
- string name - The variable name.
Return value
1 if the variable value is float; otherwise, 0.void engine.console.setInt ( string name, int value ) #
Sets an integer value for a given variable.Arguments
- string name - Variable name.
- int value - Value of the variable.
int engine.console.getInt ( string name ) #
Returns an integer value of a given variable.Arguments
- string name - Variable name.
Return value
Value of the variable.int engine.console.getIntMax ( string name ) #
Returns a maximum integer value for a given variable.Arguments
- string name - Variable name.
Return value
Maximum integer value of the variable.int engine.console.getIntMin ( string name ) #
Returns a minimum integer value for a given variable.Arguments
- string name - Variable name.
Return value
Minimum integer value of the variable.int engine.console.isInt ( string name ) #
Checks if the value of the given console variable is of the integer type.Arguments
- string name - The variable name.
Return value
1 if the variable value is int; otherwise, 0.void engine.console.setLock ( int lock ) #
Disables or enables the console. By default the console is enabled.Arguments
- int lock - Positive integer to disable the console; otherwise, 0.
int engine.console.getLock ( ) #
Checks if the console is disabled.Return value
1 if the console is disabled; otherwise, 0.void engine.console.setMessageColor ( vec4 color ) #
Sets a color for ordinary messages in the console.Arguments
- vec4 color - Four-component vector specifying the color in the RGBA format.
int engine.console.getNumCommands ( ) #
Returns the number of all available console commands, including the custom ones.Return value
The number of available console commands.int engine.console.getNumVariables ( ) #
Returns the number of all available console variables.Return value
The number of available console variables.void engine.console.setPrompt ( string str ) #
Updates the console prompt. The default prompt is Unigine~#.Arguments
- string str - New console prompt.
void engine.console.setString ( string name, string value ) #
Sets a string value for a given variable.Arguments
- string name - The variable name.
- string value - String value of the variable.
string engine.console.getString ( string name ) #
Returns the string value of a given variable.Arguments
- string name - The variable name.
Return value
String value of the variable.int engine.console.isString ( string name ) #
Checks if the value of the given console variable is of the string type.Arguments
- string name - The variable name.
Return value
1 if the variable value is string; otherwise, 0.void engine.console.setTextColor ( vec4 color ) #
Sets a common font color for the console.Arguments
- vec4 color - Four-component vector specifying the color in the RGBA format.
int engine.console.isVariable ( string name ) #
Returns a value indicating if a variable with a given name exists.Arguments
- string name - The variable name.
Return value
1 if the variable exists; otherwise, 0.string engine.console.getVariableDescription ( string name ) #
Returns the description of the console variable by its name. If the name isn't specified, an empty string will be returned.Arguments
- string name - The variable name.
Return value
The variable description if it exists; otherwise, an empty string.string engine.console.getVariableName ( int num ) #
Returns the name of the console variable by its number in the array of the existing variables.Arguments
- int num - The variable number.
Return value
The variable name if it is found in the array of the existing variables; otherwise, an empty string.void engine.console.setVec2 ( string name, vec2 value ) #
Sets a two component vector for the console variable.Arguments
- string name - Name of the variable.
- vec2 value - Value of the variable.
vec2 engine.console.getVec2 ( string name ) #
Returns the two component vector console variable.Arguments
- string name - Name of the variable.
Return value
Value of the variable.int engine.console.isVec2 ( string name ) #
Returns a value indicating if the console variable is a two component vector.Arguments
- string name - Name of the variable.
Return value
1 if the variable is a two component vector; otherwise, 0.void engine.console.setVec3 ( string name, vec3 value ) #
Sets a three component vector for the console variable.Arguments
- string name - Name of the variable.
- vec3 value - Value of the variable.
vec3 engine.console.getVec3 ( string name ) #
Returns the three component vector console variable.Arguments
- string name - Name of the variable.
Return value
Value of the variable.int engine.console.isVec3 ( string name ) #
Returns a value indicating if the console variable is a three component vector.Arguments
- string name - Name of the variable.
Return value
1 if the variable is a three component vector; otherwise, 0.void engine.console.setVec4 ( string name, vec4 value ) #
Sets a four component vector for the console variable.Arguments
- string name - Name of the variable.
- vec4 value - Value of the variable.
vec4 engine.console.getVec4 ( string name ) #
Returns the four component vector console variable.Arguments
- string name - Name of the variable.
Return value
Value of the variable.int engine.console.isVec4 ( string name ) #
Returns a value indicating if the console variable is a four component vector.Arguments
- string name
Return value
1 if the variable is a three component vector; otherwise, 0.void engine.console.setWarningColor ( vec4 color ) #
Sets a color for warning messages in the console.Arguments
- vec4 color - Four-component vector specifying the color in the RGBA format.
int engine.console.addCommand ( string name, string desc, string callback ) #
Adds a custom console command bound to a given callback function. The command can have up to 6 arguments, which will be passed to the script function.Arguments
- string name - Name of the new console command.
- string desc - Short description to be displayed in the console.
- string callback - Name of the callback function to be run on command execution.