Доступ к сдвоенным экранам в Surface Duo из Unity

Пакет SDK для двух экранов (Майкрософт) доступен в виде пакета, который можно добавить в проект Unity, настроив систему сборки gradle, а затем добавив вспомогательный класс C#, который вызывает собственный API Java.

Пакет SDK для двух экранов (Майкрософт) для Surface Duo

Код сурфацедуоскринхелпер. CS предоставляет следующие методы, которые предоставляют сведения, ПРЕДОСТАВЛЯЕМые пакетом Microsoft SDK для Surface Duo:

  • Девицехелпер. исдуалскриндевице — Вызывайте этот метод перед обращением к другим сдвоенным экранам API.
  • Скринхелпер. жеткуррентротатион — получение значения текущего вращения (например, 0 означает 0 градусов, 1 означает 90 градусов, 2 — 180 градусов, 3 — 270 градусов).
  • Скринхелпер. исдуалмоде — независимо от того, размещается ли приложение на обоих экранах (и, следовательно, окно просмотра частично скрыто зазором между экранами).
  • Скринхелпер. жетскринректанглес — возвращает размеры двух экранов (в пикселях).
  • Скринхелпер. шарнир — возвращает Размеры скрытой области окна просмотра (в пикселях). Если приложение не является составным (отображается только на одном экране), это приведет к возврату нулевого измерения, так как ничего не закрывается.

Просмотрите пример кода для этих методов в примере Unity скринхелпер. В примере отображаются сведения об устройстве, как показано на снимке экрана ниже:

Пример игры Unity с данными экрана

Реализация пакета SDK для двух экранов (Майкрософт) в Unity

Пример этой интеграции доступен в ветви 2019-LTS-Archive в репозитории примеров Unity.

  1. Обновите mainTemplate.gradle, чтобы скачать пакет SDK для Android Surface Duo:

    maven {
        url 'https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1'
    }
    

    и

    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.61"
        implementation "com.microsoft.device:dualscreen-layout:0.9.0"
    }
    
  2. Скопируйте скрипт SurfaceDuoScreenHelper.cs в проект игры.

  3. Используйте сдвоенные методы экрана, перечисленные на этой странице, чтобы улучшить игру для устройств с двумя экранами.