/// <summary> /// 吸附元器件 /// </summary> public void AdsorbentLeap() { if (StartLineLeap.Link == null) { StartLineLeap.AdsorbentLeap(); } //end 点进行吸附 if (EndLineLeap.Link == null) { EndLineLeap.AdsorbentLeap(); } }
/// <summary> /// 查找鼠标靠近的接头 /// </summary> public NDCircuitLeap FindNearLineLeap() { if (NoneConnectLink) { return(null); } float maxdistance = 80.0f; if (StartLink && !EndLink) { float distance1 = StartLineLeap.Link.CalcScreenDistance(); float distance2 = EndLineLeap.CalcScreenDistance(); if (distance1 < distance2 && distance1 < maxdistance) { return(StartLineLeap.Link); } } else if (!StartLink && EndLink) { float distance1 = EndLineLeap.Link.CalcScreenDistance(); float distance2 = StartLineLeap.CalcScreenDistance(); if (distance1 < distance2 && distance1 < maxdistance) { return(EndLineLeap.Link); } } else if (ConnectLink) { float distance1 = StartLineLeap.Link.CalcScreenDistance(); float distance2 = EndLineLeap.Link.CalcScreenDistance(); if (distance1 < distance2) { if (distance1 < maxdistance) { return(StartLineLeap.Link); } } else { if (distance2 < maxdistance) { return(EndLineLeap.Link); } } } return(null); }
public void BeakLinkLeap(NDCircuitLeap leap) { if (leap != null) { NDLineLeap l = null; if (leap == StartLineLeap.Link) { StartLineLeap.SetBreakPos(leap.transform); StartLineLeap.Link = null; } else if (leap == EndLineLeap.Link) { EndLineLeap.SetBreakPos(leap.transform); EndLineLeap.Link = null; } leap.RemoveLinkLine(this); m_LineAction.SetControling(); } }