Event listener for Interaction type events.
Interaction type events can occur between any two Interactors (whether they be Shapes, Bodys, Compounds or a mix thereof).
The events that can be caught are BEGIN, ONGOING, and END type events. Theses listeners will operate between pairs of Interactors.
The possible interactor pairs for callbacks are formed by finding the most recent common ancestor in the world for the given pair of shapes and taking all possible pairings. In the above situation we have:
_Space / \ Cmp1 Cmp3
/ \ | Body1 Cmp2 Body3 | | | Shp1 Body2 Shp3
MRCA(Shp1, Shp2) = Cmp1 --> Possible pairings = [Shp1, Body1] x [Shp2, Body2, Cmp2] MRCA(Shp1, Shp3) = Space --> Possible pairings = [Shp1, Body1, Cmp1] x [Shp3, Body3, Cmp3] MRCA(Shp2, Shp3) = Space --> Possible pairings = [Shp2, Body2, Cmp2, Cmp1] x [Shp3, Body3, Cmp3]Of course, not all of these pairings will generate callbacks, only those for which a valid listener exists for the event type, and for the cbtypes of each interactor.
Furthermore, the listener specifies an interaction type which works even in mixed cases where many types of interaction between two objects is happening at once.
new(event:CbEvent, interactionType:InteractionType, options1:Null<Dynamic>, options2:Null<Dynamic>, handler:InteractionCallback ‑> Void, precedence:Int = 0)
Construct a new InteractionListener.
The possible event types are BEGIN, ONGOING and END.
The options arguments are typed Dynamic, and are permitted to be either an
OptionType or one of:
CbType, CbTypeList, Array<CbType>, flash.Vector<CbType>
In which case the input CbType's will be used to construct an OptionType
whose included types will be the set of CbTypes supplied.
The event type to listen for.
The interaction type to listen for.
The OptionType to match first Interactor against, passing null will equate to an empty OptionType.
The OptionType to match second Interactor against, passing null will equate to an empty OptionType.
The callback handler for this listener.
The precedence of this listener used to sort the order of callbacks in the case of more than one suitable BodyListener existing for the same event on the same Body. (default 0)
The newly constructed InteractionListener
If handler is null.
If the event type is not permitted for this listener.
If either option is not of the expected Type.
For ONGOING listeners only, permit ONGOING callbacks whilst sleeping.
This property determines whether we will still receive ONGOING callbacks between two sleeping Interactors. The default action is to inhibit callbacks between sleeping objects for performance. Setting this field to true will permit Nape to always generate callbacks.
The specific type of interaction that is to be listened for.
If we specify that we only want to listen for a fluid type interaction, then this listener will operate so that any other interactions for the same pair of objects is ignored.
zpp_inner_zn:ZPP_InteractionListener = null