Hummingbird Framework
 All Classes Functions Variables Modules Pages
DataComponent.h
1 #ifndef HB_DATA_COMPONENT_H
2 #define HB_DATA_COMPONENT_H
3 #include "GameObject.h"
4 
5 namespace hb
6 {
12  template <typename T>
14  {
15  public:
20  Component()
21  {}
28  DataComponent(const T& data):
29  Component()
30  {
31  m_data = data;
32  }
36  virtual ~DataComponent() override
37  {}
44  void setData(const T& data)
45  {
46  m_data = data;
47  }
53  T& getData()
54  {
55  return m_data;
56  }
62  const T& getData() const
63  {
64  return m_data;
65  }
66 
67  private:
68  T m_data;
69  };
70 
76  template<class T>
78  {
79  public:
84  Component()
85  {
86  m_data = new T();
87  }
94  DataComponent(T* data):
95  Component()
96  {
97  m_data = data;
98  }
104  virtual ~DataComponent() override
105  {
106  delete m_data;
107  }
114  void setData(T* data)
115  {
116  m_data = data;
117  }
122  T* getData()
123  {
124  return m_data;
125  }
130  const T* getData() const
131  {
132  return m_data;
133  }
134 
135  private:
136  T* m_data;
137  };
138 }
139 #endif
A GameObject::Component for storing an instance of T into a GameObject.
Definition: DataComponent.h:13
virtual ~DataComponent() override
Class destructor.
Definition: DataComponent.h:104
const T & getData() const
Data getter.
Definition: DataComponent.h:62
void setData(T *data)
Data setter.
Definition: DataComponent.h:114
Definition: Box2DPlugin.h:6
Base class for implementing custom Components.
Definition: GameObject.h:57
Component()
Default constructor.
Definition: GameObject.h:66
DataComponent(T *data)
Class constructor.
Definition: DataComponent.h:94
T & getData()
Data getter.
Definition: DataComponent.h:53
const T * getData() const
Data getter.
Definition: DataComponent.h:130
void setData(const T &data)
Data setter.
Definition: DataComponent.h:44
virtual ~DataComponent() override
Class destructor.
Definition: DataComponent.h:36
DataComponent()
Class default constructor.
Definition: DataComponent.h:19
DataComponent(const T &data)
Class constructor.
Definition: DataComponent.h:28
T * getData()
Data getter.
Definition: DataComponent.h:122
DataComponent()
Class default constructor.
Definition: DataComponent.h:83