public float GetSquareRadius(CollisionTarget target)
 {
     return MathUtil.Pow2(Radius + target.Radius);
 }
 static bool GetSingleMultiCollision(CollisionTarget single, CircleCollisionSystem multi)
 {
     return multi.Collisions.Any(i => multi.IsCollision(i.GetCollisionTarget(), single));
 }
 public Vector2 GetDistanceVector(CollisionTarget target)
 {
     return Position - target.Position;
 }
 /// <summary>
 /// 円と円との判定部分
 /// </summary>
 /// <param name="t1"></param>
 /// <param name="t2"></param>
 /// <returns></returns>
 protected virtual bool IsCollision(CollisionTarget t1, CollisionTarget t2)
 {
     return t1.GetDistanceVector(t2).LengthSquared() < t1.GetSquareRadius(t2);
 }