aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-07-28 23:28:48 +0800
committerchai <chaifix@163.com>2018-07-28 23:28:48 +0800
commit7cce806948349c77a9863e6c5328d20f463f8b6c (patch)
tree464fd080715b48fa087c3aa2d58452414cf18d74 /src
parent178d7eea3903f41d6260777f8058a898d9107a31 (diff)
*update
Diffstat (limited to 'src')
-rw-r--r--src/libjin/Tools/Component/Component.h30
-rw-r--r--src/libjin/Tools/Component/GameObject.h40
-rw-r--r--src/libjin/Tools/EventMsgCenter/EventMsgCenter.h20
-rw-r--r--src/libjin/Tools/EventMsgCenter/Events.h20
-rw-r--r--src/libjin/modules.h64
-rw-r--r--src/libjin/tools/EventMsgCenter/EventMsgCenter.h20
6 files changed, 163 insertions, 31 deletions
diff --git a/src/libjin/Tools/Component/Component.h b/src/libjin/Tools/Component/Component.h
new file mode 100644
index 0000000..12c347a
--- /dev/null
+++ b/src/libjin/Tools/Component/Component.h
@@ -0,0 +1,30 @@
+#ifndef __JIN_TOOLS_COMPONENT_H
+#define __JIN_TOOLS_COMPONENT_H
+#include "../../modules.h"
+#if JIN_MODULES_TOOLS && JIN_TOOLS_COMPONENT
+
+namespace jin
+{
+namespace tools
+{
+
+ class GameObject;
+
+ class Component
+ {
+ public:
+ Component(GameObject* obj)
+ : gameObject(obj)
+ {}
+
+ virtual void update(float dt) = 0;
+
+ private:
+ GameObject* gameObject;
+ };
+
+} // tools
+} // jin
+
+#endif // JIN_MODULES_TOOLS && JIN_TOOLS_COMPONENT
+#endif // __JIN_TOOLS_COMPONENT_H \ No newline at end of file
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
diff --git a/src/libjin/Tools/EventMsgCenter/EventMsgCenter.h b/src/libjin/Tools/EventMsgCenter/EventMsgCenter.h
index e69de29..a679f06 100644
--- a/src/libjin/Tools/EventMsgCenter/EventMsgCenter.h
+++ b/src/libjin/Tools/EventMsgCenter/EventMsgCenter.h
@@ -0,0 +1,20 @@
+#ifndef __JIN_TOOLS_EVENTMSGCENTER_H
+#define __JIN_TOOLS_EVENTMSGCENTER_H
+#include "../../modules.h"
+#if JIN_MODULES_TOOLS && JIN_TOOLS_EVENTMSGCENTER
+
+namespace jin
+{
+namespace tools
+{
+
+ class EventMSGCenter
+ {
+
+ };
+
+} // tools
+} // jin
+
+#endif // JIN_MODULES_TOOLS && JIN_TOOLS_EVENTMSGCENTER
+#endif // __JIN_TOOLS_EVENTMSGCENTER_H \ No newline at end of file
diff --git a/src/libjin/Tools/EventMsgCenter/Events.h b/src/libjin/Tools/EventMsgCenter/Events.h
new file mode 100644
index 0000000..698dfbc
--- /dev/null
+++ b/src/libjin/Tools/EventMsgCenter/Events.h
@@ -0,0 +1,20 @@
+#ifndef __JIN_TOOLS_EVENTS_H
+#define __JIN_TOOLS_EVENTS_H
+#include "../../modules.h"
+#if JIN_MODULES_TOOLS && JIN_TOOLS_EVENTMSGCENTER
+
+namespace jin
+{
+namespace tools
+{
+
+ enum Event
+ {
+
+ };
+
+} // tools
+} // jin
+
+#endif // JIN_MODULES_TOOLS && JIN_TOOLS_EVENTMSGCENTER
+#endif // __JIN_TOOLS_EVENTS_H \ No newline at end of file
diff --git a/src/libjin/modules.h b/src/libjin/modules.h
index 9db11e7..c661d8c 100644
--- a/src/libjin/modules.h
+++ b/src/libjin/modules.h
@@ -4,37 +4,39 @@
* ģģı룬Ҫģرղ
*/
-#define JIN_MODULES_AUDIO 1
-#define JIN_AUDIO_SDLAUDIO 1
-#define JIN_AUDIO_OPENAL 1
-
-#define JIN_MODULES_RENDER 1
-
-#define JIN_MODULES_DEBUG 1
-
-#define JIN_MODULES_FILESYSTEM 1
-
-#define JIN_MODULES_INPUT 1
-#define JIN_INPUT_SDL 1
-
-#define JIN_MODULES_MATH 1
-
-#define JIN_MODULES_NET 1
-
-#define JIN_MODULES_PHYSICS 1
-#define JIN_PHYSICS_BOX2D 1
-#define JIN_PHYSICS_NEWTON 1
-
-#define JIN_MODULES_TILEMAP 1
-
-#define JIN_MODULES_UI 1
-
-#define JIN_MODULES_TOOLS 1
-
-#define JIN_MODULES_THREAD 1
-
-#define JIN_MODULES_TIME 1
-#define JIN_TIME_SDL 1
+#define JIN_MODULES_AUDIO 1
+#define JIN_AUDIO_SDLAUDIO 1
+#define JIN_AUDIO_OPENAL 1
+
+#define JIN_MODULES_RENDER 1
+
+#define JIN_MODULES_DEBUG 1
+
+#define JIN_MODULES_FILESYSTEM 1
+
+#define JIN_MODULES_INPUT 1
+#define JIN_INPUT_SDL 1
+
+#define JIN_MODULES_MATH 1
+
+#define JIN_MODULES_NET 1
+
+#define JIN_MODULES_PHYSICS 1
+#define JIN_PHYSICS_BOX2D 1
+#define JIN_PHYSICS_NEWTON 1
+
+#define JIN_MODULES_TILEMAP 1
+
+#define JIN_MODULES_UI 1
+
+#define JIN_MODULES_TOOLS 1
+#define JIN_TOOLS_COMPONENT 1
+#define JIN_TOOLS_EVENTMSGCENTER 1
+
+#define JIN_MODULES_THREAD 1
+
+#define JIN_MODULES_TIME 1
+#define JIN_TIME_SDL 1
/*
* Debug
diff --git a/src/libjin/tools/EventMsgCenter/EventMsgCenter.h b/src/libjin/tools/EventMsgCenter/EventMsgCenter.h
index e69de29..a679f06 100644
--- a/src/libjin/tools/EventMsgCenter/EventMsgCenter.h
+++ b/src/libjin/tools/EventMsgCenter/EventMsgCenter.h
@@ -0,0 +1,20 @@
+#ifndef __JIN_TOOLS_EVENTMSGCENTER_H
+#define __JIN_TOOLS_EVENTMSGCENTER_H
+#include "../../modules.h"
+#if JIN_MODULES_TOOLS && JIN_TOOLS_EVENTMSGCENTER
+
+namespace jin
+{
+namespace tools
+{
+
+ class EventMSGCenter
+ {
+
+ };
+
+} // tools
+} // jin
+
+#endif // JIN_MODULES_TOOLS && JIN_TOOLS_EVENTMSGCENTER
+#endif // __JIN_TOOLS_EVENTMSGCENTER_H \ No newline at end of file