AirtestProject / Poco-SDK

https://github.com/AirtestProject/Poco
Apache License 2.0
279 stars 159 forks source link

[Unity3D-sdk] No ConcurrentDictionary duplicates #113

Open KorneiDontsov opened 1 year ago

KorneiDontsov commented 1 year ago

ConcurrentDictionary is released in .NET 4 and it is present in modern Unity API compatibility levels: .NET 4.x and .NET Standard 2.x. It's missed in legacy API compatibility levels: .NET 2.0 and .NET 2.0 Subset.

This commit proposes to add custom implementation of ConcurrentDictionary for legacy API compatibility levels, and use the existing ConcurrentDictionary for modern API compatibility levels.

I also remove the usage of define UNITY_WSA, because it only produces compile errors when build WSA, and because Poco-SDK doesn't build to WSA at all (due to System.Net.Sockets cannot be used for WSA, so TcpServer cannot be compiled).