UnigineScript
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
Samples
Usage Examples
C++ API
API Reference
Integration Samples
Usage Examples
C++ Plugins
Migration
Migrating to UNIGINE 2.0
C++ API Migration
Migrating from UNIGINE 2.0 to UNIGINE 2.1

If-Else

The if construct allows executing code fragments, if a certain condition is true. The optional else part executes some other code, if the condition is false.

Syntax

Source code (UnigineScript)
if(expression) { 
	// code_if_true
} else { 
	// code_if_false 
}

Parts

  • expression is a condition.

Example

Source code (UnigineScript)
int a = 2;
int b = 5;

if(a > b) {
	log.message("true\n");
} else {
	log.message("false\n");
}

// output: false

You can use if and else separetely.

Source code (UnigineScript)
int a=2;
if(a == 2) log.message("a is equal to 2\n");

// the result is: a is equal to 2

Notice
Note that if you use a complex boolean expression as a condition, the expression will be evaluated from the left to the right (short-circuit evaluation):
Source code (UnigineScript)
int func(int a) {
	return a;
}

// there will be only one (the first) call of func()
if(func(0) && func(1)) log.message("true\n");
// func() will be called twice
if(func(1) && func(1)) log.message("true\n");
// there will be only one (the first) call of func()
if(func(1) || func(1)) log.message("true\n");
// func() will be called twice
if(func(0) || func(1)) log.message("true\n");
Last update: 2017-07-03