123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- using UnityEngine;
- using UnityEngine.UI;
- using System.Collections;
- public static class ExtensionResize
- {
- public static void Resize(this Image image, bool ratio, float x = -999999999, float y = -999999999)
- {
- Vector2 newSize;
- SizeMap(ratio, image.sprite.rect.size, ref x, ref y);
- if (ratio)
- {
- newSize = image.sprite.rect.size;
- newSize.x *= x;
- newSize.y *= y;
- }
- else
- {
- newSize = new Vector2(x, y);
- }
- image.rectTransform.sizeDelta = newSize;
- }
- public static void Resize(this Image image, bool ratio, Vector2 size)
- {
- Vector2 newSize;
- if (ratio)
- {
- newSize = image.sprite.rect.size;
- newSize.x *= size.x;
- newSize.y *= size.y;
- }
- else
- {
- newSize = size;
- }
- image.rectTransform.sizeDelta = newSize;
- }
- public static void Resize(this RectTransform rectTransform, bool ratio, float x = -999999999, float y = -999999999)
- {
- Vector2 newSize;
- SizeMap(ratio, rectTransform.rect.size, ref x, ref y);
- if (ratio)
- {
- newSize = rectTransform.rect.size;
- newSize.x *= x;
- newSize.y *= y;
- }
- else
- {
- newSize = new Vector2(x, y);
- }
- rectTransform.sizeDelta = newSize;
- }
- public static void Resize(this RectTransform rectTransform, bool ratio, Vector2 size)
- {
- Vector2 newSize;
- if (ratio)
- {
- newSize = rectTransform.rect.size;
- newSize.x *= size.x;
- newSize.y *= size.y;
- }
- else
- {
- newSize = size;
- }
- rectTransform.sizeDelta = newSize;
- }
- public static void Resize(this Text text, bool preferredWidth, bool preferredHeight)
- {
- Vector2 newSize = new Vector2();
- if (preferredWidth)
- {
- newSize.x = text.preferredWidth;
- }
- else
- {
- newSize.x = -999999999;
- }
- if (preferredHeight)
- {
- newSize.x = text.preferredHeight;
- }
- else
- {
- newSize.y = -999999999;
- }
- text.rectTransform.Resize(false, newSize.x, newSize.y);
- }
- private static void SizeMap(bool ratio, Vector2 size, ref float x, ref float y)
- {
- if (ratio)
- {
- if (x.Equal(-999999999))
- {
- x = 1;
- }
- if (y.Equal(-999999999))
- {
- y = 1;
- }
- }
- else
- {
- if (x.Equal(-999999999))
- {
- x = size.x;
- }
- if (y.Equal(-999999999))
- {
- y = size.y;
- }
- }
- }
- }
|