diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
index f42b96e65..4944c566d 100644
--- a/.github/workflows/create-release.yml
+++ b/.github/workflows/create-release.yml
@@ -40,13 +40,13 @@ jobs:
dotnet-version: 6.0.x
- name: Build MonoGame.Extended
- run: dotnet build --nologo --verbosity minimal --configuration Release
+ run: dotnet build MonoGame.Extended.sln --nologo --verbosity minimal --configuration Release
- name: Test MonoGame.Extended
- run: dotnet test --nologo --verbosity minimal --configuration Release
+ run: dotnet test MonoGame.Extended.sln --nologo --verbosity minimal --configuration Release
- name: Pack MonoGame.Extended
- run: dotnet pack --nologo --verbosity minimal --configuration Release
+ run: dotnet pack MonoGame.Extended.sln --nologo --verbosity minimal --configuration Release
- name: Upload Artifacts
uses: actions/upload-artifact@v4
diff --git a/.github/workflows/pull-request-test.yml b/.github/workflows/pull-request-test.yml
index e483e3c69..ec0775e27 100644
--- a/.github/workflows/pull-request-test.yml
+++ b/.github/workflows/pull-request-test.yml
@@ -29,4 +29,4 @@ jobs:
dotnet-version: 6.0.x
- name: Test MonoGame.Extended
- run: dotnet test --nologo --verbosity minimal --configuration Release
+ run: dotnet test MonoGame.Extended.sln --nologo --verbosity minimal --configuration Release
diff --git a/KNI.Extended.sln b/KNI.Extended.sln
new file mode 100644
index 000000000..8852fa4b9
--- /dev/null
+++ b/KNI.Extended.sln
@@ -0,0 +1,236 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.9.34728.123
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "source", "source", "{2BD6F851-7287-4361-85AB-DAE9DF30D932}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended", "source\MonoGame.Extended\KNI.Extended.csproj", "{C8717306-E333-418E-86A7-8D9781D7FDAC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Animations", "source\MonoGame.Extended.Animations\KNI.Extended.Animations.csproj", "{71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Collisions", "source\MonoGame.Extended.Collisions\KNI.Extended.Collisions.csproj", "{7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Content.Pipeline", "source\MonoGame.Extended.Content.Pipeline\KNI.Extended.Content.Pipeline.csproj", "{4A4066EB-B49A-4E80-B424-9E0BD2147886}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Entities", "source\MonoGame.Extended.Entities\KNI.Extended.Entities.csproj", "{CD5C1878-13B6-4FAD-91AE-AEA3C1520E38}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Graphics", "source\MonoGame.Extended.Graphics\KNI.Extended.Graphics.csproj", "{56627685-4BA7-44E3-ACA6-F2990DE089F2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Gui", "source\MonoGame.Extended.Gui\KNI.Extended.Gui.csproj", "{16E79E22-A41A-47BC-9DC9-287B812A6DD1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Input", "source\MonoGame.Extended.Input\KNI.Extended.Input.csproj", "{76B39424-7884-4EEC-A8D5-5126B29941B7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Particles", "source\MonoGame.Extended.Particles\KNI.Extended.Particles.csproj", "{BE74938D-9004-4D36-AD50-5C6C141A7180}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Tiled", "source\MonoGame.Extended.Tiled\KNI.Extended.Tiled.csproj", "{572C908D-4627-4678-9641-D4950DE43B13}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Tweening", "source\MonoGame.Extended.Tweening\KNI.Extended.Tweening.csproj", "{F144A062-4FF3-44EC-9A04-31C654B436B0}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{61C82014-E3A9-4AB3-8705-FBBD5F799BA6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Collisions.Tests", "tests\MonoGame.Extended.Collisions.Tests\KNI.Extended.Collisions.Tests.csproj", "{58F88A3C-C09F-4664-A34E-60E89252870A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Content.Pipeline.Tests", "tests\MonoGame.Extended.Content.Pipeline.Tests\KNI.Extended.Content.Pipeline.Tests.csproj", "{A127A61A-B26E-4A01-BD4C-9896FDB287AE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Content.Pipeline.Tests.Tiled", "tests\MonoGame.Extended.Content.Pipeline.Tests.Tiled\KNI.Extended.Content.Pipeline.Tests.Tiled.csproj", "{0426263A-B8DE-43FC-A91E-21544F61D80E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Entities.Tests", "tests\MonoGame.Extended.Entities.Tests\KNI.Extended.Entities.Tests.csproj", "{D3B0E350-B92E-4E49-99A3-68E66CB53F16}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Gui.Tests", "tests\MonoGame.Extended.Gui.Tests\KNI.Extended.Gui.Tests.csproj", "{AA52F204-3EE7-40CB-B041-0AB36475DAF0}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Tests", "tests\MonoGame.Extended.Tests\KNI.Extended.Tests.csproj", "{E1339B07-EB0B-454F-9803-E923843DB5C4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Tiled.Tests", "tests\MonoGame.Extended.Tiled.Tests\KNI.Extended.Tiled.Tests.csproj", "{BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KNI.Extended.Tweening.Tests", "tests\MonoGame.Extended.Tweening.Tests\KNI.Extended.Tweening.Tests.csproj", "{C2A9982B-7BF7-4243-9E05-CFD31752B6DC}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C8717306-E333-418E-86A7-8D9781D7FDAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C8717306-E333-418E-86A7-8D9781D7FDAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C8717306-E333-418E-86A7-8D9781D7FDAC}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {C8717306-E333-418E-86A7-8D9781D7FDAC}.Debug|x86.Build.0 = Debug|Any CPU
+ {C8717306-E333-418E-86A7-8D9781D7FDAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C8717306-E333-418E-86A7-8D9781D7FDAC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C8717306-E333-418E-86A7-8D9781D7FDAC}.Release|x86.ActiveCfg = Release|Any CPU
+ {C8717306-E333-418E-86A7-8D9781D7FDAC}.Release|x86.Build.0 = Release|Any CPU
+ {71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3}.Debug|x86.Build.0 = Debug|Any CPU
+ {71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3}.Release|x86.ActiveCfg = Release|Any CPU
+ {71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3}.Release|x86.Build.0 = Release|Any CPU
+ {7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5}.Debug|x86.Build.0 = Debug|Any CPU
+ {7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5}.Release|x86.ActiveCfg = Release|Any CPU
+ {7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5}.Release|x86.Build.0 = Release|Any CPU
+ {4A4066EB-B49A-4E80-B424-9E0BD2147886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4A4066EB-B49A-4E80-B424-9E0BD2147886}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4A4066EB-B49A-4E80-B424-9E0BD2147886}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {4A4066EB-B49A-4E80-B424-9E0BD2147886}.Debug|x86.Build.0 = Debug|Any CPU
+ {4A4066EB-B49A-4E80-B424-9E0BD2147886}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4A4066EB-B49A-4E80-B424-9E0BD2147886}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4A4066EB-B49A-4E80-B424-9E0BD2147886}.Release|x86.ActiveCfg = Release|Any CPU
+ {4A4066EB-B49A-4E80-B424-9E0BD2147886}.Release|x86.Build.0 = Release|Any CPU
+ {CD5C1878-13B6-4FAD-91AE-AEA3C1520E38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CD5C1878-13B6-4FAD-91AE-AEA3C1520E38}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CD5C1878-13B6-4FAD-91AE-AEA3C1520E38}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {CD5C1878-13B6-4FAD-91AE-AEA3C1520E38}.Debug|x86.Build.0 = Debug|Any CPU
+ {CD5C1878-13B6-4FAD-91AE-AEA3C1520E38}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CD5C1878-13B6-4FAD-91AE-AEA3C1520E38}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CD5C1878-13B6-4FAD-91AE-AEA3C1520E38}.Release|x86.ActiveCfg = Release|Any CPU
+ {CD5C1878-13B6-4FAD-91AE-AEA3C1520E38}.Release|x86.Build.0 = Release|Any CPU
+ {56627685-4BA7-44E3-ACA6-F2990DE089F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {56627685-4BA7-44E3-ACA6-F2990DE089F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {56627685-4BA7-44E3-ACA6-F2990DE089F2}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {56627685-4BA7-44E3-ACA6-F2990DE089F2}.Debug|x86.Build.0 = Debug|Any CPU
+ {56627685-4BA7-44E3-ACA6-F2990DE089F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {56627685-4BA7-44E3-ACA6-F2990DE089F2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {56627685-4BA7-44E3-ACA6-F2990DE089F2}.Release|x86.ActiveCfg = Release|Any CPU
+ {56627685-4BA7-44E3-ACA6-F2990DE089F2}.Release|x86.Build.0 = Release|Any CPU
+ {16E79E22-A41A-47BC-9DC9-287B812A6DD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {16E79E22-A41A-47BC-9DC9-287B812A6DD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {16E79E22-A41A-47BC-9DC9-287B812A6DD1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {16E79E22-A41A-47BC-9DC9-287B812A6DD1}.Debug|x86.Build.0 = Debug|Any CPU
+ {16E79E22-A41A-47BC-9DC9-287B812A6DD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {16E79E22-A41A-47BC-9DC9-287B812A6DD1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {16E79E22-A41A-47BC-9DC9-287B812A6DD1}.Release|x86.ActiveCfg = Release|Any CPU
+ {16E79E22-A41A-47BC-9DC9-287B812A6DD1}.Release|x86.Build.0 = Release|Any CPU
+ {76B39424-7884-4EEC-A8D5-5126B29941B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {76B39424-7884-4EEC-A8D5-5126B29941B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {76B39424-7884-4EEC-A8D5-5126B29941B7}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {76B39424-7884-4EEC-A8D5-5126B29941B7}.Debug|x86.Build.0 = Debug|Any CPU
+ {76B39424-7884-4EEC-A8D5-5126B29941B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {76B39424-7884-4EEC-A8D5-5126B29941B7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {76B39424-7884-4EEC-A8D5-5126B29941B7}.Release|x86.ActiveCfg = Release|Any CPU
+ {76B39424-7884-4EEC-A8D5-5126B29941B7}.Release|x86.Build.0 = Release|Any CPU
+ {BE74938D-9004-4D36-AD50-5C6C141A7180}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BE74938D-9004-4D36-AD50-5C6C141A7180}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BE74938D-9004-4D36-AD50-5C6C141A7180}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {BE74938D-9004-4D36-AD50-5C6C141A7180}.Debug|x86.Build.0 = Debug|Any CPU
+ {BE74938D-9004-4D36-AD50-5C6C141A7180}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BE74938D-9004-4D36-AD50-5C6C141A7180}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BE74938D-9004-4D36-AD50-5C6C141A7180}.Release|x86.ActiveCfg = Release|Any CPU
+ {BE74938D-9004-4D36-AD50-5C6C141A7180}.Release|x86.Build.0 = Release|Any CPU
+ {572C908D-4627-4678-9641-D4950DE43B13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {572C908D-4627-4678-9641-D4950DE43B13}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {572C908D-4627-4678-9641-D4950DE43B13}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {572C908D-4627-4678-9641-D4950DE43B13}.Debug|x86.Build.0 = Debug|Any CPU
+ {572C908D-4627-4678-9641-D4950DE43B13}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {572C908D-4627-4678-9641-D4950DE43B13}.Release|Any CPU.Build.0 = Release|Any CPU
+ {572C908D-4627-4678-9641-D4950DE43B13}.Release|x86.ActiveCfg = Release|Any CPU
+ {572C908D-4627-4678-9641-D4950DE43B13}.Release|x86.Build.0 = Release|Any CPU
+ {F144A062-4FF3-44EC-9A04-31C654B436B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F144A062-4FF3-44EC-9A04-31C654B436B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F144A062-4FF3-44EC-9A04-31C654B436B0}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F144A062-4FF3-44EC-9A04-31C654B436B0}.Debug|x86.Build.0 = Debug|Any CPU
+ {F144A062-4FF3-44EC-9A04-31C654B436B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F144A062-4FF3-44EC-9A04-31C654B436B0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F144A062-4FF3-44EC-9A04-31C654B436B0}.Release|x86.ActiveCfg = Release|Any CPU
+ {F144A062-4FF3-44EC-9A04-31C654B436B0}.Release|x86.Build.0 = Release|Any CPU
+ {58F88A3C-C09F-4664-A34E-60E89252870A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {58F88A3C-C09F-4664-A34E-60E89252870A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {58F88A3C-C09F-4664-A34E-60E89252870A}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {58F88A3C-C09F-4664-A34E-60E89252870A}.Debug|x86.Build.0 = Debug|Any CPU
+ {58F88A3C-C09F-4664-A34E-60E89252870A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {58F88A3C-C09F-4664-A34E-60E89252870A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {58F88A3C-C09F-4664-A34E-60E89252870A}.Release|x86.ActiveCfg = Release|Any CPU
+ {58F88A3C-C09F-4664-A34E-60E89252870A}.Release|x86.Build.0 = Release|Any CPU
+ {A127A61A-B26E-4A01-BD4C-9896FDB287AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A127A61A-B26E-4A01-BD4C-9896FDB287AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A127A61A-B26E-4A01-BD4C-9896FDB287AE}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A127A61A-B26E-4A01-BD4C-9896FDB287AE}.Debug|x86.Build.0 = Debug|Any CPU
+ {A127A61A-B26E-4A01-BD4C-9896FDB287AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A127A61A-B26E-4A01-BD4C-9896FDB287AE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A127A61A-B26E-4A01-BD4C-9896FDB287AE}.Release|x86.ActiveCfg = Release|Any CPU
+ {A127A61A-B26E-4A01-BD4C-9896FDB287AE}.Release|x86.Build.0 = Release|Any CPU
+ {0426263A-B8DE-43FC-A91E-21544F61D80E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0426263A-B8DE-43FC-A91E-21544F61D80E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0426263A-B8DE-43FC-A91E-21544F61D80E}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {0426263A-B8DE-43FC-A91E-21544F61D80E}.Debug|x86.Build.0 = Debug|Any CPU
+ {0426263A-B8DE-43FC-A91E-21544F61D80E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0426263A-B8DE-43FC-A91E-21544F61D80E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0426263A-B8DE-43FC-A91E-21544F61D80E}.Release|x86.ActiveCfg = Release|Any CPU
+ {0426263A-B8DE-43FC-A91E-21544F61D80E}.Release|x86.Build.0 = Release|Any CPU
+ {D3B0E350-B92E-4E49-99A3-68E66CB53F16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D3B0E350-B92E-4E49-99A3-68E66CB53F16}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D3B0E350-B92E-4E49-99A3-68E66CB53F16}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {D3B0E350-B92E-4E49-99A3-68E66CB53F16}.Debug|x86.Build.0 = Debug|Any CPU
+ {D3B0E350-B92E-4E49-99A3-68E66CB53F16}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D3B0E350-B92E-4E49-99A3-68E66CB53F16}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D3B0E350-B92E-4E49-99A3-68E66CB53F16}.Release|x86.ActiveCfg = Release|Any CPU
+ {D3B0E350-B92E-4E49-99A3-68E66CB53F16}.Release|x86.Build.0 = Release|Any CPU
+ {AA52F204-3EE7-40CB-B041-0AB36475DAF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AA52F204-3EE7-40CB-B041-0AB36475DAF0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AA52F204-3EE7-40CB-B041-0AB36475DAF0}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {AA52F204-3EE7-40CB-B041-0AB36475DAF0}.Debug|x86.Build.0 = Debug|Any CPU
+ {AA52F204-3EE7-40CB-B041-0AB36475DAF0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AA52F204-3EE7-40CB-B041-0AB36475DAF0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AA52F204-3EE7-40CB-B041-0AB36475DAF0}.Release|x86.ActiveCfg = Release|Any CPU
+ {AA52F204-3EE7-40CB-B041-0AB36475DAF0}.Release|x86.Build.0 = Release|Any CPU
+ {E1339B07-EB0B-454F-9803-E923843DB5C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E1339B07-EB0B-454F-9803-E923843DB5C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E1339B07-EB0B-454F-9803-E923843DB5C4}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {E1339B07-EB0B-454F-9803-E923843DB5C4}.Debug|x86.Build.0 = Debug|Any CPU
+ {E1339B07-EB0B-454F-9803-E923843DB5C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E1339B07-EB0B-454F-9803-E923843DB5C4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E1339B07-EB0B-454F-9803-E923843DB5C4}.Release|x86.ActiveCfg = Release|Any CPU
+ {E1339B07-EB0B-454F-9803-E923843DB5C4}.Release|x86.Build.0 = Release|Any CPU
+ {BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5}.Debug|x86.Build.0 = Debug|Any CPU
+ {BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5}.Release|x86.ActiveCfg = Release|Any CPU
+ {BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5}.Release|x86.Build.0 = Release|Any CPU
+ {C2A9982B-7BF7-4243-9E05-CFD31752B6DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C2A9982B-7BF7-4243-9E05-CFD31752B6DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C2A9982B-7BF7-4243-9E05-CFD31752B6DC}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {C2A9982B-7BF7-4243-9E05-CFD31752B6DC}.Debug|x86.Build.0 = Debug|Any CPU
+ {C2A9982B-7BF7-4243-9E05-CFD31752B6DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C2A9982B-7BF7-4243-9E05-CFD31752B6DC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C2A9982B-7BF7-4243-9E05-CFD31752B6DC}.Release|x86.ActiveCfg = Release|Any CPU
+ {C2A9982B-7BF7-4243-9E05-CFD31752B6DC}.Release|x86.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {C8717306-E333-418E-86A7-8D9781D7FDAC} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {71A8D50C-DAF1-4D08-99FD-2EACD6EAD5E3} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {7F60B59F-4B84-401F-8A13-AAA3F0B9E4A5} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {4A4066EB-B49A-4E80-B424-9E0BD2147886} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {CD5C1878-13B6-4FAD-91AE-AEA3C1520E38} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {56627685-4BA7-44E3-ACA6-F2990DE089F2} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {16E79E22-A41A-47BC-9DC9-287B812A6DD1} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {76B39424-7884-4EEC-A8D5-5126B29941B7} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {BE74938D-9004-4D36-AD50-5C6C141A7180} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {572C908D-4627-4678-9641-D4950DE43B13} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {F144A062-4FF3-44EC-9A04-31C654B436B0} = {2BD6F851-7287-4361-85AB-DAE9DF30D932}
+ {58F88A3C-C09F-4664-A34E-60E89252870A} = {61C82014-E3A9-4AB3-8705-FBBD5F799BA6}
+ {A127A61A-B26E-4A01-BD4C-9896FDB287AE} = {61C82014-E3A9-4AB3-8705-FBBD5F799BA6}
+ {0426263A-B8DE-43FC-A91E-21544F61D80E} = {61C82014-E3A9-4AB3-8705-FBBD5F799BA6}
+ {D3B0E350-B92E-4E49-99A3-68E66CB53F16} = {61C82014-E3A9-4AB3-8705-FBBD5F799BA6}
+ {AA52F204-3EE7-40CB-B041-0AB36475DAF0} = {61C82014-E3A9-4AB3-8705-FBBD5F799BA6}
+ {E1339B07-EB0B-454F-9803-E923843DB5C4} = {61C82014-E3A9-4AB3-8705-FBBD5F799BA6}
+ {BF0EC593-4BAB-424F-B7E9-BB13EC78A0E5} = {61C82014-E3A9-4AB3-8705-FBBD5F799BA6}
+ {C2A9982B-7BF7-4243-9E05-CFD31752B6DC} = {61C82014-E3A9-4AB3-8705-FBBD5F799BA6}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {8ED5A62D-25EC-4331-9F99-BDD1E10C02A0}
+ EndGlobalSection
+EndGlobal
diff --git a/benchmarks/Directory.Build.props b/benchmarks/Directory.Build.props
index 0381bf797..1355a41bb 100644
--- a/benchmarks/Directory.Build.props
+++ b/benchmarks/Directory.Build.props
@@ -11,10 +11,26 @@
true
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/benchmarks/MonoGame.Extended.Benchmarks.Collisions/KNI.Extended.Benchmarks.Collisions.csproj b/benchmarks/MonoGame.Extended.Benchmarks.Collisions/KNI.Extended.Benchmarks.Collisions.csproj
new file mode 100644
index 000000000..69536764f
--- /dev/null
+++ b/benchmarks/MonoGame.Extended.Benchmarks.Collisions/KNI.Extended.Benchmarks.Collisions.csproj
@@ -0,0 +1,15 @@
+
+
+
+ Exe
+ net7.0
+ enable
+ enable
+ $(DefineConstants);KNI
+
+
+
+
+
+
+
diff --git a/benchmarks/MonoGame.Extended.Benchmarks/KNI.Extended.Benchmarks.csproj b/benchmarks/MonoGame.Extended.Benchmarks/KNI.Extended.Benchmarks.csproj
new file mode 100644
index 000000000..cb340fcd7
--- /dev/null
+++ b/benchmarks/MonoGame.Extended.Benchmarks/KNI.Extended.Benchmarks.csproj
@@ -0,0 +1,15 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+ $(DefineConstants);KNI
+
+
+
+
+
+
+
diff --git a/source/Directory.Build.props b/source/Directory.Build.props
index ae50af17b..5421b0587 100644
--- a/source/Directory.Build.props
+++ b/source/Directory.Build.props
@@ -11,10 +11,23 @@
true
-
+
+
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Animations/KNI.Extended.Animations.csproj b/source/MonoGame.Extended.Animations/KNI.Extended.Animations.csproj
new file mode 100644
index 000000000..edaab36f1
--- /dev/null
+++ b/source/MonoGame.Extended.Animations/KNI.Extended.Animations.csproj
@@ -0,0 +1,13 @@
+
+
+
+ $(DefineConstants);KNI
+ Animations to make KNI more awesome.
+ kni animations spritesheet sprite
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Collisions/KNI.Extended.Collisions.csproj b/source/MonoGame.Extended.Collisions/KNI.Extended.Collisions.csproj
new file mode 100644
index 000000000..f7474346c
--- /dev/null
+++ b/source/MonoGame.Extended.Collisions/KNI.Extended.Collisions.csproj
@@ -0,0 +1,13 @@
+
+
+
+ $(DefineConstants);KNI
+ Collisions to make KNI more awesome.
+ kni collisions
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Content.Pipeline/BitmapFonts/BitmapFontWriter.cs b/source/MonoGame.Extended.Content.Pipeline/BitmapFonts/BitmapFontWriter.cs
index 57a7b72dd..d02f841b6 100644
--- a/source/MonoGame.Extended.Content.Pipeline/BitmapFonts/BitmapFontWriter.cs
+++ b/source/MonoGame.Extended.Content.Pipeline/BitmapFonts/BitmapFontWriter.cs
@@ -1,5 +1,6 @@
using Microsoft.Xna.Framework.Content.Pipeline;
using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler;
+using MonoGame.Extended.BitmapFonts;
namespace MonoGame.Extended.Content.Pipeline.BitmapFonts
{
@@ -43,12 +44,12 @@ protected override void Write(ContentWriter writer, BitmapFontProcessorResult re
public override string GetRuntimeType(TargetPlatform targetPlatform)
{
- return "MonoGame.Extended.BitmapFonts.BitmapFont, MonoGame.Extended";
+ return typeof(BitmapFont).AssemblyQualifiedName;
}
public override string GetRuntimeReader(TargetPlatform targetPlatform)
{
- return "MonoGame.Extended.BitmapFonts.BitmapFontReader, MonoGame.Extended";
+ return typeof(BitmapFontReader).AssemblyQualifiedName;
}
}
}
diff --git a/source/MonoGame.Extended.Content.Pipeline/KNI.Extended.Content.Pipeline.csproj b/source/MonoGame.Extended.Content.Pipeline/KNI.Extended.Content.Pipeline.csproj
new file mode 100644
index 000000000..76c3f6040
--- /dev/null
+++ b/source/MonoGame.Extended.Content.Pipeline/KNI.Extended.Content.Pipeline.csproj
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+ $(DefineConstants);KNI
+ Content Pipeline importers and processors to make KNI more awesome.
+ kni content importer processor reader tiled texturepacker bmfont animations
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Content.Pipeline/TextureAtlases/TexturePackerWriter.cs b/source/MonoGame.Extended.Content.Pipeline/TextureAtlases/TexturePackerWriter.cs
index 3285829e3..735d817b3 100644
--- a/source/MonoGame.Extended.Content.Pipeline/TextureAtlases/TexturePackerWriter.cs
+++ b/source/MonoGame.Extended.Content.Pipeline/TextureAtlases/TexturePackerWriter.cs
@@ -2,6 +2,7 @@
using System.IO;
using Microsoft.Xna.Framework.Content.Pipeline;
using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler;
+using MonoGame.Extended.Graphics;
namespace MonoGame.Extended.Content.Pipeline.TextureAtlases
{
@@ -34,12 +35,12 @@ protected override void Write(ContentWriter writer, TexturePackerProcessorResult
public override string GetRuntimeType(TargetPlatform targetPlatform)
{
- return "MonoGame.Extended.Graphics.Texture2DAtlas, MonoGame.Extended";
+ return typeof(Texture2DAtlas).AssemblyQualifiedName;
}
public override string GetRuntimeReader(TargetPlatform targetPlatform)
{
- return "MonoGame.Extended.Content.ContentReaders.Texture2DAtlasReader, MonoGame.Extended";
+ return typeof(ContentReaders.Texture2DAtlasReader).AssemblyQualifiedName;
}
}
}
diff --git a/source/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapTilesetWriter.cs b/source/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapTilesetWriter.cs
index 48690ad35..0a91923f0 100644
--- a/source/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapTilesetWriter.cs
+++ b/source/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapTilesetWriter.cs
@@ -11,9 +11,15 @@ namespace MonoGame.Extended.Content.Pipeline.Tiled
[ContentTypeWriter]
public class TiledMapTilesetWriter : ContentTypeWriter
{
- public override string GetRuntimeReader(TargetPlatform targetPlatform) => "MonoGame.Extended.Tiled.TiledMapTilesetReader, MonoGame.Extended.Tiled";
+ public override string GetRuntimeReader(TargetPlatform targetPlatform)
+ {
+ return typeof(TiledMapTilesetReader).AssemblyQualifiedName;
+ }
- public override string GetRuntimeType(TargetPlatform targetPlatform) => "MonoGame.Extended.Tiled.TiledMapTileset, MonoGame.Extended.Tiled";
+ public override string GetRuntimeType(TargetPlatform targetPlatform)
+ {
+ return typeof(TiledMapTileset).AssemblyQualifiedName;
+ }
protected override void Write(ContentWriter writer, TiledMapTilesetContentItem contentItem)
{
diff --git a/source/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapWriter.cs b/source/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapWriter.cs
index 126debbb3..54cfda2c6 100644
--- a/source/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapWriter.cs
+++ b/source/MonoGame.Extended.Content.Pipeline/Tiled/TiledMapWriter.cs
@@ -220,8 +220,14 @@ public static TiledMapObjectType GetObjectType(TiledMapObjectContent content)
return TiledMapObjectType.Rectangle;
}
- public override string GetRuntimeType(TargetPlatform targetPlatform) => "MonoGame.Extended.Tiled.TiledMap, MonoGame.Extended.Tiled";
+ public override string GetRuntimeType(TargetPlatform targetPlatform)
+ {
+ return typeof(TiledMap).AssemblyQualifiedName;
+ }
- public override string GetRuntimeReader(TargetPlatform targetPlatform) => "MonoGame.Extended.Tiled.TiledMapReader, MonoGame.Extended.Tiled";
+ public override string GetRuntimeReader(TargetPlatform targetPlatform)
+ {
+ return typeof(TiledMapReader).AssemblyQualifiedName;
+ }
}
}
diff --git a/source/MonoGame.Extended.Entities/KNI.Extended.Entities.csproj b/source/MonoGame.Extended.Entities/KNI.Extended.Entities.csproj
new file mode 100644
index 000000000..c612669ac
--- /dev/null
+++ b/source/MonoGame.Extended.Entities/KNI.Extended.Entities.csproj
@@ -0,0 +1,13 @@
+
+
+
+ $(DefineConstants);KNI
+ An Entity Component System to make KNI more awesome.
+ kni ecs entity component system
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Graphics/KNI.Extended.Graphics.csproj b/source/MonoGame.Extended.Graphics/KNI.Extended.Graphics.csproj
new file mode 100644
index 000000000..3a20a8b35
--- /dev/null
+++ b/source/MonoGame.Extended.Graphics/KNI.Extended.Graphics.csproj
@@ -0,0 +1,26 @@
+
+
+
+ $(DefineConstants);KNI
+ Graphics makes KNI more awesome.
+ kni graphics batcher effects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Gui/KNI.Extended.Gui.csproj b/source/MonoGame.Extended.Gui/KNI.Extended.Gui.csproj
new file mode 100644
index 000000000..42e6d2ed5
--- /dev/null
+++ b/source/MonoGame.Extended.Gui/KNI.Extended.Gui.csproj
@@ -0,0 +1,14 @@
+
+
+
+ $(DefineConstants);KNI
+ A GUI system for KNI written from the ground up to make KNI more awesome.
+ kni gui
+
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Input/InputListeners/GamePadListener.cs b/source/MonoGame.Extended.Input/InputListeners/GamePadListener.cs
index b7ea79b39..b320c224b 100644
--- a/source/MonoGame.Extended.Input/InputListeners/GamePadListener.cs
+++ b/source/MonoGame.Extended.Input/InputListeners/GamePadListener.cs
@@ -71,7 +71,7 @@ public GamePadListener(GamePadListenerSettings settings)
RepeatDelay = settings.RepeatDelay;
_previousGameTime = new GameTime();
- _previousState = GamePadState.Default;
+ _previousState = new GamePadState();
}
///
@@ -455,7 +455,7 @@ internal static void CheckConnections()
{
_gamePadConnections[(int) index] = !_gamePadConnections[(int) index];
ControllerConnectionChanged?.Invoke(null,
- new GamePadEventArgs(GamePadState.Default, GamePad.GetState(index), TimeSpan.Zero, index));
+ new GamePadEventArgs(new GamePadState(), GamePad.GetState(index), TimeSpan.Zero, index));
}
}
}
diff --git a/source/MonoGame.Extended.Input/KNI.Extended.Input.csproj b/source/MonoGame.Extended.Input/KNI.Extended.Input.csproj
new file mode 100644
index 000000000..8e8f8fd05
--- /dev/null
+++ b/source/MonoGame.Extended.Input/KNI.Extended.Input.csproj
@@ -0,0 +1,13 @@
+
+
+
+ $(DefineConstants);KNI
+ An event based input system to MonoGame more awesome.
+ kni input event based listeners
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Particles/KNI.Extended.Particles.csproj b/source/MonoGame.Extended.Particles/KNI.Extended.Particles.csproj
new file mode 100644
index 000000000..45ab0eed2
--- /dev/null
+++ b/source/MonoGame.Extended.Particles/KNI.Extended.Particles.csproj
@@ -0,0 +1,13 @@
+
+
+
+ $(DefineConstants);KNI
+ A high performance particle system to make KNI more awesome.
+ kni particle system
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Tiled/KNI.Extended.Tiled.csproj b/source/MonoGame.Extended.Tiled/KNI.Extended.Tiled.csproj
new file mode 100644
index 000000000..95e24bc86
--- /dev/null
+++ b/source/MonoGame.Extended.Tiled/KNI.Extended.Tiled.csproj
@@ -0,0 +1,14 @@
+
+
+
+ $(DefineConstants);KNI
+ Support for Tiled maps to make KNI more awesome. See http://www.mapeditor.org
+ kni tiled maps orthographic isometric
+
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended.Tweening/KNI.Extended.Tweening.csproj b/source/MonoGame.Extended.Tweening/KNI.Extended.Tweening.csproj
new file mode 100644
index 000000000..a8fb340e6
--- /dev/null
+++ b/source/MonoGame.Extended.Tweening/KNI.Extended.Tweening.csproj
@@ -0,0 +1,13 @@
+
+
+
+ $(DefineConstants);KNI
+ A tweening system to make KNI more awesome.
+ kni animations tweening
+
+
+
+
+
+
+
diff --git a/source/MonoGame.Extended/BitmapFonts/BitmapFont.cs b/source/MonoGame.Extended/BitmapFonts/BitmapFont.cs
index 79272012a..e37919dba 100644
--- a/source/MonoGame.Extended/BitmapFonts/BitmapFont.cs
+++ b/source/MonoGame.Extended/BitmapFonts/BitmapFont.cs
@@ -380,8 +380,11 @@ public static BitmapFont FromStream(GraphicsDevice graphicsDevice, FileStream st
if (!pages.ContainsKey(bmfFile.Pages[i]))
{
string texturePath = Path.Combine(bmfFile.Path, bmfFile.Pages[i]);
- Texture2D texture = Texture2D.FromFile(graphicsDevice, texturePath);
- pages.Add(bmfFile.Pages[i], texture);
+ using (Stream textureStream = File.OpenRead(texturePath))
+ {
+ Texture2D texture = Texture2D.FromStream(graphicsDevice, textureStream);
+ pages.Add(bmfFile.Pages[i], texture);
+ }
}
}
diff --git a/source/MonoGame.Extended/KNI.Extended.csproj b/source/MonoGame.Extended/KNI.Extended.csproj
new file mode 100644
index 000000000..5278f109c
--- /dev/null
+++ b/source/MonoGame.Extended/KNI.Extended.csproj
@@ -0,0 +1,20 @@
+
+
+
+ $(DefineConstants);KNI
+ It makes KNI more awesome.
+ kni extended pipeline bmfont tiled texture atlas input viewport fps shapes sprite
+
+
+
+
+
+ <_Parameter1>Kni.Extended.Tests
+
+
+ <_Parameter1>Kni.Extended.Content.Pipeline
+
+
+
+
+
diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props
index 06b0a4137..468e3babb 100644
--- a/tests/Directory.Build.props
+++ b/tests/Directory.Build.props
@@ -11,9 +11,27 @@
CA1707
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/MonoGame.Extended.Collisions.Tests/KNI.Extended.Collisions.Tests.csproj b/tests/MonoGame.Extended.Collisions.Tests/KNI.Extended.Collisions.Tests.csproj
new file mode 100644
index 000000000..42949a7ba
--- /dev/null
+++ b/tests/MonoGame.Extended.Collisions.Tests/KNI.Extended.Collisions.Tests.csproj
@@ -0,0 +1,11 @@
+
+
+
+ $(DefineConstants);KNI
+
+
+
+
+
+
+
diff --git a/tests/MonoGame.Extended.Content.Pipeline.Tests.Tiled/KNI.Extended.Content.Pipeline.Tests.Tiled.csproj b/tests/MonoGame.Extended.Content.Pipeline.Tests.Tiled/KNI.Extended.Content.Pipeline.Tests.Tiled.csproj
new file mode 100644
index 000000000..779e74329
--- /dev/null
+++ b/tests/MonoGame.Extended.Content.Pipeline.Tests.Tiled/KNI.Extended.Content.Pipeline.Tests.Tiled.csproj
@@ -0,0 +1,31 @@
+
+
+
+ $(DefineConstants);KNI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/MonoGame.Extended.Content.Pipeline.Tests/KNI.Extended.Content.Pipeline.Tests.csproj b/tests/MonoGame.Extended.Content.Pipeline.Tests/KNI.Extended.Content.Pipeline.Tests.csproj
new file mode 100644
index 000000000..014414626
--- /dev/null
+++ b/tests/MonoGame.Extended.Content.Pipeline.Tests/KNI.Extended.Content.Pipeline.Tests.csproj
@@ -0,0 +1,23 @@
+
+
+
+ $(DefineConstants);KNI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/MonoGame.Extended.Entities.Tests/KNI.Extended.Entities.Tests.csproj b/tests/MonoGame.Extended.Entities.Tests/KNI.Extended.Entities.Tests.csproj
new file mode 100644
index 000000000..b903bee7a
--- /dev/null
+++ b/tests/MonoGame.Extended.Entities.Tests/KNI.Extended.Entities.Tests.csproj
@@ -0,0 +1,11 @@
+
+
+
+ $(DefineConstants);KNI
+
+
+
+
+
+
+
diff --git a/tests/MonoGame.Extended.Gui.Tests/KNI.Extended.Gui.Tests.csproj b/tests/MonoGame.Extended.Gui.Tests/KNI.Extended.Gui.Tests.csproj
new file mode 100644
index 000000000..8c0869708
--- /dev/null
+++ b/tests/MonoGame.Extended.Gui.Tests/KNI.Extended.Gui.Tests.csproj
@@ -0,0 +1,11 @@
+
+
+
+ $(DefineConstants);KNI
+
+
+
+
+
+
+
diff --git a/tests/MonoGame.Extended.Tests/Content/ContentReaderExtensionsTests.cs b/tests/MonoGame.Extended.Tests/Content/ContentReaderExtensionsTests.cs
index 5ab8f8aee..872ccfb46 100644
--- a/tests/MonoGame.Extended.Tests/Content/ContentReaderExtensionsTests.cs
+++ b/tests/MonoGame.Extended.Tests/Content/ContentReaderExtensionsTests.cs
@@ -22,28 +22,5 @@ public void ContentReaderExtensions_ShortenRelativePath(string input, string exp
Assert.True(ContentReaderExtensions.ShortenRelativePath(input) == expectedoutput);
}
- // Test added for issue #633
- // https://github.com/craftworkgames/MonoGame.Extended/issues/633
- //
- // Issue states that the input string from a json file is parsed in correctly by the content reader.
- // Adding this test to ensure that GetRelativeAssetName is parsed correctly.
- [Theory]
- [InlineData("test.tex.png", "test.tex")]
- public void ContentReaderExtensions_GetRelativeAssetName(string input, string expected)
- {
- var contentReaderType = typeof(Microsoft.Xna.Framework.Content.ContentReader).GetConstructors(BindingFlags.Instance | BindingFlags.NonPublic).First();
- var contentReader = (Microsoft.Xna.Framework.Content.ContentReader)contentReaderType.Invoke(new object[]
- {
- null, // manager: parameter
- new MemoryStream(), // stream: parameter
- $"{expected}.xnb", // assetName: parameter
- 0, // version: parameter
- null // recordDisposableObject: parameter
- });
-
- var actual = contentReader.GetRelativeAssetName(input);
-
- Assert.Equal(expected, actual);
- }
}
}
diff --git a/tests/MonoGame.Extended.Tests/KNI.Extended.Tests.csproj b/tests/MonoGame.Extended.Tests/KNI.Extended.Tests.csproj
new file mode 100644
index 000000000..0aa904d6b
--- /dev/null
+++ b/tests/MonoGame.Extended.Tests/KNI.Extended.Tests.csproj
@@ -0,0 +1,19 @@
+
+
+
+ $(DefineConstants);KNI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/MonoGame.Extended.Tests/MockGameWindow.cs b/tests/MonoGame.Extended.Tests/MockGameWindow.cs
deleted file mode 100644
index a65479b2c..000000000
--- a/tests/MonoGame.Extended.Tests/MockGameWindow.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.Drawing;
-using Microsoft.Xna.Framework;
-using Point = Microsoft.Xna.Framework.Point;
-using Rectangle = Microsoft.Xna.Framework.Rectangle;
-
-namespace MonoGame.Extended.Tests
-{
- public class MockGameWindow : GameWindow
- {
- public override bool AllowUserResizing { get; set; }
- public override Rectangle ClientBounds { get; }
- public override Point Position { get; set; }
- public override DisplayOrientation CurrentOrientation { get; }
- public override IntPtr Handle { get; }
- public override string ScreenDeviceName { get; }
-
- public MockGameWindow()
- {
- }
-
- public override void BeginScreenDeviceChange(bool willBeFullScreen)
- {
- }
-
- public override void EndScreenDeviceChange(string screenDeviceName, int clientWidth, int clientHeight)
- {
- }
-
- protected override void SetSupportedOrientations(DisplayOrientation orientations)
- {
- }
-
- protected override void SetTitle(string title)
- {
- }
-
-#if __MonoCS__
- public override Icon Icon { get; set; }
-#endif
- }
-}
\ No newline at end of file
diff --git a/tests/MonoGame.Extended.Tiled.Tests/KNI.Extended.Tiled.Tests.csproj b/tests/MonoGame.Extended.Tiled.Tests/KNI.Extended.Tiled.Tests.csproj
new file mode 100644
index 000000000..389e02e54
--- /dev/null
+++ b/tests/MonoGame.Extended.Tiled.Tests/KNI.Extended.Tiled.Tests.csproj
@@ -0,0 +1,11 @@
+
+
+
+ $(DefineConstants);KNI
+
+
+
+
+
+
+
diff --git a/tests/MonoGame.Extended.Tweening.Tests/KNI.Extended.Tweening.Tests.csproj b/tests/MonoGame.Extended.Tweening.Tests/KNI.Extended.Tweening.Tests.csproj
new file mode 100644
index 000000000..918a96950
--- /dev/null
+++ b/tests/MonoGame.Extended.Tweening.Tests/KNI.Extended.Tweening.Tests.csproj
@@ -0,0 +1,11 @@
+
+
+
+ $(DefineConstants);KNI
+
+
+
+
+
+
+