Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


TryLoad

Loads a single property, already deseriazed into an object.
Read time 2 minutesLast updated 5 days ago

Definition

TryLoad(PropertyDatabaseRecordKey, Object)

Loads a single property, already deseriazed into an object.
public bool TryLoad(in PropertyDatabaseRecordKey recordKey, out object value)

Parameters

A record key.

value

The property value.

Returns

Type

Description

boolTrue if the record is found and is valid, false otherwise.

Remarks

// Load the value already deserialized.var colorRecordKey = PropertyDatabase.CreateRecordKey("path/to/my/asset", "m_Color");if (!propertyDatabase.TryLoad(colorRecordKey, out object colorObject)) Assert.Fail("Failed to load color property.");var color = (Color)colorObject;Assert.AreEqual(new Color(1, 0, 1), color);
Additional Resources: PropertyDatabase.CreateRecordKey.

TryLoad(PropertyDatabaseRecordKey, IPropertyDatabaseRecordValue)

Loads a single property, still contained within a record.
public bool TryLoad(in PropertyDatabaseRecordKey recordKey, out IPropertyDatabaseRecordValue value)

Parameters

A record key.

The property record.

Returns

Type

Description

boolTrue if the record is found and is valid, false otherwise.

Remarks

This method doesn't deserialize the value. You have to deserialize it yourself by calling PropertyDatabase.GetObjectFromRecordValue.
// Load the record value to do a deserialization at the appropriate time.var sizeRecordKey = PropertyDatabase.CreateRecordKey("path/to/my/asset", "m_Size");if (!propertyDatabase.TryLoad(sizeRecordKey, out IPropertyDatabaseRecordValue sizeRecordValue)) Assert.Fail("Failed to load size property.");var size = propertyDatabase.GetValueFromRecord<int>(sizeRecordValue);Assert.AreEqual(42, size);
Additional Resources: PropertyDatabase.CreateRecordKey.

TryLoad(ulong, IEnumerable<Object>)

Loads all the properties of a document, already deseriazed into objects.
public bool TryLoad(ulong documentKey, out IEnumerable<object> data)

Parameters

documentKey

A document key.

The document property values.

Returns

Type

Description

boolTrue if the record is found and is valid, false otherwise.

Remarks

// Load all values not associated with a document, already deserialized.var nullDocumentKey = PropertyDatabase.CreateDocumentKey(null);if (!propertyDatabase.TryLoad(nullDocumentKey, out IEnumerable<object> noDocumentProperties)) Assert.Fail("Failed to load properties with no documents.");Assert.IsNotEmpty(noDocumentProperties);Assert.AreEqual("myDocs_", noDocumentProperties.First());
Additional Resources: PropertyDatabase.CreateDocumentKey.

TryLoad(ulong, IEnumerable<IPropertyDatabaseRecord>)

Loads all the properties of a document, still contained within records.
public bool TryLoad(ulong documentKey, out IEnumerable<IPropertyDatabaseRecord> records)

Parameters

documentKey

A document key.

The document property records.

Returns

Type

Description

boolTrue if the record is found and is valid, false otherwise.

Remarks

This method doesn't deserialize the values. You have to deserialize them yourself by calling PropertyDatabase.GetObjectFromRecordValue.
// Load all values associated with a document, not deserialized.var myAssetDocumentKey = PropertyDatabase.CreateDocumentKey("path/to/my/asset");if (!propertyDatabase.TryLoad(myAssetDocumentKey, out IEnumerable<IPropertyDatabaseRecord> myDocumentRecords)) Assert.Fail("Failed to load records for my asset document.");var deserializedValues = new Dictionary<PropertyDatabaseRecordKey, object>();foreach (var myDocumentRecord in myDocumentRecords){ var value = propertyDatabase.GetValueFromRecord<object>(myDocumentRecord.value); deserializedValues.Add(myDocumentRecord.key, value);}Assert.AreEqual(5, deserializedValues.Count);
Additional Resources: PropertyDatabase.CreateDocumentKey.