Симулированные классы
Симулятор устройства предоставляет симулированные классы, которые можно использовать для тестирования кода, отвечающего на поведение устройства в симуляторе устройства.
Следующие симулированные классы находятся в пространстве имен UnityEngine.Device:
Эти симулированные классы имеют те же члены, что и их обычные аналоги в пространстве имен UnityEngine. Вы можете использовать их в любом месте базы кода, где обычно используются обычные классы. Это не влияет на производительность, и вы можете использовать их в сборках выпусков.
В редакторе, когда симулятор устройства активен, симулированные классы имитируют платформенно-специфическое поведение симулированного устройства; например, Device.SystemInfo.operatingSystem возвращает версию Android или iOS симулированного устройства.
В созданном приложении или когда симулятор устройства не активен, симулированные классы ведут себя так же, как и их аналоги в пространстве имен UnityEngine.
Несмотря на то, что симулированные классы имеют те же члены, что и обычные классы, симулятор устройства не симулирует все поведения. В UnityEditor члены, которые симулятор устройства не симулирует, имеют такое же поведение, как их эквивалент UnityEngine, который не зависит от платформы. Например, симулятор устройства не симулирует Device.Screen.brightness. Это означает, что этот член имеет такое же поведение в редакторе, как UnityEngine.Screen.brightness, который всегда возвращает 1. Информацию о том, какие члены симулирует симулятор устройства, см. в документации API для:
Обновление скриптов для использования симулированных классов
Если вы хотите преобразовать существующий код для использования классов из UnityEngine.Device namespace, это лучшая практика для использования псевдоним директивы. Например:
using Screen = UnityEngine.Device.Screen;
using Application = UnityEngine.Device.Application;
using SystemInfo = UnityEngine.Device.SystemInfo;
Так вы можете сменить класс, используемый во всём файле, не меняя каждый вызов API.