// Copyright (c) 2023 Dominic Masters
// 
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT

#pragma once
#include "Collider3D.hpp"

namespace Dawn {
  class SphereCollider : public Collider3D {
    protected:
      bool_t performRaycast(
        struct Collider3DRayResult *result,
        struct Ray3D ray
      ) override;

    public:
      // @optional
      float_t radius = 1.0f;
      
      SphereCollider(std::weak_ptr<SceneItem> item);

      enum Collider3DType getColliderType() override;
  };
}