diff --git a/assets b/assets
index 8a7ecf53..b3746822 160000
--- a/assets
+++ b/assets
@@ -1 +1 @@
-Subproject commit 8a7ecf53f7ad7b8c36d778d0927fd77f7c6f6db0
+Subproject commit b37468222e45ec0b2116f1543c578cb9784d43f2
diff --git a/include/Game/Game.h b/include/Game/Game.h
index d52bc8cb..500ecf3a 100644
--- a/include/Game/Game.h
+++ b/include/Game/Game.h
@@ -12,6 +12,7 @@
#include "Core/EKeyDown.h"
#include "Core/EntityXMLFile.h"
#include "Core/SystemPipeline.h"
+#include "RaptorCopterSystem.h"
class Game
{
diff --git a/include/Game/RaptorCopterSystem.h b/include/Game/RaptorCopterSystem.h
new file mode 100644
index 00000000..55647004
--- /dev/null
+++ b/include/Game/RaptorCopterSystem.h
@@ -0,0 +1,16 @@
+#include "Common.h"
+#include "Core/System.h"
+
+class RaptorCopterSystem : public System
+{
+public:
+ RaptorCopterSystem(const EventBroker* eventBroker)
+ : System(eventBroker, "RaptorCopter")
+ { }
+
+ virtual void Update(World* world, ComponentWrapper& raptorCopter, double dt) override
+ {
+ ComponentWrapper& transform = world->GetComponent(raptorCopter.EntityID, "Transform");
+ (glm::vec3&)transform["Orientation"] += (float)(double)raptorCopter["Speed"] * (float)dt * (glm::vec3)raptorCopter["Axis"];
+ }
+};
\ No newline at end of file
diff --git a/resources/Schema/Components.xsd b/resources/Schema/Components.xsd
index 54896b69..d4160700 100644
--- a/resources/Schema/Components.xsd
+++ b/resources/Schema/Components.xsd
@@ -4,4 +4,5 @@
+
\ No newline at end of file
diff --git a/resources/Schema/Components/RaptorCopter.xml b/resources/Schema/Components/RaptorCopter.xml
new file mode 100644
index 00000000..cc1ece52
--- /dev/null
+++ b/resources/Schema/Components/RaptorCopter.xml
@@ -0,0 +1,4 @@
+
+ 0
+
+
\ No newline at end of file
diff --git a/resources/Schema/Components/RaptorCopter.xsd b/resources/Schema/Components/RaptorCopter.xsd
new file mode 100644
index 00000000..23ee8a96
--- /dev/null
+++ b/resources/Schema/Components/RaptorCopter.xsd
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/Schema/Entities/Test.xml b/resources/Schema/Entities/Test.xml
index 4e7eafcf..2c3ea18e 100644
--- a/resources/Schema/Entities/Test.xml
+++ b/resources/Schema/Entities/Test.xml
@@ -37,57 +37,76 @@
-
- Models/Core/UnitRaptor.obj
-
-
+
-
-
+
+
+
+ Models/Core/UnitRaptor.obj
+
+
-
-
-
-
- Models/Core/UnitCube.obj
-
-
-
-
-
-
-
-
-
+
-
- Models/Core/UnitCube.obj
-
-
-
-
-
-
-
-
-
-
-
-
- Models/Core/UnitCube.obj
-
-
+
+ 20
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCylinder.obj
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.obj
+
+
+
+
+
+
+
+
+
+
+
+
+ Models/Core/UnitCube.obj
+
+
+
+
+
diff --git a/resources/Schema/Types/Entity.xsd b/resources/Schema/Types/Entity.xsd
index 49d0f895..695ae7d1 100644
--- a/resources/Schema/Types/Entity.xsd
+++ b/resources/Schema/Types/Entity.xsd
@@ -13,6 +13,7 @@
+
diff --git a/src/Game/Game.cpp b/src/Game/Game.cpp
index efa8c4b7..15dde3a0 100644
--- a/src/Game/Game.cpp
+++ b/src/Game/Game.cpp
@@ -44,6 +44,7 @@ Game::Game(int argc, char* argv[])
// Create system pipeline
m_SystemPipeline = new SystemPipeline(m_EventBroker);
+ m_SystemPipeline->AddSystem();
m_LastTime = glfwGetTime();