Exemplo n.º 1
0
        public List <BoardCell> WithinCollider(Collider2D collider, Vector3 origin, Vector3 target)
        {
            collider.transform.position = origin;
            collider.transform.rotation = QuaternionUtility.LookRotation2D(target - origin);

            var colliders = new Collider2D[50];
            var overlaps  = Physics2D.OverlapCollider(collider, new ContactFilter2D(), colliders);

            collider.transform.position = new Vector3(-100, 0, 0);

            return(colliders.Take(overlaps).ToCellsPrecise().ToList());
        }
Exemplo n.º 2
0
        public void Draw(List <Vector3> points)
        {
            this.lineRenderer.positionCount = points.Count;
            this.lineRenderer.SetPositions(points.ToArray());

            if (points.Count < 2)
            {
                this.arrow.color = new Color(0, 0, 0, 0);
                return;
            }

            this.arrow.transform.position = points.Last();
            this.arrow.transform.rotation = QuaternionUtility.LookRotation2D(
                points[points.Count - 1] - points[points.Count - 2]);

            Drawn?.Invoke(points);
            AnyPathDrawn?.Invoke(points);
        }
Exemplo n.º 3
0
 public static void LookAt2D(this Transform transform, Vector3 target)
 {
     transform.rotation = QuaternionUtility.LookRotation2D(target - transform.position);
 }