aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Tools/Component/GameObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Tools/Component/GameObject.h')
-rw-r--r--src/libjin/Tools/Component/GameObject.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/libjin/Tools/Component/GameObject.h b/src/libjin/Tools/Component/GameObject.h
new file mode 100644
index 0000000..aac9e6b
--- /dev/null
+++ b/src/libjin/Tools/Component/GameObject.h
@@ -0,0 +1,40 @@
+#ifndef __JIN_TOOLS_GAMEOBJECT_H
+#define __JIN_TOOLS_GAMEOBJECT_H
+#include "../../modules.h"
+#if JIN_MODULES_TOOLS && JIN_TOOLS_COMPONENT
+
+#include <vector>
+#include "Component.h"
+
+namespace jin
+{
+namespace tools
+{
+
+ class GameObject
+ {
+ public:
+
+ GameObject()
+ : components()
+ {
+ }
+
+ virtual void update(float dt)
+ {
+ for each (Component* component in components)
+ component->update(dt);
+ }
+
+ virtual void draw() = 0;
+
+ protected:
+
+ std::vector<Component*> components;
+ };
+
+} // tools
+} // jin
+
+#endif // JIN_MODULES_TOOLS && JIN_TOOLS_COMPONENT
+#endif // __JIN_TOOLS_GAMEOBJECT_H \ No newline at end of file