Impact CFX API 1.3.0
Comprehensive API documentation for Impact CFX - Collision Effects System
Loading...
Searching...
No Matches
ImpactCFX.ImpactCFXManager Class Reference

The primary manager of the entire Impact CFX system. More...

Inheritance diagram for ImpactCFX.ImpactCFXManager:

Classes

class  CollisionTypeLimit
 Defines a limit for a certain type of collision. More...
 

Public Member Functions

void RegisterMaterials (ImpactMaterialRegistry materials)
 Registers a list of materials from a registry to convert them into data structures suitable for use in jobs.
 
void RegisterMaterials (IEnumerable< ImpactMaterialAuthoring > materials)
 Registers a list of materials to convert them into data structures suitable for use in jobs.
 
void RegisterMaterial (ImpactMaterialAuthoring material)
 Registers a single material to convert it into data structures suitable for use in jobs.
 
void ClearAllRegistered ()
 Completely disposes of and destroys all registered material and effect data and objects.
 
void FindObjectsAndRegisterMaterials ()
 Finds all Impact Objects in the active scene and forces them to register their materials.
 
void QueueCollision (IImpactObject triggerObject, IImpactObject hitObject, ImpactContactPoint contactPoint, CollisionType collisionType, int triggerObjectMaterialCount, int hitObjectMaterialCount, CollisionVelocityMethod collisionVelocityMethod)
 Queues a collision between 2 objects.
 
void QueueCollision (IImpactObject triggerObject, ImpactObjectData hitObjectData, ImpactContactPoint contactPoint, CollisionType collisionType, int triggerObjectMaterialCount, CollisionVelocityMethod collisionVelocityMethod)
 Queues a collision using basic data for the object that was hit.
 
void QueueCollision (ImpactObjectData triggerObjectData, IImpactObject hitObject, ImpactContactPoint contactPoint, CollisionType collisionType, int hitObjectMaterialCount, CollisionVelocityMethod collisionVelocityMethod)
 Queues a collision using basic data for the object triggering the collision.
 
bool CanQueueCollision (CollisionType collisionType, int materialCount)
 Is there remaining capacity for a collision of the given type?
 
bool TryGetEffectProcessor< T > (out T effectProcessor)
 Try to get the effect processor of the given type.
 
bool TryGetMaterialProcessor< T > (out T materialProcessor)
 Try to get the material processor of the given type.
 
void ResetAllEffectProcessors ()
 Resets all effect processors controlled by this manager.
 

Properties

int CollisionQueueCapacity [get]
 The capacity of the array used to gather collision data from colliding objects in a frame.
 
int MaterialQueueCapacity [get]
 The capacity of the array used to gather materials from colliding objects in a single frame.
 

Detailed Description

The primary manager of the entire Impact CFX system.

Member Function Documentation

◆ CanQueueCollision()

bool ImpactCFX.ImpactCFXManager.CanQueueCollision ( CollisionType  collisionType,
int  materialCount 
)

Is there remaining capacity for a collision of the given type?

Parameters
collisionTypeThe type of collision
materialCountThe number of materials that will need to be processed for the collision.

◆ QueueCollision() [1/3]

void ImpactCFX.ImpactCFXManager.QueueCollision ( IImpactObject  triggerObject,
IImpactObject  hitObject,
ImpactContactPoint  contactPoint,
CollisionType  collisionType,
int  triggerObjectMaterialCount,
int  hitObjectMaterialCount,
CollisionVelocityMethod  collisionVelocityMethod 
)

Queues a collision between 2 objects.

Parameters
triggerObjectThe object that triggered the collision.
hitObjectThe object being collided with.
contactPointThe contact point of the collision.
collisionTypeThe type of collision.
triggerObjectMaterialCountThe number of materials to get for the object that triggered the collision.
hitObjectMaterialCountThe number of materials to get for the object that was hit.
collisionVelocityMethodThe method to use for calculating the collision velocity.

◆ QueueCollision() [2/3]

void ImpactCFX.ImpactCFXManager.QueueCollision ( IImpactObject  triggerObject,
ImpactObjectData  hitObjectData,
ImpactContactPoint  contactPoint,
CollisionType  collisionType,
int  triggerObjectMaterialCount,
CollisionVelocityMethod  collisionVelocityMethod 
)

Queues a collision using basic data for the object that was hit.

Parameters
triggerObjectThe object that triggered the collision.
hitObjectDataBasic data for the object being collided with.
contactPointThe contact point of the collision.
collisionTypeThe type of collision.
triggerObjectMaterialCountThe number of materials to get for the object that triggered the collision.
collisionVelocityMethodThe method to use for calculating the collision velocity.

◆ QueueCollision() [3/3]

void ImpactCFX.ImpactCFXManager.QueueCollision ( ImpactObjectData  triggerObjectData,
IImpactObject  hitObject,
ImpactContactPoint  contactPoint,
CollisionType  collisionType,
int  hitObjectMaterialCount,
CollisionVelocityMethod  collisionVelocityMethod 
)

Queues a collision using basic data for the object triggering the collision.

Parameters
triggerObjectDataBasic data for the object that triggered the collision.
hitObjectThe object being collided with.
contactPointThe contact point of the collision.
collisionTypeThe type of collision.
collisionVelocityMethodThe method to use for calculating the collision velocity.

◆ RegisterMaterial()

void ImpactCFX.ImpactCFXManager.RegisterMaterial ( ImpactMaterialAuthoring  material)

Registers a single material to convert it into data structures suitable for use in jobs.

Parameters
materialThe material being registered.

◆ RegisterMaterials() [1/2]

void ImpactCFX.ImpactCFXManager.RegisterMaterials ( IEnumerable< ImpactMaterialAuthoring materials)

Registers a list of materials to convert them into data structures suitable for use in jobs.

Parameters
materialsThe materials being registered.

◆ RegisterMaterials() [2/2]

void ImpactCFX.ImpactCFXManager.RegisterMaterials ( ImpactMaterialRegistry  materials)

Registers a list of materials from a registry to convert them into data structures suitable for use in jobs.

Parameters
materialsThe material registry containing the materials to be registered.

◆ TryGetEffectProcessor< T >()

bool ImpactCFX.ImpactCFXManager.TryGetEffectProcessor< T > ( out T  effectProcessor)

Try to get the effect processor of the given type.

Template Parameters
TThe type of effect processor.
Parameters
effectProcessorThe effect processor that was found, if any.
Returns
True if an effect processor matching the given type was found. False otherwise.
Type Constraints
T :ImpactEffectProcessorBase 

◆ TryGetMaterialProcessor< T >()

bool ImpactCFX.ImpactCFXManager.TryGetMaterialProcessor< T > ( out T  materialProcessor)

Try to get the material processor of the given type.

Template Parameters
TThe type of effect processor.
Parameters
materialProcessorThe material processor that was found, if any.
Returns
True if an material processor matching the given type was found. False otherwise.
Type Constraints
T :ImpactMaterialProcessorBase