#include "director.h"
#include <stdexcept>
#include <msp/time/utils.h>
+#include "component.h"
+#include "entity.h"
#include "stage.h"
using namespace std;
#if DEBUG
access_guard.emplace();
#endif
+
+ reflector.get_or_create_class<Entity>().set_polymorphic_base<Entity>();
+ reflector.get_or_create_class<Component>().set_polymorphic_base<Component>();
}
// Hide ~unique_ptr<Stage> from the header
Stage &Director::create_stage()
{
- stages.emplace_back(std::make_unique<Stage>(std::ref(resources)));
+ stages.emplace_back(std::make_unique<Stage>(std::ref(reflector), std::ref(resources)));
event_source.emit<Events::StageCreated>(std::ref(*stages.back()));
return *stages.back();
}