Untitled
unknown
plain_text
a year ago
1.5 kB
4
Indexable
public Collider2D topCollider; public Collider2D botCollider; public Collider2D leftCollider; public Collider2D rightCollider; public Bounds _bounds; public void Calculate() { StartCoroutine(IECalculate()); } public IEnumerator IECalculate() { shapeParent.transform.position = Vector3.zero; Canvas.ForceUpdateCanvases(); yield return new WaitForSeconds(0.5f); _bounds = CalculateEncapsulatedBounds(shapeParent.gameObject); var topLimit = topCollider.bounds.center.y; var botLimit = botCollider.bounds.center.y; var rightLimit = rightCollider.bounds.center.x; var leftLimit = leftCollider.bounds.center.x; var objectCenter = _bounds.center.y; var objectMaxY = _bounds.max.y; var objectMinY = _bounds.min.y; var objectMaxX = _bounds.max.x; var objectMinX = _bounds.min.x; var offset = -objectCenter + (topLimit + botLimit) / 2f; shapeParent.transform.position = new Vector2(0f, offset); var top = objectMaxY - topLimit + offset; var bot = -(objectMinY - botLimit + offset); var right = objectMaxX - rightLimit; var left = -(objectMinX - leftLimit); var max = Mathf.Max(top, bot, right, left); Camera.main.orthographicSize += max * 2f; Camera.main.orthographicSize = Mathf.Max(15, Camera.main.orthographicSize); }
Editor is loading...
Leave a Comment