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