Added OnComponentCreated event for systems

This commit is contained in:
2014-03-07 20:17:12 +01:00
parent b06f8a54b2
commit 60c0f1d098
2 changed files with 8 additions and 0 deletions
+4
View File
@@ -2,6 +2,7 @@
#define System_h__
#include "Entity.h"
#include "Component.h"
class World;
@@ -16,6 +17,9 @@ public:
// Called once for every entity in the world every tick
virtual void Update(double dt, EntityID entity, EntityID parent) { }
// Called when a component is created
virtual void OnComponentCreated(std::string type, std:: shared_ptr<Component> component);
protected:
World* m_World;
};
+4
View File
@@ -44,8 +44,12 @@ public:
return nullptr;
}
component->Entity = entity;
m_ComponentsOfType[componentType].push_back(component);
m_EntityComponents[entity][componentType] = component;
for (auto system : m_Systems) {
system->OnComponentCreated(componentType, component);
}
return component;
}