.NET 4.6 не полностью поддерживает в Unity?

Я изменил версию.NET в своем проекте на 4.6, но я все еще не могу использовать класс GeoCoordinate. Разве я не сделал что-то не так или Unity не полностью поддерживает.NET 4.6?

2 ответа

Unity поддерживает, возможно, все функции C# 6. Он не поддерживает все .NET 4.6 API, потому что он использует Mono. Даже с.NET 3.5 есть также много других API, которые Unity не поддерживал, потому что Mono не поддерживал его.

Это не должно быть проблемой вообще. Вы можете получить точную копию GeoCoordinate API от github. Все, что вам нужно, это GeoCoordinate.cs и GeoPosition.cs файлы.

Имена функций и все остальное взаимозаменяемы с Microsoft System.Device.Location.GeoCoordinate,

Пример использования при импорте в Unity и после инициализации GPS (при использовании с API-интерфейсом Unity GPS):

LocationInfo gpsInfo = Input.location.lastData;
LocationInfo gpsInfo2 = Input.location.lastData;


GeoCoordinate pin1 = new GeoCoordinate(gpsInfo.latitude, gpsInfo.longitude);
GeoCoordinate pin2 = new GeoCoordinate(gpsInfo2.latitude, gpsInfo2.longitude);

double distanceBetween = pin1.GetDistanceTo(pin2);

"IL2CPP полностью поддерживает новые API.NET 4.6, поэтому вы по-прежнему получаете преимущества написания на C# и производительности нативного C++. Если вы обнаружите какие-либо проблемы, перейдите на форум".

https://blogs.unity3d.com/2017/07/11/introducing-unity-2017/

Это экспериментальные функции, я не думаю, что многие люди еще используют его, поэтому у вас, вероятно, будет больше ответов на специальном форуме:

https://forum.unity3d.com/forums/experimental-scripting-previews.107/

Другие вопросы по тегам