recordKey | 记录密钥。 |
value | 属性值。 |
bool 如果找到且有效为真,否则为假。
加载单个属性,已反序列化到对象中。
// 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);
recordKey | 记录密钥。 |
value | 属性记录。 |
bool 如果找到且有效为真,否则为假。
加载单个属性,仍保存在记录中。
此方法不会反序列化值。你需要通过调用 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);
documentKey | 文档密钥。 |
data | 文档属性值。 |
bool 如果找到且有效为真,否则为假。
加载文档的所有属性,已反序列化为对象。
// 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());
documentKey | 文档密钥。 |
records | 文档属性记录。 |
bool 如果找到且有效为真,否则为假。
加载文档的所有属性,仍保存在记录中。
此方法不会反序列化值。你需要通过调用 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);