A ProcessID is a unique identification code, for one instance of a processType. A ProcessID is always larger than 65536 (2^16).
This makes it possible to use for example the function collision() in an if() statement. This is because collision() returns the ProcessID the process calling collision() has collided with. Both processes and functions have processID's.
ProcessID is used when referring to specific process (an instance of a processType) and access/edit its local variables and/or public variables. The ProcessID of a process is found by one of the following methods:
- Returned when the frame; statement is found in the process.
- Returned by the get_id() function.
- Returned by the collision() function.
- Stored as the local variable id (holds the process' own ProcessID).
- Stored as the local variable father (holds the ProcessID of the process that [[call|called the current process).
- Stored as the local variable son (holds the ProcessID of the process last called from the current process).
- Stored]] as the local variable bigbro (holds the ProcessID of the process called by the father immediately before the current process).
- Stored as the local variable smallbro (holds the ProcessID of the process called by the father immediately after the current process).
The ProcessID can either be used as an argument for a function such as get_angle() or get_dist() or as a way of using the local or public variable of another process. For example, to use the x and y local variables of a process.
Program example; Declare Process SpaceShip() Public int speed = 50; String name = "Galactica"; End End Global SpaceShip ship; Begin ship = SpaceShip(); // ship now holds the ProcessID of an instance of SpaceShip // Code in SpaceShip will be executed until the first frame; is reached say(ship.name + ": " + ship.speed); // We address the public variables of ship signal(ship,S_KILL); Repeat frame; Until(key(_ESC)) End Process SpaceShip() Begin name = "Pegasus"; speed = 60; Loop frame; End End