using UnityEngine;
|
|
public struct Circle2D
|
{
|
public Vector2 position;
|
public float radius;
|
|
public static bool IsPointInCircle(Vector2 point, Circle2D circle)
|
{
|
return IsPointInCircle(point, circle.position, circle.radius);
|
}
|
|
public static bool IsPointInCircle(Vector2 point, Vector2 circleCenter, float radius)
|
{
|
float _sqrtDistance = Vector2.SqrMagnitude(point - circleCenter);
|
float _sqrtRadius = radius * radius;
|
|
//if (_sqrtDistance < _sqrtRadius)
|
//{
|
// Logger.LogFormat("Circle2D.IsPointInCircle() : 条件成立 => {0} < {1}", _sqrtDistance, _sqrtRadius);
|
//}
|
//else
|
//{
|
// Logger.Log(_sqrtRadius - _sqrtDistance);
|
//}
|
|
return _sqrtDistance < _sqrtRadius;
|
}
|
}
|