/// <summary> /// Emits tokens used by realtime garbage collection code to passed in ReferenceTokenStream. The offset emitted is relative /// to the passed in BaseOffset which is used by e.g. arrays of structs. /// </summary> /// <param name="unrealClass"></param> /// <param name="baseOffset"></param> /// <param name="encounteredStructProps"></param> public void EmitReferenceInfo(UClass unrealClass, int baseOffset, List <UStructProperty> encounteredStructProps) { using (TArrayUnsafe <UStructProperty> encounteredStructPropsUnsafe = new TArrayUnsafe <UStructProperty>()) { Native_UProperty.EmitReferenceInfo(Address, unrealClass == null ? IntPtr.Zero : unrealClass.Address, baseOffset, encounteredStructPropsUnsafe.Address); if (encounteredStructProps != null) { encounteredStructProps.Clear(); encounteredStructProps.AddRange(encounteredStructPropsUnsafe); } } }