KpoKec

Untitled

May 8th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.31 KB | None | 0 0
  1. using System;
  2. using UnityEngine;
  3.  
  4. [Serializable]
  5. public class RTlerp {
  6.     public Vector2 sizeDelta_from;
  7.     public Vector2 anchoredPosition_from;
  8.     public Vector2 sizeDelta_to;
  9.     public Vector2 anchoredPosition_to;
  10.  
  11.     public RTlerp(RectTransform rt_from, RectTransform rt_to = null) {
  12.         sizeDelta_from        = rt_from.sizeDelta;
  13.         anchoredPosition_from = rt_from.anchoredPosition;
  14.         if (rt_to == null) return;
  15.         sizeDelta_to        = rt_to.sizeDelta;
  16.         anchoredPosition_to = rt_to.anchoredPosition;
  17.     }
  18.  
  19.     public void SetFrom(RectTransform rt) {
  20.         sizeDelta_from        = rt.sizeDelta;
  21.         anchoredPosition_from = rt.anchoredPosition;
  22.     }
  23.  
  24.     public void SetTo(RectTransform rt) {
  25.         sizeDelta_to        = rt.sizeDelta;
  26.         anchoredPosition_to = rt.anchoredPosition;
  27.     }
  28.  
  29.     public void Lerp(RectTransform rt, float position) {
  30.         rt.sizeDelta        = Vector2.Lerp(sizeDelta_from,        sizeDelta_to,        Mathf.Clamp01(position));
  31.         rt.anchoredPosition = Vector2.Lerp(anchoredPosition_from, anchoredPosition_to, Mathf.Clamp01(position));
  32.     }
  33. }
  34.  
  35. public static class RectTransformExtension {
  36.     public static void SetRTlerp(this RectTransform rt, RTlerp rtl, float position) {
  37.         rtl.Lerp(rt, position);
  38.     }
  39. }
Add Comment
Please, Sign In to add comment