private void UpdateVertices()
        {
            Points.Clear();

            if (!TransformPairs.Any())
            {
                Points.Add(Vector2.zero);
                Points.Add(Vector2.zero);
            }
            else
            {
                var parentPos  = RectTransform.position;
                var parentSize = RectTransform.sizeDelta;
                parentSize = new Vector2(1f / parentSize.x, 1f / parentSize.y);

                for (int i = 0; i < TransformPairs.Count; ++i)
                {
                    var pair = TransformPairs[i];

                    var posA  = pair.A.position - parentPos;
                    var start = new Vector2(posA.x * parentSize.x, posA.y * parentSize.y);
                    var posB  = pair.B.position - parentPos;
                    var end   = new Vector2(posB.x * parentSize.x, posB.y * parentSize.y);

                    Points.Add(start);
                    Points.Add(end);
                }
            }

            LineRenderer.Points = Points.ToArray();
        }
        //public void AddLine( RectTransform a, RectTransform b )
        //{
        //    Debug.Log( "Adding line..." );

        //    var transformPair = new RectTransformPair( a, b );

        //    if ( TransformPairs.Contains( transformPair ) )
        //        throw new InvalidOperationException( "Line already defined." );

        //    TransformPairs.Add( transformPair );

        //    UpdateVertices();
        //}

        //public void RemoveLine( RectTransform a, RectTransform b )
        //{
        //    var transformPair = new RectTransformPair( a, b );

        //    if ( !TransformPairs.Contains( transformPair ) )
        //        throw new InvalidOperationException( "Line not defined." );

        //    TransformPairs.Remove( transformPair );

        //    UpdateVertices();
        //}

        public void SetLines(IEnumerable <RectTransformPair> pairs)
        {
            TransformPairs.Clear();

            if (pairs != null)
            {
                TransformPairs.AddRange(pairs);
            }

            UpdateVertices();
        }