public override void OnPopulate() { hkVariant * v = (hkVariant *)Data; hkClass * classData = (hkClass *)v->_classPtr.OffsetAddress; HavokClassNode entry = HavokNode.GetClassNode(new String((sbyte *)classData->_namePtr.OffsetAddress), true); if (entry != null) { new HavokMetaObjectNode(entry as hkClassNode) .Initialize(this, v->_objectPtr.OffsetAddress, classData->_size); } }
public override bool OnInitialize() { if (Header->_namePtr > 0) { _name = new string((sbyte *)Header->_namePtr.OffsetAddress); } _interfaceCount = Header->_interfaceCount; _enumCount = Header->_enumCount; _memberCount = Header->_propertyCount; _version = Header->_version; _size = Header->_size; _flags = Header->_flags; _defaultsPtr = Header->_defaultsPtr; if (Header->_parentPtr != 0) { hkClass *parent = (hkClass *)Header->_parentPtr.OffsetAddress; _parentName = new string((sbyte *)parent->_namePtr.OffsetAddress); } int attribCount = 0; if (Header->_attribPtr != 0) { hkCustomAttributes *attribHeader = (hkCustomAttributes *)Header->_attribPtr.OffsetAddress; attribCount = attribHeader->_count; } if (Header->_defaultsPtr != 0) { Console.WriteLine(Name + " has defaults"); } SetSizeInternal(48); return(Header->_propertyCount > 0 || Header->_enumCount > 0 || attribCount > 0); }
public override bool OnInitialize() { _name = new String((sbyte *)Header->_namePtr.OffsetAddress); _type = (hkClassMember.Type)Header->_type; _subType = (hkClassMember.Type)Header->_pointedType; _structOffset = Header->_structOffset; _flags = (hkClassMember.Flags)(ushort) Header->_flags; _arraySize = Header->_arraySize; if (Header->_enumPtr != 0) { hkClassEnum *e = (hkClassEnum *)Header->_enumPtr.OffsetAddress; _enum = new String((sbyte *)e->_namePtr.OffsetAddress); } if (Header->_classPtr != 0) { hkClass *c = (hkClass *)Header->_classPtr.OffsetAddress; _class = new String((sbyte *)c->_namePtr.OffsetAddress); } return(false); }