Impact Interaction System API
Impact.Triggers.ImpactSpeculativeCollisionTriggerBase< TCollision, TContact > Class Template Reference
Inheritance diagram for Impact.Triggers.ImpactSpeculativeCollisionTriggerBase< TCollision, TContact >:
Impact.Triggers.ImpactCollisionTriggerBase< TCollision, TContact > Impact.Triggers.ImpactTriggerBase< TCollision, TContact > Impact.Triggers.IImpactTrigger

Protected Member Functions

void processSpeculativeCollision (TCollision collision)
 
- Protected Member Functions inherited from Impact.Triggers.ImpactCollisionTriggerBase< TCollision, TContact >
override void buildInteractionData (IImpactObject target, TCollision collision, TContact contactPoint, VelocityData myVelocityData, VelocityData otherVelocityData, ImpactTagMask? tagMask, float CompositionValue)
 Called by the process methods to build IInteractionData. Override this if your custom triggers are using any of the process methods. More...
 
- Protected Member Functions inherited from Impact.Triggers.ImpactTriggerBase< TCollision, TContact >
IImpactObject getImpactObject (GameObject collider)
 Attempts to retrieve an IImpactObject to send interaction data to. If MainTarget is set, MainTarget will be returned. Otherwise it will attempt to get the IImpactObject component from the given game object or one of its parents. More...
 
void processCollision (TCollision collision)
 Takes the given IImpactCollisionWrapper and processes it based on the trigger settings. Override buildAndSendCollisionParameters to receive the built data and convert it to IInteractionData to send to an IImpactObject. More...
 
void processCollisionSingleContact (TCollision collision)
 Takes the given IImpactCollisionWrapper and processes it for a single contact only (the first contact). Override buildAndSendCollisionParameters to receive the data and convert it to IInteractionData to send to an IImpactObject. More...
 
void processCollisionSingleAveragedContact (TCollision collision)
 Takes the given IImpactCollisionWrapper and processes it for a single averaged contact. Override buildAndSendCollisionParameters to receive the data and convert it to IInteractionData to send to an IImpactObject. More...
 
void processCollisionMultipleContacts (TCollision collision)
 Takes the given IImpactCollisionWrapper and processes all of it's contact points. Override buildAndSendCollisionParameters to receive the data and convert it to IInteractionData to send to an IImpactObject. More...
 
void processCollisionContact (TCollision collision, TContact contactPoint)
 Process a collision contact to get all material and velocity data. The material and velocity data will be sent to buildInteractionData, which you can override. More...
 
ImpactTagMaskgetOtherObjectTagMask (IImpactObject impactObject, Vector3 point, int otherPhysicsMaterialID, bool hasOtherObject)
 
virtual void buildInteractionData (IImpactObject target, TCollision collision, TContact contactPoint, VelocityData myVelocityData, VelocityData otherVelocityData, ImpactTagMask? tagMask, float compositionValue)
 Called by the process methods to build IInteractionData. Override this if your custom triggers are using any of the process methods. More...
 
void invokeTriggeredEvent (InteractionData interactionData, IImpactObject impactObject)
 

Properties

int MaxCollisionsPerFrame [get, set]
 The maximum number of collisions that can be generated in a single frame.
 
float ContactPointComparisonThreshold [get, set]
 Value used for comparing contact point relative positions. Contact points will be considered identical if the sqrMagnitude of their difference is less than this value.
 
int ContactPointLifetime [get, set]
 How many frames should a contact point be alive for before it is removed from the list of active contacts? Increasing this value can reduce the likelyhood of interactions happening in quick succession for the same contact point.
 
- Properties inherited from Impact.Triggers.ImpactTriggerBase< TCollision, TContact >
bool Enabled [get, set]
 Should this trigger process any collisions? You should use this instead of the normal enabled property because collision messages are still sent to disabled components. More...
 
ImpactObjectBase MainTarget [get, set]
 The ImpactObjectBase this trigger will use for interaction calculations. More...
 
bool UseMaterialComposition [get, set]
 Should this trigger use the material composition of the objects it hits? If true, interaction data will be sent for each material at the interaction point. If false, interaction data will only be sent for the primary material at the interaction point. More...
 
ImpactTriggerContactMode ContactMode [get, set]
 How collision contacts should be handled. More...
 
bool HighPriority [get, set]
 Should this trigger ignore the Physics Interactions Limit set in the Impact Manager? More...
 
- Properties inherited from Impact.Triggers.IImpactTrigger
bool Enabled [get, set]
 Should this trigger process any collisions? You should use this instead of the normal enabled property because collision messages are still sent to disabled components. More...
 
ImpactObjectBase MainTarget [get, set]
 The ImpactObjectBase this trigger will use for interaction calculations. More...
 
bool UseMaterialComposition [get, set]
 Should this trigger use the material composition of the objects it hits? If true, interaction data will be sent for each material at the interaction point. If false, interaction data will only be sent for the primary material at the interaction point. More...
 
ImpactTriggerContactMode ContactMode [get, set]
 How collision contacts should be handled. More...
 
bool HighPriority [get, set]
 Should this trigger ignore the Physics Interactions Limit set in the Impact Manager? More...
 

Additional Inherited Members

- Events inherited from Impact.Triggers.ImpactTriggerBase< TCollision, TContact >
Action< InteractionData, IImpactObjectOnTriggered
 Invoked when triggered. Sends the Interaction Data and the Impact Object that was triggered.