Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add automated unit test for callback dispatcher, and some refactor. #682

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

Akarinnnnn
Copy link
Contributor

Automated unit test extracted from ValueTask experiment #681.

Following refactors has done:

  • Restructured folder layout of standalone series project. This is required to compile automated test project.
  • Refactored native library definition part into a separate file, this will make main project file cleaner.
  • Retargeted to netstandard2.0 and net8.0 to allow wider usage(UWP, Framework 4.5) through this is a left-behind of cleanup.

For future refactoring on Steamworks.NET.Standard.csproj standalone main project file, I'm preparing on platform directly contribute to preprocessor symbol to reduce repeats. They will look like

<PropertyGroup Condition="'$(Configuration)'=='Windows'>
    <DefineConstants>$(DefineConstants);STEAMWORKS_WIN</DefineConstants>
</PropertyGroup>

For allowing unit test compile, restructured folder layout of standalone series project.
Imporved the reliability of copying native steam libraries in scenario of directly reference standalone project.
@Akarinnnnn Akarinnnnn marked this pull request as ready for review March 2, 2025 12:43
@Akarinnnnn Akarinnnnn changed the title Add automated unit test for callback dispatcher, and retarget .NET Add automated unit test for callback dispatcher, and some refactor. Mar 2, 2025
…inst.

Operating system is auto detected now, by default, will build against developer's OS. Such value can also overrided by command line build by specify SNetOperatingSystem property.

CPU architecture preprocessor symbol is also autodetected.

Such changes freed Configuration-Platform pair from specifing macros. As a result, we can have debuggable binaries in unit-testing and some other scenario without modify project file.
Mention community NuGet package there because it's largest package registry of .NET. Another reason is consume this by package just need to click install button, no need to copy files themselves.

Another change is mentioned target OS property last commit introduced. Since old configuration based OS targetting is outdated.
@Akarinnnnn
Copy link
Contributor Author

Automation platform macro definition on development machine in standalone project is done. Also updated readme in standalone folder to mention community provided NuGet package, since it's the major starting point of Steamworks.NET of regular .NET project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant