private void UpdateOverlappedColliders() { _overlappedColliders.Clear(); foreach (var pair in _childCollidersToTypeDict) { Collider childCollider = pair.Key; OverlapColliderType colliderType = pair.Value; Collider[] otherColliders = new Collider[0]; switch (colliderType) { case OverlapColliderType.BoxCollider: otherColliders = ColliderUtility.CheckOverlapBox((BoxCollider)childCollider); break; case OverlapColliderType.SphereCollider: otherColliders = ColliderUtility.CheckOverlapSphere((SphereCollider)childCollider); break; default: break; } int n = otherColliders.Length; for (int i = 0; i < n; i++) { Collider otherCollider = otherColliders[i]; _overlappedColliders.Add(otherCollider); } } }
/// <summary> /// Return a set of overlapping colliders with colliders attached to this /// game object. /// </summary> /// <returns>A set of overlapping colliders.</returns> public HashSet <Collider> CheckOverlapColliders() { _overlappedColliderSet.Clear(); // Check OverlapBox for all box colliders int n = _selfBoxColliders.Count; for (int i = 0; i < n; i++) { BoxCollider boxCollider = _selfBoxColliders[i]; Collider[] overlappedColliders = ColliderUtility.CheckOverlapBox( boxCollider); int overlappedColliderLength = overlappedColliders.Length; for (int j = 0; j < overlappedColliderLength; j++) { Collider overlappedCollider = overlappedColliders[j]; _overlappedColliderSet.Add(overlappedCollider); } } // Check OverlapSphere for all sphere colliders n = _selfSphereColliders.Count; for (int i = 0; i < n; i++) { SphereCollider sphereCollider = _selfSphereColliders[i]; Collider[] overlappedColliders = ColliderUtility.CheckOverlapSphere(sphereCollider); int overlappedColliderLength = overlappedColliders.Length; for (int j = 0; j < overlappedColliderLength; j++) { Collider overlappedCollider = overlappedColliders[j]; _overlappedColliderSet.Add(overlappedCollider); } } return(_overlappedColliderSet); }
public bool isOver(Card card) { if (TopCard != null) { return(ColliderUtility.IsColliderOverlap(card.collider2d, TopCard.collider2d)); } else { return(ColliderUtility.IsColliderOverlap(card.collider2d, collider2d)); } }
// Token: 0x060018E9 RID: 6377 RVA: 0x0005F724 File Offset: 0x0005D924 private void Reset() { if (this.shape == null) { this.shape = new ShapeDefinition(); } Shape shape; if (base.collider && ColliderUtility.GetGeometricShapeLocal(base.collider, ref shape)) { this.shape.Shape = shape; } }
void Awake() { _status = ButtonStatus.Idle; _buttonMoverTrigger = _buttonMoverTriggerTransform.GetComponent <ICollisionTriggeredBody>(); if (Miscellaneous.CheckNullAndLogError(_buttonMoverTrigger)) { return; } _buttonMoverTrigger.TriggerStart += OnButtonMoveStart; _buttonMoverTrigger.TriggerEnd += OnButtonMoveStop; _childCollidersToTypeDict = ColliderUtility.GenerateChildCollidersToTypeDict(transform); _overlappedColliders = new HashSet <Collider>(); _curPositionNormalized = 0f; }
// Token: 0x060018E7 RID: 6375 RVA: 0x0005F5D0 File Offset: 0x0005D7D0 private void OnDrawGizmosSelected() { Collider collider = base.collider; if (collider) { Gizmos.color = new Color(0.5f, 0.5f, 1f, 0.8f); this.shape.Transform(ColliderUtility.ColliderToWorld(collider)).Gizmo(); Matrix4x4 localToWorldMatrix = base.transform.localToWorldMatrix; Gizmos.color = new Color(0.9f, 0.5f, 1f, 0.8f); global::CCPusher.DrawPushPlane(localToWorldMatrix, this.pushPoint0, this.pushDir0); Gizmos.color = new Color(1f, 0.5f, 0.5f, 0.8f); global::CCPusher.DrawPushPlane(localToWorldMatrix, this.pushPoint1, this.pushDir1); } }