Parameters are the means to control what a node does with (or without) their input entities. They are accessible in the inspector window when a node is selected.
There are parameters of several types such as integers, strings, floating-point, file paths, vectors, lists, etc. These are commonly found in most programming languages:
- Int: A integer number.
- Bool: A boolean value - either true or false.
- Float: A floating-point number, with a maximum of 6 decimal case precision.
- Double: A float-point number, with a maximum of 15 decimal case precision.
- String: A textual value, consisting of a string of characters.
- List: A composition of any of the basic types above, or of other lists. A list can hold items of the same type (like [1,4,6]) or several types (like [45,"Hello",true,10.0]). Lists can be associative, meaning that each list item has a key (like ["Name" : "John", "Age" : 20, "Married", false]).
- Object: A C# object that contains any of the above types or other objects. Sceelix's native libraries include the following object types:
- Vector2: An object with float fields X,Y for positioning and direction calculation in 2D space.
- Vector3: An object with float fields X,Y,Z for positioning and direction calculation in 3D space.
- Color: An object with byte fields R,G,B,A (all integers in the 0-255 range) that describes a RGB color with Alpha/transparency component.
For the same type of parameters, there are sometimes more than one available editor. For example, both a textbox and a multi-choice selection box could be used to write text strings.
These are the basic parameter types:
- compound: A composition of
- color: A compound value that holds color information, namely Red, Green, Blue and Alpha.
And these are the available controls that work on the available types:
- Int: A numeric spin control for introducing integer values. Produces values of type Int
- bool: A checkbox control that accepts only integer numbers.
- float: A numeric spin control that accepts floating-point numbers, with a maximum of 6 decimal case precision.
Parameters can be assigned fixed values but also mathematical expressions. Click on a parameter label to change the control to 'Expression'.
You can use math functions and arithmetic operations. A popup window will list existing functions.
It is important to match the type of value to the parameter type. Still, if you write in a string and the type is float, the value will be converted automatically.
You can also define "global" graph parameters and reference them in the nodes.
You can access them by left-clicking anywhere on the back graph canvas, which will display them in the inspector window. Alternatively, the right-click context menu or the top menu (Graph->Properties) will lead you to the same place.
Parameters are immutable, meaning that they cannot be changed throughout the graph. They work as global constants that can work as a single point of definition. If you are reusing the same value in several nodes, you could reference a global graph parameter. This way, you could change the actual value in a single location and all its references would be updated.
When a node parameter is in expression mode, a button with a "+" sign becomes available. This allows the quick creation of a new graph parameter. By default, the popup window that appears will suggest one with the same (or similar) name, type and default value, but you could change these. When accepted, a reference to the parameter will be added to the expression textbox.