Provider
класс в UnityEditor.VersionControl
Описание
Этот класс даёт доступ к API контроля версий.
Обратите внимание, что окно Управления Версиями обновляется после каждой операции управления версиями. Это означает, что циклическое прохождение нескольких ассетов и выполнение индивидуальной операции на каждом из них (i.e. Загрузка) будет медленнее, чем прохождение AssetList, содержащего все ассеты, и выполнение операции управления версиями на нем один раз.
using System.Collections.Generic; using UnityEditor; using UnityEditor.VersionControl; using UnityEngine;
public class EditorScript : MonoBehaviour { [MenuItem("VC/Checkout")] public static void TestCheckout() { AssetList assets = new AssetList(); assets.Add(new Asset("Assets/"));
Task t = Provider.Checkout(assets, CheckoutMode.Both); t.Wait(); } }
Также обратите внимание, что операции Провайдера выполняют только команды VCS и не обновляют автоматически окно Управления Версиями. Для обновления этого окна используйте Task.SetCompletionAction.
using System.Collections.Generic; using UnityEditor; using UnityEditor.VersionControl; using UnityEngine;
public class EditorScript : MonoBehaviour { [MenuItem("VC/ChangeSetMove")] static void ChangeSetMove() { AssetList assets = new AssetList(); assets.Add(Provider.GetAssetByPath("Assets/testMaterial.mat")); Task task = Provider.ChangeSetMove(assets, "ChangeSetID"); task.SetCompletionAction(CompletionAction.UpdatePendingWindow); } }
Статические свойства
| Свойство | Описание |
|---|---|
| activeTask | Получает текущее выполняемое задание. |
| enabled | Возвращает true, если поставщик управления версиями включен и найдена действительная лицензия Unity Pro. |
| hasCheckoutSupport | Это верно, если выбранный в данный момент плагин управления версиями поддерживает метод Checkout. |
| hasLockingSupport | Это верно, если выбранный в данный момент плагин управления версиями поддерживает методы Заблокировать и Разблокировать. |
| isActive | Возвращает true, если плагин управления версиями был выбран и настроен правильно. |
| offlineReason | Возвращает причину отключения поставщика управления версиями (если он отключен). |
| onlineState | Возвращает OnlineState поставщика управления версиями. |
| preCheckoutCallback | Предоставляемый пользователем обратный вызов, который должен быть вызван перед операцией извлечения Управления Версиями. |
| preSubmitCallback | Предоставляемый пользователем обратный вызов, который должен быть вызван перед операцией Подтверждения Управления Версиями. |
| requiresNetwork | Это верно, если для выполнения любого действия выбранным в данный момент плагином управления версиями требуется сетевое соединение. |
Статические методы
| Метод | Описание |
|---|---|
| Add | Позволяет добавлять файлы в систему управления версиями с помощью скрипта. |
| AddIsValid | При наличии списка ассетов эта функция возвращает true, если Provider.Add является действительной задачей для выполнения хотя бы на одном из ассетов в списке. |
| ChangeSetDescription | Если набор изменений содержит только набор изменений ID, это запустит задачу запроса описания набора изменений. |
| ChangeSetMove | Перемещение ресурса или списка ресурсов из их текущего набора изменений в новый набор изменений. |
| ChangeSets | Получает список ожидающих изменений наборов, принадлежащих текущему пользователю. |
| ChangeSetStatus | Получает список ассетов, принадлежащих к набору изменений. |
| Checkout | Извлечение ассета или списка ассетов из системы управления версиями. |
| CheckoutIsValid | Для заданного ассета или списка ассетов эта функция возвращает true, если Provider.Checkout является действительной задачей для выполнения хотя бы на одном из заданного ассета. |
| ClearCache | Это сделает недействительными кэшированные сведения о состоянии для всех ассетов. |
| Delete | Запускает задачу для удаления ресурса или списка ресурсов с диска и из системы управления версиями. |
| DeleteChangeSets | Запускает задачу, которая попытается удалить указанные наборы изменений. |
| DeleteChangeSetsIsValid | Проверяет, является ли удаление заданных наборов изменений действительной задачей для выполнения. |
| DiffHead | Запускает задачу для отображения различий указанной ревизии assest и их головной ревизии. |
| DiffIsValid | Возвращает true, если запуск задачи Различия является действительной операцией хотя бы для одного ассета в заданном AssetList. |
| GetActiveConfigFields | Возвращает поля конфигурации для текущего активного плагина управления версиями. |
| GetActivePlugin | Получает текущий, выбранный пользователем Плагин управления версиями. |
| GetAssetByGUID | Возвращает информацию управления версиями об ассете из заданного GUID. |
| GetAssetByPath | Возвращает информацию об управлении версиями ресурса. Может использоваться вместе с "AssetList.Add" для добавления ресурсов в список для дальнейших действий по управлению версиями. |
| GetAssetListFromSelection | Возвращает информацию об управлении версиями для выбранных в данный момент Ассетов. |
| GetLatest | Запуск задачи для получения последней версии несинхронизированного ассета с сервера управления версиями. |
| GetLatestIsValid | Задача проверяет указанный список ассетов и возвращает true, если Provider.GetLatest является действительной операцией для одного или нескольких ассетов. |
| Incoming | Запускает задание, которое запрашивает у сервера управления версиями входящие изменения. |
| IncomingChangeSetAssets | При наличии входящего набора изменений это запустит задачу запроса сервера управления версиями, для которого ассеты являются частью набора изменений. |
| IsOpenForEdit | Возвращает true, если ресурс можно редактировать. |
| Lock | Попытка заблокировать ресурс для эксклюзивного редактирования. |
| LockIsValid | Возвращает true, если задача Provider.Lock может быть выполнена на одном или нескольких ассетах из указанного списка ассетов. |
| Merge | Инициирует задачу слияния для обработки слияния конфликтующих Ассетов. Это вызывает инструмент слияния, который вы можете установить в разделе Внешние инструменты окна Настройки, для конфликтующих Ассетов. Когда задача слияния заканчивается, AssetList содержит только те Ассеты, которые инструмент мог объединить. |
| Move | Использует плагин управления версиями для перемещения ассета из одного пути в другой. |
| Resolve | Запускает задачу, которая разрешит конфликтующие ассеты в управлении версиями. |
| ResolveIsValid | Проверяет, есть ли конфликт состояний у какого-либо ассета из списка и можно ли его разрешить. |
| Revert | Возвращает указанные ресурсы, отменяя любые изменения, сделанные со времени последней синхронизации. |
| RevertIsValid | Возвращает true, если Provider.Revert является допустимой задачей для выполнения хотя бы на одном из ассетов в списке. |
| Status | Запускает задачу, которая получит последнюю информацию о состоянии ассета или ассетов из системы управления ревизиями. |
| Submit | Запускает задачу, которая отправляет ассеты для управления версиями. |
| SubmitIsValid | Возвращает true, если передача ассетов является действительной операцией. |
| UnlockIsValid | Возвращает true, если разблокировка ассетов является действительной операцией. |
| UpdateSettings | Запускает задание, которое отправляет параметры управления версиями в систему управления версиями. |
Делегаты
| делегат | Описание |
|---|---|
| PreCheckoutCallback | Делегирование для предоставленного пользователем обратного вызова, который будет вызван перед получением версии управления. |
| PreSubmitCallback | Делегирование для предоставленного пользователем обратного вызова, который будет вызван перед отправкой управления версиями. |