[Node] Variable Manager
A Variable Manager could prove fairly useful in the context of a game or simulation which would imply the management of numerous variables. Having such a manager could help edit, organize, sort, import & export large amounts of data. It would provide the user the possibility to create named "Containers" (i.e. "resources"), then within these containers, he could create named "values" (i.e. "wood") which would get an assigned Int, Float or String (i.e. 5).
"Resources" contains "Wood = 5", "Iron = 10", "Water = 12.5"
"Marcus" contains "Work = 'Butcher', "City = "BlackCastle", "Money = "200"
The node's window would be split in two parts:
This part would hold the "containers". User can use a "+" button which would create a new Container named "New Entry" which can be renamed. Clicking any existing entry will update the right panel, displaying the content of this container. A "-" button could also be used to remove the selected entry.
This part holds all the values integrated within the selected container. User can use a "+" button to add a new value, which would add a new line to the list. The line would start with a drop-down list giving the choice between "Int", "Float" or "String". It could also use non-prog related descriptions. In front of the choice, two data fields named "Value" and "Content", which can be edited.
A "-" button allows the user to remove a value.
The window would also hold "export" and "import" buttons (which should also be available as Inputs for the Node).
A drop down menu including several templates for Strategy Games, Simulations, Management games etc could be provided to help the user to understand the node.
- The player wants to hire an NPC; he checks numerous characters and chooses based on the character's specs.
- The player wants to build a bridge; for that, he needs to have enough wood along with enough nails. If he does not, he fails to build the bridge.
A very simple way to read, edit, manage, stock and load large amounts of variables sorted this way would open a large number of possibilities within OpenSpace3D, helping users which are not familiar with code to create rich and complex simulations.