// récupèretous les points du collider et les traites pour les rajouter à la liste de points // private void GetBoxVertices(BoxCollider2D box) { Light_Box l_box = new Light_Box(box); List <Vector3> points = l_box.GetVertices(); float box_radius = Vector2.Distance(box.transform.position, points[0]); float box_distance = Vector2.Distance(box.transform.position, transform.position); if (box_radius + box_distance > GetRadius()) { points = l_box.GetIntercections(points, this); } points = l_box.FindPoint(points, this); // si tout les points ne sont pas dans la lumière alors on regarde s'il n'y a pas d'intersection if (points.Count > 0) { points = Light_Tools.TrieAngle(points); points = l_box.CreateBoxLimit(points, box, this); foreach (Vector3 v in points) { pointList.Add(v); } } }
private void GetCircleVertices(CircleCollider2D circle) { List <Vector3> points = new List <Vector3>(); Light_Circle l_circle = new Light_Circle(circle); points = l_circle.GetVertices(points, this); points = l_circle.FindCirclePoint(points, this); if (points.Count > 0) { points = Light_Tools.TrieAngle(points); points = l_circle.CreateCircleLimit(points, this); foreach (Vector3 v in points) { pointList.Add(v); } } }