This wiki is out of date, use the continuation of this wiki instead

Signal

From FenixWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 01:26, 31 October 2007 (edit)
Sandman (Talk | contribs)
m
← Previous diff
Current revision (11:23, 21 July 2008) (edit) (undo)
Sandman (Talk | contribs)
m
 
(2 intermediate revisions not shown.)
Line 3: Line 3:
== Definition == == Definition ==
-'''INT''' Signal ( <'''INT''' processID|processTypeID> , <'''INT''' signal> )+'''INT''' signal ( <'''INT''' processID|processTypeID> , <'''INT''' signal> )
-Allows a [[process]] or a range of processes of certain [[processType]] to be controlled in a limited number of ways, by sending [[signals]].+Allows a [[process]]/[[function]] or a range of processes/functions of certain [[processType]] to be controlled in a limited number of ways, by sending [[signals]].
== Parameters == == Parameters ==
Line 32: Line 32:
To obtain the processType of a function, the operator [[Type]] can be used. To obtain the processType of a function, the operator [[Type]] can be used.
For a process to send a signal to itself, the [[local variable]] [[id]] can be used. For a process to send a signal to itself, the [[local variable]] [[id]] can be used.
-The parameter signal is passed by way of a set of [[constants|signals]] which denote the signal which is to be sent.+The parameter signal is passed by way of a set of [[signals]] which denote the signal which is to be sent.
 + 
 +To kill all processes at once, except the calling one, use [[let_me_alone]]().
== Example == == Example ==
<pre> <pre>
-Signal( get_id(type enemy) , s_kill ); // Kills a process of type enemy+signal( get_id(type enemy) , s_kill ); // Kills a process of type enemy
-Signal( id , s_kill_tree ); // Kills the process that calls it, and all of its descendants+signal( id , s_kill_tree ); // Kills the process that calls it, and all of its descendants
-Signal( Type player , s_freeze ); // Freezes all processes of type player so that they are+signal( Type player , s_freeze ); // Freezes all processes of type player so that they are
// still displayed, but do not execute any code. // still displayed, but do not execute any code.
</pre> </pre>
 +
 +{{Funcbox
 + | category = Processinteraction
 +}}

Current revision


Contents

[edit] Definition

INT signal ( <INT processID|processTypeID> , <INT signal> )

Allows a process/function or a range of processes/functions of certain processType to be controlled in a limited number of ways, by sending signals.

[edit] Parameters

INT processID|processTypeID - The ProcessID of the process or the ProcessTypeID of the type of processes to which the signal is to be sent.
INT signal - The code of the signal that is to be sent to the target process.

[edit] Returns

INT :

false - The specified processID|processTypeID was 0 or a processTypeID.
true - The specified processID|processTypeID was a processID.

[edit] Errors

Invalid processID - The process with specified processID is not alive. (Pre 0.90.2 only)
Invalid signal - The specified signal is invalid.

[edit] Notes

To obtain the processType of a function, the operator Type can be used. For a process to send a signal to itself, the local variable id can be used. The parameter signal is passed by way of a set of signals which denote the signal which is to be sent.

To kill all processes at once, except the calling one, use let_me_alone().

[edit] Example

signal( get_id(type enemy) , s_kill ); // Kills a process of type enemy
signal( id , s_kill_tree );            // Kills the process that calls it, and all of its descendants
signal( Type player , s_freeze );      // Freezes all processes of type player so that they are
                                       //     still displayed, but do not execute any code.


Processinteraction Functions
Advance() • Collision() • Exists() • Get_angle() • Get_dist() • Get_id() • Let_me_alone() • Signal() • Xadvance() •
Personal tools