public bool CanBridgeStart() { if (bIsBridgeStart) { return(true); } if (bIsBridgeEnd) { return(false); } if (bIsEndPoint) { return(false); } int mCount = GSDSpline.GetNodeCount(); if (idOnSpline > 0) { if (GSDSpline.mNodes[idOnSpline - 1].bIsBridgeStart) { return(false); } } if (idOnSpline < (mCount - 1)) { if (GSDSpline.mNodes[idOnSpline + 1].bIsBridgeStart) { return(false); } if (GSDSpline.bSpecialEndControlNode) { if ((mCount - 3 > 0) && idOnSpline == mCount - 3) { return(false); } } else { if ((mCount - 2 > 0) && idOnSpline == mCount - 2) { return(false); } } } if (GSDSpline.IsInBridge(tTime)) { return(false); } return(true); }