...Rayne? I'm sorry, but i wanted a managed environment with reflection.
So, kind of like this?
void Foobar()
{
RN::MetaClass *meta = RN::Catalogue::GetSharedInstance()->GetClassWithName("RN::Entity");
RN::Object *object = meta->Construct();
if(object->IsKindOfClass(RN::Array::MetaClass()))
{
throw "If you run into this, hide in your basement and good luck survivng the apocalypse";
}
object->SetValueForKey(RN::Model::WithFile("myModel"), RNCSTR("model"));
}
I mean, it's an useless example that I just pulled out of my ass, but it's used for serialization/deserialization and runtime generics...
But I digress, just wanted to say that Rayne DOES have a runtime type introspection system.... No managed environment though, unless you drop to a scripting language that supports it.
Anyways, good luck with your engine!