public void SaveShownState()
 {
     if (rectTransform == null)
     {
         Debug.Log("please call onvalidate first");
     }
     endInfo = new RectTransformInfo(rectTransform);
 }
 public void SaveHiddenState()
 {
     if (rectTransform == null)
     {
         Debug.Log("please call onvalidate first");
     }
     startInfo = new RectTransformInfo(rectTransform);
 }
 public void OnValidate(MonoBehaviour source)
 {
     if (rectTransform == null)
     {
         rectTransform = source.GetComponent <RectTransform>();
     }
     if (rectTransform == null)
     {
         Debug.Log("no rect tranform?");
     }
     else
     {
         if (startInfo == null)
         {
             startInfo = new RectTransformInfo(rectTransform);
         }
         if (endInfo == null)
         {
             endInfo = new RectTransformInfo(rectTransform);
         }
     }
 }