4 #include <msp/game/component.h>
5 #include <msp/linal/vector.h>
7 enum class ColliderType
15 ColliderType type = ColliderType::CIRCLE;
19 Msp::LinAl::Vector<float, 2> size;
24 class Collider: public Msp::Game::Component
27 using Setup = ColliderSetup;
33 Collider(Msp::Game::Handle<Msp::Game::Entity>, const Setup &);
35 ColliderType get_type() const { return setup.type; }
36 float get_radius() const { return (setup.type==ColliderType::CIRCLE ? setup.radius : 0.0f); }
37 Msp::LinAl::Vector<float, 2> get_size() const { return (setup.type==ColliderType::BOX ? setup.size : Msp::LinAl::Vector<float, 2>()); }