aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-10-24 08:21:06 +0800
committerchai <chaifix@163.com>2018-10-24 08:21:06 +0800
commite98acfb0d497e9c4560554cba73eb5c313ea034a (patch)
treefc1b9d1e5c0945740829e6257fc1544fa783630c /src
parent280c39c65f47b4d1395d0dfe583a67a058804a27 (diff)
*修改entity->gameobject
sprite_batch->graphic_batch
Diffstat (limited to 'src')
-rw-r--r--src/libjin/Game/je_game_object.cpp11
-rw-r--r--src/libjin/Game/je_game_object.h86
-rw-r--r--src/libjin/Graphics/je_graphic_batch.cpp0
-rw-r--r--src/libjin/Graphics/je_graphic_batch.h20
4 files changed, 117 insertions, 0 deletions
diff --git a/src/libjin/Game/je_game_object.cpp b/src/libjin/Game/je_game_object.cpp
new file mode 100644
index 0000000..1396518
--- /dev/null
+++ b/src/libjin/Game/je_game_object.cpp
@@ -0,0 +1,11 @@
+#include "je_entity.h"
+
+namespace JinEngine
+{
+ namespace Game
+ {
+
+
+
+ } // namespace Game
+} // namespace JinEngine \ No newline at end of file
diff --git a/src/libjin/Game/je_game_object.h b/src/libjin/Game/je_game_object.h
new file mode 100644
index 0000000..08a103f
--- /dev/null
+++ b/src/libjin/Game/je_game_object.h
@@ -0,0 +1,86 @@
+#ifndef __JE_GAME_OBJECT_H
+#define __JE_GAME_OBJECT_H
+
+#include "../core/je_configuration.h"
+#if defined(jin_game)
+
+#include <list>
+#include <map>
+#include <set>
+
+#include "../common/je_object.h"
+#include "../common/je_types.h"
+#include "../graphics/je_sprite.h"
+
+namespace JinEngine
+{
+ namespace Game
+ {
+
+ ///
+ /// Game object base class.
+ ///
+ class GameObject : public Object
+ {
+ public:
+
+ ///
+ ///
+ ///
+ virtual ~GameObject();
+
+ ///
+ ///
+ ///
+ void lifecycle();
+
+ ///
+ ///
+ ///
+ void setVisible(bool isVisible);
+
+ ///
+ ///
+ ///
+ void setActive(bool isActive);
+
+ ///
+ ///
+ ///
+ void setOrder(uint32 order);
+
+ protected:
+ virtual void onAlive();
+ virtual void onUpdate(float dt);
+ virtual void onDraw();
+ virtual void onDestroy();
+
+ uint32 mLayer; // layer where entity belongs
+ uint32 mOrder; // render index in layer
+ uint32 mTag; // tag of entity, support 32 tags now
+ bool mIsVisible; // if the entity is visible or not
+ bool mIsActive; // if the entity is joined into the logic
+
+ ///
+ /// Position of entity.
+ ///
+ Math::Vector2<float> mPosition;
+
+ };
+
+ ///
+ /// Entity list. For quickly adding and removing entities.
+ ///
+ typedef std::list<GameObject*> EntityList;
+
+ ///
+ /// Entity set. For searching and keeps entities unique and sorted.
+ ///
+ typedef std::set<GameObject*> EntitySet;
+
+ } // namespace Game
+} // namespace JinEngine
+
+#endif // jin_game
+
+#endif \ No newline at end of file
diff --git a/src/libjin/Graphics/je_graphic_batch.cpp b/src/libjin/Graphics/je_graphic_batch.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/libjin/Graphics/je_graphic_batch.cpp
diff --git a/src/libjin/Graphics/je_graphic_batch.h b/src/libjin/Graphics/je_graphic_batch.h
new file mode 100644
index 0000000..ebe63f9
--- /dev/null
+++ b/src/libjin/Graphics/je_graphic_batch.h
@@ -0,0 +1,20 @@
+#ifndef __JE_GRAPHIC_BATCH_H
+#define __JE_GRAPHIC_BATCH_H
+
+namespace JinEngine
+{
+ namespace Graphics
+ {
+
+ ///
+ /// For reducing draw call.
+ ///
+ class GraphicBatch
+ {
+
+ };
+
+ } // Graphics
+} // namespace JinEngine
+
+#endif \ No newline at end of file