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

PropertyDatabase.InvalidateMask

Declaration

public void InvalidateMask(ulong documentKeyMask);

Параметры

Параметр Описание
documentKeyMask Маска ключа документа.

Описание

Отмена действия всех свойств, сохраненных из нескольких документов, соответствующих маске ключа документа.

Эта операция медленнее, чем более простые PropertyDatabase.Invalidate, поскольку мы не можем полагаться на двоичный поиск, чтобы найти все ключи, соответствующие маске.

// Store properties of multiple documents.
for (ulong i = 0; i < 10; ++i)
{
    for (var j = 0; j < 10; ++j)
        propertyDatabase.Store(i, PropertyDatabase.CreatePropertyHash($"prop{j}"), $"value{j}");
}
// Invalidate all documents that match any set bits of the mask.
ulong invalidatedDocumentMask = 2;
propertyDatabase.InvalidateMask(invalidatedDocumentMask);

// The invalidated documents can no longer be retrieved.
for (ulong i = 0; i < 10; ++i)
{
    if ((i & invalidatedDocumentMask) == 0)
        continue;
    if (propertyDatabase.TryLoad(i, out IEnumerable<object> invalidatedDocumentValues))
        Assert.Fail("TryLoad should have failed to retrieve the invalidated document values.");
}

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