Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

IPropertyDatabaseView.TryLoad(in PropertyDatabaseRecordKey,out object)

Параметры

Параметр Описание
recordKey Ключ записи.
данные Значение недвижимости.

Возвращаемое значение

void True, если запись найдена и действительна, false в противном случае.

Описание

Загружает одно свойство, уже разрядованное в объект.

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

Дополнительные ресурсы: ,IPropertyDatabaseView.CreateRecordKey,.

Параметры

Параметр Описание
recordKey Ключ записи.
данные Регистр свойства.

Возвращаемое значение

void True, если запись найдена и действительна, false в противном случае.

Описание

Загружает одно свойство, все еще содержащееся в записи.

Этот метод не десериализует значение. Вы должны десериализовать его сами, вызвав IPropertyDatabaseView.GetObjectFromRecordValue.

// Load the record value to do a deserialization at the appropriate time.
using (var view = propertyDatabase.GetView())
{
    var sizeRecordKey = view.CreateRecordKey("path/to/my/asset", "m_Size");
    if (!view.TryLoad(sizeRecordKey, out IPropertyDatabaseRecordValue sizeRecordValue))
        Assert.Fail("Failed to load size property.");
    var size = view.GetValueFromRecord<int>(sizeRecordValue);
    Assert.AreEqual(42, size);
}

Дополнительные ресурсы: ,IPropertyDatabaseView.CreateRecordKey,.

Declaration

public bool TryLoad(ulong documentKey, out IEnumerable<object> data);

Параметры

Параметр Описание
documentKey Ключ документа.
данные Значения свойств документа.

Возвращаемое значение

логическое True, если запись найдена и действительна, false в противном случае.

Описание

Загружает все свойства документа, уже разрядившиеся в объекты.

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

Дополнительные ресурсы: ,IPropertyDatabaseView.CreateDocumentKey,.

Declaration

public bool TryLoad(ulong documentKey, out IEnumerable<IPropertyDatabaseRecord> records);

Параметры

Параметр Описание
documentKey Ключ документа.
записи Записи свойств документа.

Возвращаемое значение

логическое True, если запись найдена и действительна, false в противном случае.

Описание

Загружает все свойства документа, которые все еще содержатся в записях.

Этот метод не десериализует значения. Вы должны десериализовать их сами, вызвав IPropertyDatabaseView.GetObjectFromRecordValue.

// Load all values associated with a document, not deserialized.
using (var view = propertyDatabase.GetView())
{
    var myAssetDocumentKey = view.CreateDocumentKey("path/to/my/asset");
    if (!view.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 = view.GetValueFromRecord<object>(myDocumentRecord.value);
        deserializedValues.Add(myDocumentRecord.key, value);
    }

    Assert.AreEqual(5, deserializedValues.Count);
}

Дополнительные ресурсы: ,IPropertyDatabaseView.CreateDocumentKey,.