Lightweight MonoBehaviour added to each collision-group object that forwards trigger events to GroupCollisionChecker. More...
Public Attributes | |
| GroupCollisionChecker | checker |
| Reference to the owning GroupCollisionChecker. | |
| int | groupIndex |
| Index of the collision group this object belongs to. | |
| int | originalLayer |
| Original layer before collision system setup (restored on cleanup). | |
| Renderer[] | cachedRenderers |
| Renderers cached at setup time (used for highlight, no GetComponent in hot path). | |
| Collider | createdCollider |
| Collider created by the system (null if an existing collider was reused). | |
| bool | hadRigidbody |
| True if the object already had a Rigidbody before setup. | |
| bool | wasKinematic |
| Original isKinematic value (restored on cleanup if hadRigidbody=true). | |
| bool | wasTrigger |
| Original isTrigger value of the existing collider (restored on cleanup if createdCollider==null). | |
| bool | wasConvex |
| Original convex value for MeshColliders (restored on cleanup). | |
Detailed Description
Lightweight MonoBehaviour added to each collision-group object that forwards trigger events to GroupCollisionChecker.
GroupCollisionProxy is added automatically by GroupCollisionChecker during setup and should not be added manually. It stores per-object state needed for efficient collision tracking and cleanup: original layer, group index, cached renderers, and references to created/modified components. OnTriggerEnter/Exit are forwarded to the owning checker via O(1) Dictionary lookup. OnDestroy handles the case where Unity does not fire OnTriggerExit when an object is destroyed.
Member Data Documentation
◆ cachedRenderers
| Renderer [] realvirtual.GroupCollisionProxy.cachedRenderers |
Renderers cached at setup time (used for highlight, no GetComponent in hot path).
◆ checker
| GroupCollisionChecker realvirtual.GroupCollisionProxy.checker |
Reference to the owning GroupCollisionChecker.
◆ createdCollider
| Collider realvirtual.GroupCollisionProxy.createdCollider |
Collider created by the system (null if an existing collider was reused).
◆ groupIndex
| int realvirtual.GroupCollisionProxy.groupIndex |
Index of the collision group this object belongs to.
◆ hadRigidbody
| bool realvirtual.GroupCollisionProxy.hadRigidbody |
True if the object already had a Rigidbody before setup.
◆ originalLayer
| int realvirtual.GroupCollisionProxy.originalLayer |
Original layer before collision system setup (restored on cleanup).
◆ wasConvex
| bool realvirtual.GroupCollisionProxy.wasConvex |
Original convex value for MeshColliders (restored on cleanup).
◆ wasKinematic
| bool realvirtual.GroupCollisionProxy.wasKinematic |
Original isKinematic value (restored on cleanup if hadRigidbody=true).
◆ wasTrigger
| bool realvirtual.GroupCollisionProxy.wasTrigger |
Original isTrigger value of the existing collider (restored on cleanup if createdCollider==null).