Hello,
I ran into strange behaviour where typeId appears to be different, depending on how I retrieve it…
engine->GetTypeInfoByName("Transform");
engine->GetTypeInfoByDecl("Transform");
both give me typeId=67108891, but at the same time, a property “Transform@ transform” which I query from it's containing class' type, when I do this:
type->GetProperty(j, &name, &property.typeId, &property.isPrivate, &property.isProtected, &property.offset, &property.isReference, nullptr, nullptr, nullptr);
the property.typeId will be different → typeId=1140850715
What's even more surprising, when I use this number and query the type by id, it returns the same instance of asITypeInfo as the ones from first block:
engine->GetTypeInfoById(property.typeId);
will give same instance as listing #1. This is problematic for me because I use GetProperty to gather properties that I later serialize, and I have mismatch of typeId between my C++ registered types depending where this id comes from - from querying via GetTypeInfoBy* or from the GetProperty…
Any idea where this mismatch comes from? Is this an error or as expected?