Machinations Documentation
  • What is Machinations?
  • ☉Getting Started
    • Explore
    • Interface
    • Framework Basics
    • How-To Videos
  • ▷ Simulations
    • Run Modes
    • Charts
  • ⦽ Basic Nodes
    • Pools
    • Sources
    • Drains
  • ⇢ Connections
    • Resource Connections
    • State Connections
      • Label Modifiers
      • Node Modifiers
      • Triggers
      • Activators
    • Labels
  • ⧰ Advanced Nodes
  • Converters & Traders
  • Gates
    • Sorting Gates
    • Trigger Gates
    • Mixed Gates
  • Registers
    • Math.js Functions
  • Delays & Queues
  • End Conditions
  • Artificial Player
  • ✑ Nodes Properties
    • Activation Modes
    • Pulling & Pushing Resources
    • Filter (Colour Coding)
  • ⚯ Collaboration
    • Live Collaborative Editing
    • Public Diagrams
    • Google Sheets
    • Tags
  • ♔ Accounts
    • User Profile
    • Pricing
    • Billing Policy
    • Team Management
  • ☆ Tips
    • Shortcuts
    • Best Practices
  • ⚙️Unity Plugin (UP) & API
    • Game Engine Plugin
    • Quick Start
    • Main Concepts
    • Real-Time Sync
    • Unity Integration Guide
    • Known Issues
    • Key Features
      • Game-Aware Analytics
      • Local Cache
      • Game State Awareness
      • Data Formats & Handoff
  • ≏ Evolution
    • Changelog
    • Framework Diff Log
  • 〄 Localisations
  • 🇷🇺 RU by Lev "evlko" Kobelev
Powered by GitBook
On this page
  1. ✑ Nodes Properties

Pulling & Pushing Resources

getting Resources from A to B

PreviousActivation ModesNextFilter (Colour Coding)

Last updated 4 years ago

A Node can be set to either Push or Pull Resources, function to what action it needs to take once activated.

Set this attribute of a Pool in the drop-down menu in Properties > Action:

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 —the number beside the line.

Nodes default to pull mode.

Alternatively, a Node can be set in push mode. In this mode, when the Node fires, it pushes Resources along its output connections.

A Node in push mode is marked with a p

Passive Pools that have only outputs are automatically set to push mode, in which case the p marker is omitted.

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:

  1. 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.

  2. Alternatively, a Node can be set to pull all Resources. In this mode, when not all Resources are available, none are pulled.

Nodes that are in pull all mode are marked with an & sign.

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.

A pushing Node in all mode sends Resources only when it can supply all of its outputs. This means that Nodes in push mode might be marked with both a p and an &.

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.

You may want to check out:

Hourglass Example

🔧
Resource Connection
Push and Pull All