Объявление
public delegate bool PreCheckoutCallback(VersionControl.AssetList list, ref string changesetID, ref string changesetDescription);Параметры
list | Список активов, которые будут переданы команде Checkout. Активы могут быть удалены из этого списка или добавлены в него в обратном вызове.. |
changesetID | Установите это на идентификатор существующего набора изменений, чтобы проверить перечисленные активы в этом наборе изменений. Если набор изменений, соответствующий указанному идентификатору, не будет найден, проверка будет заблокирована и появится сообщение об ошибке. Не устанавливайте одновременно этот параметр и параметр changesetDescription — это не поддерживается и будет вызвана ошибка. |
changesetDescription | Чтобы проверить активы в новом наборе изменений, установите эту строку описания. Это действие создает новый набор изменений, в котором открываются активы. Не устанавливайте одновременно эту строку описания и параметр changesetID. Установка обоих вызывает ошибку. |
Описание
Делегировать предоставленный пользователем обратный вызов перед проверкой контроля версий.
Обратный вызов PreCheckoutCallback может быть настроен на следующие действия:
- Разрешите извлечение, вернув true из обратного вызова.
- Предотвратите извлечение, возвращая false из обратного вызова.
- Измените список объектов, подлежащих извлечению (вы можете запретить получение определенных ресурсов или убедиться, что определенные ресурсы извлечены).
- Перенаправить извлечение на существующий набор изменений.
- Создайте новый набор изменений, чтобы проверить активы.
Примечания: AssetList является абсолютным — активы и/или их метафайлы не будут автоматически добавлены после возврата этого обратного вызова. Установка как changesetID, так и changesetDescription в идеале должна позволять переименовывать существующий набор изменений (чтобы изменить его описание), но в настоящее время это не поддерживается. Попытка установить changesetDescription, когда поставщик VCS не поддерживает наборы изменений, вызовет ошибку. Проверьте наличие поддержки, позвонив Provider.hasChangelistSupport. Вы не должны вызывать какой-либо код внутри этого обратного вызова, который приводит к созданию дальнейшей операции извлечения, так как это может привести к потенциально бесконечной рекурсии. Помните о перезагрузке домена. Если ваши сборки перезагружаются в какой-либо момент, вам необходимо снова установить Provider.preCheckoutCallback с выбранным обратным вызовом.
Смотрите так же: Provider.preCheckoutCallback, Provider.Checkout, AssetDatabase.MakeEditable.