Как проверить код winmd_support в редакторе Unity - PullRequest
0 голосов
/ 27 марта 2019

У меня есть код, который работает через мост, созданный другим разработчиком в команде.Мне нужно проверить это, если этот код работает.Но его код находится внутри блока #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));
    }
}

ПРИМЕЧАНИЕ. Я изменил некоторые имена.

...