Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using UnityEngine;
- [Serializable]
- public class RTlerp {
- public Vector2 sizeDelta_from;
- public Vector2 anchoredPosition_from;
- public Vector2 sizeDelta_to;
- public Vector2 anchoredPosition_to;
- public RTlerp(RectTransform rt_from, RectTransform rt_to = null) {
- sizeDelta_from = rt_from.sizeDelta;
- anchoredPosition_from = rt_from.anchoredPosition;
- if (rt_to == null) return;
- sizeDelta_to = rt_to.sizeDelta;
- anchoredPosition_to = rt_to.anchoredPosition;
- }
- public void SetFrom(RectTransform rt) {
- sizeDelta_from = rt.sizeDelta;
- anchoredPosition_from = rt.anchoredPosition;
- }
- public void SetTo(RectTransform rt) {
- sizeDelta_to = rt.sizeDelta;
- anchoredPosition_to = rt.anchoredPosition;
- }
- public void Lerp(RectTransform rt, float position) {
- rt.sizeDelta = Vector2.Lerp(sizeDelta_from, sizeDelta_to, Mathf.Clamp01(position));
- rt.anchoredPosition = Vector2.Lerp(anchoredPosition_from, anchoredPosition_to, Mathf.Clamp01(position));
- }
- }
- public static class RectTransformExtension {
- public static void SetRTlerp(this RectTransform rt, RTlerp rtl, float position) {
- rtl.Lerp(rt, position);
- }
- }
Add Comment
Please, Sign In to add comment