using System.Collections.Generic;
using UnityEngine;
namespace GameKit.Dependencies.Utilities
{
public static class Transforms
{
///
/// Returns the sizeDelta halfed.
///
/// True to multiple values by RectTransform scale.
public static Vector2 HalfSizeDelta(this RectTransform rectTransform, bool useScale = false)
{
Vector2 sizeDelta = useScale ? rectTransform.SizeDeltaScaled() : rectTransform.sizeDelta;
return sizeDelta / 2f;
}
///
/// Returns the sizeDelta multiplied by scale.
///
public static Vector2 SizeDeltaScaled(this RectTransform rectTransform)
{
return rectTransform.sizeDelta * rectTransform.localScale;
}
///
/// Returns a position for the rectTransform ensuring it's fully on the screen.
///
/// Preferred position for the rectTransform.
/// How much padding the transform must be from the screen edges.
public static Vector3 GetOnScreenPosition(this RectTransform rectTransform, Vector3 desiredPosition, Vector2 padding)
{
RectTransform canvasRectTransform = rectTransform.GetComponentInParent