您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
53 行
1.6 KiB
53 行
1.6 KiB
#if COM_UNITY_NETCODE_ADAPTER_UTP
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
using UnityEditor.PackageManager;
|
|
using UnityEditor.PackageManager.Requests;
|
|
|
|
namespace Unity.Netcode.Editor.PackageChecker
|
|
{
|
|
[InitializeOnLoad]
|
|
internal class UTPAdapterChecker
|
|
{
|
|
private const string k_UTPAdapterPackageName = "com.unity.netcode.adapter.utp";
|
|
|
|
private static ListRequest s_ListRequest = null;
|
|
|
|
static UTPAdapterChecker()
|
|
{
|
|
if (s_ListRequest == null)
|
|
{
|
|
s_ListRequest = Client.List();
|
|
EditorApplication.update += EditorUpdate;
|
|
}
|
|
}
|
|
|
|
private static void EditorUpdate()
|
|
{
|
|
if (!s_ListRequest.IsCompleted)
|
|
{
|
|
return;
|
|
}
|
|
|
|
EditorApplication.update -= EditorUpdate;
|
|
|
|
if (s_ListRequest.Status == StatusCode.Success)
|
|
{
|
|
if (s_ListRequest.Result.Any(p => p.name == k_UTPAdapterPackageName))
|
|
{
|
|
Debug.Log($"({nameof(UTPAdapterChecker)}) Found UTP Adapter package, it is no longer needed, `UnityTransport` is now directly integrated into the SDK therefore removing it from the project.");
|
|
Client.Remove(k_UTPAdapterPackageName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var error = s_ListRequest.Error;
|
|
Debug.LogError($"({nameof(UTPAdapterChecker)}) Cannot check the list of packages -> error #{error.errorCode}: {error.message}");
|
|
}
|
|
|
|
s_ListRequest = null;
|
|
}
|
|
}
|
|
}
|
|
#endif // COM_UNITY_NETCODE_ADAPTER_UTP
|