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(); }