Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contact Ended System Overhaul #52

Merged
merged 18 commits into from
Dec 15, 2024
Merged

Contact Ended System Overhaul #52

merged 18 commits into from
Dec 15, 2024

Conversation

SoloByte
Copy link
Collaborator

The Contact Ended system was lacking functionality and did not work correctly after the 3.0 changes to how collision information is collected. I have split the system in 2 systems:

  • One for contacts between colliders (the same as it was before)
  • One for contacts between collision objects

Each individual collision / overlap between two colliders reports FirstContact and Contact ended. In addition to that CollisionObjects now report FirstContact and Contact ended as well. If two collision objects contact for the first time (with any pair of colliders) FirstContact within the resulting CollisionInformation will be true. As soon as all contacts between those two collision objects have ended, ContactEnded() will be called on the active collision object.

Previously, this was not possible on the user side because only colliders reported FirstContact/ ContactEnded without anything taking CollisionObjects into account. So if a collider reported ContactEnded, it was still possible that another pair of colliders between the same collision objects was still in contact.

- CollisionEnded renamed to ContactEnded
- New Contact class added
-
- OnContactEnded event fixed
- OnColliderContact event fixed
- ResolveContactEnded function implemented
- ResolveColliderContactEnded function implemented
… info from List<CollisionInformation> info.

- CollisionHandler updated.
- EndlessSpaceCollision scene updated.
- GameObjectHandlerExample scene updated.
…onPoint renamed to GetCombinedCollisionPoint in Collision.
…ads) added to CollisionInformation. Exists, Find, FindAll functions added to CollisionInformation.
@SoloByte SoloByte merged commit 1d7d377 into main Dec 15, 2024
@SoloByte SoloByte deleted the contact-ended-system branch December 15, 2024 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant