engine.console Functions
Controls console-related parameters.
Onscreen Console Overlay#
By default the console overlay is disabled. To make it output console messages to the application screen it should be enabled. You can adjust the overlay’s behavior and appearance as well as specify the messages that will be printed exclusively to the onscreen overlay and will not be written to the console.
You can customize the console font by using the setFontSize(), setMessageColor(), setWarningColor(), and setErrorColor() methods. See the following example:
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
- HowTo video on Printing User Messages to Console with C#
Console Class
Members
void engine.console.setActive ( int active ) #
Opens or closes the console. By default the console is closed.Arguments
- int active - Positive integer to make the console active (opened); otherwise, 0.
int engine.console.isActive ( ) #
Returns a value indicating if the console is opened or closed.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.
void engine.console.setFontSize ( int size ) #
Sets the size for the console font.Arguments
- int size - The size of the console font.
int engine.console.getFontSize ( ) #
Returns the size for the console font.Return value
The size of the console font.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 with a given name 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
True if the variable value is float; otherwise, false.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
True if the variable value is int; otherwise, false.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 prompt ) #
Updates the console prompt. The default prompt is Unigine~#.Arguments
- string prompt - New console prompt.
string engine.console.getPrompt ( ) #
Returns the console prompt.Return value
The prompt text.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
True if the variable value is string; otherwise, false.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
True if the variable exists; otherwise, false.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
True if the variable is a two component vector; otherwise, false.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
True if the variable is a three component vector; otherwise, false.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
True if the variable is a three component vector; otherwise, false.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.
Return value
1 if the custom command is added successfully; otherwise, 0.void engine.console.flush ( ) #
Forces to execute all queued console commands.engine.console.removeCommand ( ) #
Removes a custom console command.Arguments
Return value
1 if the custom command has been removed successfully; otherwise, 0.void engine.console.run ( ) #
Runs the specified console command.Arguments
vec4 engine.console.getBackgroundColor ( ) #
Returns the background color for the console.Return value
Four-component vector specifying the color in the RGBA format.vec4 engine.console.getMessageColor ( ) #
Returns the color for ordinary messages in the console.Return value
Four-component vector specifying the color in the RGBA format.vec4 engine.console.getWarningColor ( ) #
Returns the color for warning messages in the console.Return value
Four-component vector specifying the color in the RGBA format.vec4 engine.console.getErrorColor ( ) #
Returns the color for error messages in the console.Return value
Four-component vector specifying the color in the RGBA format.vec4 engine.console.getTextColor ( ) #
Returns the common font color for the console.Return value
Four-component vector specifying the color in the RGBA format.void engine.console.setFontSize ( int size ) #
Returns the current font size used for console messages.Arguments
- int size - New font size to be set for console messages
int engine.console.getFontSize ( ) #
Returns the current font size used for console messages.Return value
Current font size set for console messagesvoid engine.console.setHeight ( int height ) #
Sets the height of the console.Arguments
- int height - Height of the console as percentage of the window height.
int engine.console.getHeight ( ) #
Returns the console height in percentage of the window height.void engine.console.setLimit ( int limit ) #
Sets the maximum number of messages the console can output.Arguments
- int limit - Maximum number of messages the console can output.
int engine.console.getLimit ( ) #
Returns the maximum number of messages the console can output. The default value is 16384.void engine.console.setWrapping ( int wrapping ) #
Enables the text wrapping to the next line.Arguments
- int wrapping - 1 to set the text wrapping; otherwise, 0.
int engine.console.isWrapping ( ) #
Returns a value indicating if the text wrapping is enabled for the console.void engine.console.setOnscreen ( int onscreen ) #
Shows or hides the onscreen overlay.Arguments
- int onscreen - 1 to show the overlay; otherwise, 0.
int engine.console.isOnscreen ( ) #
Returns a value indicating if the onscreen overlay is shown or hidden.Return value
True if the overlay is shown; otherwise, 0.void engine.console.setOnscreenFontSize ( int scale ) #
Sets the size for the onscreen overlay font.Arguments
- int scale - Size for the onscreen overlay font.
int engine.console.getOnscreenFontSize ( ) #
Returns the size of the onscreen overlay font.Return value
The size of the console font.void engine.console.setOnscreenHeight ( int height ) #
Sets the height value for the onscreen overlay.Arguments
- int height - Height of the onscreen overlay in percentage of the window height.
int engine.console.getOnscreenHeight ( ) #
Returns the height for the onscreen overlay.Return value
The height of the onscreen overlay in percentage of the window height.void engine.console.setOnscreenTime ( float time ) #
Sets the time during which the text is displayed on the screen.Arguments
- float time - Time in seconds.