Filled out several of the RTTISystem methods that return lists of specific types.
The Enum and Bitfield variants take a boolean that checks the first bit of their flags byte, which filters whether they are scripted or native. I've tested that it works that way for Enums, but Bitfields are only implemented as native code and the redscript compiler doesn't currently support bitfields, so it's purely conjecture on my part (they are treated identically though).
There are a few differences between IRTTISystem::GetClasses() and IRTTISystem::GetDerivedClasses():
GetClasses() will call CClass::IsA(aIsAClass) on each class if aIsAClass is not null.
GetClasses() has an optional filter function that is called on each matching class
GetDerivedClasses() will check each class to see if class.parent == aBaseClass
Filled out several of the RTTISystem methods that return lists of specific types.
The Enum and Bitfield variants take a boolean that checks the first bit of their flags byte, which filters whether they are scripted or native. I've tested that it works that way for Enums, but Bitfields are only implemented as native code and the redscript compiler doesn't currently support bitfields, so it's purely conjecture on my part (they are treated identically though).
There are a few differences between
IRTTISystem::GetClasses()
andIRTTISystem::GetDerivedClasses()
:GetClasses()
will callCClass::IsA(aIsAClass)
on each class ifaIsAClass
is not null.GetClasses()
has an optional filter function that is called on each matching classGetDerivedClasses()
will check each class to see ifclass.parent == aBaseClass