private List <AimRayHit> FindTarget(string targetTag) { var aimRays = new List <AimRayHit>(); for (int i = 0; i < 360; i++) { AimRayHit aimRayHit; var deg = i * Mathf.Deg2Rad; var hit = AimRay.Shot(transform.position, new Vector2(Mathf.Cos(deg), Mathf.Sin(deg)), 30, LayerMask.GetMask("WallLayer") | LayerMask.GetMask("PlayerLayer"), targetTag, out aimRayHit); if (hit) { aimRays.Add(aimRayHit); } } return(aimRays); }
public void OnDrawGizmos() { if (!AimGizmos) { return; } AimRayHit aimRayHit; AimRay.Shot(transform.position, transform.right, 100, LayerMask.GetMask("WallLayer") | LayerMask.GetMask("EnemyLayer"), "Enemy", out aimRayHit); var firstPoint = aimRayHit.LinePath.FirstOrDefault(); for (int i = 1; i < aimRayHit.LinePath.Count; i++) { var secondPoint = aimRayHit.LinePath[i]; Gizmos.DrawLine(firstPoint, secondPoint); firstPoint = secondPoint; } }