Unity 6.3
0 онлайн 46 гостей 3 в системе
Вход

Вызов и реализация собственных плагинов UWP

Для вызова и реализации нативного универсального Windows Платформа (UWP) плагины, вам нужно знать, как создать нативные плагины для Unity. Для получения дополнительной информации о нативных плагинах и их использовании, см. Нативные плагины.

IL2CPP scripting backend поддерживает механизм P/Invoke для нативных плагинов. Это означает, что вы можете вызывать нативные плагины непосредственно из вашего кода C#. Для этого вы указываете прототип нативной функции и затем вызываете его.

В следующих примерах показано, как реализовать основной плагин и вызвать его из скрипта C#.

  1. Создайте новый файл .cpp в вашем проекте Unity и вставьте следующий код плагина:

        extern "C" __declspec(dllexport)
        int __stdcall CountLettersInString(wchar_t* str)
        {
            int length = 0;
            while (*str++ != nullptr)
                length++;
            return length;
        }
    
  2. Создайте новый скрипт C# и замените его содержимое следующим кодом:

    [DllImport("MyPlugin.dll")]
        private static extern int CountLettersInString([MarshalAs(UnmanagedType.LPWStr)]string str);
        
        private void Start()
        {
            Debug.Log(CountLettersInString("Hello, native plug-in!"));
        }
    
  3. Добавьте компонент к GameObject в вашей сцене и перейдите в режим Play. Консоль выведет 22.

    using UnityEngine;
    public class ExamplePlugin : MonoBehaviour
    {
        [DllImport("MyPlugin.dll")]
        private static extern int CountLettersInString([MarshalAs(UnmanagedType.LPWStr)]string str);
        
        private void Start()
        {
            Debug.Log(CountLettersInString("Hello, native plug-in!"));
        }
    }
    

Дополнительные ресурсы