// Create a new line which follows the mouse public PointTo CreateLine(bool pFollowMouse = true, Transform pStartTransform = null) { // Instantiates a copy of this gameObject var g = Instantiate(gameObject, transform.position, Quaternion.identity); g.SetActive(false); g.transform.SetParent(gameObject.transform.parent); g.transform.SetAsFirstSibling(); g.transform.localScale = Vector3.one; var lScript = g.GetComponent <PointTo>(); // Create a empty point to store the new PointTo.start transform if no transform in parameters Transform lStartTransform = null; if (pStartTransform == null) { lStartTransform = new GameObject("UI line point").transform; lStartTransform.transform.position = Input.mousePosition; } else { lStartTransform = pStartTransform; } lScript.start = lStartTransform; lScript.useMouseForEndPosition = pFollowMouse; lScript.locked = false; lScript.DrawLine(); g.SetActive(true); this.createdPointTo = lScript; return(lScript); }
public Route DeepCopy() { Route copy = (Route)MemberwiseClone(); copy.PointFrom = PointFrom.DeepCopy(); copy.PointTo = PointTo.DeepCopy(); return(copy); }