Exemplo n.º 1
0
 /// <summary>
 /// 吸附元器件
 /// </summary>
 public void AdsorbentLeap()
 {
     if (StartLineLeap.Link == null)
     {
         StartLineLeap.AdsorbentLeap();
     }
     //end 点进行吸附
     if (EndLineLeap.Link == null)
     {
         EndLineLeap.AdsorbentLeap();
     }
 }
Exemplo n.º 2
0
    /// <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);
    }
Exemplo n.º 3
0
 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();
     }
 }