private void Start()
        {
            RectTransform rect        = gameObject.GetComponent <RectTransform>();
            Vector2       outPosition = OutPosition(rect, direction);
            Vector2       inPosition  = rect.anchoredPosition;

            rect.anchoredPosition = outPosition;

            slideIn  = new PositionTween(rect, inPosition);
            slideOut = new PositionTween(rect, outPosition, () => gameObject.SetActive(false));
        }
        private void Awake()
        {
            RectTransform rect = GetComponent <RectTransform>();

            ///Calculates only left to right position.
            ///TODO: Add All Slide modes(LeftToRight, RightToLeft etc).
            outPosition           = new Vector2(rect.anchoredPosition.x - rect.sizeDelta.x, rect.anchoredPosition.y);
            inPosition            = rect.anchoredPosition;
            rect.anchoredPosition = outPosition;

            slideIn  = new PositionTween(rect, inPosition);
            slideOut = new PositionTween(rect, outPosition, () => gameObject.SetActive(false));
        }