private bool ParalleCheck(Vector3 v1, Vector3 v01, Vector3 p1, Vector3 p2) { if (paralleYList == null) { paralleYList = new List <List <Vector3> >(); } if (paralleXList == null) { paralleXList = new List <List <Vector3> >(); } if (Util_Vector.IsParallel(v1, v01)) { List <Vector3> p = new List <Vector3>();// { pointList[0], pointList[1] } if (Util_Vector.IsParallelAndDirection(v1, v01) == 1) { p.Add(p1); p.Add(p2); } else { p.Add(p2); p.Add(p1); } if (paralleYList.Count == 1) { if (Util_Vector.PointOnLeftSide((paralleYList[0][0] - paralleYList[0][1]), p[0])) { paralleYList.Insert(0, p); } else { paralleYList.Add(p); } } else { paralleYList.Add(p); } return(true); } else { List <Vector3> p = new List <Vector3>();// { pointList[0], pointList[1] } if (Util_Vector.IsParallelAndDirection(v1, Quaternion.AngleAxis(targetRotation.eulerAngles.y, Vector3.up) * Vector3.right) == 1) { p.Add(p1); p.Add(p2); } else { p.Add(p2); p.Add(p1); } if (paralleXList.Count == 1) { if (Util_Vector.PointOnLeftSide((paralleXList[0][0] - paralleXList[0][1]), p[0])) { paralleXList.Insert(0, p); } else { paralleXList.Add(p); } } else { paralleXList.Add(p); } return(false); } }
private static bool ParalleCheck(GameObject target, Vector3 p1, Vector3 p2, List <List <Vector3> > paralleZList, List <List <Vector3> > paralleXList, out List <List <Vector3> > list) { // paralleZList = new List<List<Vector3>>(); //paralleXList = new List<List<Vector3>>(); Vector3 p3 = p1 - p2; if (Util_Vector.IsParallel(p3, target.transform.forward)) { List <Vector3> p = new List <Vector3>();// { pointList[0], pointList[1] } if (Util_Vector.IsParallelAndDirection(p3, target.transform.forward) == 1) { p.Add(p1); p.Add(p2); } else { p.Add(p2); p.Add(p1); } if (paralleZList.Count == 1) { if (Util_Vector.PointOnLeftSide((paralleZList[0][0] - paralleZList[0][1]), p[0])) { paralleZList.Insert(0, p); } else { paralleZList.Add(p); } } else { paralleZList.Add(p); } list = paralleZList; return(true); } else { List <Vector3> p = new List <Vector3>();// { pointList[0], pointList[1] } if (Util_Vector.IsParallelAndDirection(p3, target.transform.right) == 1) { p.Add(p1); p.Add(p2); } else { p.Add(p2); p.Add(p1); } if (paralleXList.Count == 1) { if (Util_Vector.PointOnLeftSide((paralleXList[0][0] - paralleXList[0][1]), p[0])) { paralleXList.Insert(0, p); } else { paralleXList.Add(p); } } else { paralleXList.Add(p); } list = paralleXList; return(false); } }