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; } }