У меня есть код, который работает через мост, созданный другим разработчиком в команде.Мне нужно проверить это, если этот код работает.Но его код находится внутри блока #if UNITY_WSA && ENABLE_WINMD_SUPPORT
, потому что его код работает только в UWP.Есть ли способ проверить это внутри редактора?Вместо того, чтобы тратить 20 минут на создание визуального студийного решения и каждый раз создавать приложение для боковой загрузки.Код работает только в UWP, я предполагаю, что именно поэтому там есть блок IF
. Я уже пытался удалить часть ENABLE_WINMD_SUPPORT, поскольку UNITY_WSA можно проверить в редакторе путем переключения платформ.Однако его код не работает тогда.
private static IOpenPrint CreatePrint()
{
#if UNITY_WSA && ENABLE_WINMD_SUPPORT
return new Print();
#endif
Я хотел бы проверить этот код, который он сделал с помощью моста внутри редактора.Однако, похоже, что он работает только внутри блока ENABLE WINMD_SUPPORT, и я больше не знаю о его коде и т.д.Но они кажутся правильными.https://docs.unity3d.com/Manual/IL2CPP-WindowsRuntimeSupport.html
EDIT2: Я нашел некоторый код, который, по-видимому, связывает мост, этот код также находится в том же блоке if с #if UNITY_WSA && ENABLE_WINMD_SUPPORT
.Удаление #ENABLE_WINMD_SUPPORT
, похоже, не работает, так как тогда я получаю сообщение об ошибке в имени IL2CPPToDotNetBridge.
public class Print : IOpenPrint
{
public void OpenPrintDialogAsync(Texture2D image, Action<bool> result)
{
image.ReadPixels(new Rect(0, 0, image.width, image.height), 0, 0);
byte[] bytes;
bytes = image.GetRawTextureData();
var bridge = IL2CPPToDotNetBridge.BridgeBootstrapper.GetDotNetBridge();
if (bridge != null && bytes != null)
bridge.OnPrint(bytes, image.width, image.height, (IL2CPPToDotNetBridge.OnPrintFinish)Delegate.CreateDelegate(typeof(IL2CPPToDotNetBridge.OnFinish), result.Target, result.Method));
}
}
ПРИМЕЧАНИЕ. Я изменил некоторые имена.