public void OnConnectDown(GameObject pObject)
 {
     var lWayPoint = getWayPoint(pObject);
     if (lWayPoint)
     {
         beginPoint = lWayPoint;
         var lPosition = beginPoint.lineCenter;
         //重置线
         connectLine.beginPosition = lPosition;
         connectLine.endPosition = lPosition;
         lineZ = lPosition.z;
         enabled = true;
         connectLine.visible = true;
     }
 }
    public void OnConnectUp(GameObject pObject)
    {
        if (beginPoint)
        {
            var lWayPoint = getWayPoint(pObject);
            if (lWayPoint && lWayPoint != beginPoint)
            {
                print("add line");
                var lObject = GameSystem.Singleton.createObject(lineTypeName);
                var lLine = lObject.GetComponent<zzWayPointLine>();

                lLine.setPoints(beginPoint, lWayPoint);
                objectAddedEvent(lObject);
            }
        }
        beginPoint = null;

        this.enabled = false;
        connectLine.visible = false;
    }
Exemplo n.º 3
0
 public void setPoints(zzWayPoint pPointFrom, zzWayPoint pPointTo)
 {
     begin = pPointFrom;
     end = pPointTo;
 }
 public bool isNeighbor(zzWayPoint pPointA, zzWayPoint pPointB)
 {
     return getNeighborData(pPointA).Contains(pPointB);
 }
 public HashSet<zzWayPoint> getNeighborData(zzWayPoint pPoint)
 {
     return getNeighborData(data, pPoint);
 }
 public void addNeighbor(zzWayPoint pPointA, zzWayPoint pPointB)
 {
     getNeighborData(pPointA).Add(pPointB);
     getNeighborData(pPointB).Add(pPointA);
 }
 public static HashSet<zzWayPoint> getNeighborData(
     Dictionary<zzWayPoint, HashSet<zzWayPoint>> pData,
     zzWayPoint pPoint)
 {
     HashSet<zzWayPoint> lOut;
     if (!pData.TryGetValue(pPoint, out lOut))
     {
         lOut = new HashSet<zzWayPoint>();
         pData[pPoint] = lOut;
     }
     return lOut;
 }