Hummingbird Framework
 All Classes Functions Variables Modules Pages
ClickableComponent.h
1 #ifndef HB_CLICKABLE_COMPONENT_H
2 #define HB_CLICKABLE_COMPONENT_H
3 #include <functional>
4 #include "../Core/GameObject.h"
5 #include "InputManager.h"
6 
7 namespace hb
8 {
14  {
15  public:
17  ClickableComponent(const Vector2d& size);
19  void setOnClick(std::function<void(void)>&& onClick);
20  void setSize(const Vector2d& size);
21  const Vector2d& getSize() const;
22 
23  private:
24  Vector2d m_size;
25  std::function<void(void)> m_onClick;
26  hb::InputManager::ListenerId<hb::MouseButtonWorld> m_listener_id;
27  };
28 }
29 #endif
Object with a position, rotation and scale in a 3D space.
Definition: Transform.h:12
Definition: ClickableComponent.h:13
Definition: Box2DPlugin.h:6
Base class for implementing custom Components.
Definition: GameObject.h:57
A 2D vector.
Definition: Vector2d.h:14