A Node can be set to either Push or Pull Resources, function to what action it needs to take once activated.
When a Node fires, it will try to pull Resources through any inputs connected to it. The number of Resources it pulls is determined by the rate of the individual input Resource Connection—the number beside the line.
Alternatively, a Node can be set in push mode. In this mode, when the Node fires, it pushes Resources along its output connections.
If a Node is trying to pull more Resources than there are at the far end of its inputs, it will handle it in one of two ways:
By default, a Node pulls as many Resources as it can, up to the flow rates of its inputs. If not enough Resources are available, it still pulls those that are.
Alternatively, a Node can be set to pull all Resources. In this mode, when not all Resources are available, none are pulled.
These rules also apply to pushing Nodes: by default, a pushing Node sends as many Resources as there are available out along its output Resource Connection up to the output’s flow rate.
In the video below, using Pools and Resource Connections, we constructed a simple hourglass.
The top Pool (A) is passive and contains 5 Resources, while the bottom Pool (B) is automatic and starts without any Resources. Every time step (in this case 1 second), B will pull one Resource from A, until all Resources have moved from A to B.