mirror of
https://github.com/Cardidi/dotween-upm-fork.git
synced 2025-12-21 01:36:05 +08:00
28 lines
1.2 KiB
C#
28 lines
1.2 KiB
C#
// Author: Daniele Giardini - http://www.demigiant.com
|
|
// Created: 2015/06/10 18:07
|
|
|
|
using UnityEngine;
|
|
|
|
namespace DG.Tweening
|
|
{
|
|
/// <summary>
|
|
/// Various utils that require Unity 4.6 or later
|
|
/// </summary>
|
|
public static class DOTweenUtils46
|
|
{
|
|
/// <summary>
|
|
/// Converts the anchoredPosition of the first RectTransform to the second RectTransform,
|
|
/// taking into consideration offset, anchors and pivot, and returns the new anchoredPosition
|
|
/// </summary>
|
|
public static Vector2 SwitchToRectTransform(RectTransform from, RectTransform to)
|
|
{
|
|
Vector2 localPoint;
|
|
Vector2 fromPivotDerivedOffset = new Vector2(from.rect.width * 0.5f + from.rect.xMin, from.rect.height * 0.5f + from.rect.yMin);
|
|
Vector2 screenP = RectTransformUtility.WorldToScreenPoint(null, from.position);
|
|
screenP += fromPivotDerivedOffset;
|
|
RectTransformUtility.ScreenPointToLocalPointInRectangle(to, screenP, null, out localPoint);
|
|
Vector2 pivotDerivedOffset = new Vector2(to.rect.width * 0.5f + to.rect.xMin, to.rect.height * 0.5f + to.rect.yMin);
|
|
return to.anchoredPosition + localPoint - pivotDerivedOffset;
|
|
}
|
|
}
|
|
} |