private void SetBounds(bool moved, Bounds bounds, bool worldEquals) { if (this.configuredInLocalSpace) { if ((this._lastBoundsEntered != bounds) || !worldEquals) { this._lastBoundsEntered = bounds; AABBox.Transform3x4(ref bounds, ref this.toWorld, out this._bounds); } } else { this._lastBoundsEntered = bounds; this._bounds = bounds; } }
private static UIHotSpot ColliderToHotSpot(Collider collider, bool nullChecked) { Bounds bound; if (!nullChecked && !collider) { return(null); } if (collider is BoxCollider) { return(NGUITools.ColliderToHotSpot((BoxCollider)collider)); } if (collider is SphereCollider) { return(NGUITools.ColliderToHotSpot((SphereCollider)collider)); } if (collider is TerrainCollider) { Debug.Log("Sorry not going to convert a terrain collider.. that sounds destructive.", collider); return(null); } Bounds bound1 = collider.bounds; Matrix4x4 matrix4x4 = collider.transform.worldToLocalMatrix; AABBox.Transform3x4(ref bound1, ref matrix4x4, out bound); bool flag = collider.enabled; GameObject gameObject = collider.gameObject; NGUITools.ColliderDestroy(collider); Vector3 vector3 = bound.size; if (vector3.z > 0.001f) { UIBoxHotSpot uIBoxHotSpot = gameObject.AddComponent <UIBoxHotSpot>(); uIBoxHotSpot.size = vector3; uIBoxHotSpot.center = bound.center; uIBoxHotSpot.enabled = flag; return(uIBoxHotSpot); } UIRectHotSpot uIRectHotSpot = gameObject.AddComponent <UIRectHotSpot>(); uIRectHotSpot.size = vector3; uIRectHotSpot.center = bound.center; uIRectHotSpot.enabled = flag; return(uIRectHotSpot); }
private static UIHotSpot ColliderToHotSpot(Collider collider, bool nullChecked) { Bounds bounds; if (!nullChecked && (collider == null)) { return(null); } if (collider is BoxCollider) { return(ColliderToHotSpot((BoxCollider)collider)); } if (collider is SphereCollider) { return(ColliderToHotSpot((SphereCollider)collider)); } if (collider is TerrainCollider) { Debug.Log("Sorry not going to convert a terrain collider.. that sounds destructive.", collider); return(null); } Bounds boundsSrc = collider.bounds; Matrix4x4 worldToLocalMatrix = collider.transform.worldToLocalMatrix; AABBox.Transform3x4(ref boundsSrc, ref worldToLocalMatrix, out bounds); bool enabled = collider.enabled; GameObject gameObject = collider.gameObject; ColliderDestroy(collider); Vector3 size = bounds.size; if (size.z <= 0.001f) { UIRectHotSpot spot = gameObject.AddComponent <UIRectHotSpot>(); spot.size = size; spot.center = bounds.center; spot.enabled = enabled; return(spot); } UIBoxHotSpot spot2 = gameObject.AddComponent <UIBoxHotSpot>(); spot2.size = size; spot2.center = bounds.center; spot2.enabled = enabled; return(spot2); }