protected abstract bool CollideCircle(CircleCollider other, out CollisionData data);
protected override bool CollideCircle(CircleCollider other, out CollisionData data) { // TODO: check collision data = new CollisionData(Vector2.Zero); return false; }