/// <summary> /// Returns true if the property address is required by generated code /// </summary> private bool RequiresNativePropertyField(UProperty property) { if (!Settings.LazyFunctionParamInitDestroy && property.GetOwnerStruct().IsA <UFunction>()) { // We need the property address to call InitializeValue / DestroyValue if (!property.HasAllPropertyFlags(EPropertyFlags.ZeroConstructor | EPropertyFlags.NoDestructor)) { return(true); } return(true); } if (property.IsFixedSizeArray) { return(true); } switch (property.PropertyType) { case EPropertyType.Enum: case EPropertyType.Bool: case EPropertyType.Array: case EPropertyType.Set: case EPropertyType.Map: return(true); default: UNumericProperty numericProperty = property as UNumericProperty; if ((numericProperty != null && numericProperty.IsEnum && numericProperty.GetIntPropertyEnum() != null)) { return(true); } break; } return(false); }