ObjectPropertyData

Namespace: UAssetAPI.PropertyTypes.Objects

Describes a reference variable to another object (import/export) which may be null (FPackageIndex).

public class ObjectPropertyData : PropertyData`1, System.ICloneable

Inheritance ObjectPropertyDataPropertyData<FPackageIndex>ObjectPropertyData
Implements ICloneable

Fields

Name

The name of this property.

public FName Name;

Ancestry

The ancestry of this property. Contains information about all the classes/structs that this property is contained within. Not serialized.

public AncestryInfo Ancestry;

ArrayIndex

The array index of this property. Used to distinguish properties with the same name in the same struct.

public int ArrayIndex;

PropertyGuid

An optional property GUID. Nearly always null.

public Nullable<Guid> PropertyGuid;

IsZero

Whether or not this property is "zero," meaning that its body can be skipped during unversioned property serialization because it consists solely of null bytes.

This field will always be treated as if it is false if PropertyData.CanBeZero(UnrealPackage) does not return true.

public bool IsZero;

PropertyTagFlags

public EPropertyTagFlags PropertyTagFlags;

PropertyTagExtensions

Optional extensions to serialize with this property.

public EPropertyTagExtension PropertyTagExtensions;

OverrideOperation

public EOverriddenPropertyOperation OverrideOperation;

bExperimentalOverridableLogic

public bool bExperimentalOverridableLogic;

Offset

The offset of this property on disk. This is for the user only, and has no bearing in the API itself.

public long Offset;

Tag

An optional tag which can be set on any property in memory. This is for the user only, and has no bearing in the API itself.

public object Tag;

Properties

PropertyType

public FString PropertyType { get; }

Property Value

FString

DefaultValue

public object DefaultValue { get; }

Property Value

Object

Value

The "main value" of this property, if such a concept is applicable to the property in question. Properties may contain other values as well, in which case they will be present as other fields in the child class.

public FPackageIndex Value { get; set; }

Property Value

FPackageIndex

RawValue

public object RawValue { get; set; }

Property Value

Object

ShouldBeRegistered

Determines whether or not this particular property should be registered in the property registry and automatically used when parsing assets.

public bool ShouldBeRegistered { get; }

Property Value

Boolean

HasCustomStructSerialization

Determines whether or not this particular property has custom serialization within a StructProperty.

public bool HasCustomStructSerialization { get; }

Property Value

Boolean

Constructors

ObjectPropertyData(FName)

public ObjectPropertyData(FName name)

Parameters

name FName

ObjectPropertyData()

public ObjectPropertyData()

Methods

IsImport()

Returns true if this ObjectProperty represents an import.

public bool IsImport()

Returns

Boolean
Is this ObjectProperty an import?

IsExport()

Returns true if this ObjectProperty represents an export.

public bool IsExport()

Returns

Boolean
Is this ObjectProperty an export?

IsNull()

Return true if this ObjectProperty represents null (i.e. neither an import nor an export)

public bool IsNull()

Returns

Boolean
Does this ObjectProperty represent null?

ToImport(UnrealPackage)

Check that this ObjectProperty is an import index and return the corresponding import.

public Import ToImport(UnrealPackage asset)

Parameters

asset UnrealPackage

Returns

Import
The import that this ObjectProperty represents in the import map.

Exceptions

InvalidOperationException
Thrown when this is not an index into the import map.

ToExport(UnrealPackage)

Check that this ObjectProperty is an export index and return the corresponding export.

public Export ToExport(UnrealPackage asset)

Parameters

asset UnrealPackage

Returns

Export
The export that this ObjectProperty represents in the the export map.

Exceptions

InvalidOperationException
Thrown when this is not an index into the export map.

Read(AssetBinaryReader, Boolean, Int64, Int64, PropertySerializationContext)

public void Read(AssetBinaryReader reader, bool includeHeader, long leng1, long leng2, PropertySerializationContext serializationContext)

Parameters

reader AssetBinaryReader

includeHeader Boolean

leng1 Int64

leng2 Int64

serializationContext PropertySerializationContext

Write(AssetBinaryWriter, Boolean, PropertySerializationContext)

public int Write(AssetBinaryWriter writer, bool includeHeader, PropertySerializationContext serializationContext)

Parameters

writer AssetBinaryWriter

includeHeader Boolean

serializationContext PropertySerializationContext

Returns

Int32

ToString()

public string ToString()

Returns

String

FromString(String[], UAsset)

public void FromString(String[] d, UAsset asset)

Parameters

d String[]

asset UAsset