Renamed vars and added some comments.
This commit is contained in:
@@ -24,12 +24,13 @@ public:
|
||||
}
|
||||
|
||||
template <typename T, typename... Arguments>
|
||||
void AddSystem(int updateOrderPriority, Arguments... args)
|
||||
//All systems with orderlevel 0 will be updated first, then 1, 2, etc.
|
||||
void AddSystem(int updateOrderLevel, Arguments... args)
|
||||
{
|
||||
if (updateOrderPriority + 1 > m_OrderedSystemGroups.size()) {
|
||||
m_OrderedSystemGroups.resize(updateOrderPriority + 1);
|
||||
if (updateOrderLevel + 1 > m_OrderedSystemGroups.size()) {
|
||||
m_OrderedSystemGroups.resize(updateOrderLevel + 1);
|
||||
}
|
||||
UnorderedSystems& group = m_OrderedSystemGroups[updateOrderPriority];
|
||||
UnorderedSystems& group = m_OrderedSystemGroups[updateOrderLevel];
|
||||
System* system = new T(m_EventBroker, args...);
|
||||
group.Systems[typeid(T).name()] = system;
|
||||
|
||||
|
||||
@@ -4,8 +4,6 @@
|
||||
|
||||
void CollisionSystem::UpdateComponent(World * world, ComponentWrapper & cAABB, double dt)
|
||||
{
|
||||
//TODO: Update CollisionSystem system after PlayerSystem.
|
||||
|
||||
//Right now, cAABB is a component attached to any entity that should be collideable.
|
||||
AABB thisBox;
|
||||
if (!Collision::GetEntityBox(world, cAABB, thisBox)) {
|
||||
|
||||
+9
-7
@@ -52,15 +52,17 @@ Game::Game(int argc, char* argv[])
|
||||
|
||||
// Create system pipeline
|
||||
m_SystemPipeline = new SystemPipeline(m_EventBroker);
|
||||
unsigned int updateOrderPriority = 0;
|
||||
m_SystemPipeline->AddSystem<RaptorCopterSystem>(updateOrderPriority);
|
||||
m_SystemPipeline->AddSystem<PlayerSystem>(updateOrderPriority);
|
||||
m_SystemPipeline->AddSystem<EditorSystem>(updateOrderPriority, m_Renderer);
|
||||
|
||||
//All systems with orderlevel 0 will be updated first.
|
||||
unsigned int updateOrderLevel = 0;
|
||||
m_SystemPipeline->AddSystem<RaptorCopterSystem>(updateOrderLevel);
|
||||
m_SystemPipeline->AddSystem<PlayerSystem>(updateOrderLevel);
|
||||
m_SystemPipeline->AddSystem<EditorSystem>(updateOrderLevel, m_Renderer);
|
||||
|
||||
//Collision and TriggerSystem should update after player.
|
||||
++updateOrderPriority;
|
||||
m_SystemPipeline->AddSystem<CollisionSystem>(updateOrderPriority);
|
||||
m_SystemPipeline->AddSystem<TriggerSystem>(updateOrderPriority);
|
||||
++updateOrderLevel;
|
||||
m_SystemPipeline->AddSystem<CollisionSystem>(updateOrderLevel);
|
||||
m_SystemPipeline->AddSystem<TriggerSystem>(updateOrderLevel);
|
||||
|
||||
m_LastTime = glfwGetTime();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user