Module technology.sola.engine
Class CollisionDetectionSystem
java.lang.Object
technology.sola.ecs.EcsSystem
technology.sola.engine.physics.system.CollisionDetectionSystem
@NullMarked
public class CollisionDetectionSystem
extends technology.sola.ecs.EcsSystem
The CollisionDetectionSystem class is a
EcsSystem implementation that handles checking if a World
has any Entity with ColliderComponents that are colliding with each other. If a
collision is detected either a SensorEvent or a CollisionEvent will be emitted depending on if either
collider ColliderComponent.isSensor() or not.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intCollision detection order is one after thePhysicsSystem.ORDER. -
Constructor Summary
ConstructorsConstructorDescriptionCollisionDetectionSystem(EventHub eventHub) Creates a CollisionDetectionSystem that uses an auto sizingQuadTreeCollisionDetectionBroadPhase.CollisionDetectionSystem(EventHub eventHub, CollisionDetectionBroadPhase collisionDetectionBroadPhase) Creates a CollisionDetectionSystem with customCollisionDetectionBroadPhasealgorithm. -
Method Summary
Modifier and TypeMethodDescriptionintgetOrder()voidsetCollisionDetectionBroadPhase(CollisionDetectionBroadPhase collisionDetectionBroadPhase) Sets theCollisionDetectionBroadPhasealgorithm used for collision detection.voidupdate(technology.sola.ecs.World world, float deltaTime) Methods inherited from class technology.sola.ecs.EcsSystem
isActive, setActive
-
Field Details
-
ORDER
public static final int ORDERCollision detection order is one after thePhysicsSystem.ORDER.- See Also:
-
-
Constructor Details
-
CollisionDetectionSystem
Creates a CollisionDetectionSystem that uses an auto sizingQuadTreeCollisionDetectionBroadPhase.- Parameters:
eventHub-EventHubinstance
-
CollisionDetectionSystem
public CollisionDetectionSystem(EventHub eventHub, CollisionDetectionBroadPhase collisionDetectionBroadPhase) Creates a CollisionDetectionSystem with customCollisionDetectionBroadPhasealgorithm.- Parameters:
eventHub- theEventHubinstancecollisionDetectionBroadPhase- theCollisionDetectionBroadPhasealgorithm
-
-
Method Details
-
getOrder
public int getOrder()- Overrides:
getOrderin classtechnology.sola.ecs.EcsSystem
-
update
public void update(technology.sola.ecs.World world, float deltaTime) - Specified by:
updatein classtechnology.sola.ecs.EcsSystem
-
getCollisionDetectionBroadPhase
- Returns:
- the
CollisionDetectionBroadPhasecurrently being used
-
setCollisionDetectionBroadPhase
public void setCollisionDetectionBroadPhase(CollisionDetectionBroadPhase collisionDetectionBroadPhase) Sets theCollisionDetectionBroadPhasealgorithm used for collision detection.- Parameters:
collisionDetectionBroadPhase- the new broad phase algorithm to use
-