using mh; using System.Collections; using System.Collections.Generic; using UnityEngine; public class FastCircleCollider : MonoBehaviour, IQuadTreeObject { [SerializeField] private float m_Radius; [SerializeField] private Vector2 m_Offset; public Vector2 center { get { Vector3 pos = transform.position + m_Offset.ToVector3(); return pos; } } public float radius => m_Radius; public Vector4 bound { get { Vector3 pos = transform.position + m_Offset.ToVector3(); Vector4 b = new Vector4(); b.x = pos.x; b.y = pos.y; b.z = m_Radius * 2; b.w = m_Radius * 2; return b; } } public Vector2 offset => m_Offset; public void Awake() { PhysicsManager.quadTreeObjects.Add(this); Debug.Log(PhysicsManager.quadTreeObjects.Count); m_Offset = Vector2.zero; m_Radius = 0.3f; } public void OnDestroy() { PhysicsManager.quadTreeObjects.Remove(this); } private void OnDrawGizmos() { Gizmos.DrawWireSphere(transform.position + m_Offset.ToVector3(), m_Radius); } }