diff --git a/.github/workflows/activate-unity.yml b/.github/workflows/activate-unity.yml
deleted file mode 100644
index 0827bbd..0000000
--- a/.github/workflows/activate-unity.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-name: Acquire activation file
-on:
- workflow_dispatch: {}
-jobs:
- activation:
- name: Request manual activation file 🔑
- runs-on: ubuntu-latest
- steps:
- # Request manual activation file
- - name: Request manual activation file
- id: getManualLicenseFile
- uses: game-ci/unity-request-activation-file@v2
- # Upload artifact (Unity_v20XX.X.XXXX.alf)
- - name: Expose as artifact
- uses: actions/upload-artifact@v2
- with:
- name: ${{ steps.getManualLicenseFile.outputs.filePath }}
- path: ${{ steps.getManualLicenseFile.outputs.filePath }}
diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
index 7d3fc24..74520d4 100644
--- a/.github/workflows/dotnet.yml
+++ b/.github/workflows/dotnet.yml
@@ -23,9 +23,9 @@ jobs:
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
- 3.1.x
6.0.x
7.0.x
+ 8.0.x
- name: Add NuGet source
run: dotnet nuget add source --username oliverbooth --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/oliverbooth/index.json"
@@ -36,11 +36,11 @@ jobs:
- name: Build
run: dotnet build --no-restore --configuration Release
- - name: Test .NET Core 3.1
- run: dotnet test --no-build --verbosity normal --configuration Release --framework netcoreapp3.1
-
- name: Test .NET 6
run: dotnet test --no-build --verbosity normal --configuration Release --framework net6.0
- name: Test .NET 7
run: dotnet test --no-build --verbosity normal --configuration Release --framework net7.0
+
+ - name: Test .NET 8
+ run: dotnet test --no-build --verbosity normal --configuration Release --framework net8.0
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 9f1a02d..05fd768 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -18,7 +18,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
- dotnet-version: 7.0.x
+ dotnet-version: 8.0.x
- name: Add GitHub NuGet source
run: dotnet nuget add source --username oliverbooth --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/oliverbooth/index.json"
@@ -34,7 +34,6 @@ jobs:
mkdir build
dotnet pack X10D --configuration Debug --no-build -p:SymbolPackageFormat=snupkg --include-symbols --include-source -o build -p:VersionSuffix='nightly' -p:BuildNumber=${{ github.run_number }}
dotnet pack X10D.Hosting --configuration Debug --no-build -p:SymbolPackageFormat=snupkg --include-symbols --include-source -o build -p:VersionSuffix='nightly' -p:BuildNumber=${{ github.run_number }}
- dotnet pack X10D.Unity --configuration Debug --no-build -p:SymbolPackageFormat=snupkg --include-symbols --include-source -o build -p:VersionSuffix='nightly' -p:BuildNumber=${{ github.run_number }}
- name: Push NuGet Package to GitHub
run: dotnet nuget push "build/*" --source "github" --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate
@@ -47,42 +46,3 @@ jobs:
with:
name: build
path: build/
-
- - name: Checkout upm branch
- uses: actions/checkout@v3
- with:
- ref: upm
- path: upm
-
- - name: Build package.json
- run: |
- dotnet run --project ./tools/UpmPackageGenerator/UpmPackageGenerator.csproj "./X10D/bin/Debug/netstandard2.1/X10D.dll"
- cp package.json upm/package.json
-
- - name: Copy built artifacts to upm
- run: |
- cd upm
- cp ../X10D/bin/Debug/netstandard2.1/X10D.dll ./X10D.dll
- cp ../X10D/bin/Debug/netstandard2.1/X10D.xml ./X10D.xml
- cp ../X10D.Unity/bin/Debug/netstandard2.1/X10D.Unity.dll ./X10D.Unity.dll
- cp ../X10D.Unity/bin/Debug/netstandard2.1/X10D.Unity.xml ./X10D.Unity.xml
-
- - name: Check for changes
- run: |
- cd upm
- git diff --quiet
- continue-on-error: true
-
- - name: Commit update
- if: ${{ success() }}
- run: |
- cd upm
- git config user.name github-actions
- git config user.email github-actions@github.com
- git add X10D.dll
- git add X10D.Unity.dll
- git add X10D.xml
- git add X10D.Unity.xml
- git add package.json
- git commit -m "Update upm branch ($GITHUB_SHA)"
- git push
diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml
index 01af506..d62576b 100644
--- a/.github/workflows/prerelease.yml
+++ b/.github/workflows/prerelease.yml
@@ -17,7 +17,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
- dotnet-version: 7.0.x
+ dotnet-version: 8.0.x
- name: Add GitHub NuGet source
run: dotnet nuget add source --username oliverbooth --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/oliverbooth/index.json"
@@ -33,7 +33,6 @@ jobs:
mkdir build
dotnet pack X10D --configuration Release --no-build -p:SymbolPackageFormat=snupkg --include-symbols --include-source -o build -p:VersionSuffix='prerelease' -p:BuildNumber=${{ github.run_number }}
dotnet pack X10D.Hosting --configuration Release --no-build -p:SymbolPackageFormat=snupkg --include-symbols --include-source -o build -p:VersionSuffix='prerelease' -p:BuildNumber=${{ github.run_number }}
- dotnet pack X10D.Unity --configuration Release --no-build -p:SymbolPackageFormat=snupkg --include-symbols --include-source -o build -p:VersionSuffix='prerelease' -p:BuildNumber=${{ github.run_number }}
- name: Push NuGet Package to GitHub
run: dotnet nuget push "build/*" --source "github" --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate
@@ -52,42 +51,3 @@ jobs:
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: true
-
- - name: Checkout upm branch
- uses: actions/checkout@v3
- with:
- ref: upm
- path: upm
-
- - name: Build package.json
- run: |
- dotnet run --project ./tools/UpmPackageGenerator/UpmPackageGenerator.csproj "./X10D/bin/Release/netstandard2.1/X10D.dll"
- cp package.json upm/package.json
-
- - name: Copy built artifacts to upm
- run: |
- cd upm
- cp ../X10D/bin/Release/netstandard2.1/X10D.dll ./X10D.dll
- cp ../X10D/bin/Release/netstandard2.1/X10D.xml ./X10D.xml
- cp ../X10D.Unity/bin/Release/netstandard2.1/X10D.Unity.dll ./X10D.Unity.dll
- cp ../X10D.Unity/bin/Release/netstandard2.1/X10D.Unity.xml ./X10D.Unity.xml
-
- - name: Check for changes
- run: |
- cd upm
- git diff --quiet
- continue-on-error: true
-
- - name: Commit update
- if: ${{ success() }}
- run: |
- cd upm
- git config user.name github-actions
- git config user.email github-actions@github.com
- git add X10D.dll
- git add X10D.Unity.dll
- git add X10D.xml
- git add X10D.Unity.xml
- git add package.json
- git commit -m "Update upm branch ($GITHUB_SHA)"
- git push
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c5fd973..374f271 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -17,7 +17,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
- dotnet-version: 7.0.x
+ dotnet-version: 8.0.x
- name: Add GitHub NuGet source
run: dotnet nuget add source --username oliverbooth --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/oliverbooth/index.json"
@@ -33,7 +33,6 @@ jobs:
mkdir build
dotnet pack X10D --configuration Release --no-build -p:SymbolPackageFormat=snupkg --include-symbols --include-source -o build
dotnet pack X10D.Hosting --configuration Release --no-build -p:SymbolPackageFormat=snupkg --include-symbols --include-source -o build
- dotnet pack X10D.Unity --configuration Release --no-build -p:SymbolPackageFormat=snupkg --include-symbols --include-source -o build
- name: Push NuGet Package to GitHub
run: dotnet nuget push "build/*" --source "github" --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate
@@ -52,42 +51,3 @@ jobs:
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
-
- - name: Checkout upm branch
- uses: actions/checkout@v3
- with:
- ref: upm
- path: upm
-
- - name: Build package.json
- run: |
- dotnet run --project ./tools/UpmPackageGenerator/UpmPackageGenerator.csproj "./X10D/bin/Release/netstandard2.1/X10D.dll"
- cp package.json upm/package.json
-
- - name: Copy built artifacts to upm
- run: |
- cd upm
- cp ../X10D/bin/Release/netstandard2.1/X10D.dll ./X10D.dll
- cp ../X10D/bin/Release/netstandard2.1/X10D.xml ./X10D.xml
- cp ../X10D.Unity/bin/Release/netstandard2.1/X10D.Unity.dll ./X10D.Unity.dll
- cp ../X10D.Unity/bin/Release/netstandard2.1/X10D.Unity.xml ./X10D.Unity.xml
-
- - name: Check for changes
- run: |
- cd upm
- git diff --quiet
- continue-on-error: true
-
- - name: Commit update
- if: ${{ success() }}
- run: |
- cd upm
- git config user.name github-actions
- git config user.email github-actions@github.com
- git add X10D.dll
- git add X10D.Unity.dll
- git add X10D.xml
- git add X10D.Unity.xml
- git add package.json
- git commit -m "Update upm branch ($GITHUB_SHA)"
- git push
diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml
index 7ee1360..356e513 100644
--- a/.github/workflows/sonarcloud.yml
+++ b/.github/workflows/sonarcloud.yml
@@ -1,50 +1,61 @@
-name: Build
+name: SonarCloud
on:
push:
branches:
- main
workflow_dispatch:
pull_request:
- types: [opened, synchronize, reopened]
+ types: [ opened, synchronize, reopened ]
+
jobs:
- build:
- name: Build
+ sonarcloud:
+ name: SonarCloud Analysis
runs-on: windows-latest
steps:
- - name: Set up JDK 11
- uses: actions/setup-java@v1
+ - name: Set up JDK 17
+ uses: actions/setup-java@v3
with:
- java-version: 1.11
+ java-version: 17
+ distribution: 'zulu'
+
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
+
- name: Cache SonarCloud packages
- uses: actions/cache@v1
+ uses: actions/cache@v3
with:
path: ~\sonar\cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
+
- name: Cache SonarCloud scanner
id: cache-sonar-scanner
- uses: actions/cache@v1
+ uses: actions/cache@v3
with:
path: .\.sonar\scanner
key: ${{ runner.os }}-sonar-scanner
restore-keys: ${{ runner.os }}-sonar-scanner
+
- name: Install SonarCloud scanner
if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
shell: powershell
run: |
New-Item -Path .\.sonar\scanner -ItemType Directory
dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner
+
+ - name: Install dotCover
+ shell: powershell
+ run: |
+ dotnet tool install --global JetBrains.dotCover.GlobalTool
+
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
shell: powershell
run: |
- dotnet tool install JetBrains.dotCover.GlobalTool -g
- .\.sonar\scanner\dotnet-sonarscanner begin /k:"oliverbooth_X10D" /o:"oliverbooth" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.cs.dotcover.reportsPaths=dotCover.Output.html
+ .\.sonar\scanner\dotnet-sonarscanner begin /k:"oliverbooth_X10D" /o:"oliverbooth" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io"
dotnet build --no-incremental
dotnet dotcover test --dcReportType=HTML
- .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}"
+ .\.sonar\scanner\dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}"
diff --git a/.github/workflows/source_validator.yml b/.github/workflows/source_validator.yml
index aad570f..0d7fb93 100644
--- a/.github/workflows/source_validator.yml
+++ b/.github/workflows/source_validator.yml
@@ -19,7 +19,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
- dotnet-version: 7.0.x
+ dotnet-version: 8.0.x
- name: Add GitHub NuGet source
run: dotnet nuget add source --username oliverbooth --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/oliverbooth/index.json"
@@ -31,4 +31,4 @@ jobs:
run: dotnet build -c Debug
- name: Run Source Validation
- run: dotnet run --project ./tools/SourceValidator/SourceValidator.csproj ./X10D/src ./X10D.Unity/src
+ run: dotnet run --project ./tools/SourceValidator/SourceValidator.csproj ./X10D/src
diff --git a/.github/workflows/unity.yml b/.github/workflows/unity.yml
deleted file mode 100644
index 2418e06..0000000
--- a/.github/workflows/unity.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-name: Unity Test Runner
-
-on:
- push:
- branches:
- - '*'
- - '*/*'
- pull_request:
- branches:
- - '*'
- - '*/*'
-
-jobs:
- build:
- name: "Unity Test Runner"
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout
- uses: actions/checkout@v3
-
- - name: Setup .NET
- uses: actions/setup-dotnet@v3
- with:
- dotnet-version: 7.0.x
-
- - name: Add GitHub NuGet source
- run: dotnet nuget add source --username oliverbooth --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github "https://nuget.pkg.github.com/oliverbooth/index.json"
-
- - name: Restore dependencies
- run: dotnet restore
-
- - name: Build
- run: dotnet build -c Release
-
- - name: Copy artifacts to project
- run: |
- mkdir -p ./X10D.Unity.Tests/Assets/Libraries
- cp -r ./X10D/bin/Release/netstandard2.1/X10D.dll ./X10D.Unity.Tests/Assets/Libraries/X10D.dll
- cp -r ./X10D.Unity/bin/Release/netstandard2.1/X10D.Unity.dll ./X10D.Unity.Tests/Assets/Libraries/X10D.Unity.dll
-
- - name: Unity - Test runner
- uses: game-ci/unity-test-runner@v2.1.0
- env:
- UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
- UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
- UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
- with:
- projectPath: X10D.Unity.Tests
- githubToken: ${{ secrets.GITHUB_TOKEN }}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5f31c88..00ce823 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,8 +24,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- X10D: Added `TextWriter.WriteLineNoAlloc(long[, ReadOnlySpan[, IFormatProvider]])`.
- X10D: Added `TextWriter.WriteLineNoAlloc(ulong[, ReadOnlySpan[, IFormatProvider]])`.
- X10D: Added `string.ConcatIf`.
-- X10D.Unity: Added `RaycastHit.GetComponent` and `RaycastHit.TryGetComponent`.
-- X10D.Unity: Added `DebugUtility.DrawFunction`, and `DebugUtility.DrawUnjoinedPolyhedron` on which it relies.
+- X10D: Added `string.MDBold`, `string.MDCode`, `string.MDCodeBlock([string])`, `string.MDHeading(int)`,
+`string.MDItalic`, `string.MDLink`, `string.MDStrikeOut`, and `string.MDUnderline` for Markdown formatting.
+- X10D: Added Span overloads which complement `char.Repeat` and `string.Repeat`.
### Fixed
@@ -38,12 +39,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
BigEndian/LittleEndian methods.
- X10D: `Stream.GetHash<>` and `Stream.TryWriteHash<>` now throw ArgumentException in lieu of
TypeInitializationException.
+- X10D: `char.IsEmoji` no longer allocates for .NET 7.
+- X10D: `string.Repeat` is now more efficient.
### Removed
- X10D: Removed `IEnumerable.ConcatOne` - this functionality already exists with `Append`.
- X10D: Removed `Endianness` enum.
-- X10D.DSharpPlus: Complete sunset of library. This library will not be updated to support DSharpPlus v5.0.0.
+- X10D: Removed `Span.Replace(T, T)` for .NET 8 target.
+- X10D: Removed .NET Standard 2.1 target.
+- X10D.Hosting: Removed .NET Standard 2.1 target.
+- X10D.DSharpPlus: Complete sunset of library. This library will not be updated to support DSharpPlus v5.0.0 (#83).
+- X10D.Unity: Complete sunset of library. This library will not be updated effective immediately (#86).
## [3.3.1] - 2023-08-21
diff --git a/Directory.Build.props b/Directory.Build.props
index 3250f61..9f2994d 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,6 +1,5 @@
- net7.0;net6.0;netstandard2.1
11.0
true
true
@@ -21,7 +20,7 @@
dotnet extension-methods
README.md
- $([System.IO.File]::ReadAllText("$(SolutionDir)/CHANGELOG.md"))
+ See CHANGELOG.md for a full list of changes.
true
diff --git a/README.md b/README.md
index 2f38a60..8bd1047 100644
--- a/README.md
+++ b/README.md
@@ -9,29 +9,115 @@
-### About
+## About
X10D (pronounced *extend*), is a .NET package that provides extension methods for numerous types. The purpose of this library is to simplify a codebase by reducing the need for repeated code when performing common operations. Simplify your codebase. Take advantage of .NET. Use extension methods.
*(I'm also [dogfooding](https://www.pcmag.com/encyclopedia/term/dogfooding) this library, so there's that.)*
+### What are extension methods?
+
+Extension methods are a clever .NET feature that augment existing types with new functionality. They are defined as
+static methods in a static class, and are called as if they were instance methods on the type they are extending. Take,
+for example, the following code:
+
+```csharp
+public static class Program
+{
+ public static void Main()
+ {
+ string str = "Hello, world!";
+ Console.WriteLine(str.Reverse());
+ }
+}
+
+public static class StringExtensions
+{
+ public static string Reverse(this string str)
+ {
+ char[] chars = str.ToCharArray();
+ Array.Reverse(chars);
+ return new string(chars);
+ }
+}
+```
+
+This will print `!dlrow ,olleH` to the console. The `Reverse` method is defined in the `StringExtensions` class, yet is
+called as if it were an instance method on the `str` variable, even though it's not.
+
+### Why use extension methods?
+
+Extension methods were introduced when LINQ was added to .NET. LINQ is a set of extension methods that provide a way to
+query, filter, and transform data. If you were to access LINQ's methods statically, you would have to write code like
+this:
+
+```csharp
+public static class Program
+{
+ public static void Main()
+ {
+ int[] numbers = { 1, 2, 3, 4, 5 };
+ IEnumerable evenNumbers = Enumerable.Where(numbers, x => x % 2 == 0);
+ IEnumerable doubledNumbers = Enumerable.Select(evenNumbers, x => x * 2);
+ int sum = Enumerable.Sum(doubledNumbers);
+ Console.WriteLine(sum);
+ }
+}
+```
+
+And if you wanted to one-line this, you'd have to write this:
+
+```csharp
+public static class Program
+{
+ public static void Main()
+ {
+ int[] numbers = { 1, 2, 3, 4, 5 };
+ Console.WriteLine(Enumerable.Sum(Enumerable.Select(Enumerable.Where(numbers, x => x % 2 == 0), x => x * 2)));
+ }
+}
+```
+
+This is a lot of code to write, and it's not very readable. The nested method calls make it incredibly difficult to
+follow. However, because LINQ is implemented as extension methods, you can write the following code instead:
+
+```csharp
+public static class Program
+{
+ public static void Main()
+ {
+ int[] numbers = { 1, 2, 3, 4, 5 };
+ Console.WriteLine(numbers.Where(x => x % 2 == 0).Select(x => x * 2).Sum());
+ }
+}
+```
+
+Because the methods are called as if they were instance methods on `IEnumerable`, they can be chained together,
+making the code much more readable.
+
+X10D aims to provide these same benefits as LINQ, but for dozens of other types and for countless other use cases. See
+the [documentation](#documentation) for a complete breakdown of what's available.
+
## Installation
+
### NuGet installation
+
```ps
Install-Package X10D -Version 4.0.0
```
### Manual installation
+
Download the [latest release](https://github.com/oliverbooth/X10D/releases/latest) from this repository and adding a direct assembly reference for your chosen platform.
-### Unity installation
-For the Unity installation guide, refer to the [README.md in X10D.Unity](X10D.Unity/README.md).
+## Documentation
-## Features
-I'm planning on writing complete and extensive documentation in the near future. As of this time, feel free to browse the source or the API using your favourite IDE.
-For those familiar with the 2.6.0 API, please read [CHANGELOG.md](CHANGELOG.md) for a complete list of changes. **3.0.0 is a major release and introduces many breaking changes.**
+Documentation and the API reference is available at https://oliverbooth.github.io/X10D/index.html. *I'm sorry this took
+so long to get up and running. DocFX will be the death of me.*
## Contributing
+
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).
## License
+
X10D is released under the MIT License. See [here](https://github.com/oliverbooth/X10D/blob/main/LICENSE.md) for more details.
diff --git a/X10D.Hosting/X10D.Hosting.csproj b/X10D.Hosting/X10D.Hosting.csproj
index 0d99bec..b54a518 100644
--- a/X10D.Hosting/X10D.Hosting.csproj
+++ b/X10D.Hosting/X10D.Hosting.csproj
@@ -1,5 +1,9 @@
+
+ net8.0;net7.0;net6.0
+
+
diff --git a/X10D.Tests/X10D.Tests.csproj b/X10D.Tests/X10D.Tests.csproj
index 4af78b2..ca37853 100644
--- a/X10D.Tests/X10D.Tests.csproj
+++ b/X10D.Tests/X10D.Tests.csproj
@@ -1,8 +1,9 @@
- net7.0;net6.0;netcoreapp3.1
+ net8.0;net7.0;net6.0
false
+ true
json,cobertura
true
false
@@ -13,14 +14,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/X10D.Tests/src/Collections/ByteTests.cs b/X10D.Tests/src/Collections/ByteTests.cs
index 4891123..304999a 100644
--- a/X10D.Tests/src/Collections/ByteTests.cs
+++ b/X10D.Tests/src/Collections/ByteTests.cs
@@ -47,7 +47,6 @@ internal class ByteTests
});
}
-#if NET5_0_OR_GREATER
[Test]
public void UnpackInternal_Fallback_ShouldUnpackToSpanCorrectly()
{
@@ -92,7 +91,6 @@ internal class ByteTests
Assert.That(bits[7], Is.True);
});
}
-#endif
[Test]
public void Unpack_ShouldRepackEqually()
diff --git a/X10D.Tests/src/Collections/Int16Tests.cs b/X10D.Tests/src/Collections/Int16Tests.cs
index f7bfab3..c01dbe4 100644
--- a/X10D.Tests/src/Collections/Int16Tests.cs
+++ b/X10D.Tests/src/Collections/Int16Tests.cs
@@ -1,6 +1,4 @@
-#if NET5_0_OR_GREATER
using System.Runtime.Intrinsics.X86;
-#endif
using NUnit.Framework;
using X10D.Collections;
@@ -84,7 +82,6 @@ internal class Int16Tests
});
}
-#if NET5_0_OR_GREATER
[Test]
public void UnpackInternal_Ssse3_ShouldUnpackToSpanCorrectly()
{
@@ -115,7 +112,6 @@ internal class Int16Tests
}
});
}
-#endif
[Test]
public void Unpack_ShouldRepackEqually()
diff --git a/X10D.Tests/src/Collections/Int32Tests.cs b/X10D.Tests/src/Collections/Int32Tests.cs
index 39b1036..0a8ea19 100644
--- a/X10D.Tests/src/Collections/Int32Tests.cs
+++ b/X10D.Tests/src/Collections/Int32Tests.cs
@@ -1,6 +1,4 @@
-#if NET5_0_OR_GREATER
using System.Runtime.Intrinsics.X86;
-#endif
using NUnit.Framework;
using X10D.Collections;
@@ -85,7 +83,6 @@ internal class Int32Tests
});
}
-#if NET5_0_OR_GREATER
[Test]
public void UnpackInternal_Ssse3_ShouldUnpackToSpanCorrectly()
{
@@ -145,7 +142,6 @@ internal class Int32Tests
}
});
}
-#endif
[Test]
public void Unpack_ShouldRepackEqually()
diff --git a/X10D.Tests/src/Core/IntrinsicTests.cs b/X10D.Tests/src/Core/IntrinsicTests.cs
index e45f236..a37c99a 100644
--- a/X10D.Tests/src/Core/IntrinsicTests.cs
+++ b/X10D.Tests/src/Core/IntrinsicTests.cs
@@ -1,4 +1,3 @@
-#if NET6_0_OR_GREATER
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.X86;
using NUnit.Framework;
@@ -223,4 +222,3 @@ internal class IntrinsicTests
Assert.That(result, Is.EqualTo(expectedResult));
}
}
-#endif
diff --git a/X10D.Tests/src/Core/SpanTest.cs b/X10D.Tests/src/Core/SpanTest.cs
index 4755ff0..743a55e 100644
--- a/X10D.Tests/src/Core/SpanTest.cs
+++ b/X10D.Tests/src/Core/SpanTest.cs
@@ -1,7 +1,5 @@
-#if NET5_0_OR_GREATER
using System.Runtime.Intrinsics.Arm;
using System.Runtime.Intrinsics.X86;
-#endif
using NUnit.Framework;
using X10D.Core;
@@ -209,7 +207,6 @@ internal class SpanTest
Assert.That(actual, Is.EqualTo(expected));
}
-#if NET5_0_OR_GREATER
[Test]
public void PackByteInternal_Sse2_ShouldReturnCorrectByte_GivenReadOnlySpan_Using()
{
@@ -226,23 +223,6 @@ internal class SpanTest
Assert.That(actual, Is.EqualTo(expected));
}
- [Test]
- public void PackByteInternal_AdvSimd_ShouldReturnCorrectByte_GivenReadOnlySpan_Using()
- {
- if (!AdvSimd.IsSupported)
- {
- return;
- }
-
- const byte expected = 0b00110011;
- ReadOnlySpan span = stackalloc bool[8] {true, true, false, false, true, true, false, false};
-
- byte actual = span.PackByteInternal_AdvSimd();
-
- Assert.That(actual, Is.EqualTo(expected));
- }
-#endif
-
[Test]
public void PackInt16_ShouldReturnSameAsPackByte_WhenSpanHasLength8()
{
@@ -268,7 +248,6 @@ internal class SpanTest
Assert.That(actual, Is.EqualTo(expected));
}
-#if NET5_0_OR_GREATER
[Test]
public void PackInt16Internal_Sse2_ShouldReturnCorrectInt16_GivenReadOnlySpan_Using()
{
@@ -287,7 +266,6 @@ internal class SpanTest
Assert.That(actual, Is.EqualTo(expected));
}
-#endif
[Test]
public void PackInt32Internal_Fallback_ShouldReturnCorrectInt32_GivenReadOnlySpan()
@@ -304,7 +282,6 @@ internal class SpanTest
Assert.That(actual, Is.EqualTo(expected));
}
-#if NET5_0_OR_GREATER
[Test]
public void PackInt32Internal_Sse2_ShouldReturnCorrectInt32_GivenReadOnlySpan()
{
@@ -345,27 +322,6 @@ internal class SpanTest
Assert.That(actual, Is.EqualTo(expected));
}
- [Test]
- public void PackInt32Internal_AdvSimd_ShouldReturnCorrectInt32_GivenReadOnlySpan()
- {
- if (!AdvSimd.IsSupported)
- {
- return;
- }
-
- const int expected = 0b01010101_10101010_01010101_10101010;
- ReadOnlySpan span = stackalloc bool[32]
- {
- false, true, false, true, false, true, false, true, true, false, true, false, true, false, true, false, false,
- true, false, true, false, true, false, true, true, false, true, false, true, false, true, false,
- };
-
- int actual = span.PackInt32Internal_AdvSimd();
-
- Assert.That(actual, Is.EqualTo(expected));
- }
-#endif
-
[Test]
public void PackInt32_ShouldReturnSameAsPackByte_WhenSpanHasLength8_UsingReadOnlySpan()
{
diff --git a/X10D.Tests/src/Drawing/ColorTests.cs b/X10D.Tests/src/Drawing/ColorTests.cs
index cb5cc97..de95f14 100644
--- a/X10D.Tests/src/Drawing/ColorTests.cs
+++ b/X10D.Tests/src/Drawing/ColorTests.cs
@@ -207,9 +207,7 @@ internal class ColorTests
Assert.That(Color.Plum.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.DarkGray));
Assert.That(Color.PowderBlue.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.DarkGray));
Assert.That(Color.Purple.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.DarkMagenta));
-#if NET6_0_OR_GREATER
Assert.That(Color.RebeccaPurple.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.DarkMagenta));
-#endif
Assert.That(Color.Red.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Red));
Assert.That(Color.RosyBrown.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.DarkGray));
Assert.That(Color.RoyalBlue.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.DarkCyan));
diff --git a/X10D.Tests/src/IO/DoubleTests.cs b/X10D.Tests/src/IO/DoubleTests.cs
index 9b8a43a..66f15fe 100644
--- a/X10D.Tests/src/IO/DoubleTests.cs
+++ b/X10D.Tests/src/IO/DoubleTests.cs
@@ -33,7 +33,7 @@ internal class DoubleTests
var expected = new byte[] { 0x40, 0x45, 0x40, 0, 0, 0, 0, 0 };
Span actual = stackalloc byte[8];
- Assert.That(value.TryWriteBigEndian(actual));
+ Assert.That(value.TryWriteBigEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -44,7 +44,7 @@ internal class DoubleTests
var expected = new byte[] { 0, 0, 0, 0, 0, 0x40, 0x45, 0x40 };
Span actual = stackalloc byte[8];
- Assert.That(value.TryWriteLittleEndian(actual));
+ Assert.That(value.TryWriteLittleEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -53,7 +53,7 @@ internal class DoubleTests
{
const double value = 42.5;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteBigEndian(buffer), Is.False);
+ Assert.That(value.TryWriteBigEndianBytes(buffer), Is.False);
}
[Test]
@@ -61,6 +61,6 @@ internal class DoubleTests
{
const double value = 42.5;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteLittleEndian(buffer), Is.False);
+ Assert.That(value.TryWriteLittleEndianBytes(buffer), Is.False);
}
}
diff --git a/X10D.Tests/src/IO/Int16Tests.cs b/X10D.Tests/src/IO/Int16Tests.cs
index 8d64f97..6b03d4a 100644
--- a/X10D.Tests/src/IO/Int16Tests.cs
+++ b/X10D.Tests/src/IO/Int16Tests.cs
@@ -33,7 +33,7 @@ internal class Int16Tests
byte[] expected = { 0x0F, 0 };
Span actual = stackalloc byte[2];
- Assert.That(value.TryWriteLittleEndian(actual));
+ Assert.That(value.TryWriteLittleEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -44,7 +44,7 @@ internal class Int16Tests
byte[] expected = { 0, 0x0F };
Span actual = stackalloc byte[2];
- Assert.That(value.TryWriteBigEndian(actual));
+ Assert.That(value.TryWriteBigEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -53,7 +53,7 @@ internal class Int16Tests
{
const short value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteLittleEndian(buffer), Is.False);
+ Assert.That(value.TryWriteLittleEndianBytes(buffer), Is.False);
}
[Test]
@@ -61,6 +61,6 @@ internal class Int16Tests
{
const short value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteBigEndian(buffer), Is.False);
+ Assert.That(value.TryWriteBigEndianBytes(buffer), Is.False);
}
}
diff --git a/X10D.Tests/src/IO/Int32Tests.cs b/X10D.Tests/src/IO/Int32Tests.cs
index 31898a0..01c7990 100644
--- a/X10D.Tests/src/IO/Int32Tests.cs
+++ b/X10D.Tests/src/IO/Int32Tests.cs
@@ -33,7 +33,7 @@ internal class Int32Tests
var expected = new byte[] { 0, 0, 0, 0x0F };
Span actual = stackalloc byte[4];
- Assert.That(value.TryWriteBigEndian(actual));
+ Assert.That(value.TryWriteBigEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -44,7 +44,7 @@ internal class Int32Tests
var expected = new byte[] { 0x0F, 0, 0, 0 };
Span actual = stackalloc byte[4];
- Assert.That(value.TryWriteLittleEndian(actual));
+ Assert.That(value.TryWriteLittleEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -53,7 +53,7 @@ internal class Int32Tests
{
const int value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteBigEndian(buffer), Is.False);
+ Assert.That(value.TryWriteBigEndianBytes(buffer), Is.False);
}
[Test]
@@ -61,6 +61,6 @@ internal class Int32Tests
{
const int value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteLittleEndian(buffer), Is.False);
+ Assert.That(value.TryWriteLittleEndianBytes(buffer), Is.False);
}
}
diff --git a/X10D.Tests/src/IO/Int64Tests.cs b/X10D.Tests/src/IO/Int64Tests.cs
index 393b9e0..c331369 100644
--- a/X10D.Tests/src/IO/Int64Tests.cs
+++ b/X10D.Tests/src/IO/Int64Tests.cs
@@ -33,7 +33,7 @@ internal class Int64Tests
byte[] expected = { 0x0F, 0, 0, 0, 0, 0, 0, 0 };
Span actual = stackalloc byte[8];
- Assert.That(value.TryWriteLittleEndian(actual));
+ Assert.That(value.TryWriteLittleEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -44,7 +44,7 @@ internal class Int64Tests
byte[] expected = { 0, 0, 0, 0, 0, 0, 0, 0x0F };
Span actual = stackalloc byte[8];
- Assert.That(value.TryWriteBigEndian(actual));
+ Assert.That(value.TryWriteBigEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -53,7 +53,7 @@ internal class Int64Tests
{
const long value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteLittleEndian(buffer), Is.False);
+ Assert.That(value.TryWriteLittleEndianBytes(buffer), Is.False);
}
[Test]
@@ -61,6 +61,6 @@ internal class Int64Tests
{
const long value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteBigEndian(buffer), Is.False);
+ Assert.That(value.TryWriteBigEndianBytes(buffer), Is.False);
}
}
diff --git a/X10D.Tests/src/IO/SingleTests.cs b/X10D.Tests/src/IO/SingleTests.cs
index e7de74d..984f8a4 100644
--- a/X10D.Tests/src/IO/SingleTests.cs
+++ b/X10D.Tests/src/IO/SingleTests.cs
@@ -33,7 +33,7 @@ internal class SingleTests
var expected = new byte[] { 0x42, 0x2A, 0, 0 };
Span actual = stackalloc byte[4];
- Assert.That(value.TryWriteBigEndian(actual));
+ Assert.That(value.TryWriteBigEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -44,7 +44,7 @@ internal class SingleTests
var expected = new byte[] { 0, 0, 0x2A, 0x42 };
Span actual = stackalloc byte[4];
- Assert.That(value.TryWriteLittleEndian(actual));
+ Assert.That(value.TryWriteLittleEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -53,7 +53,7 @@ internal class SingleTests
{
const float value = 42.5f;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteBigEndian(buffer), Is.False);
+ Assert.That(value.TryWriteBigEndianBytes(buffer), Is.False);
}
[Test]
@@ -61,6 +61,6 @@ internal class SingleTests
{
const float value = 42.5f;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteLittleEndian(buffer), Is.False);
+ Assert.That(value.TryWriteLittleEndianBytes(buffer), Is.False);
}
}
diff --git a/X10D.Tests/src/IO/UInt16Tests.cs b/X10D.Tests/src/IO/UInt16Tests.cs
index 58307e4..be9360e 100644
--- a/X10D.Tests/src/IO/UInt16Tests.cs
+++ b/X10D.Tests/src/IO/UInt16Tests.cs
@@ -33,7 +33,7 @@ internal class UInt16Tests
byte[] expected = { 0x0F, 0 };
Span actual = stackalloc byte[2];
- Assert.That(value.TryWriteLittleEndian(actual));
+ Assert.That(value.TryWriteLittleEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -45,7 +45,7 @@ internal class UInt16Tests
byte[] expected = { 0, 0x0F };
Span actual = stackalloc byte[2];
- Assert.That(value.TryWriteBigEndian(actual));
+ Assert.That(value.TryWriteBigEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -55,7 +55,7 @@ internal class UInt16Tests
{
const ushort value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteLittleEndian(buffer), Is.False);
+ Assert.That(value.TryWriteLittleEndianBytes(buffer), Is.False);
}
[Test]
@@ -63,6 +63,6 @@ internal class UInt16Tests
{
const ushort value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteBigEndian(buffer), Is.False);
+ Assert.That(value.TryWriteBigEndianBytes(buffer), Is.False);
}
}
diff --git a/X10D.Tests/src/IO/UInt32Tests.cs b/X10D.Tests/src/IO/UInt32Tests.cs
index cce312a..7847759 100644
--- a/X10D.Tests/src/IO/UInt32Tests.cs
+++ b/X10D.Tests/src/IO/UInt32Tests.cs
@@ -33,7 +33,7 @@ internal class UInt32Tests
byte[] expected = { 0x0F, 0, 0, 0 };
Span actual = stackalloc byte[4];
- Assert.That(value.TryWriteLittleEndian(actual));
+ Assert.That(value.TryWriteLittleEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -45,7 +45,7 @@ internal class UInt32Tests
byte[] expected = { 0, 0, 0, 0x0F };
Span actual = stackalloc byte[4];
- Assert.That(value.TryWriteBigEndian(actual));
+ Assert.That(value.TryWriteBigEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -55,7 +55,7 @@ internal class UInt32Tests
{
const uint value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteLittleEndian(buffer), Is.False);
+ Assert.That(value.TryWriteLittleEndianBytes(buffer), Is.False);
}
[Test]
@@ -63,6 +63,6 @@ internal class UInt32Tests
{
const uint value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteBigEndian(buffer), Is.False);
+ Assert.That(value.TryWriteBigEndianBytes(buffer), Is.False);
}
}
diff --git a/X10D.Tests/src/IO/UInt64Tests.cs b/X10D.Tests/src/IO/UInt64Tests.cs
index aeb589b..e783e2a 100644
--- a/X10D.Tests/src/IO/UInt64Tests.cs
+++ b/X10D.Tests/src/IO/UInt64Tests.cs
@@ -33,7 +33,7 @@ internal class UInt64Tests
byte[] expected = { 0x0F, 0, 0, 0, 0, 0, 0, 0 };
Span actual = stackalloc byte[8];
- Assert.That(value.TryWriteLittleEndian(actual));
+ Assert.That(value.TryWriteLittleEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -45,7 +45,7 @@ internal class UInt64Tests
byte[] expected = { 0, 0, 0, 0, 0, 0, 0, 0x0F };
Span actual = stackalloc byte[8];
- Assert.That(value.TryWriteBigEndian(actual));
+ Assert.That(value.TryWriteBigEndianBytes(actual));
CollectionAssert.AreEqual(expected, actual.ToArray());
}
@@ -55,7 +55,7 @@ internal class UInt64Tests
{
const ulong value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteLittleEndian(buffer), Is.False);
+ Assert.That(value.TryWriteLittleEndianBytes(buffer), Is.False);
}
[Test]
@@ -63,6 +63,6 @@ internal class UInt64Tests
{
const ulong value = 0x0F;
Span buffer = stackalloc byte[0];
- Assert.That(value.TryWriteBigEndian(buffer), Is.False);
+ Assert.That(value.TryWriteBigEndianBytes(buffer), Is.False);
}
}
diff --git a/X10D.Tests/src/Linq/ReadOnlySpanTests.cs b/X10D.Tests/src/Linq/ReadOnlySpanTests.cs
index 942e646..2b6ab5f 100644
--- a/X10D.Tests/src/Linq/ReadOnlySpanTests.cs
+++ b/X10D.Tests/src/Linq/ReadOnlySpanTests.cs
@@ -76,7 +76,7 @@ internal class ReadOnlySpanTests
Assert.Throws(() =>
{
var span = new ReadOnlySpan();
- _ = span.Count(null!);
+ _ = span.Count((Predicate)null!);
});
}
}
diff --git a/X10D.Tests/src/Linq/SpanTests.cs b/X10D.Tests/src/Linq/SpanTests.cs
index 313dea1..186d0e8 100644
--- a/X10D.Tests/src/Linq/SpanTests.cs
+++ b/X10D.Tests/src/Linq/SpanTests.cs
@@ -76,7 +76,7 @@ internal class SpanTests
Assert.Throws(() =>
{
var span = new Span();
- _ = span.Count(null!);
+ _ = span.Count((Predicate)null!);
});
}
}
diff --git a/X10D.Tests/src/Text/CharSpanTests.cs b/X10D.Tests/src/Text/CharSpanTests.cs
index fa02e2f..2441a58 100644
--- a/X10D.Tests/src/Text/CharSpanTests.cs
+++ b/X10D.Tests/src/Text/CharSpanTests.cs
@@ -60,4 +60,60 @@ internal class CharSpanTests
Assert.That(string.Empty.AsSpan().CountSubstring('\0'), Is.Zero);
Assert.That(string.Empty.AsSpan().CountSubstring(string.Empty.AsSpan(), StringComparison.OrdinalIgnoreCase), Is.Zero);
}
+
+ [Test]
+ public void Repeat_ShouldNotManipulateSpan_GivenCount0()
+ {
+ Span destination = new char[11];
+ "Hello world".AsSpan().CopyTo(destination);
+
+ "a".AsSpan().Repeat(0, destination);
+ Assert.That(destination.ToString(), Is.EqualTo("Hello world"));
+ }
+
+ [Test]
+ public void Repeat_ShouldReturnItself_GivenCount1()
+ {
+ string repeated = "a".AsSpan().Repeat(1);
+ Assert.That(repeated, Has.Length.EqualTo(1));
+ Assert.That(repeated, Is.EqualTo("a"));
+ }
+
+ [Test]
+ public void Repeat_ShouldPopulateSpan_GivenValidSpan()
+ {
+ const string expected = "aaaaaaaaaa";
+ Span destination = new char[10];
+ "a".AsSpan().Repeat(10, destination);
+
+ Assert.That(destination.ToString(), Is.EqualTo(expected));
+ }
+
+ [Test]
+ public void Repeat_ShouldReturnEmptyString_GivenCount0()
+ {
+ Assert.That("a".AsSpan().Repeat(0), Is.EqualTo(string.Empty));
+ }
+
+ [Test]
+ public void Repeat_ShouldReturnRepeatedString_GivenSpan()
+ {
+ const string expected = "aaaaaaaaaa";
+ string actual = "a".AsSpan().Repeat(10);
+
+ Assert.That(actual, Is.EqualTo(expected));
+ }
+
+ [Test]
+ public void Repeat_ShouldThrowArgumentException_GivenSmallSpan()
+ {
+ Assert.Throws(() => "a".AsSpan().Repeat(10, Span.Empty));
+ }
+
+ [Test]
+ public void Repeat_ShouldThrowArgumentOutOfRangeException_GivenNegativeCount()
+ {
+ Assert.Throws(() => _ = "a".AsSpan().Repeat(-1));
+ Assert.Throws(() => "a".AsSpan().Repeat(-1, Span.Empty));
+ }
}
diff --git a/X10D.Tests/src/Text/CharTests.cs b/X10D.Tests/src/Text/CharTests.cs
index 5ac8840..e06d3b5 100644
--- a/X10D.Tests/src/Text/CharTests.cs
+++ b/X10D.Tests/src/Text/CharTests.cs
@@ -9,11 +9,14 @@ internal class CharTests
[Test]
public void IsEmoji_ShouldReturnTrue_GivenBasicEmoji()
{
- Assert.That('✂'.IsEmoji());
- Assert.That('✅'.IsEmoji());
- Assert.That('❎'.IsEmoji());
- Assert.That('➕'.IsEmoji());
- Assert.That('➖'.IsEmoji());
+ Assert.Multiple(() =>
+ {
+ Assert.That('✂'.IsEmoji());
+ Assert.That('✅'.IsEmoji());
+ Assert.That('❎'.IsEmoji());
+ Assert.That('➕'.IsEmoji());
+ Assert.That('➖'.IsEmoji());
+ });
}
[Test]
@@ -26,7 +29,26 @@ internal class CharTests
}
[Test]
- public void RepeatShouldBeCorrect()
+ public void Repeat_ShouldPopulateSpanWithRepeatedCharacter_GivenValidCount()
+ {
+ const string expected = "aaaaaaaaaa";
+ Span destination = new char[10];
+ 'a'.Repeat(10, destination);
+
+ Assert.That(destination.ToString(), Is.EqualTo(expected));
+ }
+
+ [Test]
+ public void Repeat_ShouldOnlyWriteOneCharToSpan_GivenCount1()
+ {
+ Span destination = new char[10];
+ 'a'.Repeat(1, destination);
+
+ Assert.That(destination.ToString(), Is.EqualTo("a\0\0\0\0\0\0\0\0\0"));
+ }
+
+ [Test]
+ public void Repeat_ShouldReturnRepeatedCharacter_GivenValidCount()
{
const string expected = "aaaaaaaaaa";
string actual = 'a'.Repeat(10);
@@ -35,22 +57,47 @@ internal class CharTests
}
[Test]
- public void RepeatOneCountShouldBeLength1String()
+ public void Repeat_ShouldReturnSingleCharString_GivenCount1()
{
string repeated = 'a'.Repeat(1);
- Assert.That(repeated.Length, Is.EqualTo(1));
+ Assert.That(repeated, Has.Length.EqualTo(1));
Assert.That(repeated, Is.EqualTo("a"));
}
[Test]
- public void RepeatZeroCountShouldBeEmpty()
+ public void Repeat_ShouldReturnEmptyString_GivenCount0()
{
Assert.That('a'.Repeat(0), Is.EqualTo(string.Empty));
}
[Test]
- public void RepeatNegativeCountShouldThrow()
+ public void Repeat_ShouldNotManipulateSpan_GivenCount0()
{
- Assert.Throws(() => 'a'.Repeat(-1));
+ Span destination = new char[10];
+ destination.Fill(' ');
+ 'a'.Repeat(0, destination);
+
+ const string expected = " ";
+ Assert.That(destination.ToString(), Is.EqualTo(expected));
+ }
+
+ [Test]
+ public void Repeat_ShouldThrowArgumentOutOfRangeException_GivenNegativeCount()
+ {
+ Assert.Multiple(() =>
+ {
+ Assert.Throws(() => _ = 'a'.Repeat(-1));
+ Assert.Throws(() => 'a'.Repeat(-1, Span.Empty));
+ });
+ }
+
+ [Test]
+ public void Repeat_ShouldThrowArgumentException_GivenSmallSpan()
+ {
+ Assert.Throws(() =>
+ {
+ var destination = Span.Empty;
+ 'a'.Repeat(1, destination);
+ });
}
}
diff --git a/X10D.Tests/src/Text/CoreTests.cs b/X10D.Tests/src/Text/CoreTests.cs
index ca2f1dd..684fa26 100644
--- a/X10D.Tests/src/Text/CoreTests.cs
+++ b/X10D.Tests/src/Text/CoreTests.cs
@@ -6,7 +6,6 @@ namespace X10D.Tests.Text;
[TestFixture]
internal class CoreTests
{
-#if NET5_0_OR_GREATER
[Test]
public void ToJsonShouldNotBeEmpty()
{
@@ -24,5 +23,4 @@ internal class CoreTests
CollectionAssert.AreEqual(source, target);
CollectionAssert.AreEquivalent(source, target);
}
-#endif
}
diff --git a/X10D.Tests/src/Text/MarkdownTests.cs b/X10D.Tests/src/Text/MarkdownTests.cs
new file mode 100644
index 0000000..28bc5eb
--- /dev/null
+++ b/X10D.Tests/src/Text/MarkdownTests.cs
@@ -0,0 +1,171 @@
+using NUnit.Framework;
+using X10D.Text;
+
+namespace X10D.Tests.Text;
+
+[TestFixture]
+internal class MarkdownTests
+{
+ [Test]
+ public void MDBold_ShouldThrowArgumentNullException_GivenNull()
+ {
+ Assert.Throws(() => ((string)null!).MDBold());
+ }
+
+ [Test]
+ public void MDBold_ShouldReturnBoldText_GivenText()
+ {
+ Assert.That("Hello, world!".MDBold(), Is.EqualTo("**Hello, world!**"));
+ }
+
+ [Test]
+ public void MDCode_ShouldThrowArgumentNullException_GivenNull()
+ {
+ Assert.Throws(() => ((string)null!).MDCode());
+ }
+
+ [Test]
+ public void MDCode_ShouldReturnCodeText_GivenText()
+ {
+ Assert.That("Hello, world!".MDCode(), Is.EqualTo("`Hello, world!`"));
+ }
+
+ [Test]
+ public void MDCodeBlock_ShouldThrowArgumentNullException_GivenNull()
+ {
+ Assert.Throws(() => ((string)null!).MDCodeBlock());
+ }
+
+ [Test]
+ public void MDCodeBlock_ShouldReturnCodeBlockText_GivenText()
+ {
+ var expected = $"```{Environment.NewLine}Hello, world!{Environment.NewLine}```";
+ string actual = "Hello, world!".MDCodeBlock();
+
+ Assert.That(actual, Is.EqualTo(expected));
+ }
+
+ [Test]
+ public void MDCodeBlock_ShouldReturnCodeBlockText_GivenTextAndLanguage()
+ {
+ var expected = $"```csharp{Environment.NewLine}Hello, world!{Environment.NewLine}```";
+ string actual = "Hello, world!".MDCodeBlock("csharp");
+
+ Assert.That(actual, Is.EqualTo(expected));
+ }
+
+ [Test]
+ public void MDHeading_ShouldThrowArgumentNullException_GivenNull()
+ {
+ Assert.Throws(() => ((string)null!).MDHeading(1));
+ }
+
+ [Test]
+ public void MDHeading_ShouldThrowArgumentOutOfRangeException_GivenInvalidHeading()
+ {
+ Assert.Throws(() => "Hello, world!".MDHeading(0));
+ Assert.Throws(() => "Hello, world!".MDHeading(7));
+ }
+
+ [Test]
+ public void MDHeading_ShouldReturnHeadingText_GivenText()
+ {
+ Assert.Multiple(() =>
+ {
+ Assert.That("Hello, world!".MDHeading(1), Is.EqualTo("# Hello, world!"));
+ Assert.That("Hello, world!".MDHeading(2), Is.EqualTo("## Hello, world!"));
+ Assert.That("Hello, world!".MDHeading(3), Is.EqualTo("### Hello, world!"));
+ Assert.That("Hello, world!".MDHeading(4), Is.EqualTo("#### Hello, world!"));
+ Assert.That("Hello, world!".MDHeading(5), Is.EqualTo("##### Hello, world!"));
+ Assert.That("Hello, world!".MDHeading(6), Is.EqualTo("###### Hello, world!"));
+ });
+ }
+
+ [Test]
+ public void MDItalic_ShouldThrowArgumentNullException_GivenNull()
+ {
+ Assert.Throws(() => ((string)null!).MDItalic());
+ }
+
+ [Test]
+ public void MDItalic_ShouldReturnItalicTextWithAsterisk_GivenText()
+ {
+ Assert.That("Hello, world!".MDItalic(), Is.EqualTo("*Hello, world!*"));
+ }
+
+ [Test]
+ public void MDItalic_ShouldReturnItalicTextWithAsterisk_GivenText_AndFalseUnderscoreFlag()
+ {
+ Assert.That("Hello, world!".MDItalic(false), Is.EqualTo("*Hello, world!*"));
+ }
+
+ [Test]
+ public void MDItalic_ShouldReturnItalicTextWithUnderscores_GivenText_AndTrueUnderscoreFlag()
+ {
+ Assert.That("Hello, world!".MDItalic(true), Is.EqualTo("_Hello, world!_"));
+ }
+
+ [Test]
+ public void MDLink_ShouldThrowArgumentNullException_GivenNullUrl()
+ {
+ Assert.Multiple(() =>
+ {
+ Assert.Throws(() => "".MDLink((string)null!));
+ Assert.Throws(() => "".MDLink((Uri)null!));
+ Assert.Throws(() => ((Uri)null!).MDLink("Hello, world!"));
+ });
+ }
+
+ [Test]
+ public void MDLink_ShouldReturnUrlOnly_GivenNullOrEmptyLabel()
+ {
+ const string url = "https://example.com/";
+ Assert.Multiple(() =>
+ {
+ Assert.That(((string)null!).MDLink(url), Is.EqualTo(url));
+ Assert.That(string.Empty.MDLink(url), Is.EqualTo(url));
+
+ Assert.That(new Uri(url).MDLink(null), Is.EqualTo(url));
+ Assert.That(new Uri(url).MDLink(string.Empty), Is.EqualTo(url));
+ });
+ }
+
+ [Test]
+ public void MDLink_ShouldReturnFormattedLink_GivenValidLabelAndUrl()
+ {
+ const string url = "https://example.com/";
+ const string label = "Hello, world!";
+
+ Assert.Multiple(() =>
+ {
+ Assert.That(label.MDLink(url), Is.EqualTo($"[{label}]({url})"));
+ Assert.That(label.MDLink(new Uri(url)), Is.EqualTo($"[{label}]({url})"));
+
+ Assert.That(new Uri(url).MDLink(label), Is.EqualTo($"[{label}]({url})"));
+ });
+ }
+
+ [Test]
+ public void MDStrikeOut_ShouldThrowArgumentNullException_GivenNull()
+ {
+ Assert.Throws(() => ((string)null!).MDStrikeOut());
+ }
+
+ [Test]
+ public void MDStrikeOut_ShouldReturnStrikeOutText_GivenText()
+ {
+ Assert.That("Hello, world!".MDStrikeOut(), Is.EqualTo("~~Hello, world!~~"));
+ }
+
+ [Test]
+ public void MDUnderline_ShouldThrowArgumentNullException_GivenNull()
+ {
+ Assert.Throws(() => ((string)null!).MDUnderline());
+ }
+
+ [Test]
+ public void MDUnderline_ShouldReturnUnderlineText_GivenText()
+ {
+ Assert.That("Hello, world!".MDUnderline(), Is.EqualTo("__Hello, world!__"));
+ }
+}
diff --git a/X10D.Tests/src/Text/RuneTests.cs b/X10D.Tests/src/Text/RuneTests.cs
index fc196c9..0efb605 100644
--- a/X10D.Tests/src/Text/RuneTests.cs
+++ b/X10D.Tests/src/Text/RuneTests.cs
@@ -1,4 +1,3 @@
-#if NET5_0_OR_GREATER
using System.Text;
using NUnit.Framework;
using X10D.Text;
@@ -90,4 +89,3 @@ internal class RuneTests
Assert.That(repeated, Is.EqualTo("𐀀𐀀𐀀𐀀𐀀𐀀"));
}
}
-#endif
diff --git a/X10D.Tests/src/Text/StringTests.cs b/X10D.Tests/src/Text/StringTests.cs
index 44422d1..d658b72 100644
--- a/X10D.Tests/src/Text/StringTests.cs
+++ b/X10D.Tests/src/Text/StringTests.cs
@@ -1,7 +1,5 @@
using System.Text;
-#if NET5_0_OR_GREATER
using System.Text.Json.Serialization;
-#endif
using NUnit.Framework;
using X10D.Text;
@@ -164,7 +162,9 @@ internal class StringTests
Assert.Multiple(() =>
{
Assert.That("Hello World".CountSubstring('E'), Is.Zero);
+#pragma warning disable CA1307
Assert.That("Hello World".CountSubstring("E"), Is.Zero);
+#pragma warning restore CA1307
Assert.That("Hello World".CountSubstring("E", StringComparison.OrdinalIgnoreCase), Is.EqualTo(1));
});
}
@@ -175,7 +175,9 @@ internal class StringTests
Assert.Multiple(() =>
{
Assert.That("Hello World".CountSubstring('z'), Is.Zero);
+#pragma warning disable CA1307
Assert.That("Hello World".CountSubstring("z"), Is.Zero);
+#pragma warning restore CA1307
Assert.That("Hello World".CountSubstring("z", StringComparison.OrdinalIgnoreCase), Is.Zero);
});
}
@@ -186,7 +188,9 @@ internal class StringTests
Assert.Multiple(() =>
{
Assert.That("Hello World".CountSubstring('e'), Is.EqualTo(1));
+#pragma warning disable CA1307
Assert.That("Hello World".CountSubstring("e"), Is.EqualTo(1));
+#pragma warning restore CA1307
Assert.That("Hello World".CountSubstring("e", StringComparison.OrdinalIgnoreCase), Is.EqualTo(1));
});
}
@@ -197,7 +201,9 @@ internal class StringTests
Assert.Multiple(() =>
{
Assert.That(string.Empty.CountSubstring('\0'), Is.Zero);
+#pragma warning disable CA1307
Assert.That(string.Empty.CountSubstring(string.Empty), Is.Zero);
+#pragma warning restore CA1307
Assert.That(string.Empty.CountSubstring(string.Empty, StringComparison.OrdinalIgnoreCase), Is.Zero);
});
}
@@ -207,7 +213,9 @@ internal class StringTests
{
string value = null!;
Assert.Throws(() => value.CountSubstring('\0'));
+#pragma warning disable CA1307
Assert.Throws(() => value.CountSubstring(string.Empty));
+#pragma warning restore CA1307
Assert.Throws(() => value.CountSubstring(string.Empty, StringComparison.OrdinalIgnoreCase));
}
@@ -217,7 +225,10 @@ internal class StringTests
const string value = "Hello Worl";
const char substring = 'd';
+#pragma warning disable CA1307
Assert.That(value.EnsureEndsWith(substring), Is.EqualTo("Hello World"));
+#pragma warning restore CA1307
+ Assert.That(value.EnsureEndsWith(substring, StringComparison.Ordinal), Is.EqualTo("Hello World"));
}
[Test]
@@ -226,7 +237,10 @@ internal class StringTests
const string value = "A";
const char substring = 'A';
+#pragma warning disable CA1307
Assert.That(value.EnsureEndsWith(substring), Is.EqualTo(value));
+#pragma warning restore CA1307
+ Assert.That(value.EnsureEndsWith(substring, StringComparison.Ordinal), Is.EqualTo(value));
}
[Test]
@@ -235,7 +249,10 @@ internal class StringTests
const string value = "B";
const char substring = 'A';
+#pragma warning disable CA1307
Assert.That(value.EnsureStartsWith(substring), Is.EqualTo("AB"));
+#pragma warning restore CA1307
+ Assert.That(value.EnsureStartsWith(substring, StringComparison.Ordinal), Is.EqualTo("AB"));
}
[Test]
@@ -244,7 +261,10 @@ internal class StringTests
const string value = "A";
const char substring = 'A';
+#pragma warning disable CA1307
Assert.That(value.EnsureStartsWith(substring), Is.EqualTo(value));
+#pragma warning restore CA1307
+ Assert.That(value.EnsureStartsWith(substring, StringComparison.Ordinal), Is.EqualTo(value));
}
[Test]
@@ -253,7 +273,10 @@ internal class StringTests
const string value = "Hello ";
const string substring = "World";
+#pragma warning disable CA1307
Assert.That(value.EnsureEndsWith(substring), Is.EqualTo("Hello World"));
+#pragma warning restore CA1307
+ Assert.That(value.EnsureEndsWith(substring, StringComparison.Ordinal), Is.EqualTo("Hello World"));
}
[Test]
@@ -261,7 +284,10 @@ internal class StringTests
{
const string substring = "World";
+#pragma warning disable CA1307
Assert.That(substring.EnsureEndsWith(substring), Is.EqualTo(substring));
+#pragma warning restore CA1307
+ Assert.That(substring.EnsureEndsWith(substring, StringComparison.Ordinal), Is.EqualTo(substring));
}
[Test]
@@ -269,7 +295,10 @@ internal class StringTests
{
const string substring = "World";
+#pragma warning disable CA1307
Assert.That(string.Empty.EnsureEndsWith(substring), Is.EqualTo(substring));
+#pragma warning restore CA1307
+ Assert.That(string.Empty.EnsureEndsWith(substring, StringComparison.Ordinal), Is.EqualTo(substring));
}
[Test]
@@ -277,7 +306,10 @@ internal class StringTests
{
const string substring = "World";
+#pragma warning disable CA1307
Assert.That(substring.EnsureEndsWith(string.Empty), Is.EqualTo(substring));
+#pragma warning restore CA1307
+ Assert.That(substring.EnsureEndsWith(string.Empty, StringComparison.Ordinal), Is.EqualTo(substring));
}
[Test]
@@ -286,7 +318,10 @@ internal class StringTests
const string value = "World";
const string substring = "Hello ";
+#pragma warning disable CA1307
Assert.That(value.EnsureStartsWith(substring), Is.EqualTo("Hello World"));
+#pragma warning restore CA1307
+ Assert.That(value.EnsureStartsWith(substring, StringComparison.Ordinal), Is.EqualTo("Hello World"));
}
[Test]
@@ -294,7 +329,10 @@ internal class StringTests
{
const string substring = "World";
+#pragma warning disable CA1307
Assert.That(substring.EnsureStartsWith(substring), Is.EqualTo(substring));
+#pragma warning restore CA1307
+ Assert.That(substring.EnsureStartsWith(substring, StringComparison.Ordinal), Is.EqualTo(substring));
}
[Test]
@@ -302,7 +340,10 @@ internal class StringTests
{
const string substring = "World";
+#pragma warning disable CA1307
Assert.That(string.Empty.EnsureStartsWith(substring), Is.EqualTo(substring));
+#pragma warning restore CA1307
+ Assert.That(string.Empty.EnsureStartsWith(substring, StringComparison.Ordinal), Is.EqualTo(substring));
}
[Test]
@@ -310,7 +351,10 @@ internal class StringTests
{
const string substring = "World";
+#pragma warning disable CA1307
Assert.That(substring.EnsureStartsWith(string.Empty), Is.EqualTo(substring));
+#pragma warning restore CA1307
+ Assert.That(substring.EnsureStartsWith(string.Empty, StringComparison.Ordinal), Is.EqualTo(substring));
}
[Test]
@@ -372,7 +416,6 @@ internal class StringTests
Assert.Throws(() => _ = " ".EnumParse());
}
-#if NET5_0_OR_GREATER
[Test]
public void FromJson_ShouldDeserializeCorrectly_GivenJsonString()
{
@@ -388,12 +431,11 @@ internal class StringTests
Assert.That(target.Values[2], Is.EqualTo(3));
});
}
-#endif
[Test]
public void GetBytes_ShouldReturnUtf8Bytes_GivenHelloWorld()
{
- var expected = new byte[] {0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64};
+ var expected = new byte[] { 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64 };
byte[] actual = "Hello World".GetBytes();
CollectionAssert.AreEqual(expected, actual);
@@ -402,7 +444,7 @@ internal class StringTests
[Test]
public void GetBytes_ShouldReturnAsciiBytes_GivenHelloWorld()
{
- var expected = new byte[] {0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64};
+ var expected = new byte[] { 0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64 };
byte[] actual = "Hello World".GetBytes(Encoding.ASCII);
CollectionAssert.AreEqual(expected, actual);
@@ -444,14 +486,16 @@ internal class StringTests
public void IsEmoji_ShouldReturnTrue_GivenMultiByteEmoji()
{
string[] regionalIndicatorCodes = Enumerable.Range(0, 26)
- .Select(i => Encoding.Unicode.GetString(new byte[] {0x3C, 0xD8, (byte)(0xE6 + i), 0xDD}))
+ .Select(i => Encoding.Unicode.GetString(new byte[] { 0x3C, 0xD8, (byte)(0xE6 + i), 0xDD }))
.ToArray();
for (var i = 0; i < 26; i++)
- for (var j = 0; j < 26; j++)
{
- string flag = (regionalIndicatorCodes[i] + regionalIndicatorCodes[j]);
- Assert.That(flag.IsEmoji());
+ for (var j = 0; j < 26; j++)
+ {
+ string flag = (regionalIndicatorCodes[i] + regionalIndicatorCodes[j]);
+ Assert.That(flag.IsEmoji());
+ }
}
}
@@ -696,7 +740,7 @@ internal class StringTests
[Test]
public void Randomize_ShouldThrow_GivenNegativeLength()
{
- Assert.Throws(() => string.Empty.Randomize(-1));
+ Assert.Throws(() => _ = string.Empty.Randomize(-1));
}
[Test]
@@ -714,25 +758,62 @@ internal class StringTests
Assert.That("a".Repeat(0), Is.EqualTo(string.Empty));
}
+ [Test]
+ public void Repeat_ShouldNotManipulateSpan_GivenCount0()
+ {
+ Span destination = new char[11];
+ "Hello world".AsSpan().CopyTo(destination);
+
+ "a".Repeat(0, destination);
+ Assert.That(destination.ToString(), Is.EqualTo("Hello world"));
+ }
+
[Test]
public void Repeat_ShouldReturnItself_GivenCount1()
{
string repeated = "a".Repeat(1);
- Assert.That(repeated.Length, Is.EqualTo(1));
+ Assert.That(repeated, Has.Length.EqualTo(1));
Assert.That(repeated, Is.EqualTo("a"));
}
[Test]
- public void Repeat_ShouldThrow_GivenNegativeCount()
+ public void Repeat_ShouldThrowArgumentException_GivenSmallSpan()
{
- Assert.Throws(() => _ = "a".Repeat(-1));
+ Assert.Throws(() => "a".Repeat(10, Span.Empty));
}
[Test]
- public void Repeat_ShouldThrow_GivenNull()
+ public void Repeat_ShouldThrowArgumentOutOfRangeException_GivenNegativeCount()
+ {
+ Assert.Throws(() => _ = "a".Repeat(-1));
+ Assert.Throws(() => "a".Repeat(-1, Span.Empty));
+ }
+
+ [Test]
+ public void Repeat_ShouldThrowArgumentNullException_GivenNull()
{
string value = null!;
Assert.Throws(() => _ = value.Repeat(0));
+ Assert.Throws(() => value.Repeat(0, Span.Empty));
+ }
+
+ [Test]
+ public void Repeat_ShouldPopulateSpanWithRepeatedCharacter_GivenValidCount()
+ {
+ const string expected = "aaaaaaaaaa";
+ Span destination = new char[10];
+ "a".Repeat(10, destination);
+
+ Assert.That(destination.ToString(), Is.EqualTo(expected));
+ }
+
+ [Test]
+ public void Repeat_ShouldOnlyWriteOneCharToSpan_GivenCount1()
+ {
+ Span destination = new char[10];
+ "a".Repeat(1, destination);
+
+ Assert.That(destination.ToString(), Is.EqualTo("a\0\0\0\0\0\0\0\0\0"));
}
[Test]
@@ -751,7 +832,7 @@ internal class StringTests
}
[Test]
- public void Reverse_ShouldThrow_GivenNull()
+ public void Reverse_ShouldThrowArgumentNullException_GivenNull()
{
string value = null!;
Assert.Throws(() => _ = value.Reverse());
@@ -769,7 +850,7 @@ internal class StringTests
}
[Test]
- public void Shuffled_ShouldThrow_GivenNull()
+ public void Shuffled_ShouldThrowArgumentNullException_GivenNull()
{
string value = null!;
Assert.Throws(() => _ = value.Shuffled());
@@ -803,7 +884,7 @@ internal class StringTests
}
[Test]
- public void Split_ShouldThrow_GivenNullString()
+ public void Split_ShouldThrowArgumentNullException_GivenNullString()
{
string value = null!;
@@ -878,7 +959,7 @@ internal class StringTests
[Test]
public void StartsWithAny_ShouldThrowArgumentNullException_GivenANullValue()
{
- var values = new[] {"Hello", null!, "World"};
+ var values = new[] { "Hello", null!, "World" };
Assert.Throws(() => "Foobar".StartsWithAny(values));
Assert.Throws(() => "Foobar".StartsWithAny(StringComparison.Ordinal, values));
}
@@ -921,11 +1002,9 @@ internal class StringTests
});
}
-#if NET5_0_OR_GREATER
private struct SampleStructure
{
[JsonPropertyName("values")]
public int[] Values { get; set; }
}
-#endif
}
diff --git a/X10D.Tests/src/Time/DateOnlyTests.cs b/X10D.Tests/src/Time/DateOnlyTests.cs
index bae376b..15b10ce 100644
--- a/X10D.Tests/src/Time/DateOnlyTests.cs
+++ b/X10D.Tests/src/Time/DateOnlyTests.cs
@@ -1,4 +1,3 @@
-#if NET6_0_OR_GREATER
using NUnit.Framework;
using X10D.Time;
@@ -230,4 +229,3 @@ internal class DateOnlyTests
Assert.That(date.ToUnixTimeSeconds(time), Is.EqualTo(946684800));
}
}
-#endif
diff --git a/X10D.Tests/src/Time/DoubleTests.cs b/X10D.Tests/src/Time/DoubleTests.cs
index 5247837..18afb8f 100644
--- a/X10D.Tests/src/Time/DoubleTests.cs
+++ b/X10D.Tests/src/Time/DoubleTests.cs
@@ -1,4 +1,3 @@
-#if NET5_0_OR_GREATER
using NUnit.Framework;
using X10D.Time;
@@ -52,4 +51,3 @@ internal class DoubleTests
Assert.That((_negativeOne).Weeks() < TimeSpan.Zero);
}
}
-#endif
diff --git a/X10D.Unity.Tests/.gitignore b/X10D.Unity.Tests/.gitignore
deleted file mode 100644
index 58cbc82..0000000
--- a/X10D.Unity.Tests/.gitignore
+++ /dev/null
@@ -1,72 +0,0 @@
-# This .gitignore file should be placed at the root of your Unity project directory
-#
-# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
-#
-/[Ll]ibrary/
-/[Tt]emp/
-/[Oo]bj/
-/[Bb]uild/
-/[Bb]uilds/
-/[Ll]ogs/
-/[Uu]ser[Ss]ettings/
-
-# MemoryCaptures can get excessive in size.
-# They also could contain extremely sensitive data
-/[Mm]emoryCaptures/
-
-# Recordings can get excessive in size
-/[Rr]ecordings/
-
-# Uncomment this line if you wish to ignore the asset store tools plugin
-# /[Aa]ssets/AssetStoreTools*
-
-# Autogenerated Jetbrains Rider plugin
-/[Aa]ssets/Plugins/Editor/JetBrains*
-
-# Visual Studio cache directory
-.vs/
-
-# Gradle cache directory
-.gradle/
-
-# Autogenerated VS/MD/Consulo solution and project files
-ExportedObj/
-.consulo/
-*.csproj
-*.unityproj
-*.sln
-*.suo
-*.tmp
-*.user
-*.userprefs
-*.pidb
-*.booproj
-*.svd
-*.pdb
-*.mdb
-*.opendb
-*.VC.db
-
-# Unity3D generated meta files
-*.pidb.meta
-*.pdb.meta
-*.mdb.meta
-
-# Unity3D generated file on crash reports
-sysinfo.txt
-
-# Builds
-*.apk
-*.aab
-*.unitypackage
-*.app
-
-# Crashlytics generated file
-crashlytics-build.properties
-
-# Packed Addressables
-/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
-
-# Temporary auto-generated Android Assets
-/[Aa]ssets/[Ss]treamingAssets/aa.meta
-/[Aa]ssets/[Ss]treamingAssets/aa/*
diff --git a/X10D.Unity.Tests/Assets/Scenes.meta b/X10D.Unity.Tests/Assets/Scenes.meta
deleted file mode 100644
index 83c741b..0000000
--- a/X10D.Unity.Tests/Assets/Scenes.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 6ea315d0fd7389c41b19996891e99ae3
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/X10D.Unity.Tests/Assets/Scenes/DebugExIntegrationTests.unity b/X10D.Unity.Tests/Assets/Scenes/DebugExIntegrationTests.unity
deleted file mode 100644
index c1a5fbe..0000000
--- a/X10D.Unity.Tests/Assets/Scenes/DebugExIntegrationTests.unity
+++ /dev/null
@@ -1,354 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_OcclusionBakeSettings:
- smallestOccluder: 5
- smallestHole: 0.25
- backfaceThreshold: 100
- m_SceneGUID: 00000000000000000000000000000000
- m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 9
- m_Fog: 0
- m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- m_FogMode: 3
- m_FogDensity: 0.01
- m_LinearFogStart: 0
- m_LinearFogEnd: 300
- m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
- m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
- m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
- m_AmbientIntensity: 1
- m_AmbientMode: 0
- m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
- m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
- m_HaloStrength: 0.5
- m_FlareStrength: 1
- m_FlareFadeSpeed: 3
- m_HaloTexture: {fileID: 0}
- m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
- m_DefaultReflectionMode: 0
- m_DefaultReflectionResolution: 128
- m_ReflectionBounces: 1
- m_ReflectionIntensity: 1
- m_CustomReflection: {fileID: 0}
- m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 12
- m_GIWorkflowMode: 1
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 1
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 12
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_ExtractAmbientOcclusion: 0
- m_Padding: 2
- m_LightmapParameters: {fileID: 0}
- m_LightmapsBakeMode: 1
- m_TextureCompression: 1
- m_FinalGather: 0
- m_FinalGatherFiltering: 1
- m_FinalGatherRayCount: 256
- m_ReflectionCompression: 2
- m_MixedBakeMode: 2
- m_BakeBackend: 1
- m_PVRSampling: 1
- m_PVRDirectSampleCount: 32
- m_PVRSampleCount: 512
- m_PVRBounces: 2
- m_PVREnvironmentSampleCount: 256
- m_PVREnvironmentReferencePointCount: 2048
- m_PVRFilteringMode: 1
- m_PVRDenoiserTypeDirect: 1
- m_PVRDenoiserTypeIndirect: 1
- m_PVRDenoiserTypeAO: 1
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVREnvironmentMIS: 1
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 5
- m_PVRFilteringGaussRadiusAO: 2
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ExportTrainingData: 0
- m_TrainingDataDestination: TrainingData
- m_LightProbeSampleCountMultiplier: 4
- m_LightingDataAsset: {fileID: 0}
- m_LightingSettings: {fileID: 0}
---- !u!196 &4
-NavMeshSettings:
- serializedVersion: 2
- m_ObjectHideFlags: 0
- m_BuildSettings:
- serializedVersion: 2
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.4
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- accuratePlacement: 0
- maxJobWorkers: 0
- preserveTilesOutsideBounds: 0
- debug:
- m_Flags: 0
- m_NavMeshData: {fileID: 0}
---- !u!1 &192863441
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 192863443}
- - component: {fileID: 192863442}
- m_Layer: 0
- m_Name: GameObject
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &192863442
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 192863441}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 0fac6b15ed0b420ba300fc1ac10ef01a, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- _hexagonPoints:
- - {x: -0.5, y: 0.5}
- - {x: -0.25, y: 1}
- - {x: 0.25, y: 1}
- - {x: 0.5, y: 0.5}
- - {x: 0.25, y: 0}
- - {x: -0.25, y: 0}
---- !u!4 &192863443
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 192863441}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 2
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &585803459
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 585803461}
- - component: {fileID: 585803460}
- m_Layer: 0
- m_Name: Directional Light
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!108 &585803460
-Light:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 585803459}
- m_Enabled: 1
- serializedVersion: 10
- m_Type: 1
- m_Shape: 0
- m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
- m_Intensity: 1
- m_Range: 10
- m_SpotAngle: 30
- m_InnerSpotAngle: 21.80208
- m_CookieSize: 10
- m_Shadows:
- m_Type: 2
- m_Resolution: -1
- m_CustomResolution: -1
- m_Strength: 1
- m_Bias: 0.05
- m_NormalBias: 0.4
- m_NearPlane: 0.2
- m_CullingMatrixOverride:
- e00: 1
- e01: 0
- e02: 0
- e03: 0
- e10: 0
- e11: 1
- e12: 0
- e13: 0
- e20: 0
- e21: 0
- e22: 1
- e23: 0
- e30: 0
- e31: 0
- e32: 0
- e33: 1
- m_UseCullingMatrixOverride: 0
- m_Cookie: {fileID: 0}
- m_DrawHalo: 0
- m_Flare: {fileID: 0}
- m_RenderMode: 0
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingLayerMask: 1
- m_Lightmapping: 4
- m_LightShadowCasterMode: 0
- m_AreaSize: {x: 1, y: 1}
- m_BounceIntensity: 1
- m_ColorTemperature: 6570
- m_UseColorTemperature: 0
- m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
- m_UseBoundingSphereOverride: 0
- m_UseViewFrustumForShadowCasterCull: 1
- m_ShadowRadius: 0
- m_ShadowAngle: 0
---- !u!4 &585803461
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 585803459}
- m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
- m_LocalPosition: {x: 0, y: 3, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
---- !u!1 &1189625736
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1189625739}
- - component: {fileID: 1189625738}
- - component: {fileID: 1189625737}
- m_Layer: 0
- m_Name: Main Camera
- m_TagString: MainCamera
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!81 &1189625737
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1189625736}
- m_Enabled: 1
---- !u!20 &1189625738
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1189625736}
- m_Enabled: 1
- serializedVersion: 2
- m_ClearFlags: 1
- m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
- m_projectionMatrixMode: 1
- m_GateFitMode: 2
- m_FOVAxisMode: 0
- m_SensorSize: {x: 36, y: 24}
- m_LensShift: {x: 0, y: 0}
- m_FocalLength: 50
- m_NormalizedViewPortRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- near clip plane: 0.3
- far clip plane: 1000
- field of view: 60
- orthographic: 0
- orthographic size: 5
- m_Depth: -1
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingPath: -1
- m_TargetTexture: {fileID: 0}
- m_TargetDisplay: 0
- m_TargetEye: 3
- m_HDR: 1
- m_AllowMSAA: 1
- m_AllowDynamicResolution: 0
- m_ForceIntoRT: 0
- m_OcclusionCulling: 1
- m_StereoConvergence: 10
- m_StereoSeparation: 0.022
---- !u!4 &1189625739
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1189625736}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 1, z: -10}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/X10D.Unity.Tests/Assets/Scenes/DebugExIntegrationTests.unity.meta b/X10D.Unity.Tests/Assets/Scenes/DebugExIntegrationTests.unity.meta
deleted file mode 100644
index 90ba21a..0000000
--- a/X10D.Unity.Tests/Assets/Scenes/DebugExIntegrationTests.unity.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: f2337eeeb085a25408461d996bb20a9c
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/X10D.Unity.Tests/Assets/Scenes/SampleScene.unity b/X10D.Unity.Tests/Assets/Scenes/SampleScene.unity
deleted file mode 100644
index 2221b04..0000000
--- a/X10D.Unity.Tests/Assets/Scenes/SampleScene.unity
+++ /dev/null
@@ -1,267 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_OcclusionBakeSettings:
- smallestOccluder: 5
- smallestHole: 0.25
- backfaceThreshold: 100
- m_SceneGUID: 00000000000000000000000000000000
- m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 9
- m_Fog: 0
- m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- m_FogMode: 3
- m_FogDensity: 0.01
- m_LinearFogStart: 0
- m_LinearFogEnd: 300
- m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
- m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
- m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
- m_AmbientIntensity: 1
- m_AmbientMode: 0
- m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
- m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
- m_HaloStrength: 0.5
- m_FlareStrength: 1
- m_FlareFadeSpeed: 3
- m_HaloTexture: {fileID: 0}
- m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
- m_DefaultReflectionMode: 0
- m_DefaultReflectionResolution: 128
- m_ReflectionBounces: 1
- m_ReflectionIntensity: 1
- m_CustomReflection: {fileID: 0}
- m_Sun: {fileID: 705507994}
- m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 12
- m_GIWorkflowMode: 1
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 1
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 12
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_ExtractAmbientOcclusion: 0
- m_Padding: 2
- m_LightmapParameters: {fileID: 0}
- m_LightmapsBakeMode: 1
- m_TextureCompression: 1
- m_FinalGather: 0
- m_FinalGatherFiltering: 1
- m_FinalGatherRayCount: 256
- m_ReflectionCompression: 2
- m_MixedBakeMode: 2
- m_BakeBackend: 1
- m_PVRSampling: 1
- m_PVRDirectSampleCount: 32
- m_PVRSampleCount: 500
- m_PVRBounces: 2
- m_PVREnvironmentSampleCount: 500
- m_PVREnvironmentReferencePointCount: 2048
- m_PVRFilteringMode: 2
- m_PVRDenoiserTypeDirect: 0
- m_PVRDenoiserTypeIndirect: 0
- m_PVRDenoiserTypeAO: 0
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVREnvironmentMIS: 0
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 5
- m_PVRFilteringGaussRadiusAO: 2
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ExportTrainingData: 0
- m_TrainingDataDestination: TrainingData
- m_LightProbeSampleCountMultiplier: 4
- m_LightingDataAsset: {fileID: 0}
- m_LightingSettings: {fileID: 0}
---- !u!196 &4
-NavMeshSettings:
- serializedVersion: 2
- m_ObjectHideFlags: 0
- m_BuildSettings:
- serializedVersion: 2
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.4
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- accuratePlacement: 0
- debug:
- m_Flags: 0
- m_NavMeshData: {fileID: 0}
---- !u!1 &705507993
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 705507995}
- - component: {fileID: 705507994}
- m_Layer: 0
- m_Name: Directional Light
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!108 &705507994
-Light:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 705507993}
- m_Enabled: 1
- serializedVersion: 8
- m_Type: 1
- m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
- m_Intensity: 1
- m_Range: 10
- m_SpotAngle: 30
- m_CookieSize: 10
- m_Shadows:
- m_Type: 2
- m_Resolution: -1
- m_CustomResolution: -1
- m_Strength: 1
- m_Bias: 0.05
- m_NormalBias: 0.4
- m_NearPlane: 0.2
- m_Cookie: {fileID: 0}
- m_DrawHalo: 0
- m_Flare: {fileID: 0}
- m_RenderMode: 0
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_Lightmapping: 1
- m_LightShadowCasterMode: 0
- m_AreaSize: {x: 1, y: 1}
- m_BounceIntensity: 1
- m_ColorTemperature: 6570
- m_UseColorTemperature: 0
- m_ShadowRadius: 0
- m_ShadowAngle: 0
---- !u!4 &705507995
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 705507993}
- m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
- m_LocalPosition: {x: 0, y: 3, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
---- !u!1 &963194225
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 963194228}
- - component: {fileID: 963194227}
- - component: {fileID: 963194226}
- m_Layer: 0
- m_Name: Main Camera
- m_TagString: MainCamera
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!81 &963194226
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 963194225}
- m_Enabled: 1
---- !u!20 &963194227
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 963194225}
- m_Enabled: 1
- serializedVersion: 2
- m_ClearFlags: 1
- m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
- m_projectionMatrixMode: 1
- m_SensorSize: {x: 36, y: 24}
- m_LensShift: {x: 0, y: 0}
- m_GateFitMode: 2
- m_FocalLength: 50
- m_NormalizedViewPortRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- near clip plane: 0.3
- far clip plane: 1000
- field of view: 60
- orthographic: 0
- orthographic size: 5
- m_Depth: -1
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingPath: -1
- m_TargetTexture: {fileID: 0}
- m_TargetDisplay: 0
- m_TargetEye: 3
- m_HDR: 1
- m_AllowMSAA: 1
- m_AllowDynamicResolution: 0
- m_ForceIntoRT: 0
- m_OcclusionCulling: 1
- m_StereoConvergence: 10
- m_StereoSeparation: 0.022
---- !u!4 &963194228
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInternal: {fileID: 0}
- m_GameObject: {fileID: 963194225}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 1, z: -10}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/X10D.Unity.Tests/Assets/Scenes/SampleScene.unity.meta b/X10D.Unity.Tests/Assets/Scenes/SampleScene.unity.meta
deleted file mode 100644
index 952bd1e..0000000
--- a/X10D.Unity.Tests/Assets/Scenes/SampleScene.unity.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 9fc0d4010bbf28b4594072e72b8655ab
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/X10D.Unity.Tests/Assets/Scenes/YieldInstructionIntegrationTests.unity b/X10D.Unity.Tests/Assets/Scenes/YieldInstructionIntegrationTests.unity
deleted file mode 100644
index ca0f32a..0000000
--- a/X10D.Unity.Tests/Assets/Scenes/YieldInstructionIntegrationTests.unity
+++ /dev/null
@@ -1,347 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!29 &1
-OcclusionCullingSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_OcclusionBakeSettings:
- smallestOccluder: 5
- smallestHole: 0.25
- backfaceThreshold: 100
- m_SceneGUID: 00000000000000000000000000000000
- m_OcclusionCullingData: {fileID: 0}
---- !u!104 &2
-RenderSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 9
- m_Fog: 0
- m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- m_FogMode: 3
- m_FogDensity: 0.01
- m_LinearFogStart: 0
- m_LinearFogEnd: 300
- m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
- m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
- m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
- m_AmbientIntensity: 1
- m_AmbientMode: 0
- m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
- m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
- m_HaloStrength: 0.5
- m_FlareStrength: 1
- m_FlareFadeSpeed: 3
- m_HaloTexture: {fileID: 0}
- m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
- m_DefaultReflectionMode: 0
- m_DefaultReflectionResolution: 128
- m_ReflectionBounces: 1
- m_ReflectionIntensity: 1
- m_CustomReflection: {fileID: 0}
- m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
- m_UseRadianceAmbientProbe: 0
---- !u!157 &3
-LightmapSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 12
- m_GIWorkflowMode: 1
- m_GISettings:
- serializedVersion: 2
- m_BounceScale: 1
- m_IndirectOutputScale: 1
- m_AlbedoBoost: 1
- m_EnvironmentLightingMode: 0
- m_EnableBakedLightmaps: 1
- m_EnableRealtimeLightmaps: 0
- m_LightmapEditorSettings:
- serializedVersion: 12
- m_Resolution: 2
- m_BakeResolution: 40
- m_AtlasSize: 1024
- m_AO: 0
- m_AOMaxDistance: 1
- m_CompAOExponent: 1
- m_CompAOExponentDirect: 0
- m_ExtractAmbientOcclusion: 0
- m_Padding: 2
- m_LightmapParameters: {fileID: 0}
- m_LightmapsBakeMode: 1
- m_TextureCompression: 1
- m_FinalGather: 0
- m_FinalGatherFiltering: 1
- m_FinalGatherRayCount: 256
- m_ReflectionCompression: 2
- m_MixedBakeMode: 2
- m_BakeBackend: 1
- m_PVRSampling: 1
- m_PVRDirectSampleCount: 32
- m_PVRSampleCount: 512
- m_PVRBounces: 2
- m_PVREnvironmentSampleCount: 256
- m_PVREnvironmentReferencePointCount: 2048
- m_PVRFilteringMode: 1
- m_PVRDenoiserTypeDirect: 1
- m_PVRDenoiserTypeIndirect: 1
- m_PVRDenoiserTypeAO: 1
- m_PVRFilterTypeDirect: 0
- m_PVRFilterTypeIndirect: 0
- m_PVRFilterTypeAO: 0
- m_PVREnvironmentMIS: 1
- m_PVRCulling: 1
- m_PVRFilteringGaussRadiusDirect: 1
- m_PVRFilteringGaussRadiusIndirect: 5
- m_PVRFilteringGaussRadiusAO: 2
- m_PVRFilteringAtrousPositionSigmaDirect: 0.5
- m_PVRFilteringAtrousPositionSigmaIndirect: 2
- m_PVRFilteringAtrousPositionSigmaAO: 1
- m_ExportTrainingData: 0
- m_TrainingDataDestination: TrainingData
- m_LightProbeSampleCountMultiplier: 4
- m_LightingDataAsset: {fileID: 0}
- m_LightingSettings: {fileID: 0}
---- !u!196 &4
-NavMeshSettings:
- serializedVersion: 2
- m_ObjectHideFlags: 0
- m_BuildSettings:
- serializedVersion: 2
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.4
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- accuratePlacement: 0
- maxJobWorkers: 0
- preserveTilesOutsideBounds: 0
- debug:
- m_Flags: 0
- m_NavMeshData: {fileID: 0}
---- !u!1 &736700400
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 736700402}
- - component: {fileID: 736700401}
- m_Layer: 0
- m_Name: GameObject
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!114 &736700401
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 736700400}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 67d53e2f993d4a5ba0eb34431d1846cd, type: 3}
- m_Name:
- m_EditorClassIdentifier:
---- !u!4 &736700402
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 736700400}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 2
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1077233431
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1077233433}
- - component: {fileID: 1077233432}
- m_Layer: 0
- m_Name: Directional Light
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!108 &1077233432
-Light:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1077233431}
- m_Enabled: 1
- serializedVersion: 10
- m_Type: 1
- m_Shape: 0
- m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
- m_Intensity: 1
- m_Range: 10
- m_SpotAngle: 30
- m_InnerSpotAngle: 21.80208
- m_CookieSize: 10
- m_Shadows:
- m_Type: 2
- m_Resolution: -1
- m_CustomResolution: -1
- m_Strength: 1
- m_Bias: 0.05
- m_NormalBias: 0.4
- m_NearPlane: 0.2
- m_CullingMatrixOverride:
- e00: 1
- e01: 0
- e02: 0
- e03: 0
- e10: 0
- e11: 1
- e12: 0
- e13: 0
- e20: 0
- e21: 0
- e22: 1
- e23: 0
- e30: 0
- e31: 0
- e32: 0
- e33: 1
- m_UseCullingMatrixOverride: 0
- m_Cookie: {fileID: 0}
- m_DrawHalo: 0
- m_Flare: {fileID: 0}
- m_RenderMode: 0
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingLayerMask: 1
- m_Lightmapping: 4
- m_LightShadowCasterMode: 0
- m_AreaSize: {x: 1, y: 1}
- m_BounceIntensity: 1
- m_ColorTemperature: 6570
- m_UseColorTemperature: 0
- m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
- m_UseBoundingSphereOverride: 0
- m_UseViewFrustumForShadowCasterCull: 1
- m_ShadowRadius: 0
- m_ShadowAngle: 0
---- !u!4 &1077233433
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1077233431}
- m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
- m_LocalPosition: {x: 0, y: 3, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 1
- m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
---- !u!1 &1698122894
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1698122897}
- - component: {fileID: 1698122896}
- - component: {fileID: 1698122895}
- m_Layer: 0
- m_Name: Main Camera
- m_TagString: MainCamera
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!81 &1698122895
-AudioListener:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1698122894}
- m_Enabled: 1
---- !u!20 &1698122896
-Camera:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1698122894}
- m_Enabled: 1
- serializedVersion: 2
- m_ClearFlags: 1
- m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
- m_projectionMatrixMode: 1
- m_GateFitMode: 2
- m_FOVAxisMode: 0
- m_SensorSize: {x: 36, y: 24}
- m_LensShift: {x: 0, y: 0}
- m_FocalLength: 50
- m_NormalizedViewPortRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- near clip plane: 0.3
- far clip plane: 1000
- field of view: 60
- orthographic: 0
- orthographic size: 5
- m_Depth: -1
- m_CullingMask:
- serializedVersion: 2
- m_Bits: 4294967295
- m_RenderingPath: -1
- m_TargetTexture: {fileID: 0}
- m_TargetDisplay: 0
- m_TargetEye: 3
- m_HDR: 1
- m_AllowMSAA: 1
- m_AllowDynamicResolution: 0
- m_ForceIntoRT: 0
- m_OcclusionCulling: 1
- m_StereoConvergence: 10
- m_StereoSeparation: 0.022
---- !u!4 &1698122897
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1698122894}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 1, z: -10}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 0}
- m_RootOrder: 0
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/X10D.Unity.Tests/Assets/Scenes/YieldInstructionIntegrationTests.unity.meta b/X10D.Unity.Tests/Assets/Scenes/YieldInstructionIntegrationTests.unity.meta
deleted file mode 100644
index 3499fd2..0000000
--- a/X10D.Unity.Tests/Assets/Scenes/YieldInstructionIntegrationTests.unity.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: b95b5f3924bd65b4bb0b7703abdd4fe5
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/X10D.Unity.Tests/Assets/Tests.meta b/X10D.Unity.Tests/Assets/Tests.meta
deleted file mode 100644
index 01f5869..0000000
--- a/X10D.Unity.Tests/Assets/Tests.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 478095eaef020f34ea189f98c9369aab
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/X10D.Unity.Tests/Assets/Tests/ComponentTests.cs b/X10D.Unity.Tests/Assets/Tests/ComponentTests.cs
deleted file mode 100644
index 126e435..0000000
--- a/X10D.Unity.Tests/Assets/Tests/ComponentTests.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-#nullable enable
-
-using System.Collections;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEngine.TestTools;
-using Object = UnityEngine.Object;
-
-namespace X10D.Unity.Tests
-{
- public class ComponentTests
- {
- [Test]
- public void GetComponentsInChildrenOnly_ShouldIgnoreParent()
- {
- var parent = new GameObject();
- var rigidbody = parent.AddComponent();
-
- var child = new GameObject();
- child.transform.SetParent(parent.transform);
- child.AddComponent();
-
- Rigidbody[] components = rigidbody.GetComponentsInChildrenOnly();
- Assert.That(components, Has.Length.EqualTo(1));
- Assert.That(child, Is.EqualTo(components[0].gameObject));
-
- Object.Destroy(parent);
- Object.Destroy(child);
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/ComponentTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/ComponentTests.cs.meta
deleted file mode 100644
index a5fe42b..0000000
--- a/X10D.Unity.Tests/Assets/Tests/ComponentTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 0619dbb274114e4aa247ed8f4e7cff03
-timeCreated: 1652006240
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/DebugUtilityIntegrationTests.cs b/X10D.Unity.Tests/Assets/Tests/DebugUtilityIntegrationTests.cs
deleted file mode 100644
index 157f6a9..0000000
--- a/X10D.Unity.Tests/Assets/Tests/DebugUtilityIntegrationTests.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System;
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Drawing;
-using Color = UnityEngine.Color;
-
-namespace X10D.Unity.Tests
-{
- internal sealed class DebugUtilityIntegrationTests : MonoBehaviour
- {
- private void Update()
- {
- DebugUtility.DrawLine(Vector3.zero, Vector3.right, Color.red);
- DebugUtility.DrawLine(Vector3.zero, Vector3.up, Color.green);
- DebugUtility.DrawLine(Vector3.zero, Vector3.forward, Color.blue);
-
- DebugUtility.DrawWireCube(new Vector3(1.5f, 0.5f, 0), Vector3.one * 0.5f, Color.yellow);
- DebugUtility.DrawRectangle(new Vector2(-1.5f, 0.5f), Vector2.one * -0.5f, Color.cyan);
-
- var circle = new CircleF(0.0f, 0.0f, 0.5f);
- DebugUtility.DrawCircle(circle, 25, new Vector2(-3.0f, 0.5f), Color.magenta);
-
- var ellipse = new EllipseF(0.0f, 0.0f, 1.0f, 0.5f);
- DebugUtility.DrawEllipse(ellipse, 25, new Vector2(0.0f, 1.5f), Color.white);
-
- var hexagon = new PolygonF();
- hexagon.AddVertex(new Vector2(-0.5f, 0.5f));
- hexagon.AddVertex(new Vector2(-0.25f, 1.0f));
- hexagon.AddVertex(new Vector2(0.25f, 1.0f));
- hexagon.AddVertex(new Vector2(0.5f, 0.5f));
- hexagon.AddVertex(new Vector2(0.25f, 0));
- hexagon.AddVertex(new Vector2(-0.25f, 0));
- DebugUtility.DrawPolygon(hexagon, new Vector2(3.0f, 0.0f), Color.white);
-
- var sphere = new Sphere(System.Numerics.Vector3.Zero, 0.5f);
- DebugUtility.DrawSphere(sphere, 25, new Vector2(0.0f, -1.5f), Color.white);
-
- DebugUtility.DrawFunction(x => MathF.Sin(x + UnityEngine.Time.time % (2 * MathF.PI)), -10, 10, 0.1f, Vector3.up * 4,
- Color.yellow, 0.0f, false);
-
- DebugUtility.Assert(true);
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/DebugUtilityIntegrationTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/DebugUtilityIntegrationTests.cs.meta
deleted file mode 100644
index 197dc9b..0000000
--- a/X10D.Unity.Tests/Assets/Tests/DebugUtilityIntegrationTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 0fac6b15ed0b420ba300fc1ac10ef01a
-timeCreated: 1654080788
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing.meta b/X10D.Unity.Tests/Assets/Tests/Drawing.meta
deleted file mode 100644
index 43ccd4b..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 9674f5a2171d4c7d88cbfe9f1249bb27
-timeCreated: 1652006440
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/Color32Tests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/Color32Tests.cs
deleted file mode 100644
index eb2e7c2..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/Color32Tests.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-using System;
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Unity.Drawing;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class Color32Tests
- {
- private static readonly Color32 Black = new(0, 0, 0, 255);
- private static readonly Color32 White = new(255, 255, 255, 255);
- private static readonly Color32 Red = new(255, 0, 0, 255);
- private static readonly Color32 Green = new(0, 255, 0, 255);
- private static readonly Color32 Blue = new(0, 0, 255, 255);
- private static readonly Color32 Cyan = new(0, 255, 255, 255);
- private static readonly Color32 Magenta = new(255, 0, 255, 255);
- private static readonly Color32 Yellow = new(255, 255, 0, 255);
-
- [Test]
- public void Deconstruct_ShouldDeconstruct_ToCorrectValues()
- {
- byte a, r, g, b;
-
- (r, g, b) = White;
- Assert.That(r, Is.EqualTo(255));
- Assert.That(g, Is.EqualTo(255));
- Assert.That(b, Is.EqualTo(255));
-
- (a, r, g, b) = Yellow;
- Assert.That(a, Is.EqualTo(255));
- Assert.That(r, Is.EqualTo(255));
- Assert.That(g, Is.EqualTo(255));
- Assert.That(b, Is.EqualTo(0));
- }
-
- [Test]
- public void GetClosestConsoleColor_ShouldReturnClosestColor_GivenValidColor()
- {
- // I know it's just casting... but aim for 100% coverage babyyyy
-
- Assert.That(((Color32)Color.red).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Red));
- Assert.That(((Color32)Color.green).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Green));
- Assert.That(((Color32)Color.blue).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Blue));
- Assert.That(((Color32)Color.white).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.White));
- Assert.That(((Color32)Color.black).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Black));
- Assert.That(((Color32)Color.yellow).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Yellow));
- Assert.That(((Color32)Color.cyan).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Cyan));
- Assert.That(((Color32)Color.magenta).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Magenta));
- Assert.That(((Color32)Color.gray).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Gray));
- Assert.That(((Color32)Color.grey).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Gray));
- Assert.That(((Color32)Color.clear).GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Black));
- }
-
- [Test]
- public void Inverted_ShouldReturnInvertedColor()
- {
- Assert.That(Black.Inverted(), Is.EqualTo(White));
- Assert.That(White.Inverted(), Is.EqualTo(Black));
- Assert.That(Cyan.Inverted(), Is.EqualTo(Red));
- Assert.That(Red.Inverted(), Is.EqualTo(Cyan));
- Assert.That(Magenta.Inverted(), Is.EqualTo(Green));
- Assert.That(Green.Inverted(), Is.EqualTo(Magenta));
- Assert.That(Blue.Inverted(), Is.EqualTo(Yellow));
- Assert.That(Yellow.Inverted(), Is.EqualTo(Blue));
- }
-
- [Test]
- public void Inverted_ShouldIgnoreAlpha()
- {
- var expected = new Color32(0, 0, 0, 255);
- var actual = new Color32(255, 255, 255, 255).Inverted();
-
- Assert.That(actual, Is.EqualTo(expected));
- }
-
- [Test]
- public void ToSystemDrawingColor_ShouldReturnEquivalentColor()
- {
- System.Drawing.Color expected = System.Drawing.Color.FromArgb(255, 255, 255);
- System.Drawing.Color actual = White.ToSystemDrawingColor();
-
- Assert.That(actual, Is.EqualTo(expected));
- }
-
- [Test]
- public void ToUnityColor32_ShouldReturnEquivalentColor()
- {
- Color32 expected = White;
- Color32 actual = System.Drawing.Color.FromArgb(255, 255, 255).ToUnityColor32();
-
- Assert.That(actual, Is.EqualTo(expected));
- }
-
- [Test]
- public void WithA0_ShouldReturnSameColor_GivenWhite()
- {
- var transparent = new Color32(255, 255, 255, 0);
- Assert.That(White.WithA(0), Is.EqualTo(transparent));
- Assert.That(transparent.WithA(0), Is.EqualTo(transparent));
- }
-
- [Test]
- public void WithB0_ShouldReturnYellow_GivenWhite()
- {
- Assert.That(White.WithB(0), Is.EqualTo(Yellow));
- Assert.That(Yellow.WithB(0), Is.EqualTo(Yellow));
- }
-
- [Test]
- public void WithG0_ShouldReturnMagenta_GivenWhite()
- {
- Assert.That(White.WithG(0), Is.EqualTo(Magenta));
- Assert.That(Magenta.WithG(0), Is.EqualTo(Magenta));
- }
-
- [Test]
- public void WithR0_ShouldReturnCyan_GivenWhite()
- {
- Assert.That(White.WithR(0), Is.EqualTo(Cyan));
- Assert.That(Cyan.WithR(0), Is.EqualTo(Cyan));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/Color32Tests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/Color32Tests.cs.meta
deleted file mode 100644
index 6a819da..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/Color32Tests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 877c5a68b0dd44c68aae01463ae26b26
-timeCreated: 1652035626
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/ColorTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/ColorTests.cs
deleted file mode 100644
index c9d9182..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/ColorTests.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-using System;
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Unity.Drawing;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class ColorTests
- {
- private static readonly Color Black = new(0, 0, 0);
- private static readonly Color White = new(1, 1, 1);
- private static readonly Color Red = new(1, 0, 0);
- private static readonly Color Green = new(0, 1, 0);
- private static readonly Color Blue = new(0, 0, 1);
- private static readonly Color Cyan = new(0, 1, 1);
- private static readonly Color Magenta = new(1, 0, 1);
- private static readonly Color Yellow = new(1, 1, 0);
-
- [Test]
- public void Deconstruct_ShouldDeconstruct_ToCorrectValues()
- {
- float a, r, g, b;
-
- (r, g, b) = White;
- Assert.That(r, Is.EqualTo(1.0f));
- Assert.That(g, Is.EqualTo(1.0f));
- Assert.That(b, Is.EqualTo(1.0f));
-
- (a, r, g, b) = Yellow;
- Assert.That(a, Is.EqualTo(1.0f));
- Assert.That(r, Is.EqualTo(1.0f));
- Assert.That(g, Is.EqualTo(1.0f));
- Assert.That(b, Is.EqualTo(0.0f));
- }
-
- [Test]
- public void GetClosestConsoleColor_ShouldReturnClosestColor_GivenValidColor()
- {
- Assert.That(Color.red.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Red));
- Assert.That(Color.green.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Green));
- Assert.That(Color.blue.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Blue));
- Assert.That(Color.white.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.White));
- Assert.That(Color.black.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Black));
- Assert.That(Color.yellow.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Yellow));
- Assert.That(Color.cyan.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Cyan));
- Assert.That(Color.magenta.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Magenta));
- Assert.That(Color.gray.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Gray));
- Assert.That(Color.grey.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Gray));
- Assert.That(Color.clear.GetClosestConsoleColor(), Is.EqualTo(ConsoleColor.Black));
- }
-
- [Test]
- public void Inverted_ShouldReturnInvertedColor()
- {
- Assert.That(Black.Inverted(), Is.EqualTo(White));
- Assert.That(White.Inverted(), Is.EqualTo(Black));
- Assert.That(Cyan.Inverted(), Is.EqualTo(Red));
- Assert.That(Red.Inverted(), Is.EqualTo(Cyan));
- Assert.That(Magenta.Inverted(), Is.EqualTo(Green));
- Assert.That(Green.Inverted(), Is.EqualTo(Magenta));
- Assert.That(Blue.Inverted(), Is.EqualTo(Yellow));
- Assert.That(Yellow.Inverted(), Is.EqualTo(Blue));
- }
-
- [Test]
- public void Inverted_ShouldIgnoreAlpha()
- {
- var expected = new Color(0, 0, 0, 1);
- var actual = new Color(1, 1, 1, 1).Inverted();
-
- Assert.That(actual, Is.EqualTo(expected));
- }
-
- [Test]
- public void ToSystemDrawingColor_ShouldReturnEquivalentColor()
- {
- System.Drawing.Color expected = System.Drawing.Color.FromArgb(255, 255, 255);
- System.Drawing.Color actual = White.ToSystemDrawingColor();
-
- Assert.That(actual, Is.EqualTo(expected));
- }
-
- [Test]
- public void ToUnityColor_ShouldReturnEquivalentColor()
- {
- Color expected = White;
- Color actual = System.Drawing.Color.FromArgb(255, 255, 255).ToUnityColor();
-
- Assert.That(actual, Is.EqualTo(expected));
- }
-
- [Test]
- public void WithA0_ShouldReturnSameColor_GivenWhite()
- {
- var transparent = new Color(1, 1, 1, 0);
- Assert.That(White.WithA(0), Is.EqualTo(transparent));
- Assert.That(transparent.WithA(0), Is.EqualTo(transparent));
- }
-
- [Test]
- public void WithB0_ShouldReturnYellow_GivenWhite()
- {
- Assert.That(White.WithB(0), Is.EqualTo(Yellow));
- Assert.That(Yellow.WithB(0), Is.EqualTo(Yellow));
- }
-
- [Test]
- public void WithG0_ShouldReturnMagenta_GivenWhite()
- {
- Assert.That(White.WithG(0), Is.EqualTo(Magenta));
- Assert.That(Magenta.WithG(0), Is.EqualTo(Magenta));
- }
-
- [Test]
- public void WithR0_ShouldReturnCyan_GivenWhite()
- {
- Assert.That(White.WithR(0), Is.EqualTo(Cyan));
- Assert.That(Cyan.WithR(0), Is.EqualTo(Cyan));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/ColorTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/ColorTests.cs.meta
deleted file mode 100644
index 8ab4670..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/ColorTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 61df0ae6778a4ab084e688f13adfc29c
-timeCreated: 1652035747
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/PointFTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/PointFTests.cs
deleted file mode 100644
index 13d0b36..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/PointFTests.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Drawing;
-using NUnit.Framework;
-using X10D.Core;
-using X10D.Unity.Drawing;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class PointFTests
- {
- [Test]
- public void ToUnityVector2_ShouldReturnVector_WithEquivalentMembers()
- {
- var random = new Random();
- var point = new PointF(random.NextSingle(), random.NextSingle());
- var vector = point.ToUnityVector2();
-
- Assert.That(vector.x, Is.EqualTo(point.X).Within(1e-6f));
- Assert.That(vector.y, Is.EqualTo(point.Y).Within(1e-6f));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/PointFTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/PointFTests.cs.meta
deleted file mode 100644
index 751b242..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/PointFTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: d90695756d1d4760aef2523486b1b41e
-timeCreated: 1653743243
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/PointTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/PointTests.cs
deleted file mode 100644
index ab8a428..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/PointTests.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using System;
-using System.Drawing;
-using NUnit.Framework;
-using X10D.Unity.Drawing;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class PointTests
- {
- [Test]
- public void ToUnityVector2_ShouldReturnVector_WithEquivalentMembers()
- {
- var random = new Random();
- var point = new Point(random.Next(), random.Next());
- var vector = point.ToUnityVector2();
-
- Assert.That(vector.x, Is.EqualTo(point.X));
- Assert.That(vector.y, Is.EqualTo(point.Y));
- }
-
- [Test]
- public void ToUnityVector2Int_ShouldReturnVector_WithEquivalentMembers()
- {
- var random = new Random();
- var point = new Point(random.Next(), random.Next());
- var vector = point.ToUnityVector2Int();
-
- Assert.That(vector.x, Is.EqualTo(point.X));
- Assert.That(vector.y, Is.EqualTo(point.Y));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/PointTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/PointTests.cs.meta
deleted file mode 100644
index 8a5fdf4..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/PointTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: f465794fdc394d05a34229f34e5199e2
-timeCreated: 1653742987
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RandomTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/RandomTests.cs
deleted file mode 100644
index 5f4e842..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RandomTests.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-#nullable enable
-
-using System;
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Unity.Drawing;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class RandomTests
- {
- [Test]
- public void NextColorArgb_ShouldReturn331515e5_GivenSeed1234()
- {
- var random = new Random(1234);
- var color = random.NextColorArgb();
- Assert.That(color.r, Is.EqualTo(0.373868465f).Within(1e-6f));
- Assert.That(color.g, Is.EqualTo(0.391597569f).Within(1e-6f));
- Assert.That(color.b, Is.EqualTo(0.675019085f).Within(1e-6f));
- Assert.That(color.a, Is.EqualTo(0.234300315f).Within(1e-6f));
- }
-
- [Test]
- public void NextColorArgb_ShouldThrow_GivenNull()
- {
- Random random = null!;
- Assert.Throws(() => random.NextColorArgb());
- }
-
- [Test]
- public void NextColor32Argb_ShouldReturn331515e5_GivenSeed1234()
- {
- var random = new Random(1234);
- Assert.That(random.NextColor32Argb(), Is.EqualTo(new Color32(21, 21, 229, 51)));
- }
-
- [Test]
- public void NextColor32Argb_ShouldThrow_GivenNull()
- {
- Random random = null!;
- Assert.Throws(() => random.NextColor32Argb());
- }
-
- [Test]
- public void NextColorRgb_ShouldReturn1515e5_GivenSeed1234()
- {
- var random = new Random(1234);
- var color = random.NextColorRgb();
- Assert.That(color.r, Is.EqualTo(0.234300315f).Within(1e-6f));
- Assert.That(color.g, Is.EqualTo(0.373868465f).Within(1e-6f));
- Assert.That(color.b, Is.EqualTo(0.391597569f).Within(1e-6f));
- Assert.That(color.a, Is.EqualTo(1).Within(1e-6f));
- }
-
- [Test]
- public void NextColorRgb_ShouldThrow_GivenNull()
- {
- Random random = null!;
- Assert.Throws(() => random.NextColorRgb());
- }
-
- [Test]
- public void NextColor32Rgb_ShouldReturn1515e5_GivenSeed1234()
- {
- var random = new Random(1234);
- Assert.That(random.NextColor32Rgb(), Is.EqualTo(new Color32(21, 21, 229, 255)));
- }
-
- [Test]
- public void NextColor32Rgb_ShouldThrow_GivenNull()
- {
- Random random = null!;
- Assert.Throws(() => random.NextColor32Rgb());
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RandomTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/RandomTests.cs.meta
deleted file mode 100644
index d190fdb..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RandomTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 28fa03c101834cd79774d8138b9d4adb
-timeCreated: 1652006445
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RectIntTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/RectIntTests.cs
deleted file mode 100644
index 2e5f759..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RectIntTests.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Unity.Drawing;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class RectIntTests
- {
- [Test]
- public void ToSystemRectangle_ShouldReturnRectangleF_WithEquivalentMembers()
- {
- var random = new Random();
- var rect = new RectInt(random.Next(), random.Next(), random.Next(), random.Next());
- var rectangle = rect.ToSystemRectangle();
-
- Assert.That(rectangle.X, Is.EqualTo(rect.x));
- Assert.That(rectangle.Y, Is.EqualTo(rect.y));
- Assert.That(rectangle.Width, Is.EqualTo(rect.width));
- Assert.That(rectangle.Height, Is.EqualTo(rect.height));
- }
-
- [Test]
- public void ToSystemRectangleF_ShouldReturnRectangleF_WithEquivalentMembers()
- {
- var random = new Random();
- var rect = new RectInt(random.Next(), random.Next(), random.Next(), random.Next());
- var rectangle = rect.ToSystemRectangleF();
-
- Assert.That(rectangle.X, Is.EqualTo(rect.x));
- Assert.That(rectangle.Y, Is.EqualTo(rect.y));
- Assert.That(rectangle.Width, Is.EqualTo(rect.width));
- Assert.That(rectangle.Height, Is.EqualTo(rect.height));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RectIntTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/RectIntTests.cs.meta
deleted file mode 100644
index 462b6b5..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RectIntTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 18f2e8fbc200475ca5fe7857a457a874
-timeCreated: 1654077768
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RectTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/RectTests.cs
deleted file mode 100644
index 9cc688e..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RectTests.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Core;
-using X10D.Unity.Drawing;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class RectTests
- {
- [Test]
- public void ToSystemRectangleF_ShouldReturnRectangleF_WithEquivalentMembers()
- {
- var random = new Random();
- var rect = new Rect(random.NextSingle(), random.NextSingle(), random.NextSingle(), random.NextSingle());
- var rectangle = rect.ToSystemRectangleF();
-
- Assert.That(rectangle.X, Is.EqualTo(rect.x).Within(1e-6f));
- Assert.That(rectangle.Y, Is.EqualTo(rect.y).Within(1e-6f));
- Assert.That(rectangle.Width, Is.EqualTo(rect.width).Within(1e-6f));
- Assert.That(rectangle.Height, Is.EqualTo(rect.height).Within(1e-6f));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RectTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/RectTests.cs.meta
deleted file mode 100644
index ee14568..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RectTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: bb1ec5372c354f06b39e03649b9307db
-timeCreated: 1653743583
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleFTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleFTests.cs
deleted file mode 100644
index fdcbaf6..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleFTests.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Drawing;
-using NUnit.Framework;
-using X10D.Core;
-using X10D.Unity.Drawing;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class RectangleFTests
- {
- [Test]
- public void ToUnityRect_ShouldReturnRect_WithEquivalentMembers()
- {
- var random = new Random();
- var rectangle = new RectangleF(random.NextSingle(), random.NextSingle(), random.NextSingle(), random.NextSingle());
- var rect = rectangle.ToUnityRect();
-
- Assert.That(rect.x, Is.EqualTo(rectangle.X).Within(1e-6f));
- Assert.That(rect.y, Is.EqualTo(rectangle.Y).Within(1e-6f));
- Assert.That(rect.width, Is.EqualTo(rectangle.Width).Within(1e-6f));
- Assert.That(rect.height, Is.EqualTo(rectangle.Height).Within(1e-6f));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleFTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleFTests.cs.meta
deleted file mode 100644
index 8cec772..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleFTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: f38cbc892021405cad2b52de1f960a00
-timeCreated: 1653743640
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleTests.cs
deleted file mode 100644
index 3f0f051..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleTests.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Drawing;
-using NUnit.Framework;
-using X10D.Unity.Drawing;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class RectangleTests
- {
- [Test]
- public void ToUnityRect_ShouldReturnRect_WithEquivalentMembers()
- {
- var random = new Random();
- var rectangle = new Rectangle(random.Next(), random.Next(), random.Next(), random.Next());
- var rect = rectangle.ToUnityRect();
-
- Assert.That(rect.x, Is.EqualTo(rectangle.X));
- Assert.That(rect.y, Is.EqualTo(rectangle.Y));
- Assert.That(rect.width, Is.EqualTo(rectangle.Width));
- Assert.That(rect.height, Is.EqualTo(rectangle.Height));
- }
-
- [Test]
- public void ToUnityRectInt_ShouldReturnRect_WithEquivalentMembers()
- {
- var random = new Random();
- var rectangle = new Rectangle(random.Next(), random.Next(), random.Next(), random.Next());
- var rect = rectangle.ToUnityRectInt();
-
- Assert.That(rect.x, Is.EqualTo(rectangle.X));
- Assert.That(rect.y, Is.EqualTo(rectangle.Y));
- Assert.That(rect.width, Is.EqualTo(rectangle.Width));
- Assert.That(rect.height, Is.EqualTo(rectangle.Height));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleTests.cs.meta
deleted file mode 100644
index 2551e69..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/RectangleTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 9c74177035d1452a8a7ca08c0a27124b
-timeCreated: 1653743677
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/SizeFTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/SizeFTests.cs
deleted file mode 100644
index 6d871d6..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/SizeFTests.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Drawing;
-using NUnit.Framework;
-using X10D.Core;
-using X10D.Unity.Drawing;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class SizeFTests
- {
- [Test]
- public void ToUnityVector2_ShouldReturnVector_WithEquivalentMembers()
- {
- var random = new Random();
- var size = new SizeF(random.NextSingle(), random.NextSingle());
- var vector = size.ToUnityVector2();
-
- Assert.That(vector.x, Is.EqualTo(size.Width).Within(1e-6f));
- Assert.That(vector.y, Is.EqualTo(size.Height).Within(1e-6f));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/SizeFTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/SizeFTests.cs.meta
deleted file mode 100644
index ac99418..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/SizeFTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: b93fe56510de4ddcb9354bde7f10c362
-timeCreated: 1653743377
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/SizeTests.cs b/X10D.Unity.Tests/Assets/Tests/Drawing/SizeTests.cs
deleted file mode 100644
index c9619c9..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/SizeTests.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using System;
-using System.Drawing;
-using NUnit.Framework;
-using X10D.Unity.Drawing;
-
-namespace X10D.Unity.Tests.Drawing
-{
- public class SizeTests
- {
- [Test]
- public void ToUnityVector2_ShouldReturnVector_WithEquivalentMembers()
- {
- var random = new Random();
- var size = new Size(random.Next(), random.Next());
- var vector = size.ToUnityVector2();
-
- Assert.That(vector.x, Is.EqualTo(size.Width));
- Assert.That(vector.y, Is.EqualTo(size.Height));
- }
-
- [Test]
- public void ToUnityVector2Int_ShouldReturnVector_WithEquivalentMembers()
- {
- var random = new Random();
- var size = new Size(random.Next(), random.Next());
- var vector = size.ToUnityVector2Int();
-
- Assert.That(vector.x, Is.EqualTo(size.Width));
- Assert.That(vector.y, Is.EqualTo(size.Height));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Drawing/SizeTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Drawing/SizeTests.cs.meta
deleted file mode 100644
index 572e5f7..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Drawing/SizeTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: c748bfe02fce4b459df7ef2779c2a486
-timeCreated: 1653743400
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/GameObjectTests.cs b/X10D.Unity.Tests/Assets/Tests/GameObjectTests.cs
deleted file mode 100644
index 565d455..0000000
--- a/X10D.Unity.Tests/Assets/Tests/GameObjectTests.cs
+++ /dev/null
@@ -1,116 +0,0 @@
-#nullable enable
-
-using System.Diagnostics.CodeAnalysis;
-using NUnit.Framework;
-using UnityEngine;
-using Object = UnityEngine.Object;
-
-namespace X10D.Unity.Tests
-{
- public class GameObjectTests
- {
- [Test]
- public void GetComponentsInChildrenOnly_ShouldIgnoreParent()
- {
- var parent = new GameObject();
- parent.AddComponent();
-
- var child = new GameObject();
- child.transform.SetParent(parent.transform);
- child.AddComponent();
-
- Rigidbody[] components = parent.GetComponentsInChildrenOnly();
- Assert.That(components, Has.Length.EqualTo(1));
- Assert.That(child, Is.EqualTo(components[0].gameObject));
-
- Object.Destroy(parent);
- Object.Destroy(child);
- }
-
- [Test]
- [SuppressMessage("ReSharper", "Unity.InefficientPropertyAccess", Justification = "False positive.")]
- public void LookAt_ShouldRotateSameAsTransform()
- {
- var first = new GameObject {transform = {position = Vector3.zero, rotation = Quaternion.identity}};
- var second = new GameObject {transform = {position = Vector3.right, rotation = Quaternion.identity}};
- Transform firstTransform = first.transform;
- Transform secondTransform = second.transform;
-
- Assert.That(firstTransform.rotation, Is.EqualTo(Quaternion.identity));
- Assert.That(secondTransform.rotation, Is.EqualTo(Quaternion.identity));
-
- firstTransform.LookAt(secondTransform);
- Quaternion expected = firstTransform.rotation;
-
- firstTransform.rotation = Quaternion.identity;
- Assert.That(firstTransform.rotation, Is.EqualTo(Quaternion.identity));
-
- first.LookAt(second);
- Assert.That(firstTransform.rotation, Is.EqualTo(expected));
-
- firstTransform.rotation = Quaternion.identity;
- Assert.That(firstTransform.rotation, Is.EqualTo(Quaternion.identity));
-
- first.LookAt(second.transform);
- Assert.That(firstTransform.rotation, Is.EqualTo(expected));
-
- firstTransform.rotation = Quaternion.identity;
- Assert.That(firstTransform.rotation, Is.EqualTo(Quaternion.identity));
-
- first.LookAt(Vector3.right);
- Assert.That(firstTransform.rotation, Is.EqualTo(expected));
-
- Object.Destroy(first);
- Object.Destroy(second);
- }
-
- [Test]
- public void SetLayerRecursively_ShouldSetLayerRecursively()
- {
- var parent = new GameObject();
- var child = new GameObject();
- var grandChild = new GameObject();
-
- child.transform.SetParent(parent.transform);
- grandChild.transform.SetParent(child.transform);
-
- int layer = LayerMask.NameToLayer("UI");
- Assert.AreNotEqual(layer, parent.layer);
- Assert.AreNotEqual(layer, child.layer);
- Assert.AreNotEqual(layer, grandChild.layer);
-
- parent.SetLayerRecursively(layer);
-
- Assert.That(parent.layer, Is.EqualTo(layer));
- Assert.That(child.layer, Is.EqualTo(layer));
- Assert.That(grandChild.layer, Is.EqualTo(layer));
-
- Object.Destroy(parent);
- Object.Destroy(child);
- Object.Destroy(grandChild);
- }
-
- [Test]
- [SuppressMessage("ReSharper", "Unity.InefficientPropertyAccess", Justification = "False positive.")]
- public void SetParent_ShouldSetParent()
- {
- var first = new GameObject {transform = {position = Vector3.zero, rotation = Quaternion.identity}};
- var second = new GameObject {transform = {position = Vector3.right, rotation = Quaternion.identity}};
-
- Assert.That(first.transform.parent, Is.EqualTo(null));
- Assert.That(second.transform.parent, Is.EqualTo(null));
-
- first.SetParent(second);
- Assert.That(first.transform.parent, Is.EqualTo(second.transform));
-
- first.transform.SetParent(null!);
- Assert.That(first.transform.parent, Is.EqualTo(null));
-
- second.SetParent(first);
- Assert.That(second.transform.parent, Is.EqualTo(first.transform));
-
- Object.Destroy(first);
- Object.Destroy(second);
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/GameObjectTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/GameObjectTests.cs.meta
deleted file mode 100644
index 7cad365..0000000
--- a/X10D.Unity.Tests/Assets/Tests/GameObjectTests.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1fde6c311eaec944abe1e4531a2980bc
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics.meta b/X10D.Unity.Tests/Assets/Tests/Numerics.meta
deleted file mode 100644
index 3410bae..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: c906e39e3c8d44c7a8dafe042fedf677
-timeCreated: 1652006420
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/QuaternionTests.cs b/X10D.Unity.Tests/Assets/Tests/Numerics/QuaternionTests.cs
deleted file mode 100644
index c5ec037..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/QuaternionTests.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Core;
-using X10D.Unity.Numerics;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Numerics
-{
- public class QuaternionTests
- {
- [Test]
- public void ToSystemQuaternion_ShouldReturnQuaternion_WithEqualComponents()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
- float z = random.NextSingle();
- float w = random.NextSingle();
-
- var quaternion = new Quaternion(x, y, z, w);
- var systemQuaternion = quaternion.ToSystemQuaternion();
-
- Assert.That(systemQuaternion.X, Is.EqualTo(quaternion.x).Within(1e-6f));
- Assert.That(systemQuaternion.Y, Is.EqualTo(quaternion.y).Within(1e-6f));
- Assert.That(systemQuaternion.Z, Is.EqualTo(quaternion.z).Within(1e-6f));
- Assert.That(systemQuaternion.W, Is.EqualTo(quaternion.w).Within(1e-6f));
- }
-
- [Test]
- public void ToUnityQuaternion_ShouldReturnQuaternion_WithEqualComponents()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
- float z = random.NextSingle();
- float w = random.NextSingle();
-
- var quaternion = new System.Numerics.Quaternion(x, y, z, w);
- var unityQuaternion = quaternion.ToUnityQuaternion();
-
- Assert.That(unityQuaternion.x, Is.EqualTo(quaternion.X).Within(1e-6f));
- Assert.That(unityQuaternion.y, Is.EqualTo(quaternion.Y).Within(1e-6f));
- Assert.That(unityQuaternion.z, Is.EqualTo(quaternion.Z).Within(1e-6f));
- Assert.That(unityQuaternion.w, Is.EqualTo(quaternion.W).Within(1e-6f));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/QuaternionTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Numerics/QuaternionTests.cs.meta
deleted file mode 100644
index a8117be..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/QuaternionTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a395fec41c5a4e9d9ffb05324e8159b0
-timeCreated: 1652124913
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/RandomTests.cs b/X10D.Unity.Tests/Assets/Tests/Numerics/RandomTests.cs
deleted file mode 100644
index d93744a..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/RandomTests.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-#nullable enable
-
-using System;
-using NUnit.Framework;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity.Tests.Numerics
-{
- public class RandomTests
- {
- [Test]
- public void NextUnitVector2_ShouldReturnVector_WithMagnitude1()
- {
- var random = new Random();
- var vector = random.NextUnitVector2();
- Assert.That(vector.magnitude, Is.EqualTo(1).Within(1e-6));
- }
-
- [Test]
- public void NextUnitVector2_ShouldThrow_GivenNullRandom()
- {
- Random random = null!;
- Assert.Throws(() => random.NextUnitVector2());
- }
-
- [Test]
- public void NextUnitVector3_ShouldReturnVector_WithMagnitude1()
- {
- var random = new Random();
- var vector = random.NextUnitVector3();
- Assert.That(vector.magnitude, Is.EqualTo(1).Within(1e-6));
- }
-
- [Test]
- public void NextUnitVector3_ShouldThrow_GivenNullRandom()
- {
- Random random = null!;
- Assert.Throws(() => random.NextUnitVector3());
- }
-
- [Test]
- public void NextRotation_ShouldThrow_GivenNullRandom()
- {
- Random random = null!;
- Assert.Throws(() => random.NextRotation());
- }
-
- [Test]
- public void NextRotationUniform_ShouldThrow_GivenNullRandom()
- {
- Random random = null!;
- Assert.Throws(() => random.NextRotationUniform());
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/RandomTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Numerics/RandomTests.cs.meta
deleted file mode 100644
index f143424..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/RandomTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 74577fe33f85446194c4ae2315caaace
-timeCreated: 1652006301
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2IntTests.cs b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2IntTests.cs
deleted file mode 100644
index 6ef0909..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2IntTests.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Unity.Numerics;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Numerics
-{
- public class Vector2IntTests
- {
- [Test]
- public void Deconstruct_ShouldReturnCorrectValues()
- {
- var vector = new Vector2Int(1, 2);
- (int x, int y) = vector;
-
- Assert.That(x, Is.EqualTo(1));
- Assert.That(y, Is.EqualTo(2));
- }
-
- [Test]
- public void ToSystemPoint_ShouldReturnPoint_WithEquivalentMembers()
- {
- var random = new Random();
- int x = random.Next();
- int y = random.Next();
-
- var vector = new Vector2Int(x, y);
- var point = vector.ToSystemPoint();
-
- Assert.That(point.X, Is.EqualTo(vector.x));
- Assert.That(point.Y, Is.EqualTo(vector.y));
- }
-
- [Test]
- public void ToSystemSize_ShouldReturnSize_WithEquivalentMembers()
- {
- var random = new Random();
- int x = random.Next();
- int y = random.Next();
-
- var vector = new Vector2Int(x, y);
- var point = vector.ToSystemSize();
-
- Assert.That(point.Width, Is.EqualTo(vector.x));
- Assert.That(point.Height, Is.EqualTo(vector.y));
- }
-
- [Test]
- public void WithX_ShouldReturnVectorWithNewX_GivenVector()
- {
- Assert.That(Vector2Int.one.WithX(0), Is.EqualTo(Vector2Int.up));
- Assert.That(Vector2Int.zero.WithX(0), Is.EqualTo(Vector2Int.zero));
- Assert.That(Vector2Int.right.WithX(0), Is.EqualTo(Vector2Int.zero));
- Assert.That(Vector2Int.up.WithX(0), Is.EqualTo(Vector2Int.up));
-
- Assert.That(Vector2Int.one.WithX(1), Is.EqualTo(Vector2Int.one));
- Assert.That(Vector2Int.zero.WithX(1), Is.EqualTo(Vector2Int.right));
- Assert.That(Vector2Int.right.WithX(1), Is.EqualTo(Vector2Int.right));
- Assert.That(Vector2Int.up.WithX(1), Is.EqualTo(Vector2Int.one));
- }
-
- [Test]
- public void WithY_ShouldReturnVectorWithNewY_GivenVector()
- {
- Assert.That(Vector2Int.one.WithY(0), Is.EqualTo(Vector2Int.right));
- Assert.That(Vector2Int.zero.WithY(0), Is.EqualTo(Vector2Int.zero));
- Assert.That(Vector2Int.right.WithY(0), Is.EqualTo(Vector2Int.right));
- Assert.That(Vector2Int.up.WithY(0), Is.EqualTo(Vector2Int.zero));
-
- Assert.That(Vector2Int.one.WithY(1), Is.EqualTo(Vector2Int.one));
- Assert.That(Vector2Int.zero.WithY(1), Is.EqualTo(Vector2Int.up));
- Assert.That(Vector2Int.right.WithY(1), Is.EqualTo(Vector2Int.one));
- Assert.That(Vector2Int.up.WithY(1), Is.EqualTo(Vector2Int.up));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2IntTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2IntTests.cs.meta
deleted file mode 100644
index 7a62c97..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2IntTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: ad987e96afa849e6b0626ba7d7720f7b
-timeCreated: 1653993201
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2Tests.cs b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2Tests.cs
deleted file mode 100644
index d6e5e0c..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2Tests.cs
+++ /dev/null
@@ -1,127 +0,0 @@
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Core;
-using X10D.Unity.Numerics;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Numerics
-{
- public class Vector2Tests
- {
- [Test]
- public void Deconstruct_ShouldReturnCorrectValues()
- {
- var vector = new Vector2(1, 2);
- (float x, float y) = vector;
-
- Assert.That(x, Is.EqualTo(1));
- Assert.That(y, Is.EqualTo(2));
- }
-
- [Test]
- public void Round_ShouldRoundToNearestInteger_GivenNoParameters()
- {
- var vector = new Vector2(1.5f, 2.6f);
- var rounded = vector.Round();
-
- Assert.That(rounded.x, Is.EqualTo(2));
- Assert.That(rounded.y, Is.EqualTo(3));
- }
-
- [Test]
- public void Round_ShouldRoundToNearest10_GivenPrecision10()
- {
- var vector = new Vector2(1.5f, 25.2f);
- var rounded = vector.Round(10);
-
- Assert.That(rounded.x, Is.EqualTo(0));
- Assert.That(rounded.y, Is.EqualTo(30));
- }
-
- [Test]
- public void ToSystemPointF_ShouldReturnPoint_WithEquivalentMembers()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
-
- var vector = new Vector2(x, y);
- var point = vector.ToSystemPointF();
-
- Assert.That(point.X, Is.EqualTo(vector.x).Within(1e-6f));
- Assert.That(point.Y, Is.EqualTo(vector.y).Within(1e-6f));
- }
-
- [Test]
- public void ToSystemSizeF_ShouldReturnSize_WithEquivalentMembers()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
-
- var vector = new Vector2(x, y);
- var point = vector.ToSystemSizeF();
-
- Assert.That(point.Width, Is.EqualTo(vector.x).Within(1e-6f));
- Assert.That(point.Height, Is.EqualTo(vector.y).Within(1e-6f));
- }
-
- [Test]
- public void ToSystemVector_ShouldReturnVector_WithEqualComponents()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
-
- var vector = new Vector2(x, y);
- var systemVector = vector.ToSystemVector();
-
- Assert.That(systemVector.Length(), Is.EqualTo(vector.magnitude).Within(1e-6f));
- Assert.That(systemVector.X, Is.EqualTo(vector.x).Within(1e-6f));
- Assert.That(systemVector.Y, Is.EqualTo(vector.y).Within(1e-6f));
- }
-
- [Test]
- public void ToUnityVector_ShouldReturnVector_WithEqualComponents()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
-
- var vector = new System.Numerics.Vector2(x, y);
- var unityVector = vector.ToUnityVector();
-
- Assert.That(unityVector.magnitude, Is.EqualTo(vector.Length()).Within(1e-6f));
- Assert.That(unityVector.x, Is.EqualTo(vector.X).Within(1e-6f));
- Assert.That(unityVector.y, Is.EqualTo(vector.Y).Within(1e-6f));
- }
-
- [Test]
- public void WithX_ShouldReturnVectorWithNewX_GivenVector()
- {
- Assert.That(Vector2.one.WithX(0), Is.EqualTo(Vector2.up));
- Assert.That(Vector2.zero.WithX(0), Is.EqualTo(Vector2.zero));
- Assert.That(Vector2.right.WithX(0), Is.EqualTo(Vector2.zero));
- Assert.That(Vector2.up.WithX(0), Is.EqualTo(Vector2.up));
-
- Assert.That(Vector2.one.WithX(1), Is.EqualTo(Vector2.one));
- Assert.That(Vector2.zero.WithX(1), Is.EqualTo(Vector2.right));
- Assert.That(Vector2.right.WithX(1), Is.EqualTo(Vector2.right));
- Assert.That(Vector2.up.WithX(1), Is.EqualTo(Vector2.one));
- }
-
- [Test]
- public void WithY_ShouldReturnVectorWithNewY_GivenVector()
- {
- Assert.That(Vector2.one.WithY(0), Is.EqualTo(Vector2.right));
- Assert.That(Vector2.zero.WithY(0), Is.EqualTo(Vector2.zero));
- Assert.That(Vector2.right.WithY(0), Is.EqualTo(Vector2.right));
- Assert.That(Vector2.up.WithY(0), Is.EqualTo(Vector2.zero));
-
- Assert.That(Vector2.one.WithY(1), Is.EqualTo(Vector2.one));
- Assert.That(Vector2.zero.WithY(1), Is.EqualTo(Vector2.up));
- Assert.That(Vector2.right.WithY(1), Is.EqualTo(Vector2.one));
- Assert.That(Vector2.up.WithY(1), Is.EqualTo(Vector2.up));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2Tests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2Tests.cs.meta
deleted file mode 100644
index 54f9a75..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector2Tests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 83385270996049569380ae9769ff1381
-timeCreated: 1652088132
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3IntTests.cs b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3IntTests.cs
deleted file mode 100644
index acfac84..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3IntTests.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity.Tests.Numerics
-{
- public class Vector3IntTests
- {
- [Test]
- public void Deconstruct_ShouldReturnCorrectValues()
- {
- var vector = new Vector3Int(1, 2, 3);
- (float x, float y, float z) = vector;
-
- Assert.That(x, Is.EqualTo(1));
- Assert.That(y, Is.EqualTo(2));
- Assert.That(z, Is.EqualTo(3));
- }
-
- [Test]
- public void WithX_ShouldReturnVectorWithNewX_GivenVector()
- {
- Assert.That(Vector3Int.one.WithX(0), Is.EqualTo(new Vector3Int(0, 1, 1)));
- Assert.That(Vector3Int.zero.WithX(0), Is.EqualTo(Vector3Int.zero));
- Assert.That(Vector3Int.right.WithX(0), Is.EqualTo(Vector3Int.zero));
- Assert.That(Vector3Int.up.WithX(0), Is.EqualTo(Vector3Int.up));
- Assert.That(Vector3Int.forward.WithX(0), Is.EqualTo(Vector3Int.forward));
-
- Assert.That(Vector3Int.one.WithX(1), Is.EqualTo(Vector3Int.one));
- Assert.That(Vector3Int.zero.WithX(1), Is.EqualTo(Vector3Int.right));
- Assert.That(Vector3Int.right.WithX(1), Is.EqualTo(Vector3Int.right));
- Assert.That(Vector3Int.up.WithX(1), Is.EqualTo(new Vector3Int(1, 1, 0)));
- Assert.That(Vector3Int.forward.WithX(1), Is.EqualTo(new Vector3Int(1, 0, 1)));
- }
-
- [Test]
- public void WithY_ShouldReturnVectorWithNewY_GivenVector()
- {
- Assert.That(Vector3Int.one.WithY(0), Is.EqualTo(new Vector3Int(1, 0, 1)));
- Assert.That(Vector3Int.zero.WithY(0), Is.EqualTo(Vector3Int.zero));
- Assert.That(Vector3Int.right.WithY(0), Is.EqualTo(Vector3Int.right));
- Assert.That(Vector3Int.up.WithY(0), Is.EqualTo(Vector3Int.zero));
- Assert.That(Vector3Int.forward.WithY(0), Is.EqualTo(Vector3Int.forward));
-
- Assert.That(Vector3Int.one.WithY(1), Is.EqualTo(Vector3Int.one));
- Assert.That(Vector3Int.zero.WithY(1), Is.EqualTo(Vector3Int.up));
- Assert.That(Vector3Int.right.WithY(1), Is.EqualTo(new Vector3Int(1, 1, 0)));
- Assert.That(Vector3Int.up.WithY(1), Is.EqualTo(Vector3Int.up));
- Assert.That(Vector3Int.forward.WithY(1), Is.EqualTo(new Vector3Int(0, 1, 1)));
- ;
- }
-
- [Test]
- public void WithZ_ShouldReturnVectorWithNewZ_GivenVector()
- {
- Assert.That(Vector3Int.one.WithZ(0), Is.EqualTo(new Vector3Int(1, 1, 0)));
- Assert.That(Vector3Int.zero.WithZ(0), Is.EqualTo(Vector3Int.zero));
- Assert.That(Vector3Int.right.WithZ(0), Is.EqualTo(Vector3Int.right));
- Assert.That(Vector3Int.up.WithZ(0), Is.EqualTo(Vector3Int.up));
- Assert.That(Vector3Int.forward.WithZ(0), Is.EqualTo(Vector3Int.zero));
-
- Assert.That(Vector3Int.one.WithZ(1), Is.EqualTo(Vector3Int.one));
- Assert.That(Vector3Int.zero.WithZ(1), Is.EqualTo(Vector3Int.forward));
- Assert.That(Vector3Int.right.WithZ(1), Is.EqualTo(new Vector3Int(1, 0, 1)));
- Assert.That(Vector3Int.up.WithZ(1), Is.EqualTo(new Vector3Int(0, 1, 1)));
- Assert.That(Vector3Int.forward.WithZ(1), Is.EqualTo(Vector3Int.forward));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3IntTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3IntTests.cs.meta
deleted file mode 100644
index 1959799..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3IntTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: e474d98fd3ee48159980aaa88040cfb3
-timeCreated: 1653993371
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3Tests.cs b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3Tests.cs
deleted file mode 100644
index 9d7d64a..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3Tests.cs
+++ /dev/null
@@ -1,126 +0,0 @@
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Core;
-using X10D.Unity.Numerics;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Numerics
-{
- public class Vector3Tests
- {
- [Test]
- public void Deconstruct_ShouldReturnCorrectValues()
- {
- var vector = new Vector3(1, 2, 3);
- (float x, float y, float z) = vector;
-
- Assert.That(x, Is.EqualTo(1));
- Assert.That(y, Is.EqualTo(2));
- Assert.That(z, Is.EqualTo(3));
- }
-
- [Test]
- public void Round_ShouldRoundToNearestInteger_GivenNoParameters()
- {
- var vector = new Vector3(1.5f, 2.6f, -5.2f);
- var rounded = vector.Round();
-
- Assert.That(rounded.x, Is.EqualTo(2));
- Assert.That(rounded.y, Is.EqualTo(3));
- Assert.That(rounded.z, Is.EqualTo(-5));
- }
-
- [Test]
- public void Round_ShouldRoundToNearest10_GivenPrecision10()
- {
- var vector = new Vector3(1.5f, 25.2f, -12.5f);
- var rounded = vector.Round(10);
-
- Assert.That(rounded.x, Is.EqualTo(0));
- Assert.That(rounded.y, Is.EqualTo(30));
- Assert.That(rounded.z, Is.EqualTo(-10));
- }
-
- [Test]
- public void ToSystemVector_ShouldReturnVector_WithEqualComponents()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
- float z = random.NextSingle();
-
- var vector = new Vector3(x, y, z);
- var systemVector = vector.ToSystemVector();
-
- Assert.That(systemVector.Length(), Is.EqualTo(vector.magnitude).Within(1e-6f));
- Assert.That(systemVector.X, Is.EqualTo(vector.x).Within(1e-6f));
- Assert.That(systemVector.Y, Is.EqualTo(vector.y).Within(1e-6f));
- Assert.That(systemVector.Z, Is.EqualTo(vector.z).Within(1e-6f));
- }
-
- [Test]
- public void ToUnityVector_ShouldReturnVector_WithEqualComponents()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
- float z = random.NextSingle();
-
- var vector = new System.Numerics.Vector3(x, y, z);
- var unityVector = vector.ToUnityVector();
-
- Assert.That(unityVector.magnitude, Is.EqualTo(vector.Length()).Within(1e-6f));
- Assert.That(unityVector.x, Is.EqualTo(vector.X).Within(1e-6f));
- Assert.That(unityVector.y, Is.EqualTo(vector.Y).Within(1e-6f));
- Assert.That(unityVector.z, Is.EqualTo(vector.Z).Within(1e-6f));
- }
-
- [Test]
- public void WithX_ShouldReturnVectorWithNewX_GivenVector()
- {
- Assert.That(Vector3.one.WithX(0), Is.EqualTo(new Vector3(0, 1, 1)));
- Assert.That(Vector3.zero.WithX(0), Is.EqualTo(Vector3.zero));
- Assert.That(Vector3.right.WithX(0), Is.EqualTo(Vector3.zero));
- Assert.That(Vector3.up.WithX(0), Is.EqualTo(Vector3.up));
- Assert.That(Vector3.forward.WithX(0), Is.EqualTo(Vector3.forward));
-
- Assert.That(Vector3.one.WithX(1), Is.EqualTo(Vector3.one));
- Assert.That(Vector3.zero.WithX(1), Is.EqualTo(Vector3.right));
- Assert.That(Vector3.right.WithX(1), Is.EqualTo(Vector3.right));
- Assert.That(Vector3.up.WithX(1), Is.EqualTo(new Vector3(1, 1, 0)));
- Assert.That(Vector3.forward.WithX(1), Is.EqualTo(new Vector3(1, 0, 1)));
- }
-
- [Test]
- public void WithY_ShouldReturnVectorWithNewY_GivenVector()
- {
- Assert.That(Vector3.one.WithY(0), Is.EqualTo(new Vector3(1, 0, 1)));
- Assert.That(Vector3.zero.WithY(0), Is.EqualTo(Vector3.zero));
- Assert.That(Vector3.right.WithY(0), Is.EqualTo(Vector3.right));
- Assert.That(Vector3.up.WithY(0), Is.EqualTo(Vector3.zero));
- Assert.That(Vector3.forward.WithY(0), Is.EqualTo(Vector3.forward));
-
- Assert.That(Vector3.one.WithY(1), Is.EqualTo(Vector3.one));
- Assert.That(Vector3.zero.WithY(1), Is.EqualTo(Vector3.up));
- Assert.That(Vector3.right.WithY(1), Is.EqualTo(new Vector3(1, 1, 0)));
- Assert.That(Vector3.up.WithY(1), Is.EqualTo(Vector3.up));
- Assert.That(Vector3.forward.WithY(1), Is.EqualTo(new Vector3(0, 1, 1)));
- }
-
- [Test]
- public void WithZ_ShouldReturnVectorWithNewZ_GivenVector()
- {
- Assert.That(Vector3.one.WithZ(0), Is.EqualTo(new Vector3(1, 1, 0)));
- Assert.That(Vector3.zero.WithZ(0), Is.EqualTo(Vector3.zero));
- Assert.That(Vector3.right.WithZ(0), Is.EqualTo(Vector3.right));
- Assert.That(Vector3.up.WithZ(0), Is.EqualTo(Vector3.up));
- Assert.That(Vector3.forward.WithZ(0), Is.EqualTo(Vector3.zero));
-
- Assert.That(Vector3.one.WithZ(1), Is.EqualTo(Vector3.one));
- Assert.That(Vector3.zero.WithZ(1), Is.EqualTo(Vector3.forward));
- Assert.That(Vector3.right.WithZ(1), Is.EqualTo(new Vector3(1, 0, 1)));
- Assert.That(Vector3.up.WithZ(1), Is.EqualTo(new Vector3(0, 1, 1)));
- Assert.That(Vector3.forward.WithZ(1), Is.EqualTo(Vector3.forward));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3Tests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3Tests.cs.meta
deleted file mode 100644
index 6255e34..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector3Tests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a00d613201bd497d91c9e98bca8dd6b1
-timeCreated: 1652088132
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector4Tests.cs b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector4Tests.cs
deleted file mode 100644
index 3848db7..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector4Tests.cs
+++ /dev/null
@@ -1,157 +0,0 @@
-using NUnit.Framework;
-using UnityEngine;
-using X10D.Core;
-using X10D.Unity.Numerics;
-using Random = System.Random;
-
-namespace X10D.Unity.Tests.Numerics
-{
- public class Vector4Tests
- {
- [Test]
- public void Deconstruct_ShouldReturnCorrectValues()
- {
- var vector = new Vector4(1, 2, 3, 4);
- (float x, float y, float z, float w) = vector;
-
- Assert.That(x, Is.EqualTo(1));
- Assert.That(y, Is.EqualTo(2));
- Assert.That(z, Is.EqualTo(3));
- Assert.That(w, Is.EqualTo(4));
- }
-
- [Test]
- public void Round_ShouldRoundToNearestInteger_GivenNoParameters()
- {
- var vector = new Vector4(1.5f, 2.6f, -5.2f, 0.3f);
- var rounded = vector.Round();
-
- Assert.That(rounded.x, Is.EqualTo(2));
- Assert.That(rounded.y, Is.EqualTo(3));
- Assert.That(rounded.z, Is.EqualTo(-5));
- Assert.That(rounded.w, Is.EqualTo(0));
- }
-
- [Test]
- public void Round_ShouldRoundToNearest10_GivenPrecision10()
- {
- var vector = new Vector4(1.5f, 25.2f, -12.5f, 101.2f);
- var rounded = vector.Round(10);
-
- Assert.That(rounded.x, Is.EqualTo(0));
- Assert.That(rounded.y, Is.EqualTo(30));
- Assert.That(rounded.z, Is.EqualTo(-10));
- Assert.That(rounded.w, Is.EqualTo(100));
- }
-
- [Test]
- public void ToSystemVector_ShouldReturnVector_WithEqualComponents()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
- float z = random.NextSingle();
- float w = random.NextSingle();
-
- var vector = new Vector4(x, y, z, w);
- var systemVector = vector.ToSystemVector();
-
- Assert.That(systemVector.Length(), Is.EqualTo(vector.magnitude).Within(1e-6f));
- Assert.That(systemVector.X, Is.EqualTo(vector.x).Within(1e-6f));
- Assert.That(systemVector.Y, Is.EqualTo(vector.y).Within(1e-6f));
- Assert.That(systemVector.Z, Is.EqualTo(vector.z).Within(1e-6f));
- Assert.That(systemVector.W, Is.EqualTo(vector.w).Within(1e-6f));
- }
-
- [Test]
- public void ToUnityVector_ShouldReturnVector_WithEqualComponents()
- {
- var random = new Random();
- float x = random.NextSingle();
- float y = random.NextSingle();
- float z = random.NextSingle();
- float w = random.NextSingle();
-
- var vector = new System.Numerics.Vector4(x, y, z, w);
- var unityVector = vector.ToUnityVector();
-
- Assert.That(unityVector.magnitude, Is.EqualTo(vector.Length()).Within(1e-6f));
- Assert.That(unityVector.x, Is.EqualTo(vector.X).Within(1e-6f));
- Assert.That(unityVector.y, Is.EqualTo(vector.Y).Within(1e-6f));
- Assert.That(unityVector.z, Is.EqualTo(vector.Z).Within(1e-6f));
- Assert.That(unityVector.w, Is.EqualTo(vector.W).Within(1e-6f));
- }
-
- [Test]
- public void WithW_ShouldReturnVectorWithNewW_GivenVector()
- {
- Assert.That(Vector4.one.WithW(0), Is.EqualTo(new Vector4(1, 1, 1, 0)));
- Assert.That(Vector4.zero.WithW(0), Is.EqualTo(Vector4.zero));
- Assert.That(new Vector4(0, 0, 0, 1).WithW(0), Is.EqualTo(Vector4.zero));
- Assert.That(new Vector4(1, 0, 0, 0).WithW(0), Is.EqualTo(new Vector4(1, 0, 0, 0)));
- Assert.That(new Vector4(0, 1, 0, 0).WithW(0), Is.EqualTo(new Vector4(0, 1, 0, 0)));
- Assert.That(new Vector4(0, 0, 1, 0).WithW(0), Is.EqualTo(new Vector4(0, 0, 1, 0)));
-
- Assert.That(Vector4.one.WithW(1), Is.EqualTo(Vector4.one));
- Assert.That(Vector4.zero.WithW(1), Is.EqualTo(new Vector4(0, 0, 0, 1)));
- Assert.That(new Vector4(0, 0, 0, 1).WithW(1), Is.EqualTo(new Vector4(0, 0, 0, 1)));
- Assert.That(new Vector4(1, 0, 0, 0).WithW(1), Is.EqualTo(new Vector4(1, 0, 0, 1)));
- Assert.That(new Vector4(0, 1, 0, 0).WithW(1), Is.EqualTo(new Vector4(0, 1, 0, 1)));
- Assert.That(new Vector4(0, 0, 1, 0).WithW(1), Is.EqualTo(new Vector4(0, 0, 1, 1)));
- }
-
- [Test]
- public void WithX_ShouldReturnVectorWithNewX_GivenVector()
- {
- Assert.That(Vector4.one.WithX(0), Is.EqualTo(new Vector4(0, 1, 1, 1)));
- Assert.That(Vector4.zero.WithX(0), Is.EqualTo(Vector4.zero));
- Assert.That(new Vector4(0, 0, 0, 1).WithX(0), Is.EqualTo(new Vector4(0, 0, 0, 1)));
- Assert.That(new Vector4(1, 0, 0, 0).WithX(0), Is.EqualTo(Vector4.zero));
- Assert.That(new Vector4(0, 1, 0, 0).WithX(0), Is.EqualTo(new Vector4(0, 1, 0, 0)));
- Assert.That(new Vector4(0, 0, 1, 0).WithX(0), Is.EqualTo(new Vector4(0, 0, 1, 0)));
-
- Assert.That(Vector4.one.WithX(1), Is.EqualTo(Vector4.one));
- Assert.That(Vector4.zero.WithX(1), Is.EqualTo(new Vector4(1, 0, 0, 0)));
- Assert.That(new Vector4(0, 0, 0, 1).WithX(1), Is.EqualTo(new Vector4(1, 0, 0, 1)));
- Assert.That(new Vector4(1, 0, 0, 0).WithX(1), Is.EqualTo(new Vector4(1, 0, 0, 0)));
- Assert.That(new Vector4(0, 1, 0, 0).WithX(1), Is.EqualTo(new Vector4(1, 1, 0, 0)));
- Assert.That(new Vector4(0, 0, 1, 0).WithX(1), Is.EqualTo(new Vector4(1, 0, 1, 0)));
- }
-
- [Test]
- public void WithY_ShouldReturnVectorWithNewY_GivenVector()
- {
- Assert.That(Vector4.one.WithY(0), Is.EqualTo(new Vector4(1, 0, 1, 1)));
- Assert.That(Vector4.zero.WithY(0), Is.EqualTo(Vector4.zero));
- Assert.That(new Vector4(0, 0, 0, 1).WithY(0), Is.EqualTo(new Vector4(0, 0, 0, 1)));
- Assert.That(new Vector4(1, 0, 0, 0).WithY(0), Is.EqualTo(new Vector4(1, 0, 0, 0)));
- Assert.That(new Vector4(0, 1, 0, 0).WithY(0), Is.EqualTo(Vector4.zero));
- Assert.That(new Vector4(0, 0, 1, 0).WithY(0), Is.EqualTo(new Vector4(0, 0, 1, 0)));
-
- Assert.That(Vector4.one.WithY(1), Is.EqualTo(Vector4.one));
- Assert.That(Vector4.zero.WithY(1), Is.EqualTo(new Vector4(0, 1, 0, 0)));
- Assert.That(new Vector4(0, 0, 0, 1).WithY(1), Is.EqualTo(new Vector4(0, 1, 0, 1)));
- Assert.That(new Vector4(1, 0, 0, 0).WithY(1), Is.EqualTo(new Vector4(1, 1, 0, 0)));
- Assert.That(new Vector4(0, 1, 0, 0).WithY(1), Is.EqualTo(new Vector4(0, 1, 0, 0)));
- Assert.That(new Vector4(0, 0, 1, 0).WithY(1), Is.EqualTo(new Vector4(0, 1, 1, 0)));
- }
-
- [Test]
- public void WithZ_ShouldReturnVectorWithNewZ_GivenVector()
- {
- Assert.That(Vector4.one.WithZ(0), Is.EqualTo(new Vector4(1, 1, 0, 1)));
- Assert.That(Vector4.zero.WithZ(0), Is.EqualTo(Vector4.zero));
- Assert.That(new Vector4(0, 0, 0, 1).WithZ(0), Is.EqualTo(new Vector4(0, 0, 0, 1)));
- Assert.That(new Vector4(1, 0, 0, 0).WithZ(0), Is.EqualTo(new Vector4(1, 0, 0, 0)));
- Assert.That(new Vector4(0, 1, 0, 0).WithZ(0), Is.EqualTo(new Vector4(0, 1, 0, 0)));
- Assert.That(new Vector4(0, 0, 1, 0).WithZ(0), Is.EqualTo(Vector4.zero));
-
- Assert.That(Vector4.one.WithZ(1), Is.EqualTo(Vector4.one));
- Assert.That(Vector4.zero.WithZ(1), Is.EqualTo(new Vector4(0, 0, 1, 0)));
- Assert.That(new Vector4(0, 0, 0, 1).WithZ(1), Is.EqualTo(new Vector4(0, 0, 1, 1)));
- Assert.That(new Vector4(1, 0, 0, 0).WithZ(1), Is.EqualTo(new Vector4(1, 0, 1, 0)));
- Assert.That(new Vector4(0, 1, 0, 0).WithZ(1), Is.EqualTo(new Vector4(0, 1, 1, 0)));
- Assert.That(new Vector4(0, 0, 1, 0).WithZ(1), Is.EqualTo(new Vector4(0, 0, 1, 0)));
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector4Tests.cs.meta b/X10D.Unity.Tests/Assets/Tests/Numerics/Vector4Tests.cs.meta
deleted file mode 100644
index 041ceb9..0000000
--- a/X10D.Unity.Tests/Assets/Tests/Numerics/Vector4Tests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 0d487c2046a64354b199f4de01d57391
-timeCreated: 1652088132
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/SingletonTests.cs b/X10D.Unity.Tests/Assets/Tests/SingletonTests.cs
deleted file mode 100644
index 9e77e11..0000000
--- a/X10D.Unity.Tests/Assets/Tests/SingletonTests.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using System.Collections;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEngine.TestTools;
-
-namespace X10D.Unity.Tests
-{
- public class SingletonTests
- {
- [Test]
- public void Singleton_ShouldReturnNewInstance_WhenNoInstanceExists()
- {
- TestBehaviour instance = Singleton.Instance;
- Assert.That(instance, Is.Not.Null);
- Assert.That(instance.Flag);
- }
-
- [Test]
- public void Singleton_ShouldReturnSameInstance_WhenAccessedTwice()
- {
- TestBehaviour instance = Singleton.Instance;
- Assert.That(instance, Is.Not.Null);
- Assert.That(Singleton.Instance, Is.EqualTo(instance));
- }
-
- [UnityTest]
- public IEnumerator Singleton_ShouldReturnNewInstance_WhenDestroyed()
- {
- TestBehaviour instance = Singleton.Instance;
- Assert.That(instance, Is.Not.Null);
- Object.Destroy(instance);
-
- yield return null;
-
- Assert.IsFalse(instance);
-
- // ReSharper disable once HeuristicUnreachableCode
- instance = Singleton.Instance;
- Assert.That(instance, Is.Not.Null);
- Assert.IsTrue(instance.Flag);
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/SingletonTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/SingletonTests.cs.meta
deleted file mode 100644
index 3f086ce..0000000
--- a/X10D.Unity.Tests/Assets/Tests/SingletonTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 5c51198d124f40859bd9298d3241d5a6
-timeCreated: 1652428949
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/TestBehaviour.cs b/X10D.Unity.Tests/Assets/Tests/TestBehaviour.cs
deleted file mode 100644
index a603e1d..0000000
--- a/X10D.Unity.Tests/Assets/Tests/TestBehaviour.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace X10D.Unity.Tests
-{
- internal sealed class TestBehaviour : Singleton
- {
- public bool Flag
- {
- get => true;
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/TestBehaviour.cs.meta b/X10D.Unity.Tests/Assets/Tests/TestBehaviour.cs.meta
deleted file mode 100644
index bc63104..0000000
--- a/X10D.Unity.Tests/Assets/Tests/TestBehaviour.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: df932718d20948ecbe9b0de8aa7bbaf4
-timeCreated: 1652428898
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/TransformTests.cs b/X10D.Unity.Tests/Assets/Tests/TransformTests.cs
deleted file mode 100644
index 5d09176..0000000
--- a/X10D.Unity.Tests/Assets/Tests/TransformTests.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-#nullable enable
-
-using System.Collections;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEngine.TestTools;
-
-namespace X10D.Unity.Tests
-{
- public class TransformTests
- {
- [UnityTest]
- public IEnumerator LookAt_ShouldRotateSameAsTransform()
- {
- var first = new GameObject {transform = {position = Vector3.zero, rotation = Quaternion.identity}};
- var second = new GameObject {transform = {position = Vector3.right, rotation = Quaternion.identity}};
- Transform firstTransform = first.transform;
- Transform secondTransform = second.transform;
-
- Assert.That(firstTransform.rotation, Is.EqualTo(Quaternion.identity));
- Assert.That(secondTransform.rotation, Is.EqualTo(Quaternion.identity));
-
- firstTransform.LookAt(secondTransform);
- Quaternion expected = firstTransform.rotation;
-
- firstTransform.rotation = Quaternion.identity;
- Assert.That(firstTransform.rotation, Is.EqualTo(Quaternion.identity));
-
- firstTransform.LookAt(second);
- Assert.That(firstTransform.rotation, Is.EqualTo(expected));
-
- firstTransform.rotation = Quaternion.identity;
- Assert.That(firstTransform.rotation, Is.EqualTo(Quaternion.identity));
-
- yield break;
- }
-
- [UnityTest]
- public IEnumerator SetParent_ShouldSetParent()
- {
- var first = new GameObject {transform = {position = Vector3.zero, rotation = Quaternion.identity}};
- var second = new GameObject {transform = {position = Vector3.right, rotation = Quaternion.identity}};
-
- Assert.That(first.transform.parent, Is.EqualTo(null));
- Assert.That(second.transform.parent, Is.EqualTo(null));
-
- first.transform.SetParent(second);
- Assert.That(first.transform.parent, Is.EqualTo(second.transform));
-
- first.transform.SetParent(null!);
- Assert.That(first.transform.parent, Is.EqualTo(null));
-
- second.transform.SetParent(first);
- Assert.That(second.transform.parent, Is.EqualTo(first.transform));
-
- yield break;
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/TransformTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/TransformTests.cs.meta
deleted file mode 100644
index 362c6cc..0000000
--- a/X10D.Unity.Tests/Assets/Tests/TransformTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 1f1518cdf51546288b7a16369297be5e
-timeCreated: 1652005981
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/X10D.Unity.Tests.asmdef b/X10D.Unity.Tests/Assets/Tests/X10D.Unity.Tests.asmdef
deleted file mode 100644
index 3798be8..0000000
--- a/X10D.Unity.Tests/Assets/Tests/X10D.Unity.Tests.asmdef
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "name": "X10D.Unity.Tests",
- "rootNamespace": "X10D.Unity",
- "references": [
- "UnityEngine.TestRunner",
- "UnityEditor.TestRunner"
- ],
- "includePlatforms": [],
- "excludePlatforms": [],
- "allowUnsafeCode": false,
- "overrideReferences": true,
- "precompiledReferences": [
- "nunit.framework.dll",
- "X10D.dll",
- "X10D.Unity.dll"
- ],
- "autoReferenced": false,
- "defineConstraints": [
- "UNITY_INCLUDE_TESTS"
- ],
- "versionDefines": [],
- "noEngineReferences": false
-}
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/X10D.Unity.Tests.asmdef.meta b/X10D.Unity.Tests/Assets/Tests/X10D.Unity.Tests.asmdef.meta
deleted file mode 100644
index 5932295..0000000
--- a/X10D.Unity.Tests/Assets/Tests/X10D.Unity.Tests.asmdef.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: 34215b8a0b1faf64487ff72821603aad
-AssemblyDefinitionImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/X10D.Unity.Tests/Assets/Tests/YieldInstructionIntegrationTests.cs b/X10D.Unity.Tests/Assets/Tests/YieldInstructionIntegrationTests.cs
deleted file mode 100644
index 90dc18e..0000000
--- a/X10D.Unity.Tests/Assets/Tests/YieldInstructionIntegrationTests.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Collections;
-using UnityEngine;
-
-namespace X10D.Unity.Tests
-{
- public class YieldInstructionIntegrationTests : MonoBehaviour
- {
- private void Start()
- {
- StartCoroutine(CO_WaitForAnyKeyDown());
- StartCoroutine(CO_WaitForSpaceKeyDown());
- StartCoroutine(CO_WaitForSpaceKeyUp());
- }
-
- private IEnumerator CO_WaitForAnyKeyDown()
- {
- Debug.Log("Waiting for any key to be pressed...");
- yield return new WaitForKeyDown();
- Debug.Log("Key was pressed!");
- }
-
- private IEnumerator CO_WaitForSpaceKeyDown()
- {
- Debug.Log("Waiting for Space key to be pressed...");
- yield return new WaitForKeyDown(KeyCode.Space);
- Debug.Log("Space key was pressed!");
- }
-
- private IEnumerator CO_WaitForSpaceKeyUp()
- {
- Debug.Log("Waiting for Space key to be released...");
- yield return new WaitForKeyUp(KeyCode.Space);
- Debug.Log("Space key was released!");
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/YieldInstructionIntegrationTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/YieldInstructionIntegrationTests.cs.meta
deleted file mode 100644
index ae63f4d..0000000
--- a/X10D.Unity.Tests/Assets/Tests/YieldInstructionIntegrationTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 67d53e2f993d4a5ba0eb34431d1846cd
-timeCreated: 1657791682
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Assets/Tests/YieldInstructionTests.cs b/X10D.Unity.Tests/Assets/Tests/YieldInstructionTests.cs
deleted file mode 100644
index fd109f0..0000000
--- a/X10D.Unity.Tests/Assets/Tests/YieldInstructionTests.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-using System;
-using System.Collections;
-using NUnit.Framework;
-using UnityEngine;
-using UnityEngine.TestTools;
-using UTime = UnityEngine.Time;
-
-namespace X10D.Unity.Tests
-{
- public class YieldInstructionTests : MonoBehaviour
- {
- [UnityTest]
- public IEnumerator WaitForFrames_ShouldYieldCorrectNumberOfFrames()
- {
- int frameCount = UTime.frameCount;
- yield return new WaitForFrames(10);
- Assert.That(UTime.frameCount, Is.EqualTo(frameCount + 10), $"{frameCount + 10} == {UTime.frameCount}");
- }
-
- [UnityTest]
- public IEnumerator WaitForSecondsNoAlloc_ShouldYieldForCorrectTime()
- {
- float time = UTime.time;
- yield return new WaitForSecondsNoAlloc(2);
- Assert.That(UTime.time, Is.EqualTo(time + 2).Within(1e-2), $"{time + 2} == {UTime.time}");
- }
-
- [UnityTest]
- public IEnumerator WaitForSecondsRealtimeNoAlloc_ShouldYieldForCorrectTime()
- {
- float time = UTime.time;
- yield return new WaitForSecondsRealtimeNoAlloc(2);
- Assert.That(UTime.time, Is.EqualTo(time + 2).Within(1e-2), $"{time + 2} == {UTime.time}");
- }
-
- [UnityTest]
- public IEnumerator WaitForTimeSpan_ShouldYieldForCorrectTime()
- {
- float time = UTime.time;
- yield return new WaitForTimeSpan(TimeSpan.FromSeconds(2.0));
- Assert.That(UTime.time, Is.GreaterThanOrEqualTo(time + 2.0f).Or.GreaterThanOrEqualTo(time + 1.5f));
- }
-
- [UnityTest]
- public IEnumerator WaitForTimeSpanRealtime_ShouldYieldForCorrectTime()
- {
- float time = UTime.time;
- yield return new WaitForTimeSpanRealtime(TimeSpan.FromSeconds(2.0));
- Assert.That(UTime.time, Is.EqualTo(time + 2).Within(1e-2), $"{time + 2} == {UTime.time}");
- }
- }
-}
diff --git a/X10D.Unity.Tests/Assets/Tests/YieldInstructionTests.cs.meta b/X10D.Unity.Tests/Assets/Tests/YieldInstructionTests.cs.meta
deleted file mode 100644
index ae81ce1..0000000
--- a/X10D.Unity.Tests/Assets/Tests/YieldInstructionTests.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: d7d35eefdf5b43278a6f6aa268a71091
-timeCreated: 1657795834
\ No newline at end of file
diff --git a/X10D.Unity.Tests/Packages/manifest.json b/X10D.Unity.Tests/Packages/manifest.json
deleted file mode 100644
index 97fb71f..0000000
--- a/X10D.Unity.Tests/Packages/manifest.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "dependencies": {
- "com.unity.collab-proxy": "2.0.1",
- "com.unity.feature.development": "1.0.1",
- "com.unity.ide.rider": "3.0.18",
- "com.unity.ide.visualstudio": "2.0.17",
- "com.unity.ide.vscode": "1.2.5",
- "com.unity.test-framework": "1.1.31",
- "com.unity.textmeshpro": "3.0.6",
- "com.unity.timeline": "1.6.4",
- "com.unity.ugui": "1.0.0",
- "com.unity.visualscripting": "1.8.0",
- "com.unity.modules.ai": "1.0.0",
- "com.unity.modules.androidjni": "1.0.0",
- "com.unity.modules.animation": "1.0.0",
- "com.unity.modules.assetbundle": "1.0.0",
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.cloth": "1.0.0",
- "com.unity.modules.director": "1.0.0",
- "com.unity.modules.imageconversion": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.particlesystem": "1.0.0",
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.physics2d": "1.0.0",
- "com.unity.modules.screencapture": "1.0.0",
- "com.unity.modules.terrain": "1.0.0",
- "com.unity.modules.terrainphysics": "1.0.0",
- "com.unity.modules.tilemap": "1.0.0",
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.uielements": "1.0.0",
- "com.unity.modules.umbra": "1.0.0",
- "com.unity.modules.unityanalytics": "1.0.0",
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
- "com.unity.modules.unitywebrequestaudio": "1.0.0",
- "com.unity.modules.unitywebrequesttexture": "1.0.0",
- "com.unity.modules.unitywebrequestwww": "1.0.0",
- "com.unity.modules.vehicles": "1.0.0",
- "com.unity.modules.video": "1.0.0",
- "com.unity.modules.vr": "1.0.0",
- "com.unity.modules.wind": "1.0.0",
- "com.unity.modules.xr": "1.0.0"
- }
-}
diff --git a/X10D.Unity.Tests/Packages/packages-lock.json b/X10D.Unity.Tests/Packages/packages-lock.json
deleted file mode 100644
index 3172caf..0000000
--- a/X10D.Unity.Tests/Packages/packages-lock.json
+++ /dev/null
@@ -1,393 +0,0 @@
-{
- "dependencies": {
- "com.unity.collab-proxy": {
- "version": "2.0.1",
- "depth": 0,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.editorcoroutines": {
- "version": "1.0.0",
- "depth": 1,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.ext.nunit": {
- "version": "1.0.6",
- "depth": 1,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.feature.development": {
- "version": "1.0.1",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.ide.visualstudio": "2.0.17",
- "com.unity.ide.rider": "3.0.18",
- "com.unity.ide.vscode": "1.2.5",
- "com.unity.editorcoroutines": "1.0.0",
- "com.unity.performance.profile-analyzer": "1.2.2",
- "com.unity.test-framework": "1.1.31",
- "com.unity.testtools.codecoverage": "1.2.2"
- }
- },
- "com.unity.ide.rider": {
- "version": "3.0.18",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ext.nunit": "1.0.6"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.ide.visualstudio": {
- "version": "2.0.17",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.test-framework": "1.1.9"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.ide.vscode": {
- "version": "1.2.5",
- "depth": 0,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.performance.profile-analyzer": {
- "version": "1.2.2",
- "depth": 1,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.settings-manager": {
- "version": "1.0.3",
- "depth": 2,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
- "com.unity.test-framework": {
- "version": "1.1.31",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ext.nunit": "1.0.6",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.testtools.codecoverage": {
- "version": "1.2.2",
- "depth": 1,
- "source": "registry",
- "dependencies": {
- "com.unity.test-framework": "1.0.16",
- "com.unity.settings-manager": "1.0.1"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.textmeshpro": {
- "version": "3.0.6",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ugui": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.timeline": {
- "version": "1.6.4",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.modules.director": "1.0.0",
- "com.unity.modules.animation": "1.0.0",
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.particlesystem": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.ugui": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0"
- }
- },
- "com.unity.visualscripting": {
- "version": "1.8.0",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ugui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
- "com.unity.modules.ai": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.androidjni": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.animation": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.assetbundle": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.audio": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.cloth": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0"
- }
- },
- "com.unity.modules.director": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.animation": "1.0.0"
- }
- },
- "com.unity.modules.imageconversion": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.imgui": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.jsonserialize": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.particlesystem": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.physics": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.physics2d": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.screencapture": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.imageconversion": "1.0.0"
- }
- },
- "com.unity.modules.subsystems": {
- "version": "1.0.0",
- "depth": 1,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.jsonserialize": "1.0.0"
- }
- },
- "com.unity.modules.terrain": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.terrainphysics": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.terrain": "1.0.0"
- }
- },
- "com.unity.modules.tilemap": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics2d": "1.0.0"
- }
- },
- "com.unity.modules.ui": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.uielements": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.uielementsnative": "1.0.0"
- }
- },
- "com.unity.modules.uielementsnative": {
- "version": "1.0.0",
- "depth": 1,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- }
- },
- "com.unity.modules.umbra": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.unityanalytics": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequest": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.unitywebrequestassetbundle": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.assetbundle": "1.0.0",
- "com.unity.modules.unitywebrequest": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequestaudio": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.audio": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequesttexture": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.imageconversion": "1.0.0"
- }
- },
- "com.unity.modules.unitywebrequestwww": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
- "com.unity.modules.unitywebrequestaudio": "1.0.0",
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.assetbundle": "1.0.0",
- "com.unity.modules.imageconversion": "1.0.0"
- }
- },
- "com.unity.modules.vehicles": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0"
- }
- },
- "com.unity.modules.video": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.audio": "1.0.0",
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.unitywebrequest": "1.0.0"
- }
- },
- "com.unity.modules.vr": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.xr": "1.0.0"
- }
- },
- "com.unity.modules.wind": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {}
- },
- "com.unity.modules.xr": {
- "version": "1.0.0",
- "depth": 0,
- "source": "builtin",
- "dependencies": {
- "com.unity.modules.physics": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.subsystems": "1.0.0"
- }
- }
- }
-}
diff --git a/X10D.Unity.Tests/ProjectSettings/AudioManager.asset b/X10D.Unity.Tests/ProjectSettings/AudioManager.asset
deleted file mode 100644
index 07ebfb0..0000000
--- a/X10D.Unity.Tests/ProjectSettings/AudioManager.asset
+++ /dev/null
@@ -1,19 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!11 &1
-AudioManager:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Volume: 1
- Rolloff Scale: 1
- Doppler Factor: 1
- Default Speaker Mode: 2
- m_SampleRate: 0
- m_DSPBufferSize: 1024
- m_VirtualVoiceCount: 512
- m_RealVoiceCount: 32
- m_SpatializerPlugin:
- m_AmbisonicDecoderPlugin:
- m_DisableAudio: 0
- m_VirtualizeEffects: 1
- m_RequestedDSPBufferSize: 1024
diff --git a/X10D.Unity.Tests/ProjectSettings/ClusterInputManager.asset b/X10D.Unity.Tests/ProjectSettings/ClusterInputManager.asset
deleted file mode 100644
index e7886b2..0000000
--- a/X10D.Unity.Tests/ProjectSettings/ClusterInputManager.asset
+++ /dev/null
@@ -1,6 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!236 &1
-ClusterInputManager:
- m_ObjectHideFlags: 0
- m_Inputs: []
diff --git a/X10D.Unity.Tests/ProjectSettings/DynamicsManager.asset b/X10D.Unity.Tests/ProjectSettings/DynamicsManager.asset
deleted file mode 100644
index cdc1f3e..0000000
--- a/X10D.Unity.Tests/ProjectSettings/DynamicsManager.asset
+++ /dev/null
@@ -1,34 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!55 &1
-PhysicsManager:
- m_ObjectHideFlags: 0
- serializedVersion: 11
- m_Gravity: {x: 0, y: -9.81, z: 0}
- m_DefaultMaterial: {fileID: 0}
- m_BounceThreshold: 2
- m_SleepThreshold: 0.005
- m_DefaultContactOffset: 0.01
- m_DefaultSolverIterations: 6
- m_DefaultSolverVelocityIterations: 1
- m_QueriesHitBackfaces: 0
- m_QueriesHitTriggers: 1
- m_EnableAdaptiveForce: 0
- m_ClothInterCollisionDistance: 0
- m_ClothInterCollisionStiffness: 0
- m_ContactsGeneration: 1
- m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
- m_AutoSimulation: 1
- m_AutoSyncTransforms: 0
- m_ReuseCollisionCallbacks: 1
- m_ClothInterCollisionSettingsToggle: 0
- m_ContactPairsMode: 0
- m_BroadphaseType: 0
- m_WorldBounds:
- m_Center: {x: 0, y: 0, z: 0}
- m_Extent: {x: 250, y: 250, z: 250}
- m_WorldSubdivisions: 8
- m_FrictionType: 0
- m_EnableEnhancedDeterminism: 0
- m_EnableUnifiedHeightmaps: 1
- m_DefaultMaxAngluarSpeed: 7
diff --git a/X10D.Unity.Tests/ProjectSettings/EditorBuildSettings.asset b/X10D.Unity.Tests/ProjectSettings/EditorBuildSettings.asset
deleted file mode 100644
index 0147887..0000000
--- a/X10D.Unity.Tests/ProjectSettings/EditorBuildSettings.asset
+++ /dev/null
@@ -1,8 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1045 &1
-EditorBuildSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Scenes: []
- m_configObjects: {}
diff --git a/X10D.Unity.Tests/ProjectSettings/EditorSettings.asset b/X10D.Unity.Tests/ProjectSettings/EditorSettings.asset
deleted file mode 100644
index 1e44a0a..0000000
--- a/X10D.Unity.Tests/ProjectSettings/EditorSettings.asset
+++ /dev/null
@@ -1,30 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!159 &1
-EditorSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 11
- m_ExternalVersionControlSupport: Visible Meta Files
- m_SerializationMode: 2
- m_LineEndingsForNewScripts: 0
- m_DefaultBehaviorMode: 0
- m_PrefabRegularEnvironment: {fileID: 0}
- m_PrefabUIEnvironment: {fileID: 0}
- m_SpritePackerMode: 0
- m_SpritePackerPaddingPower: 1
- m_EtcTextureCompressorBehavior: 1
- m_EtcTextureFastCompressor: 1
- m_EtcTextureNormalCompressor: 2
- m_EtcTextureBestCompressor: 4
- m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
- m_ProjectGenerationRootNamespace:
- m_CollabEditorSettings:
- inProgressEnabled: 1
- m_EnableTextureStreamingInEditMode: 1
- m_EnableTextureStreamingInPlayMode: 1
- m_AsyncShaderCompilation: 1
- m_EnterPlayModeOptionsEnabled: 0
- m_EnterPlayModeOptions: 3
- m_ShowLightmapResolutionOverlay: 1
- m_UseLegacyProbeSampleCount: 0
- m_SerializeInlineMappingsOnOneLine: 1
diff --git a/X10D.Unity.Tests/ProjectSettings/GraphicsSettings.asset b/X10D.Unity.Tests/ProjectSettings/GraphicsSettings.asset
deleted file mode 100644
index 43369e3..0000000
--- a/X10D.Unity.Tests/ProjectSettings/GraphicsSettings.asset
+++ /dev/null
@@ -1,63 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!30 &1
-GraphicsSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 13
- m_Deferred:
- m_Mode: 1
- m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
- m_DeferredReflections:
- m_Mode: 1
- m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
- m_ScreenSpaceShadows:
- m_Mode: 1
- m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
- m_LegacyDeferred:
- m_Mode: 1
- m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
- m_DepthNormals:
- m_Mode: 1
- m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
- m_MotionVectors:
- m_Mode: 1
- m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
- m_LightHalo:
- m_Mode: 1
- m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
- m_LensFlare:
- m_Mode: 1
- m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
- m_AlwaysIncludedShaders:
- - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
- - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
- m_PreloadedShaders: []
- m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
- type: 0}
- m_CustomRenderPipeline: {fileID: 0}
- m_TransparencySortMode: 0
- m_TransparencySortAxis: {x: 0, y: 0, z: 1}
- m_DefaultRenderingPath: 1
- m_DefaultMobileRenderingPath: 1
- m_TierSettings: []
- m_LightmapStripping: 0
- m_FogStripping: 0
- m_InstancingStripping: 0
- m_LightmapKeepPlain: 1
- m_LightmapKeepDirCombined: 1
- m_LightmapKeepDynamicPlain: 1
- m_LightmapKeepDynamicDirCombined: 1
- m_LightmapKeepShadowMask: 1
- m_LightmapKeepSubtractive: 1
- m_FogKeepLinear: 1
- m_FogKeepExp: 1
- m_FogKeepExp2: 1
- m_AlbedoSwatchInfos: []
- m_LightsUseLinearIntensity: 0
- m_LightsUseColorTemperature: 0
- m_LogWhenShaderIsCompiled: 0
- m_AllowEnlightenSupportForUpgradedProject: 0
diff --git a/X10D.Unity.Tests/ProjectSettings/InputManager.asset b/X10D.Unity.Tests/ProjectSettings/InputManager.asset
deleted file mode 100644
index 17c8f53..0000000
--- a/X10D.Unity.Tests/ProjectSettings/InputManager.asset
+++ /dev/null
@@ -1,295 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!13 &1
-InputManager:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Axes:
- - serializedVersion: 3
- m_Name: Horizontal
- descriptiveName:
- descriptiveNegativeName:
- negativeButton: left
- positiveButton: right
- altNegativeButton: a
- altPositiveButton: d
- gravity: 3
- dead: 0.001
- sensitivity: 3
- snap: 1
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Vertical
- descriptiveName:
- descriptiveNegativeName:
- negativeButton: down
- positiveButton: up
- altNegativeButton: s
- altPositiveButton: w
- gravity: 3
- dead: 0.001
- sensitivity: 3
- snap: 1
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire1
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: left ctrl
- altNegativeButton:
- altPositiveButton: mouse 0
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire2
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: left alt
- altNegativeButton:
- altPositiveButton: mouse 1
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire3
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: left shift
- altNegativeButton:
- altPositiveButton: mouse 2
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Jump
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: space
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Mouse X
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0
- sensitivity: 0.1
- snap: 0
- invert: 0
- type: 1
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Mouse Y
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0
- sensitivity: 0.1
- snap: 0
- invert: 0
- type: 1
- axis: 1
- joyNum: 0
- - serializedVersion: 3
- m_Name: Mouse ScrollWheel
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0
- sensitivity: 0.1
- snap: 0
- invert: 0
- type: 1
- axis: 2
- joyNum: 0
- - serializedVersion: 3
- m_Name: Horizontal
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0.19
- sensitivity: 1
- snap: 0
- invert: 0
- type: 2
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Vertical
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton:
- altNegativeButton:
- altPositiveButton:
- gravity: 0
- dead: 0.19
- sensitivity: 1
- snap: 0
- invert: 1
- type: 2
- axis: 1
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire1
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 0
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire2
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 1
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Fire3
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 2
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Jump
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: joystick button 3
- altNegativeButton:
- altPositiveButton:
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Submit
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: return
- altNegativeButton:
- altPositiveButton: joystick button 0
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Submit
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: enter
- altNegativeButton:
- altPositiveButton: space
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
- - serializedVersion: 3
- m_Name: Cancel
- descriptiveName:
- descriptiveNegativeName:
- negativeButton:
- positiveButton: escape
- altNegativeButton:
- altPositiveButton: joystick button 1
- gravity: 1000
- dead: 0.001
- sensitivity: 1000
- snap: 0
- invert: 0
- type: 0
- axis: 0
- joyNum: 0
diff --git a/X10D.Unity.Tests/ProjectSettings/MemorySettings.asset b/X10D.Unity.Tests/ProjectSettings/MemorySettings.asset
deleted file mode 100644
index 5b5face..0000000
--- a/X10D.Unity.Tests/ProjectSettings/MemorySettings.asset
+++ /dev/null
@@ -1,35 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!387306366 &1
-MemorySettings:
- m_ObjectHideFlags: 0
- m_EditorMemorySettings:
- m_MainAllocatorBlockSize: -1
- m_ThreadAllocatorBlockSize: -1
- m_MainGfxBlockSize: -1
- m_ThreadGfxBlockSize: -1
- m_CacheBlockSize: -1
- m_TypetreeBlockSize: -1
- m_ProfilerBlockSize: -1
- m_ProfilerEditorBlockSize: -1
- m_BucketAllocatorGranularity: -1
- m_BucketAllocatorBucketsCount: -1
- m_BucketAllocatorBlockSize: -1
- m_BucketAllocatorBlockCount: -1
- m_ProfilerBucketAllocatorGranularity: -1
- m_ProfilerBucketAllocatorBucketsCount: -1
- m_ProfilerBucketAllocatorBlockSize: -1
- m_ProfilerBucketAllocatorBlockCount: -1
- m_TempAllocatorSizeMain: -1
- m_JobTempAllocatorBlockSize: -1
- m_BackgroundJobTempAllocatorBlockSize: -1
- m_JobTempAllocatorReducedBlockSize: -1
- m_TempAllocatorSizeGIBakingWorker: -1
- m_TempAllocatorSizeNavMeshWorker: -1
- m_TempAllocatorSizeAudioWorker: -1
- m_TempAllocatorSizeCloudWorker: -1
- m_TempAllocatorSizeGfx: -1
- m_TempAllocatorSizeJobWorker: -1
- m_TempAllocatorSizeBackgroundWorker: -1
- m_TempAllocatorSizePreloadManager: -1
- m_PlatformMemorySettings: {}
diff --git a/X10D.Unity.Tests/ProjectSettings/NavMeshAreas.asset b/X10D.Unity.Tests/ProjectSettings/NavMeshAreas.asset
deleted file mode 100644
index 3b0b7c3..0000000
--- a/X10D.Unity.Tests/ProjectSettings/NavMeshAreas.asset
+++ /dev/null
@@ -1,91 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!126 &1
-NavMeshProjectSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- areas:
- - name: Walkable
- cost: 1
- - name: Not Walkable
- cost: 1
- - name: Jump
- cost: 2
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- - name:
- cost: 1
- m_LastAgentTypeID: -887442657
- m_Settings:
- - serializedVersion: 2
- agentTypeID: 0
- agentRadius: 0.5
- agentHeight: 2
- agentSlope: 45
- agentClimb: 0.75
- ledgeDropHeight: 0
- maxJumpAcrossDistance: 0
- minRegionArea: 2
- manualCellSize: 0
- cellSize: 0.16666667
- manualTileSize: 0
- tileSize: 256
- accuratePlacement: 0
- debug:
- m_Flags: 0
- m_SettingNames:
- - Humanoid
diff --git a/X10D.Unity.Tests/ProjectSettings/PackageManagerSettings.asset b/X10D.Unity.Tests/ProjectSettings/PackageManagerSettings.asset
deleted file mode 100644
index 112a053..0000000
--- a/X10D.Unity.Tests/ProjectSettings/PackageManagerSettings.asset
+++ /dev/null
@@ -1,35 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &1
-MonoBehaviour:
- m_ObjectHideFlags: 61
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
- m_Name:
- m_EditorClassIdentifier:
- m_EnablePreReleasePackages: 0
- m_EnablePackageDependencies: 0
- m_AdvancedSettingsExpanded: 1
- m_ScopedRegistriesSettingsExpanded: 1
- m_SeeAllPackageVersions: 0
- oneTimeWarningShown: 0
- m_Registries:
- - m_Id: main
- m_Name:
- m_Url: https://packages.unity.com
- m_Scopes: []
- m_IsDefault: 1
- m_Capabilities: 7
- m_UserSelectedRegistryName:
- m_UserAddingNewScopedRegistry: 0
- m_RegistryInfoDraft:
- m_Modified: 0
- m_ErrorMessage:
- m_UserModificationsInstanceId: -830
- m_OriginalInstanceId: -832
- m_LoadAssets: 0
diff --git a/X10D.Unity.Tests/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json b/X10D.Unity.Tests/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
deleted file mode 100644
index ad11087..0000000
--- a/X10D.Unity.Tests/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "m_Name": "Settings",
- "m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json",
- "m_Dictionary": {
- "m_DictionaryValues": []
- }
-}
\ No newline at end of file
diff --git a/X10D.Unity.Tests/ProjectSettings/Physics2DSettings.asset b/X10D.Unity.Tests/ProjectSettings/Physics2DSettings.asset
deleted file mode 100644
index 47880b1..0000000
--- a/X10D.Unity.Tests/ProjectSettings/Physics2DSettings.asset
+++ /dev/null
@@ -1,56 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!19 &1
-Physics2DSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 4
- m_Gravity: {x: 0, y: -9.81}
- m_DefaultMaterial: {fileID: 0}
- m_VelocityIterations: 8
- m_PositionIterations: 3
- m_VelocityThreshold: 1
- m_MaxLinearCorrection: 0.2
- m_MaxAngularCorrection: 8
- m_MaxTranslationSpeed: 100
- m_MaxRotationSpeed: 360
- m_BaumgarteScale: 0.2
- m_BaumgarteTimeOfImpactScale: 0.75
- m_TimeToSleep: 0.5
- m_LinearSleepTolerance: 0.01
- m_AngularSleepTolerance: 2
- m_DefaultContactOffset: 0.01
- m_JobOptions:
- serializedVersion: 2
- useMultithreading: 0
- useConsistencySorting: 0
- m_InterpolationPosesPerJob: 100
- m_NewContactsPerJob: 30
- m_CollideContactsPerJob: 100
- m_ClearFlagsPerJob: 200
- m_ClearBodyForcesPerJob: 200
- m_SyncDiscreteFixturesPerJob: 50
- m_SyncContinuousFixturesPerJob: 50
- m_FindNearestContactsPerJob: 100
- m_UpdateTriggerContactsPerJob: 100
- m_IslandSolverCostThreshold: 100
- m_IslandSolverBodyCostScale: 1
- m_IslandSolverContactCostScale: 10
- m_IslandSolverJointCostScale: 10
- m_IslandSolverBodiesPerJob: 50
- m_IslandSolverContactsPerJob: 50
- m_AutoSimulation: 1
- m_QueriesHitTriggers: 1
- m_QueriesStartInColliders: 1
- m_CallbacksOnDisable: 1
- m_ReuseCollisionCallbacks: 1
- m_AutoSyncTransforms: 0
- m_AlwaysShowColliders: 0
- m_ShowColliderSleep: 1
- m_ShowColliderContacts: 0
- m_ShowColliderAABB: 0
- m_ContactArrowScale: 0.2
- m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
- m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
- m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
- m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
- m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/X10D.Unity.Tests/ProjectSettings/PresetManager.asset b/X10D.Unity.Tests/ProjectSettings/PresetManager.asset
deleted file mode 100644
index 67a94da..0000000
--- a/X10D.Unity.Tests/ProjectSettings/PresetManager.asset
+++ /dev/null
@@ -1,7 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1386491679 &1
-PresetManager:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_DefaultPresets: {}
diff --git a/X10D.Unity.Tests/ProjectSettings/ProjectSettings.asset b/X10D.Unity.Tests/ProjectSettings/ProjectSettings.asset
deleted file mode 100644
index 67fd210..0000000
--- a/X10D.Unity.Tests/ProjectSettings/ProjectSettings.asset
+++ /dev/null
@@ -1,708 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!129 &1
-PlayerSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 23
- productGUID: a5313041f8a8e9240a746c81c45bc60b
- AndroidProfiler: 0
- AndroidFilterTouchesWhenObscured: 0
- AndroidEnableSustainedPerformanceMode: 0
- defaultScreenOrientation: 4
- targetDevice: 2
- useOnDemandResources: 0
- accelerometerFrequency: 60
- companyName: DefaultCompany
- productName: X10D.Unity.Tests
- defaultCursor: {fileID: 0}
- cursorHotspot: {x: 0, y: 0}
- m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
- m_ShowUnitySplashScreen: 1
- m_ShowUnitySplashLogo: 1
- m_SplashScreenOverlayOpacity: 1
- m_SplashScreenAnimation: 1
- m_SplashScreenLogoStyle: 1
- m_SplashScreenDrawMode: 0
- m_SplashScreenBackgroundAnimationZoom: 1
- m_SplashScreenLogoAnimationZoom: 1
- m_SplashScreenBackgroundLandscapeAspect: 1
- m_SplashScreenBackgroundPortraitAspect: 1
- m_SplashScreenBackgroundLandscapeUvs:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- m_SplashScreenBackgroundPortraitUvs:
- serializedVersion: 2
- x: 0
- y: 0
- width: 1
- height: 1
- m_SplashScreenLogos: []
- m_VirtualRealitySplashScreen: {fileID: 0}
- m_HolographicTrackingLossScreen: {fileID: 0}
- defaultScreenWidth: 1920
- defaultScreenHeight: 1080
- defaultScreenWidthWeb: 960
- defaultScreenHeightWeb: 600
- m_StereoRenderingPath: 0
- m_ActiveColorSpace: 0
- m_MTRendering: 1
- mipStripping: 0
- numberOfMipsStripped: 0
- m_StackTraceTypes: 010000000100000001000000010000000100000001000000
- iosShowActivityIndicatorOnLoading: -1
- androidShowActivityIndicatorOnLoading: -1
- iosUseCustomAppBackgroundBehavior: 0
- iosAllowHTTPDownload: 1
- allowedAutorotateToPortrait: 1
- allowedAutorotateToPortraitUpsideDown: 1
- allowedAutorotateToLandscapeRight: 1
- allowedAutorotateToLandscapeLeft: 1
- useOSAutorotation: 1
- use32BitDisplayBuffer: 1
- preserveFramebufferAlpha: 0
- disableDepthAndStencilBuffers: 0
- androidStartInFullscreen: 1
- androidRenderOutsideSafeArea: 1
- androidUseSwappy: 1
- androidBlitType: 0
- androidResizableWindow: 0
- androidDefaultWindowWidth: 1920
- androidDefaultWindowHeight: 1080
- androidMinimumWindowWidth: 400
- androidMinimumWindowHeight: 300
- androidFullscreenMode: 1
- defaultIsNativeResolution: 1
- macRetinaSupport: 1
- runInBackground: 1
- captureSingleScreen: 0
- muteOtherAudioSources: 0
- Prepare IOS For Recording: 0
- Force IOS Speakers When Recording: 0
- deferSystemGesturesMode: 0
- hideHomeButton: 0
- submitAnalytics: 1
- usePlayerLog: 1
- bakeCollisionMeshes: 0
- forceSingleInstance: 0
- useFlipModelSwapchain: 1
- resizableWindow: 0
- useMacAppStoreValidation: 0
- macAppStoreCategory: public.app-category.games
- gpuSkinning: 1
- xboxPIXTextureCapture: 0
- xboxEnableAvatar: 0
- xboxEnableKinect: 0
- xboxEnableKinectAutoTracking: 0
- xboxEnableFitness: 0
- visibleInBackground: 1
- allowFullscreenSwitch: 1
- fullscreenMode: 1
- xboxSpeechDB: 0
- xboxEnableHeadOrientation: 0
- xboxEnableGuest: 0
- xboxEnablePIXSampling: 0
- metalFramebufferOnly: 0
- xboxOneResolution: 0
- xboxOneSResolution: 0
- xboxOneXResolution: 3
- xboxOneMonoLoggingLevel: 0
- xboxOneLoggingLevel: 1
- xboxOneDisableEsram: 0
- xboxOneEnableTypeOptimization: 0
- xboxOnePresentImmediateThreshold: 0
- switchQueueCommandMemory: 0
- switchQueueControlMemory: 16384
- switchQueueComputeMemory: 262144
- switchNVNShaderPoolsGranularity: 33554432
- switchNVNDefaultPoolsGranularity: 16777216
- switchNVNOtherPoolsGranularity: 16777216
- switchNVNMaxPublicTextureIDCount: 0
- switchNVNMaxPublicSamplerIDCount: 0
- stadiaPresentMode: 0
- stadiaTargetFramerate: 0
- vulkanNumSwapchainBuffers: 3
- vulkanEnableSetSRGBWrite: 0
- vulkanEnablePreTransform: 1
- vulkanEnableLateAcquireNextImage: 0
- vulkanEnableCommandBufferRecycling: 1
- m_SupportedAspectRatios:
- 4:3: 1
- 5:4: 1
- 16:10: 1
- 16:9: 1
- Others: 1
- bundleVersion: 0.1
- preloadedAssets: []
- metroInputSource: 0
- wsaTransparentSwapchain: 0
- m_HolographicPauseOnTrackingLoss: 1
- xboxOneDisableKinectGpuReservation: 1
- xboxOneEnable7thCore: 1
- vrSettings:
- enable360StereoCapture: 0
- isWsaHolographicRemotingEnabled: 0
- enableFrameTimingStats: 0
- useHDRDisplay: 0
- D3DHDRBitDepth: 0
- m_ColorGamuts: 00000000
- targetPixelDensity: 30
- resolutionScalingMode: 0
- androidSupportedAspectRatio: 1
- androidMaxAspectRatio: 2.1
- applicationIdentifier: {}
- buildNumber:
- Standalone: 0
- iPhone: 0
- tvOS: 0
- overrideDefaultApplicationIdentifier: 0
- AndroidBundleVersionCode: 1
- AndroidMinSdkVersion: 22
- AndroidTargetSdkVersion: 0
- AndroidPreferredInstallLocation: 1
- aotOptions:
- stripEngineCode: 1
- iPhoneStrippingLevel: 0
- iPhoneScriptCallOptimization: 0
- ForceInternetPermission: 0
- ForceSDCardPermission: 0
- CreateWallpaper: 0
- APKExpansionFiles: 0
- keepLoadedShadersAlive: 0
- StripUnusedMeshComponents: 1
- VertexChannelCompressionMask: 4054
- iPhoneSdkVersion: 988
- iOSTargetOSVersionString: 11.0
- tvOSSdkVersion: 0
- tvOSRequireExtendedGameController: 0
- tvOSTargetOSVersionString: 11.0
- uIPrerenderedIcon: 0
- uIRequiresPersistentWiFi: 0
- uIRequiresFullScreen: 1
- uIStatusBarHidden: 1
- uIExitOnSuspend: 0
- uIStatusBarStyle: 0
- appleTVSplashScreen: {fileID: 0}
- appleTVSplashScreen2x: {fileID: 0}
- tvOSSmallIconLayers: []
- tvOSSmallIconLayers2x: []
- tvOSLargeIconLayers: []
- tvOSLargeIconLayers2x: []
- tvOSTopShelfImageLayers: []
- tvOSTopShelfImageLayers2x: []
- tvOSTopShelfImageWideLayers: []
- tvOSTopShelfImageWideLayers2x: []
- iOSLaunchScreenType: 0
- iOSLaunchScreenPortrait: {fileID: 0}
- iOSLaunchScreenLandscape: {fileID: 0}
- iOSLaunchScreenBackgroundColor:
- serializedVersion: 2
- rgba: 0
- iOSLaunchScreenFillPct: 100
- iOSLaunchScreenSize: 100
- iOSLaunchScreenCustomXibPath:
- iOSLaunchScreeniPadType: 0
- iOSLaunchScreeniPadImage: {fileID: 0}
- iOSLaunchScreeniPadBackgroundColor:
- serializedVersion: 2
- rgba: 0
- iOSLaunchScreeniPadFillPct: 100
- iOSLaunchScreeniPadSize: 100
- iOSLaunchScreeniPadCustomXibPath:
- iOSLaunchScreenCustomStoryboardPath:
- iOSLaunchScreeniPadCustomStoryboardPath:
- iOSDeviceRequirements: []
- iOSURLSchemes: []
- macOSURLSchemes: []
- iOSBackgroundModes: 0
- iOSMetalForceHardShadows: 0
- metalEditorSupport: 1
- metalAPIValidation: 1
- iOSRenderExtraFrameOnPause: 0
- iosCopyPluginsCodeInsteadOfSymlink: 0
- appleDeveloperTeamID:
- iOSManualSigningProvisioningProfileID:
- tvOSManualSigningProvisioningProfileID:
- iOSManualSigningProvisioningProfileType: 0
- tvOSManualSigningProvisioningProfileType: 0
- appleEnableAutomaticSigning: 0
- iOSRequireARKit: 0
- iOSAutomaticallyDetectAndAddCapabilities: 1
- appleEnableProMotion: 0
- shaderPrecisionModel: 0
- clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea
- templatePackageId: com.unity.template.3d@8.1.0
- templateDefaultScene: Assets/Scenes/SampleScene.unity
- useCustomMainManifest: 0
- useCustomLauncherManifest: 0
- useCustomMainGradleTemplate: 0
- useCustomLauncherGradleManifest: 0
- useCustomBaseGradleTemplate: 0
- useCustomGradlePropertiesTemplate: 0
- useCustomProguardFile: 0
- AndroidTargetArchitectures: 1
- AndroidTargetDevices: 0
- AndroidSplashScreenScale: 0
- androidSplashScreen: {fileID: 0}
- AndroidKeystoreName:
- AndroidKeyaliasName:
- AndroidBuildApkPerCpuArchitecture: 0
- AndroidTVCompatibility: 0
- AndroidIsGame: 1
- AndroidEnableTango: 0
- androidEnableBanner: 1
- androidUseLowAccuracyLocation: 0
- androidUseCustomKeystore: 0
- m_AndroidBanners:
- - width: 320
- height: 180
- banner: {fileID: 0}
- androidGamepadSupportLevel: 0
- chromeosInputEmulation: 1
- AndroidMinifyWithR8: 0
- AndroidMinifyRelease: 0
- AndroidMinifyDebug: 0
- AndroidValidateAppBundleSize: 1
- AndroidAppBundleSizeToValidate: 150
- m_BuildTargetIcons: []
- m_BuildTargetPlatformIcons: []
- m_BuildTargetBatching:
- - m_BuildTarget: Standalone
- m_StaticBatching: 1
- m_DynamicBatching: 0
- - m_BuildTarget: tvOS
- m_StaticBatching: 1
- m_DynamicBatching: 0
- - m_BuildTarget: Android
- m_StaticBatching: 1
- m_DynamicBatching: 0
- - m_BuildTarget: iPhone
- m_StaticBatching: 1
- m_DynamicBatching: 0
- - m_BuildTarget: WebGL
- m_StaticBatching: 0
- m_DynamicBatching: 0
- m_BuildTargetGraphicsJobs:
- - m_BuildTarget: MacStandaloneSupport
- m_GraphicsJobs: 0
- - m_BuildTarget: Switch
- m_GraphicsJobs: 1
- - m_BuildTarget: MetroSupport
- m_GraphicsJobs: 1
- - m_BuildTarget: AppleTVSupport
- m_GraphicsJobs: 0
- - m_BuildTarget: BJMSupport
- m_GraphicsJobs: 1
- - m_BuildTarget: LinuxStandaloneSupport
- m_GraphicsJobs: 1
- - m_BuildTarget: PS4Player
- m_GraphicsJobs: 1
- - m_BuildTarget: iOSSupport
- m_GraphicsJobs: 0
- - m_BuildTarget: WindowsStandaloneSupport
- m_GraphicsJobs: 1
- - m_BuildTarget: XboxOnePlayer
- m_GraphicsJobs: 1
- - m_BuildTarget: LuminSupport
- m_GraphicsJobs: 0
- - m_BuildTarget: AndroidPlayer
- m_GraphicsJobs: 0
- - m_BuildTarget: WebGLSupport
- m_GraphicsJobs: 0
- m_BuildTargetGraphicsJobMode:
- - m_BuildTarget: PS4Player
- m_GraphicsJobMode: 0
- - m_BuildTarget: XboxOnePlayer
- m_GraphicsJobMode: 0
- m_BuildTargetGraphicsAPIs:
- - m_BuildTarget: AndroidPlayer
- m_APIs: 150000000b000000
- m_Automatic: 1
- - m_BuildTarget: iOSSupport
- m_APIs: 10000000
- m_Automatic: 1
- - m_BuildTarget: AppleTVSupport
- m_APIs: 10000000
- m_Automatic: 1
- - m_BuildTarget: WebGLSupport
- m_APIs: 0b000000
- m_Automatic: 1
- m_BuildTargetVRSettings:
- - m_BuildTarget: Standalone
- m_Enabled: 0
- m_Devices:
- - Oculus
- - OpenVR
- openGLRequireES31: 0
- openGLRequireES31AEP: 0
- openGLRequireES32: 0
- m_TemplateCustomTags: {}
- mobileMTRendering:
- Android: 1
- iPhone: 1
- tvOS: 1
- m_BuildTargetGroupLightmapEncodingQuality:
- - m_BuildTarget: Android
- m_EncodingQuality: 1
- - m_BuildTarget: iPhone
- m_EncodingQuality: 1
- - m_BuildTarget: tvOS
- m_EncodingQuality: 1
- m_BuildTargetGroupLightmapSettings: []
- m_BuildTargetNormalMapEncoding:
- - m_BuildTarget: Android
- m_Encoding: 1
- - m_BuildTarget: iPhone
- m_Encoding: 1
- - m_BuildTarget: tvOS
- m_Encoding: 1
- m_BuildTargetDefaultTextureCompressionFormat:
- - m_BuildTarget: Android
- m_Format: 3
- playModeTestRunnerEnabled: 0
- runPlayModeTestAsEditModeTest: 0
- actionOnDotNetUnhandledException: 1
- enableInternalProfiler: 0
- logObjCUncaughtExceptions: 1
- enableCrashReportAPI: 0
- cameraUsageDescription:
- locationUsageDescription:
- microphoneUsageDescription:
- bluetoothUsageDescription:
- switchNMETAOverride:
- switchNetLibKey:
- switchSocketMemoryPoolSize: 6144
- switchSocketAllocatorPoolSize: 128
- switchSocketConcurrencyLimit: 14
- switchScreenResolutionBehavior: 2
- switchUseCPUProfiler: 0
- switchUseGOLDLinker: 0
- switchLTOSetting: 0
- switchApplicationID: 0x01004b9000490000
- switchNSODependencies:
- switchTitleNames_0:
- switchTitleNames_1:
- switchTitleNames_2:
- switchTitleNames_3:
- switchTitleNames_4:
- switchTitleNames_5:
- switchTitleNames_6:
- switchTitleNames_7:
- switchTitleNames_8:
- switchTitleNames_9:
- switchTitleNames_10:
- switchTitleNames_11:
- switchTitleNames_12:
- switchTitleNames_13:
- switchTitleNames_14:
- switchTitleNames_15:
- switchPublisherNames_0:
- switchPublisherNames_1:
- switchPublisherNames_2:
- switchPublisherNames_3:
- switchPublisherNames_4:
- switchPublisherNames_5:
- switchPublisherNames_6:
- switchPublisherNames_7:
- switchPublisherNames_8:
- switchPublisherNames_9:
- switchPublisherNames_10:
- switchPublisherNames_11:
- switchPublisherNames_12:
- switchPublisherNames_13:
- switchPublisherNames_14:
- switchPublisherNames_15:
- switchIcons_0: {fileID: 0}
- switchIcons_1: {fileID: 0}
- switchIcons_2: {fileID: 0}
- switchIcons_3: {fileID: 0}
- switchIcons_4: {fileID: 0}
- switchIcons_5: {fileID: 0}
- switchIcons_6: {fileID: 0}
- switchIcons_7: {fileID: 0}
- switchIcons_8: {fileID: 0}
- switchIcons_9: {fileID: 0}
- switchIcons_10: {fileID: 0}
- switchIcons_11: {fileID: 0}
- switchIcons_12: {fileID: 0}
- switchIcons_13: {fileID: 0}
- switchIcons_14: {fileID: 0}
- switchIcons_15: {fileID: 0}
- switchSmallIcons_0: {fileID: 0}
- switchSmallIcons_1: {fileID: 0}
- switchSmallIcons_2: {fileID: 0}
- switchSmallIcons_3: {fileID: 0}
- switchSmallIcons_4: {fileID: 0}
- switchSmallIcons_5: {fileID: 0}
- switchSmallIcons_6: {fileID: 0}
- switchSmallIcons_7: {fileID: 0}
- switchSmallIcons_8: {fileID: 0}
- switchSmallIcons_9: {fileID: 0}
- switchSmallIcons_10: {fileID: 0}
- switchSmallIcons_11: {fileID: 0}
- switchSmallIcons_12: {fileID: 0}
- switchSmallIcons_13: {fileID: 0}
- switchSmallIcons_14: {fileID: 0}
- switchSmallIcons_15: {fileID: 0}
- switchManualHTML:
- switchAccessibleURLs:
- switchLegalInformation:
- switchMainThreadStackSize: 1048576
- switchPresenceGroupId:
- switchLogoHandling: 0
- switchReleaseVersion: 0
- switchDisplayVersion: 1.0.0
- switchStartupUserAccount: 0
- switchTouchScreenUsage: 0
- switchSupportedLanguagesMask: 0
- switchLogoType: 0
- switchApplicationErrorCodeCategory:
- switchUserAccountSaveDataSize: 0
- switchUserAccountSaveDataJournalSize: 0
- switchApplicationAttribute: 0
- switchCardSpecSize: -1
- switchCardSpecClock: -1
- switchRatingsMask: 0
- switchRatingsInt_0: 0
- switchRatingsInt_1: 0
- switchRatingsInt_2: 0
- switchRatingsInt_3: 0
- switchRatingsInt_4: 0
- switchRatingsInt_5: 0
- switchRatingsInt_6: 0
- switchRatingsInt_7: 0
- switchRatingsInt_8: 0
- switchRatingsInt_9: 0
- switchRatingsInt_10: 0
- switchRatingsInt_11: 0
- switchRatingsInt_12: 0
- switchLocalCommunicationIds_0:
- switchLocalCommunicationIds_1:
- switchLocalCommunicationIds_2:
- switchLocalCommunicationIds_3:
- switchLocalCommunicationIds_4:
- switchLocalCommunicationIds_5:
- switchLocalCommunicationIds_6:
- switchLocalCommunicationIds_7:
- switchParentalControl: 0
- switchAllowsScreenshot: 1
- switchAllowsVideoCapturing: 1
- switchAllowsRuntimeAddOnContentInstall: 0
- switchDataLossConfirmation: 0
- switchUserAccountLockEnabled: 0
- switchSystemResourceMemory: 16777216
- switchSupportedNpadStyles: 22
- switchNativeFsCacheSize: 32
- switchIsHoldTypeHorizontal: 0
- switchSupportedNpadCount: 8
- switchSocketConfigEnabled: 0
- switchTcpInitialSendBufferSize: 32
- switchTcpInitialReceiveBufferSize: 64
- switchTcpAutoSendBufferSizeMax: 256
- switchTcpAutoReceiveBufferSizeMax: 256
- switchUdpSendBufferSize: 9
- switchUdpReceiveBufferSize: 42
- switchSocketBufferEfficiency: 4
- switchSocketInitializeEnabled: 1
- switchNetworkInterfaceManagerInitializeEnabled: 1
- switchPlayerConnectionEnabled: 1
- switchUseNewStyleFilepaths: 0
- switchUseMicroSleepForYield: 1
- switchEnableRamDiskSupport: 0
- switchMicroSleepForYieldTime: 25
- switchRamDiskSpaceSize: 12
- ps4NPAgeRating: 12
- ps4NPTitleSecret:
- ps4NPTrophyPackPath:
- ps4ParentalLevel: 11
- ps4ContentID: ED1633-NPXX51362_00-0000000000000000
- ps4Category: 0
- ps4MasterVersion: 01.00
- ps4AppVersion: 01.00
- ps4AppType: 0
- ps4ParamSfxPath:
- ps4VideoOutPixelFormat: 0
- ps4VideoOutInitialWidth: 1920
- ps4VideoOutBaseModeInitialWidth: 1920
- ps4VideoOutReprojectionRate: 60
- ps4PronunciationXMLPath:
- ps4PronunciationSIGPath:
- ps4BackgroundImagePath:
- ps4StartupImagePath:
- ps4StartupImagesFolder:
- ps4IconImagesFolder:
- ps4SaveDataImagePath:
- ps4SdkOverride:
- ps4BGMPath:
- ps4ShareFilePath:
- ps4ShareOverlayImagePath:
- ps4PrivacyGuardImagePath:
- ps4ExtraSceSysFile:
- ps4NPtitleDatPath:
- ps4RemotePlayKeyAssignment: -1
- ps4RemotePlayKeyMappingDir:
- ps4PlayTogetherPlayerCount: 0
- ps4EnterButtonAssignment: 1
- ps4ApplicationParam1: 0
- ps4ApplicationParam2: 0
- ps4ApplicationParam3: 0
- ps4ApplicationParam4: 0
- ps4DownloadDataSize: 0
- ps4GarlicHeapSize: 2048
- ps4ProGarlicHeapSize: 2560
- playerPrefsMaxSize: 32768
- ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
- ps4pnSessions: 1
- ps4pnPresence: 1
- ps4pnFriends: 1
- ps4pnGameCustomData: 1
- playerPrefsSupport: 0
- enableApplicationExit: 0
- resetTempFolder: 1
- restrictedAudioUsageRights: 0
- ps4UseResolutionFallback: 0
- ps4ReprojectionSupport: 0
- ps4UseAudio3dBackend: 0
- ps4UseLowGarlicFragmentationMode: 1
- ps4SocialScreenEnabled: 0
- ps4ScriptOptimizationLevel: 0
- ps4Audio3dVirtualSpeakerCount: 14
- ps4attribCpuUsage: 0
- ps4PatchPkgPath:
- ps4PatchLatestPkgPath:
- ps4PatchChangeinfoPath:
- ps4PatchDayOne: 0
- ps4attribUserManagement: 0
- ps4attribMoveSupport: 0
- ps4attrib3DSupport: 0
- ps4attribShareSupport: 0
- ps4attribExclusiveVR: 0
- ps4disableAutoHideSplash: 0
- ps4videoRecordingFeaturesUsed: 0
- ps4contentSearchFeaturesUsed: 0
- ps4CompatibilityPS5: 0
- ps4GPU800MHz: 1
- ps4attribEyeToEyeDistanceSettingVR: 0
- ps4IncludedModules: []
- ps4attribVROutputEnabled: 0
- monoEnv:
- splashScreenBackgroundSourceLandscape: {fileID: 0}
- splashScreenBackgroundSourcePortrait: {fileID: 0}
- blurSplashScreenBackground: 1
- spritePackerPolicy:
- webGLMemorySize: 16
- webGLExceptionSupport: 1
- webGLNameFilesAsHashes: 0
- webGLDataCaching: 1
- webGLDebugSymbols: 0
- webGLEmscriptenArgs:
- webGLModulesDirectory:
- webGLTemplate: APPLICATION:Default
- webGLAnalyzeBuildSize: 0
- webGLUseEmbeddedResources: 0
- webGLCompressionFormat: 1
- webGLWasmArithmeticExceptions: 0
- webGLLinkerTarget: 1
- webGLThreadsSupport: 0
- webGLDecompressionFallback: 0
- scriptingDefineSymbols: {}
- additionalCompilerArguments: {}
- platformArchitecture: {}
- scriptingBackend: {}
- il2cppCompilerConfiguration: {}
- managedStrippingLevel: {}
- incrementalIl2cppBuild: {}
- suppressCommonWarnings: 1
- allowUnsafeCode: 0
- useDeterministicCompilation: 1
- enableRoslynAnalyzers: 1
- additionalIl2CppArgs:
- scriptingRuntimeVersion: 1
- gcIncremental: 1
- assemblyVersionValidation: 1
- gcWBarrierValidation: 0
- apiCompatibilityLevelPerPlatform: {}
- m_RenderingPath: 1
- m_MobileRenderingPath: 1
- metroPackageName: Template_3D
- metroPackageVersion:
- metroCertificatePath:
- metroCertificatePassword:
- metroCertificateSubject:
- metroCertificateIssuer:
- metroCertificateNotAfter: 0000000000000000
- metroApplicationDescription: Template_3D
- wsaImages: {}
- metroTileShortName:
- metroTileShowName: 0
- metroMediumTileShowName: 0
- metroLargeTileShowName: 0
- metroWideTileShowName: 0
- metroSupportStreamingInstall: 0
- metroLastRequiredScene: 0
- metroDefaultTileSize: 1
- metroTileForegroundText: 2
- metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
- metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1}
- metroSplashScreenUseBackgroundColor: 0
- platformCapabilities: {}
- metroTargetDeviceFamilies: {}
- metroFTAName:
- metroFTAFileTypes: []
- metroProtocolName:
- vcxProjDefaultLanguage:
- XboxOneProductId:
- XboxOneUpdateKey:
- XboxOneSandboxId:
- XboxOneContentId:
- XboxOneTitleId:
- XboxOneSCId:
- XboxOneGameOsOverridePath:
- XboxOnePackagingOverridePath:
- XboxOneAppManifestOverridePath:
- XboxOneVersion: 1.0.0.0
- XboxOnePackageEncryption: 0
- XboxOnePackageUpdateGranularity: 2
- XboxOneDescription:
- XboxOneLanguage:
- - enus
- XboxOneCapability: []
- XboxOneGameRating: {}
- XboxOneIsContentPackage: 0
- XboxOneEnhancedXboxCompatibilityMode: 0
- XboxOneEnableGPUVariability: 1
- XboxOneSockets: {}
- XboxOneSplashScreen: {fileID: 0}
- XboxOneAllowedProductIds: []
- XboxOnePersistentLocalStorageSize: 0
- XboxOneXTitleMemory: 8
- XboxOneOverrideIdentityName:
- XboxOneOverrideIdentityPublisher:
- vrEditorSettings: {}
- cloudServicesEnabled:
- UNet: 1
- luminIcon:
- m_Name:
- m_ModelFolderPath:
- m_PortalFolderPath:
- luminCert:
- m_CertPath:
- m_SignPackage: 1
- luminIsChannelApp: 0
- luminVersion:
- m_VersionCode: 1
- m_VersionName:
- apiCompatibilityLevel: 6
- activeInputHandler: 0
- cloudProjectId:
- framebufferDepthMemorylessMode: 0
- qualitySettingsNames: []
- projectName:
- organizationId:
- cloudEnabled: 0
- legacyClampBlendShapeWeights: 0
- playerDataPath:
- forceSRGBBlit: 1
- virtualTexturingSupportEnabled: 0
diff --git a/X10D.Unity.Tests/ProjectSettings/ProjectVersion.txt b/X10D.Unity.Tests/ProjectSettings/ProjectVersion.txt
deleted file mode 100644
index f8251a7..0000000
--- a/X10D.Unity.Tests/ProjectSettings/ProjectVersion.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-m_EditorVersion: 2021.3.22f1
-m_EditorVersionWithRevision: 2021.3.22f1 (b6c551784ba3)
diff --git a/X10D.Unity.Tests/ProjectSettings/QualitySettings.asset b/X10D.Unity.Tests/ProjectSettings/QualitySettings.asset
deleted file mode 100644
index 7b7658d..0000000
--- a/X10D.Unity.Tests/ProjectSettings/QualitySettings.asset
+++ /dev/null
@@ -1,232 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!47 &1
-QualitySettings:
- m_ObjectHideFlags: 0
- serializedVersion: 5
- m_CurrentQuality: 5
- m_QualitySettings:
- - serializedVersion: 2
- name: Very Low
- pixelLightCount: 0
- shadows: 0
- shadowResolution: 0
- shadowProjection: 1
- shadowCascades: 1
- shadowDistance: 15
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 0
- blendWeights: 1
- textureQuality: 1
- anisotropicTextures: 0
- antiAliasing: 0
- softParticles: 0
- softVegetation: 0
- realtimeReflectionProbes: 0
- billboardsFaceCameraPosition: 0
- vSyncCount: 0
- lodBias: 0.3
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 4
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: Low
- pixelLightCount: 0
- shadows: 0
- shadowResolution: 0
- shadowProjection: 1
- shadowCascades: 1
- shadowDistance: 20
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 0
- blendWeights: 2
- textureQuality: 0
- anisotropicTextures: 0
- antiAliasing: 0
- softParticles: 0
- softVegetation: 0
- realtimeReflectionProbes: 0
- billboardsFaceCameraPosition: 0
- vSyncCount: 0
- lodBias: 0.4
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 16
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: Medium
- pixelLightCount: 1
- shadows: 1
- shadowResolution: 0
- shadowProjection: 1
- shadowCascades: 1
- shadowDistance: 20
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 0
- blendWeights: 2
- textureQuality: 0
- anisotropicTextures: 1
- antiAliasing: 0
- softParticles: 0
- softVegetation: 0
- realtimeReflectionProbes: 0
- billboardsFaceCameraPosition: 0
- vSyncCount: 1
- lodBias: 0.7
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 64
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: High
- pixelLightCount: 2
- shadows: 2
- shadowResolution: 1
- shadowProjection: 1
- shadowCascades: 2
- shadowDistance: 40
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 1
- blendWeights: 2
- textureQuality: 0
- anisotropicTextures: 1
- antiAliasing: 0
- softParticles: 0
- softVegetation: 1
- realtimeReflectionProbes: 1
- billboardsFaceCameraPosition: 1
- vSyncCount: 1
- lodBias: 1
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 256
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: Very High
- pixelLightCount: 3
- shadows: 2
- shadowResolution: 2
- shadowProjection: 1
- shadowCascades: 2
- shadowDistance: 70
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 1
- blendWeights: 4
- textureQuality: 0
- anisotropicTextures: 2
- antiAliasing: 2
- softParticles: 1
- softVegetation: 1
- realtimeReflectionProbes: 1
- billboardsFaceCameraPosition: 1
- vSyncCount: 1
- lodBias: 1.5
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 1024
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- excludedTargetPlatforms: []
- - serializedVersion: 2
- name: Ultra
- pixelLightCount: 4
- shadows: 2
- shadowResolution: 2
- shadowProjection: 1
- shadowCascades: 4
- shadowDistance: 150
- shadowNearPlaneOffset: 3
- shadowCascade2Split: 0.33333334
- shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
- shadowmaskMode: 1
- blendWeights: 4
- textureQuality: 0
- anisotropicTextures: 2
- antiAliasing: 2
- softParticles: 1
- softVegetation: 1
- realtimeReflectionProbes: 1
- billboardsFaceCameraPosition: 1
- vSyncCount: 1
- lodBias: 2
- maximumLODLevel: 0
- streamingMipmapsActive: 0
- streamingMipmapsAddAllCameras: 1
- streamingMipmapsMemoryBudget: 512
- streamingMipmapsRenderersPerFrame: 512
- streamingMipmapsMaxLevelReduction: 2
- streamingMipmapsMaxFileIORequests: 1024
- particleRaycastBudget: 4096
- asyncUploadTimeSlice: 2
- asyncUploadBufferSize: 16
- asyncUploadPersistentBuffer: 1
- resolutionScalingFixedDPIFactor: 1
- excludedTargetPlatforms: []
- m_PerPlatformDefaultQuality:
- Android: 2
- Lumin: 5
- Nintendo 3DS: 5
- Nintendo Switch: 5
- PS4: 5
- PSP2: 2
- Stadia: 5
- Standalone: 5
- WebGL: 3
- Windows Store Apps: 5
- XboxOne: 5
- iPhone: 2
- tvOS: 2
diff --git a/X10D.Unity.Tests/ProjectSettings/RiderScriptEditorPersistedState.asset b/X10D.Unity.Tests/ProjectSettings/RiderScriptEditorPersistedState.asset
deleted file mode 100644
index 9f5ce87..0000000
--- a/X10D.Unity.Tests/ProjectSettings/RiderScriptEditorPersistedState.asset
+++ /dev/null
@@ -1,15 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!114 &1
-MonoBehaviour:
- m_ObjectHideFlags: 61
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 0}
- m_Name:
- m_EditorClassIdentifier: Unity.Rider.Editor:Packages.Rider.Editor:RiderScriptEditorPersistedState
- lastWriteTicks: -8585496032972088364
diff --git a/X10D.Unity.Tests/ProjectSettings/SceneTemplateSettings.json b/X10D.Unity.Tests/ProjectSettings/SceneTemplateSettings.json
deleted file mode 100644
index 6f3e60f..0000000
--- a/X10D.Unity.Tests/ProjectSettings/SceneTemplateSettings.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "templatePinStates": [],
- "dependencyTypeInfos": [
- {
- "userAdded": false,
- "type": "UnityEngine.AnimationClip",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.Animations.AnimatorController",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.AnimatorOverrideController",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.Audio.AudioMixerController",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.ComputeShader",
- "ignore": true,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Cubemap",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.GameObject",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.LightingDataAsset",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": false
- },
- {
- "userAdded": false,
- "type": "UnityEngine.LightingSettings",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Material",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.MonoScript",
- "ignore": true,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.PhysicMaterial",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.PhysicsMaterial2D",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Rendering.VolumeProfile",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEditor.SceneAsset",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": false
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Shader",
- "ignore": true,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.ShaderVariantCollection",
- "ignore": true,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Texture",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Texture2D",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- },
- {
- "userAdded": false,
- "type": "UnityEngine.Timeline.TimelineAsset",
- "ignore": false,
- "defaultInstantiationMode": 0,
- "supportsModification": true
- }
- ],
- "defaultDependencyTypeInfo": {
- "userAdded": false,
- "type": "",
- "ignore": false,
- "defaultInstantiationMode": 1,
- "supportsModification": true
- },
- "newSceneOverride": 0
-}
\ No newline at end of file
diff --git a/X10D.Unity.Tests/ProjectSettings/TagManager.asset b/X10D.Unity.Tests/ProjectSettings/TagManager.asset
deleted file mode 100644
index 1c92a78..0000000
--- a/X10D.Unity.Tests/ProjectSettings/TagManager.asset
+++ /dev/null
@@ -1,43 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!78 &1
-TagManager:
- serializedVersion: 2
- tags: []
- layers:
- - Default
- - TransparentFX
- - Ignore Raycast
- -
- - Water
- - UI
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- m_SortingLayers:
- - name: Default
- uniqueID: 0
- locked: 0
diff --git a/X10D.Unity.Tests/ProjectSettings/TimeManager.asset b/X10D.Unity.Tests/ProjectSettings/TimeManager.asset
deleted file mode 100644
index 558a017..0000000
--- a/X10D.Unity.Tests/ProjectSettings/TimeManager.asset
+++ /dev/null
@@ -1,9 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!5 &1
-TimeManager:
- m_ObjectHideFlags: 0
- Fixed Timestep: 0.02
- Maximum Allowed Timestep: 0.33333334
- m_TimeScale: 1
- Maximum Particle Timestep: 0.03
diff --git a/X10D.Unity.Tests/ProjectSettings/UnityConnectSettings.asset b/X10D.Unity.Tests/ProjectSettings/UnityConnectSettings.asset
deleted file mode 100644
index 6125b30..0000000
--- a/X10D.Unity.Tests/ProjectSettings/UnityConnectSettings.asset
+++ /dev/null
@@ -1,35 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!310 &1
-UnityConnectSettings:
- m_ObjectHideFlags: 0
- serializedVersion: 1
- m_Enabled: 0
- m_TestMode: 0
- m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
- m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
- m_ConfigUrl: https://config.uca.cloud.unity3d.com
- m_DashboardUrl: https://dashboard.unity3d.com
- m_TestInitMode: 0
- CrashReportingSettings:
- m_EventUrl: https://perf-events.cloud.unity3d.com
- m_Enabled: 0
- m_LogBufferSize: 10
- m_CaptureEditorExceptions: 1
- UnityPurchasingSettings:
- m_Enabled: 0
- m_TestMode: 0
- UnityAnalyticsSettings:
- m_Enabled: 0
- m_TestMode: 0
- m_InitializeOnStartup: 1
- UnityAdsSettings:
- m_Enabled: 0
- m_InitializeOnStartup: 1
- m_TestMode: 0
- m_IosGameId:
- m_AndroidGameId:
- m_GameIds: {}
- m_GameId:
- PerformanceReportingSettings:
- m_Enabled: 0
diff --git a/X10D.Unity.Tests/ProjectSettings/VFXManager.asset b/X10D.Unity.Tests/ProjectSettings/VFXManager.asset
deleted file mode 100644
index 3a95c98..0000000
--- a/X10D.Unity.Tests/ProjectSettings/VFXManager.asset
+++ /dev/null
@@ -1,12 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!937362698 &1
-VFXManager:
- m_ObjectHideFlags: 0
- m_IndirectShader: {fileID: 0}
- m_CopyBufferShader: {fileID: 0}
- m_SortShader: {fileID: 0}
- m_StripUpdateShader: {fileID: 0}
- m_RenderPipeSettingsPath:
- m_FixedTimeStep: 0.016666668
- m_MaxDeltaTime: 0.05
diff --git a/X10D.Unity.Tests/ProjectSettings/VersionControlSettings.asset b/X10D.Unity.Tests/ProjectSettings/VersionControlSettings.asset
deleted file mode 100644
index dca2881..0000000
--- a/X10D.Unity.Tests/ProjectSettings/VersionControlSettings.asset
+++ /dev/null
@@ -1,8 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!890905787 &1
-VersionControlSettings:
- m_ObjectHideFlags: 0
- m_Mode: Visible Meta Files
- m_CollabEditorSettings:
- inProgressEnabled: 1
diff --git a/X10D.Unity.Tests/ProjectSettings/XRSettings.asset b/X10D.Unity.Tests/ProjectSettings/XRSettings.asset
deleted file mode 100644
index 482590c..0000000
--- a/X10D.Unity.Tests/ProjectSettings/XRSettings.asset
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "m_SettingKeys": [
- "VR Device Disabled",
- "VR Device User Alert"
- ],
- "m_SettingValues": [
- "False",
- "False"
- ]
-}
\ No newline at end of file
diff --git a/X10D.Unity.Tests/ProjectSettings/boot.config b/X10D.Unity.Tests/ProjectSettings/boot.config
deleted file mode 100644
index e69de29..0000000
diff --git a/X10D.Unity/README.md b/X10D.Unity/README.md
deleted file mode 100644
index 105de43..0000000
--- a/X10D.Unity/README.md
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-### About
-X10D (pronounced *extend*), is a .NET package that provides extension methods for numerous types. The purpose of this library is to simplify a codebase by reducing the need for repeated code when performing common operations. Simplify your codebase. Take advantage of .NET. Use extension methods.
-
-*(I'm also [dogfooding](https://www.pcmag.com/encyclopedia/term/dogfooding) this library, so there's that.)*
-
-
-### Preface
-Parity with the main branch of X10D, and full .NET feature support, is planned. Unity plan to add CoreCLR and native NuGet support in the future, but no timeline is available.
-For more information, see [this forum post](https://forum.unity.com/threads/unity-future-net-development-status.1092205/).
-
-## Installation
-You must be using Unity 2021.3 LTS or later to add this package.
-### Using the Unity Package Manager (UPM)
-To install X10D in Unity, follow the steps blow:
-1. Navigate to the [Package Manager window](https://docs.unity3d.com/Manual/upm-ui.html), under `Window > Package Manager`
-2. Hit the `+` icon and select `Add package from git URL...`
-3. Enter the following URL: https://github.com/oliverbooth/X10D.git#upm and hit the Add button
-4. Profit!
-
-The [upm](https://github.com/oliverbooth/X10D/tree/upm) branch contains the latest nightly - that is the bleeding edge version of X10D.
-If you'd like to remain on a stable release, specify a commit hash after the `#` instead of `upm`.
-The latest current stable is 3.3.1, which is commit [0bb35bb565fff170a3848acdffbb5d53087de64b](https://github.com/oliverbooth/X10D/commit/0bb35bb565fff170a3848acdffbb5d53087de64b).
-Keep in mind that referencing a specific commit rather than the `upm` branch will prevent the auto-updater in Unity from detecting new versions.
-
-## Contributing
-Contributions are welcome. See [CONTRIBUTING.md](../CONTRIBUTING.md).
-
-## License
-X10D is released under the MIT License. See [here](https://github.com/oliverbooth/X10D/blob/main/LICENSE.md) for more details.
diff --git a/X10D.Unity/X10D.Unity.csproj b/X10D.Unity/X10D.Unity.csproj
deleted file mode 100644
index e1ac766..0000000
--- a/X10D.Unity/X10D.Unity.csproj
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- netstandard2.1
- $(NoWarn);NU1701
-
-
-
-
-
-
-
-
-
-
-
-
- ResXFileCodeGenerator
- ExceptionMessages.Designer.cs
-
-
-
-
-
- True
- True
- ExceptionMessages.resx
-
-
-
-
diff --git a/X10D.Unity/X10D.Unity.csproj.DotSettings b/X10D.Unity/X10D.Unity.csproj.DotSettings
deleted file mode 100644
index cc2d8d0..0000000
--- a/X10D.Unity/X10D.Unity.csproj.DotSettings
+++ /dev/null
@@ -1,2 +0,0 @@
-
- True
\ No newline at end of file
diff --git a/X10D.Unity/branding_Unity.png b/X10D.Unity/branding_Unity.png
deleted file mode 100644
index c46d202..0000000
Binary files a/X10D.Unity/branding_Unity.png and /dev/null differ
diff --git a/X10D.Unity/src/Assembly.cs b/X10D.Unity/src/Assembly.cs
deleted file mode 100644
index 4e11466..0000000
--- a/X10D.Unity/src/Assembly.cs
+++ /dev/null
@@ -1 +0,0 @@
-[assembly: CLSCompliant(false)]
diff --git a/X10D.Unity/src/ComponentExtensions.cs b/X10D.Unity/src/ComponentExtensions.cs
deleted file mode 100644
index 01d0a27..0000000
--- a/X10D.Unity/src/ComponentExtensions.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using UnityEngine;
-
-namespace X10D.Unity;
-
-///
-/// Extension methods for .
-///
-public static class ComponentExtensions
-{
- ///
- /// Returns an array of components of the specified type, excluding components that live on the object to which this
- /// component is attached.
- ///
- /// The component whose child components to retrieve.
- /// The type of the components to retrieve.
- /// An array representing the child components.
- /// is .
- public static T[] GetComponentsInChildrenOnly(this Component component)
- {
- if (component == null)
- {
- throw new ArgumentNullException(nameof(component));
- }
-
- return component.gameObject.GetComponentsInChildrenOnly();
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.Circle.cs b/X10D.Unity/src/DebugUtility/DebugUtility.Circle.cs
deleted file mode 100644
index e5c6cb4..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.Circle.cs
+++ /dev/null
@@ -1,333 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Numerics;
-using X10D.Unity.Numerics;
-using Quaternion = System.Numerics.Quaternion;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws a circle with the specified color.
- ///
- /// The center point of the circle.
- /// The radius of the circle.
- /// The number of segments to generate.
- public static void DrawCircle(Vector2 center, float radius, int segments)
- {
- DrawCircle(center, radius, segments, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color.
- ///
- /// The center point of the circle.
- /// The radius of the circle.
- /// The number of segments to generate.
- /// The color of the circle.
- public static void DrawCircle(Vector2 center, float radius, int segments, in Color color)
- {
- DrawCircle(center, radius, segments, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color and duration.
- ///
- /// The center point of the circle.
- /// The radius of the circle.
- /// The number of segments to generate.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- public static void DrawCircle(Vector2 center, float radius, int segments, in Color color, float duration)
- {
- DrawCircle(center, radius, segments, Vector2.zero, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color and duration.
- ///
- /// The center point of the circle.
- /// The radius of the circle.
- /// The number of segments to generate.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the circle be obscured by objects closer to the camera.
- ///
- public static void DrawCircle(Vector2 center, float radius, int segments, in Color color, float duration, bool depthTest)
- {
- DrawCircle(center, radius, segments, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws a circle.
- ///
- /// The center point of the circle.
- /// The radius of the circle.
- /// The number of segments to generate.
- /// The drawing offset of the circle.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the circle be obscured by objects closer to the camera.
- ///
- public static void DrawCircle(Vector2 center, float radius, int segments, in Vector3 offset, in Color color, float duration,
- bool depthTest)
- {
- DrawCircle(new CircleF(center.ToSystemVector(), radius), segments, offset, color, duration, depthTest);
- }
-
- ///
- /// Draws a circle with the specified color.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- public static void DrawCircle(in Circle circle, int segments)
- {
- DrawCircle((CircleF)circle, segments, Vector2.zero, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The drawing offset of the circle.
- public static void DrawCircle(in Circle circle, int segments, in Vector3 offset)
- {
- DrawCircle((CircleF)circle, segments, offset, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The color of the circle.
- public static void DrawCircle(in Circle circle, int segments, in Color color)
- {
- DrawCircle((CircleF)circle, segments, Vector2.zero, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The drawing offset of the circle.
- /// The color of the circle.
- public static void DrawCircle(in Circle circle, int segments, in Vector3 offset, in Color color)
- {
- DrawCircle((CircleF)circle, segments, offset, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color and duration.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- public static void DrawCircle(in Circle circle, int segments, in Color color, float duration)
- {
- DrawCircle((CircleF)circle, segments, Vector2.zero, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color and duration.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The drawing offset of the circle.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- public static void DrawCircle(in Circle circle, int segments, in Vector3 offset, in Color color, float duration)
- {
- DrawCircle((CircleF)circle, segments, offset, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color and duration.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the circle be obscured by objects closer to the camera.
- ///
- public static void DrawCircle(in Circle circle, int segments, in Color color, float duration, bool depthTest)
- {
- DrawCircle((CircleF)circle, segments, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws a circle.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The drawing offset of the circle.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the circle be obscured by objects closer to the camera.
- ///
- public static void DrawCircle(in Circle circle, int segments, in Vector3 offset, in Color color, float duration,
- bool depthTest)
- {
- DrawCircle((CircleF)circle, segments, offset, color, duration, depthTest);
- }
-
- ///
- /// Draws a circle with the specified color.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- public static void DrawCircle(in CircleF circle, int segments)
- {
- DrawCircle(circle, segments, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The drawing offset of the circle.
- public static void DrawCircle(in CircleF circle, int segments, in Vector3 offset)
- {
- DrawCircle(circle, segments, offset, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The color of the circle.
- public static void DrawCircle(in CircleF circle, int segments, in Color color)
- {
- DrawCircle(circle, segments, Vector2.zero, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The drawing offset of the circle.
- /// The color of the circle.
- public static void DrawCircle(in CircleF circle, int segments, in Vector3 offset, in Color color)
- {
- DrawCircle(circle, segments, offset, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color and duration.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- public static void DrawCircle(in CircleF circle, int segments, in Color color, float duration)
- {
- DrawCircle(circle, segments, Vector2.zero, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color and duration.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The drawing offset of the circle.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- public static void DrawCircle(in CircleF circle, int segments, in Vector3 offset, in Color color, float duration)
- {
- DrawCircle(circle, segments, offset, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a circle with the specified color and duration.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the circle be obscured by objects closer to the camera.
- ///
- public static void DrawCircle(in CircleF circle, int segments, in Color color, float duration, bool depthTest)
- {
- DrawCircle(circle, segments, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws a circle.
- ///
- /// The circle to draw.
- /// The number of segments to generate.
- /// The drawing offset of the circle.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the circle be obscured by objects closer to the camera.
- ///
- public static void DrawCircle(in CircleF circle, int segments, in Vector3 offset, in Color color, float duration,
- bool depthTest)
- {
- DrawPolyhedron(CreateCircle(circle.Radius, segments, Vector3.zero), offset, color, duration, depthTest);
- }
-
- private static Polyhedron CreateCircle(float radius, int segments, in Vector3 axis)
- {
- const float max = 2.0f * MathF.PI;
- float step = max / segments;
-
- var points = new List();
- for (var theta = 0f; theta < max; theta += step)
- {
- float x = radius * MathF.Cos(theta);
- float y = radius * MathF.Sin(theta);
- var vector = new System.Numerics.Vector3(x, y, 0);
-
- if (axis != Vector3.zero)
- {
- vector = Quaternion.CreateFromAxisAngle(axis.ToSystemVector(), MathF.PI / 2.0f).Multiply(vector);
- }
-
- points.Add(vector);
- }
-
- return new Polyhedron(points);
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.Ellipse.cs b/X10D.Unity/src/DebugUtility/DebugUtility.Ellipse.cs
deleted file mode 100644
index a4994f6..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.Ellipse.cs
+++ /dev/null
@@ -1,406 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The center point of the ellipse.
- /// The radius of the ellipse.
- /// The number of segments to generate.
- public static void DrawEllipse(Vector2 center, Vector2 radius, int segments)
- {
- DrawEllipse(center, radius.x, radius.y, segments, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The center point of the ellipse.
- /// The radius of the ellipse.
- /// The number of segments to generate.
- /// The color of the ellipse.
- public static void DrawEllipse(Vector2 center, Vector2 radius, int segments, in Color color)
- {
- DrawEllipse(center, radius.x, radius.y, segments, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The center point of the ellipse.
- /// The radius of the ellipse.
- /// The number of segments to generate.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- public static void DrawEllipse(Vector2 center, Vector2 radius, int segments, in Color color, float duration)
- {
- DrawEllipse(center, radius.x, radius.y, segments, Vector2.zero, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The center point of the ellipse.
- /// The radius of the ellipse.
- /// The number of segments to generate.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the ellipse be obscured by objects closer to the camera.
- ///
- public static void DrawEllipse(Vector2 center, Vector2 radius, int segments, in Color color, float duration, bool depthTest)
- {
- DrawEllipse(center, radius.x, radius.y, segments, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws an ellipse.
- ///
- /// The center point of the ellipse.
- /// The radius of the ellipse.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the ellipse be obscured by objects closer to the camera.
- ///
- public static void DrawEllipse(Vector2 center, Vector2 radius, int segments, Vector2 offset, in Color color, float duration,
- bool depthTest)
- {
- DrawEllipse(new EllipseF(center.x, center.y, radius.x, radius.y), segments, offset, color, duration, depthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The center point of the ellipse.
- /// The horizontal radius of the ellipse.
- /// The vertical radius of the ellipse.
- /// The number of segments to generate.
- public static void DrawEllipse(Vector2 center, float radiusX, float radiusY, int segments)
- {
- DrawEllipse(center, radiusX, radiusY, segments, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The center point of the ellipse.
- /// The horizontal radius of the ellipse.
- /// The vertical radius of the ellipse.
- /// The number of segments to generate.
- /// The color of the ellipse.
- public static void DrawEllipse(Vector2 center, float radiusX, float radiusY, int segments, in Color color)
- {
- DrawEllipse(center, radiusX, radiusY, segments, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The center point of the ellipse.
- /// The horizontal radius of the ellipse.
- /// The vertical radius of the ellipse.
- /// The number of segments to generate.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- public static void DrawEllipse(Vector2 center, float radiusX, float radiusY, int segments, in Color color, float duration)
- {
- DrawEllipse(center, radiusX, radiusY, segments, Vector2.zero, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The center point of the ellipse.
- /// The horizontal radius of the ellipse.
- /// The vertical radius of the ellipse.
- /// The number of segments to generate.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the ellipse be obscured by objects closer to the camera.
- ///
- public static void DrawEllipse(Vector2 center, float radiusX, float radiusY, int segments, in Color color, float duration,
- bool depthTest)
- {
- DrawEllipse(center, radiusX, radiusY, segments, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws an ellipse.
- ///
- /// The center point of the ellipse.
- /// The horizontal radius of the ellipse.
- /// The vertical radius of the ellipse.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the ellipse be obscured by objects closer to the camera.
- ///
- public static void DrawEllipse(Vector2 center, float radiusX, float radiusY, int segments, Vector2 offset, in Color color,
- float duration, bool depthTest)
- {
- DrawEllipse(new EllipseF(center.x, center.y, radiusX, radiusY), segments, offset, color, duration, depthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- public static void DrawEllipse(Ellipse ellipse, int segments)
- {
- DrawEllipse((EllipseF)ellipse, segments, Vector2.zero, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- public static void DrawEllipse(Ellipse ellipse, int segments, Vector2 offset)
- {
- DrawEllipse((EllipseF)ellipse, segments, offset, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The color of the ellipse.
- public static void DrawEllipse(Ellipse ellipse, int segments, in Color color)
- {
- DrawEllipse((EllipseF)ellipse, segments, Vector2.zero, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- /// The color of the ellipse.
- public static void DrawEllipse(Ellipse ellipse, int segments, Vector2 offset, in Color color)
- {
- DrawEllipse((EllipseF)ellipse, segments, offset, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- public static void DrawEllipse(Ellipse ellipse, int segments, in Color color, float duration)
- {
- DrawEllipse((EllipseF)ellipse, segments, Vector2.zero, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- public static void DrawEllipse(Ellipse ellipse, int segments, Vector2 offset, in Color color, float duration)
- {
- DrawEllipse((EllipseF)ellipse, segments, offset, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the ellipse be obscured by objects closer to the camera.
- ///
- public static void DrawEllipse(Ellipse ellipse, int segments, in Color color, float duration, bool depthTest)
- {
- DrawEllipse((EllipseF)ellipse, segments, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws an ellipse.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the ellipse be obscured by objects closer to the camera.
- ///
- public static void DrawEllipse(Ellipse ellipse, int segments, Vector2 offset, in Color color, float duration, bool depthTest)
- {
- DrawEllipse((EllipseF)ellipse, segments, offset, color, duration, depthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- public static void DrawEllipse(EllipseF ellipse, int segments)
- {
- DrawEllipse(ellipse, segments, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- public static void DrawEllipse(EllipseF ellipse, int segments, Vector2 offset)
- {
- DrawEllipse(ellipse, segments, offset, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The color of the ellipse.
- public static void DrawEllipse(EllipseF ellipse, int segments, in Color color)
- {
- DrawEllipse(ellipse, segments, Vector2.zero, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- /// The color of the ellipse.
- public static void DrawEllipse(EllipseF ellipse, int segments, Vector2 offset, in Color color)
- {
- DrawEllipse(ellipse, segments, offset, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- public static void DrawEllipse(EllipseF ellipse, int segments, in Color color, float duration)
- {
- DrawEllipse(ellipse, segments, Vector2.zero, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- public static void DrawEllipse(EllipseF ellipse, int segments, Vector2 offset, in Color color, float duration)
- {
- DrawEllipse(ellipse, segments, offset, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws an ellipse with the specified color and duration.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the ellipse be obscured by objects closer to the camera.
- ///
- public static void DrawEllipse(EllipseF ellipse, int segments, in Color color, float duration, bool depthTest)
- {
- DrawEllipse(ellipse, segments, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws an ellipse.
- ///
- /// The ellipse to draw.
- /// The number of segments to generate.
- /// The drawing offset of the ellipse.
- /// The color of the ellipse.
- ///
- /// The duration of the ellipse's visibility, in seconds. If 0 is passed, the ellipse is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the ellipse be obscured by objects closer to the camera.
- ///
- public static void DrawEllipse(EllipseF ellipse, int segments, Vector2 offset, in Color color, float duration, bool depthTest)
- {
- DrawPolygon(CreateEllipse(ellipse.HorizontalRadius, ellipse.VerticalRadius, segments), offset, color, duration,
- depthTest);
- }
-
- private static PolygonF CreateEllipse(float radiusX, float radiusY, int segments)
- {
- const float max = 2.0f * MathF.PI;
- float step = max / segments;
-
- var points = new List();
- for (var theta = 0f; theta < max; theta += step)
- {
- float x = radiusX * MathF.Cos(theta);
- float y = radiusY * MathF.Sin(theta);
- points.Add(new System.Numerics.Vector2(x, y));
- }
-
- return new PolygonF(points);
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.Function.cs b/X10D.Unity/src/DebugUtility/DebugUtility.Function.cs
deleted file mode 100644
index 4b7f33c..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.Function.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Numerics;
-using X10D.Unity.Numerics;
-using Quaternion = System.Numerics.Quaternion;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws a function plot.
- ///
- /// The function to plot.
- /// The minimum X value.
- /// The maximum X value.
- public static void DrawFunction(Func function, float xMin, float xMax)
- {
- DrawFunction(function, xMin, xMax, 0.1f, Vector3.zero, Color.white, 0.0f, false);
- }
-
- ///
- /// Draws a function plot.
- ///
- /// The function to plot.
- /// The minimum X value.
- /// The maximum X value.
- /// The X increment.
- /// The drawing offset of the circle.
- /// The color of the circle.
- ///
- /// The duration of the circle's visibility, in seconds. If 0 is passed, the circle is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the circle be obscured by objects closer to the camera.
- ///
- /// is .
- public static void DrawFunction(Func function, float xMin, float xMax, float step, in Vector3 offset,
- in Color color, float duration,
- bool depthTest)
- {
- if (function is null)
- {
- throw new ArgumentNullException(nameof(function));
- }
-
- DrawUnjoinedPolyhedron(CreateFunction(function, xMin, xMax, step, Vector3.zero), offset, color, duration, depthTest);
- }
-
- private static Polyhedron CreateFunction(Func function, float xMin, float xMax, float step, in Vector3 axis)
- {
- var points = new List();
- for (float x = xMin; x < xMax; x += step)
- {
- float y = function(x);
- var vector = new System.Numerics.Vector3(x, y, 0);
-
- if (axis != Vector3.zero)
- {
- vector = Quaternion.CreateFromAxisAngle(axis.ToSystemVector(), MathF.PI / 2.0f).Multiply(vector);
- }
-
- points.Add(vector);
- }
-
- return new Polyhedron(points);
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.Line.cs b/X10D.Unity/src/DebugUtility/DebugUtility.Line.cs
deleted file mode 100644
index 1439724..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.Line.cs
+++ /dev/null
@@ -1,209 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Drawing;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws a line between start and end points.
- ///
- /// The starting point.
- /// The ending point.
- public static void DrawLine(Vector3 start, Vector3 end)
- {
- DrawLine(start, end, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The starting point.
- /// The ending point.
- /// The color of the line.
- public static void DrawLine(Vector3 start, Vector3 end, in Color color)
- {
- DrawLine(start, end, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The starting point.
- /// The ending point.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- public static void DrawLine(Vector3 start, Vector3 end, in Color color, float duration)
- {
- DrawLine(start, end, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The starting point.
- /// The ending point.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the line be obscured by objects closer to the camera.
- ///
- public static void DrawLine(Vector3 start, Vector3 end, in Color color, float duration, bool depthTest)
- {
- Debug.DrawLine(start, end, color, duration, depthTest);
- }
-
- ///
- /// Draws a line between start and end points.
- ///
- /// The line to draw.
- public static void DrawLine(Line line)
- {
- DrawLine(line, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The line to draw.
- /// The color of the line.
- public static void DrawLine(Line line, in Color color)
- {
- DrawLine(line, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The line to draw.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- public static void DrawLine(Line line, in Color color, float duration)
- {
- DrawLine(line, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The line to draw.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the line be obscured by objects closer to the camera.
- ///
- public static void DrawLine(Line line, in Color color, float duration, bool depthTest)
- {
- Debug.DrawLine(line.Start.ToUnityVector2(), line.End.ToUnityVector2(), color, duration, depthTest);
- }
-
- ///
- /// Draws a line between start and end points.
- ///
- /// The line to draw.
- public static void DrawLine(LineF line)
- {
- DrawLine(line, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The line to draw.
- /// The color of the line.
- public static void DrawLine(LineF line, in Color color)
- {
- DrawLine(line, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The line to draw.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- public static void DrawLine(LineF line, in Color color, float duration)
- {
- DrawLine(line, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The line to draw.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the line be obscured by objects closer to the camera.
- ///
- public static void DrawLine(LineF line, in Color color, float duration, bool depthTest)
- {
- Debug.DrawLine(line.Start.ToUnityVector2(), line.End.ToUnityVector2(), color, duration, depthTest);
- }
-
- ///
- /// Draws a line between start and end points.
- ///
- /// The line to draw.
- public static void DrawLine(Line3D line)
- {
- DrawLine(line, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The line to draw.
- /// The color of the line.
- public static void DrawLine(Line3D line, in Color color)
- {
- DrawLine(line, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The line to draw.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- public static void DrawLine(Line3D line, in Color color, float duration)
- {
- DrawLine(line, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a line between start and end points, with the specified color.
- ///
- /// The line to draw.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the line be obscured by objects closer to the camera.
- ///
- public static void DrawLine(Line3D line, in Color color, float duration, bool depthTest)
- {
- Debug.DrawLine(line.Start.ToUnityVector(), line.End.ToUnityVector(), color, duration, depthTest);
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.Polygon.cs b/X10D.Unity/src/DebugUtility/DebugUtility.Polygon.cs
deleted file mode 100644
index 1e0fa9f..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.Polygon.cs
+++ /dev/null
@@ -1,232 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Drawing;
-using PointF = System.Drawing.PointF;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- public static void DrawPolygon(Polygon polygon)
- {
- DrawPolygon((PolygonF)polygon, Vector2.zero, Color.white, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The drawing offset of the polygon.
- public static void DrawPolygon(Polygon polygon, in Vector3 offset)
- {
- DrawPolygon((PolygonF)polygon, offset, Color.white, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The color to use for drawing.
- public static void DrawPolygon(Polygon polygon, in Color color)
- {
- DrawPolygon((PolygonF)polygon, Vector2.zero, color, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The drawing offset of the polygon.
- /// The color to use for drawing.
- public static void DrawPolygon(Polygon polygon, in Vector3 offset, in Color color)
- {
- DrawPolygon((PolygonF)polygon, offset, color, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The color to use for drawing.
- ///
- /// The duration of the polygon's visibility, in seconds. If 0 is passed, the polygon is visible for a single frame.
- ///
- public static void DrawPolygon(Polygon polygon, in Color color, float duration)
- {
- DrawPolygon((PolygonF)polygon, Vector2.zero, color, duration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The drawing offset of the polygon.
- /// The color to use for drawing.
- ///
- /// The duration of the polygon's visibility, in seconds. If 0 is passed, the polygon is visible for a single frame.
- ///
- public static void DrawPolygon(Polygon polygon, in Vector3 offset, in Color color, float duration)
- {
- DrawPolygon((PolygonF)polygon, offset, color, duration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The color to use for drawing.
- ///
- /// The duration of the polygon's visibility, in seconds. If 0 is passed, the polygon is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawPolygon(Polygon polygon, in Color color, float duration, bool depthTest)
- {
- DrawPolygon((PolygonF)polygon, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The drawing offset of the polygon.
- /// The color to use for drawing.
- ///
- /// The duration of the polygon's visibility, in seconds. If 0 is passed, the polygon is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawPolygon(Polygon polygon, in Vector3 offset, in Color color, float duration, bool depthTest)
- {
- DrawPolygon((PolygonF)polygon, offset, color, duration, depthTest);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- public static void DrawPolygon(PolygonF polygon)
- {
- DrawPolygon(polygon, Vector2.zero, Color.white, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The drawing offset of the polygon.
- public static void DrawPolygon(PolygonF polygon, in Vector3 offset)
- {
- DrawPolygon(polygon, offset, Color.white, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The color to use for drawing.
- public static void DrawPolygon(PolygonF polygon, in Color color)
- {
- DrawPolygon(polygon, Vector2.zero, color, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The drawing offset of the polygon.
- /// The color to use for drawing.
- public static void DrawPolygon(PolygonF polygon, in Vector3 offset, in Color color)
- {
- DrawPolygon(polygon, offset, color, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The color to use for drawing.
- ///
- /// The duration of the polygon's visibility, in seconds. If 0 is passed, the polygon is visible for a single frame.
- ///
- public static void DrawPolygon(PolygonF polygon, in Color color, float duration)
- {
- DrawPolygon(polygon, Vector2.zero, color, duration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The drawing offset of the polygon.
- /// The color to use for drawing.
- ///
- /// The duration of the polygon's visibility, in seconds. If 0 is passed, the polygon is visible for a single frame.
- ///
- public static void DrawPolygon(PolygonF polygon, in Vector3 offset, in Color color, float duration)
- {
- DrawPolygon(polygon, offset, color, duration, true);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The color to use for drawing.
- ///
- /// The duration of the polygon's visibility, in seconds. If 0 is passed, the polygon is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawPolygon(PolygonF polygon, in Color color, float duration, bool depthTest)
- {
- DrawPolygon(polygon, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws a polygon.
- ///
- /// The polygon to draw.
- /// The drawing offset of the polygon.
- /// The color to use for drawing.
- ///
- /// The duration of the polygon's visibility, in seconds. If 0 is passed, the polygon is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- /// is .
- public static void DrawPolygon(PolygonF polygon, in Vector3 offset, in Color color, float duration, bool depthTest)
- {
- if (polygon is null)
- {
- throw new ArgumentNullException(nameof(polygon));
- }
-
- IReadOnlyList points = polygon.Vertices;
- if (points.Count < 2)
- {
- return;
- }
-
- for (var i = 0; i < points.Count; i++)
- {
- int j = (i + 1) % points.Count;
- Vector3 start = (Vector3)points[i].ToUnityVector2() + offset;
- Vector3 end = (Vector3)points[j].ToUnityVector2() + offset;
-
- DrawLine(start, end, color, duration, depthTest);
- }
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.Polyhedron.cs b/X10D.Unity/src/DebugUtility/DebugUtility.Polyhedron.cs
deleted file mode 100644
index 205dfff..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.Polyhedron.cs
+++ /dev/null
@@ -1,172 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws a polyhedron.
- ///
- /// The polyhedron to draw.
- public static void DrawPolyhedron(Polyhedron polyhedron)
- {
- DrawPolyhedron(polyhedron, Vector2.zero, Color.white, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polyhedron.
- ///
- /// The polyhedron to draw.
- /// The drawing offset of the polyhedron.
- public static void DrawPolyhedron(Polyhedron polyhedron, in Vector3 offset)
- {
- DrawPolyhedron(polyhedron, offset, Color.white, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polyhedron.
- ///
- /// The polyhedron to draw.
- /// The color to use for drawing.
- public static void DrawPolyhedron(Polyhedron polyhedron, in Color color)
- {
- DrawPolyhedron(polyhedron, Vector2.zero, color, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polyhedron.
- ///
- /// The polyhedron to draw.
- /// The drawing offset of the polyhedron.
- /// The color to use for drawing.
- public static void DrawPolyhedron(Polyhedron polyhedron, in Vector3 offset, in Color color)
- {
- DrawPolyhedron(polyhedron, offset, color, DefaultDrawDuration, true);
- }
-
- ///
- /// Draws a polyhedron.
- ///
- /// The polyhedron to draw.
- /// The color to use for drawing.
- ///
- /// The duration of the polyhedron's visibility, in seconds. If 0 is passed, the polyhedron is visible for a single frame.
- ///
- public static void DrawPolyhedron(Polyhedron polyhedron, in Color color, float duration)
- {
- DrawPolyhedron(polyhedron, Vector2.zero, color, duration, true);
- }
-
- ///
- /// Draws a polyhedron.
- ///
- /// The polyhedron to draw.
- /// The drawing offset of the polyhedron.
- /// The color to use for drawing.
- ///
- /// The duration of the polyhedron's visibility, in seconds. If 0 is passed, the polyhedron is visible for a single frame.
- ///
- public static void DrawPolyhedron(Polyhedron polyhedron, in Vector3 offset, in Color color, float duration)
- {
- DrawPolyhedron(polyhedron, offset, color, duration, true);
- }
-
- ///
- /// Draws a polyhedron.
- ///
- /// The polyhedron to draw.
- /// The color to use for drawing.
- ///
- /// The duration of the polyhedron's visibility, in seconds. If 0 is passed, the polyhedron is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawPolyhedron(Polyhedron polyhedron, in Color color, float duration, bool depthTest)
- {
- DrawPolyhedron(polyhedron, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws a polyhedron.
- ///
- /// The polyhedron to draw.
- /// The drawing offset of the polyhedron.
- /// The color to use for drawing.
- ///
- /// The duration of the polyhedron's visibility, in seconds. If 0 is passed, the polyhedron is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- /// is .
- public static void DrawPolyhedron(Polyhedron polyhedron, in Vector3 offset, in Color color, float duration, bool depthTest)
- {
- if (polyhedron is null)
- {
- throw new ArgumentNullException(nameof(polyhedron));
- }
-
- IReadOnlyList points = polyhedron.Vertices;
- if (points.Count < 2)
- {
- return;
- }
-
- for (var i = 0; i < points.Count; i++)
- {
- int j = (i + 1) % points.Count;
- Vector3 start = points[i].ToUnityVector() + offset;
- Vector3 end = points[j].ToUnityVector() + offset;
-
- DrawLine(start, end, color, duration, depthTest);
- }
- }
-
- ///
- /// Draws a polyhedron.
- ///
- /// The polyhedron to draw.
- /// The drawing offset of the polyhedron.
- /// The color to use for drawing.
- ///
- /// The duration of the polyhedron's visibility, in seconds. If 0 is passed, the polyhedron is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- /// is .
- public static void DrawUnjoinedPolyhedron(Polyhedron polyhedron, in Vector3 offset, in Color color, float duration,
- bool depthTest)
- {
- if (polyhedron is null)
- {
- throw new ArgumentNullException(nameof(polyhedron));
- }
-
- IReadOnlyList points = polyhedron.Vertices;
- if (points.Count < 2)
- {
- return;
- }
-
- for (var i = 0; i < points.Count; i++)
- {
- if (i >= points.Count - 2)
- {
- break;
- }
-
- int j = i + 1;
- Vector3 start = points[i].ToUnityVector() + offset;
- Vector3 end = points[j].ToUnityVector() + offset;
-
- DrawLine(start, end, color, duration, depthTest);
- }
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.Ray.cs b/X10D.Unity/src/DebugUtility/DebugUtility.Ray.cs
deleted file mode 100644
index 475a80c..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.Ray.cs
+++ /dev/null
@@ -1,108 +0,0 @@
-using UnityEngine;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws a ray.
- ///
- /// The ray to draw.
- public static void DrawRay(Ray ray)
- {
- DrawRay(ray, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a ray.
- ///
- /// The ray to draw.
- /// The color of the line.
- public static void DrawRay(Ray ray, in Color color)
- {
- DrawRay(ray, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a ray.
- ///
- /// The ray to draw.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- public static void DrawRay(Ray ray, in Color color, float duration)
- {
- DrawRay(ray, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a ray.
- ///
- /// The ray to draw.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the line be obscured by objects closer to the camera.
- ///
- public static void DrawRay(Ray ray, in Color color, float duration, bool depthTest)
- {
- Debug.DrawRay(ray.origin, ray.direction, color, duration, depthTest);
- }
-
- ///
- /// Draws a ray.
- ///
- /// The starting point.
- /// The direction.
- public static void DrawRay(Vector3 start, Vector3 direction)
- {
- DrawRay(start, direction, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a ray.
- ///
- /// The starting point.
- /// The direction.
- /// The color of the line.
- public static void DrawRay(Vector3 start, Vector3 direction, in Color color)
- {
- DrawRay(start, direction, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a ray.
- ///
- /// The starting point.
- /// The direction.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- public static void DrawRay(Vector3 start, Vector3 direction, in Color color, float duration)
- {
- DrawRay(start, direction, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a ray.
- ///
- /// The starting point.
- /// The direction.
- /// The color of the line.
- ///
- /// The duration of the line's visibility, in seconds. If 0 is passed, the line is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the line be obscured by objects closer to the camera.
- ///
- public static void DrawRay(Vector3 start, Vector3 direction, in Color color, float duration, bool depthTest)
- {
- Debug.DrawRay(start, direction, color, duration, depthTest);
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.Rectangle.cs b/X10D.Unity/src/DebugUtility/DebugUtility.Rectangle.cs
deleted file mode 100644
index e8377d5..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.Rectangle.cs
+++ /dev/null
@@ -1,234 +0,0 @@
-using System.Drawing;
-using UnityEngine;
-using X10D.Unity.Drawing;
-using Color = UnityEngine.Color;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws a rectangle.
- ///
- /// The center point.
- /// The extents of the box.
- public static void DrawRectangle(Vector2 center, Vector2 size)
- {
- DrawRectangle(center, size, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color.
- ///
- /// The center point.
- /// The extents of the box.
- /// The color of the box.
- public static void DrawRectangle(Vector2 center, Vector2 size, in Color color)
- {
- DrawRectangle(center, size, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The center point.
- /// The extents of the box.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- public static void DrawRectangle(Vector2 center, Vector2 size, in Color color, float duration)
- {
- DrawRectangle(center, size, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The center point.
- /// The extents of the box.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawRectangle(Vector2 center, Vector2 size, in Color color, float duration, bool depthTest)
- {
- DrawRectangle(new Rect(center, size), color, duration, depthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- public static void DrawRectangle(Rect rect, in Color color)
- {
- DrawRectangle(rect, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- public static void DrawRectangle(Rect rect, in Color color, float duration)
- {
- DrawRectangle(rect, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawRectangle(Rect rect, in Color color, float duration, bool depthTest)
- {
- var topLeft = new Vector2(rect.xMin, rect.yMin);
- var topRight = new Vector2(rect.xMax, rect.yMin);
- var bottomLeft = new Vector2(rect.xMin, rect.yMax);
- var bottomRight = new Vector2(rect.xMax, rect.yMax);
-
- DrawLine(topLeft, topRight, color, duration, depthTest);
- DrawLine(topRight, bottomRight, color, duration, depthTest);
- DrawLine(bottomRight, bottomLeft, color, duration, depthTest);
- DrawLine(bottomLeft, topLeft, color, duration, depthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- public static void DrawRectangle(RectInt rect, in Color color)
- {
- DrawRectangle(rect, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- public static void DrawRectangle(RectInt rect, in Color color, float duration)
- {
- DrawRectangle(rect, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawRectangle(RectInt rect, in Color color, float duration, bool depthTest)
- {
- DrawRectangle(new Rect(rect.center, rect.size), color, duration, depthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- public static void DrawRectangle(Rectangle rectangle, in Color color)
- {
- DrawRectangle(rectangle, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- public static void DrawRectangle(Rectangle rectangle, in Color color, float duration)
- {
- DrawRectangle(rectangle, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawRectangle(Rectangle rectangle, in Color color, float duration, bool depthTest)
- {
- var origin = new Vector2(rectangle.X + rectangle.Width / 2.0f, rectangle.Y + rectangle.Height / 2.0f);
- var rect = new Rect(origin, rectangle.Size.ToUnityVector2());
- DrawRectangle(rect, color, duration, depthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- public static void DrawRectangle(RectangleF rectangle, in Color color)
- {
- DrawRectangle(rectangle, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- public static void DrawRectangle(RectangleF rectangle, in Color color, float duration)
- {
- DrawRectangle(rectangle, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a rectangle with the specified color and duration.
- ///
- /// The rectangle to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawRectangle(RectangleF rectangle, in Color color, float duration, bool depthTest)
- {
- var origin = new Vector2(rectangle.X + rectangle.Width / 2.0f, rectangle.Y + rectangle.Height / 2.0f);
- var rect = new Rect(origin, rectangle.Size.ToUnityVector2());
- DrawRectangle(rect, color, duration, depthTest);
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.Sphere.cs b/X10D.Unity/src/DebugUtility/DebugUtility.Sphere.cs
deleted file mode 100644
index 1f75c0e..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.Sphere.cs
+++ /dev/null
@@ -1,198 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws a sphere with the specified color.
- ///
- /// The center point of the sphere.
- /// The radius of the sphere.
- /// The number of segments to generate.
- public static void DrawSphere(Vector3 center, float radius, int segments)
- {
- DrawSphere(center, radius, segments, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a sphere with the specified color.
- ///
- /// The center point of the sphere.
- /// The radius of the sphere.
- /// The number of segments to generate.
- /// The color of the sphere.
- public static void DrawSphere(Vector3 center, float radius, int segments, in Color color)
- {
- DrawSphere(center, radius, segments, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a sphere with the specified color and duration.
- ///
- /// The center point of the sphere.
- /// The radius of the sphere.
- /// The number of segments to generate.
- /// The color of the sphere.
- ///
- /// The duration of the sphere's visibility, in seconds. If 0 is passed, the sphere is visible for a single frame.
- ///
- public static void DrawSphere(Vector3 center, float radius, int segments, in Color color, float duration)
- {
- DrawSphere(center, radius, segments, Vector2.zero, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a sphere with the specified color and duration.
- ///
- /// The center point of the sphere.
- /// The radius of the sphere.
- /// The number of segments to generate.
- /// The color of the sphere.
- ///
- /// The duration of the sphere's visibility, in seconds. If 0 is passed, the sphere is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the sphere be obscured by objects closer to the camera.
- ///
- public static void DrawSphere(Vector3 center, float radius, int segments, in Color color, float duration, bool depthTest)
- {
- DrawSphere(center, radius, segments, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws a sphere.
- ///
- /// The center point of the sphere.
- /// The radius of the sphere.
- /// The number of segments to generate.
- /// The drawing offset of the sphere.
- /// The color of the sphere.
- ///
- /// The duration of the sphere's visibility, in seconds. If 0 is passed, the sphere is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the sphere be obscured by objects closer to the camera.
- ///
- public static void DrawSphere(Vector3 center, float radius, int segments, Vector2 offset, in Color color, float duration,
- bool depthTest)
- {
- DrawSphere(new Sphere(center.ToSystemVector(), radius), segments, offset, color, duration, depthTest);
- }
-
- ///
- /// Draws a sphere with the specified color.
- ///
- /// The sphere to draw.
- /// The number of segments to generate.
- public static void DrawSphere(Sphere sphere, int segments)
- {
- DrawSphere(sphere, segments, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a sphere with the specified color.
- ///
- /// The sphere to draw.
- /// The number of segments to generate.
- /// The drawing offset of the sphere.
- public static void DrawSphere(Sphere sphere, int segments, Vector2 offset)
- {
- DrawSphere(sphere, segments, offset, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a sphere with the specified color.
- ///
- /// The sphere to draw.
- /// The number of segments to generate.
- /// The color of the sphere.
- public static void DrawSphere(Sphere sphere, int segments, in Color color)
- {
- DrawSphere(sphere, segments, Vector2.zero, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a sphere with the specified color.
- ///
- /// The sphere to draw.
- /// The number of segments to generate.
- /// The drawing offset of the sphere.
- /// The color of the sphere.
- public static void DrawSphere(Sphere sphere, int segments, Vector2 offset, in Color color)
- {
- DrawSphere(sphere, segments, offset, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a sphere with the specified color and duration.
- ///
- /// The sphere to draw.
- /// The number of segments to generate.
- /// The color of the sphere.
- ///
- /// The duration of the sphere's visibility, in seconds. If 0 is passed, the sphere is visible for a single frame.
- ///
- public static void DrawSphere(Sphere sphere, int segments, in Color color, float duration)
- {
- DrawSphere(sphere, segments, Vector2.zero, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a sphere with the specified color and duration.
- ///
- /// The sphere to draw.
- /// The number of segments to generate.
- /// The drawing offset of the sphere.
- /// The color of the sphere.
- ///
- /// The duration of the sphere's visibility, in seconds. If 0 is passed, the sphere is visible for a single frame.
- ///
- public static void DrawSphere(Sphere sphere, int segments, Vector2 offset, in Color color, float duration)
- {
- DrawSphere(sphere, segments, offset, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a sphere with the specified color and duration.
- ///
- /// The sphere to draw.
- /// The number of segments to generate.
- /// The color of the sphere.
- ///
- /// The duration of the sphere's visibility, in seconds. If 0 is passed, the sphere is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the sphere be obscured by objects closer to the camera.
- ///
- public static void DrawSphere(Sphere sphere, int segments, in Color color, float duration, bool depthTest)
- {
- DrawSphere(sphere, segments, Vector2.zero, color, duration, depthTest);
- }
-
- ///
- /// Draws a sphere.
- ///
- /// The sphere to draw.
- /// The number of segments to generate.
- /// The drawing offset of the sphere.
- /// The color of the sphere.
- ///
- /// The duration of the sphere's visibility, in seconds. If 0 is passed, the sphere is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the sphere be obscured by objects closer to the camera.
- ///
- public static void DrawSphere(Sphere sphere, int segments, in Vector3 offset, in Color color, float duration, bool depthTest)
- {
- DrawPolyhedron(CreateCircle(sphere.Radius, segments, Vector3.zero), offset, color, duration, depthTest);
- DrawPolyhedron(CreateCircle(sphere.Radius, segments, Vector3.left), offset, color, duration, depthTest);
- DrawPolyhedron(CreateCircle(sphere.Radius, segments, Vector3.up), offset, color, duration, depthTest);
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.WireCube.cs b/X10D.Unity/src/DebugUtility/DebugUtility.WireCube.cs
deleted file mode 100644
index 1a550c2..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.WireCube.cs
+++ /dev/null
@@ -1,234 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity;
-
-public static partial class DebugUtility
-{
- ///
- /// Draws an axis-aligned bounding box.
- ///
- /// The bounding box to draw.
- public static void DrawWireCube(in Bounds bounds)
- {
- DrawWireCube(bounds.center, bounds.size, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an axis-aligned bounding box.
- ///
- /// The bounding box to draw.
- /// The color of the box.
- public static void DrawWireCube(in Bounds bounds, in Color color)
- {
- DrawWireCube(bounds.center, bounds.size, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws an axis-aligned bounding box.
- ///
- /// The bounding box to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- public static void DrawWireCube(in Bounds bounds, in Color color, float duration)
- {
- DrawWireCube(bounds.center, bounds.size, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws an axis-aligned bounding box.
- ///
- /// The bounding box to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawWireCube(in Bounds bounds, in Color color, float duration, bool depthTest)
- {
- DrawWireCube(bounds.center, bounds.size, color, duration, depthTest);
- }
-
- ///
- /// Draws a wireframe cube with a center and a size.
- ///
- /// The center point.
- /// The extents of the box.
- public static void DrawWireCube(Vector3 center, Vector3 size)
- {
- DrawWireCube(center, size, Color.white, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified orientation.
- ///
- /// The center point.
- /// The extents of the box.
- /// The orientation of the box.
- public static void DrawWireCube(Vector3 center, Vector3 size, Quaternion orientation)
- {
- DrawWireCube(new Cuboid(center.ToSystemVector(), size.ToSystemVector(), orientation.ToSystemQuaternion()), Color.white,
- DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified color.
- ///
- /// The center point.
- /// The extents of the box.
- /// The color of the box.
- public static void DrawWireCube(Vector3 center, Vector3 size, in Color color)
- {
- DrawWireCube(center, size, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified orientation and color.
- ///
- /// The center point.
- /// The extents of the box.
- /// The orientation of the box.
- /// The color of the box.
- public static void DrawWireCube(Vector3 center, Vector3 size, Quaternion orientation, in Color color)
- {
- DrawWireCube(new Cuboid(center.ToSystemVector(), size.ToSystemVector(), orientation.ToSystemQuaternion()), color,
- DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified color and duration.
- ///
- /// The center point.
- /// The extents of the box.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- public static void DrawWireCube(Vector3 center, Vector3 size, in Color color, float duration)
- {
- DrawWireCube(center, size, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified orientation, color, and duration.
- ///
- /// The center point.
- /// The extents of the box.
- /// The orientation of the box.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- public static void DrawWireCube(Vector3 center, Vector3 size, Quaternion orientation, in Color color, float duration)
- {
- DrawWireCube(new Cuboid(center.ToSystemVector(), size.ToSystemVector(), orientation.ToSystemQuaternion()), color,
- duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified color and duration.
- ///
- /// The center point.
- /// The extents of the box.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawWireCube(Vector3 center, Vector3 size, in Color color, float duration, bool depthTest)
- {
- DrawWireCube(new Cuboid(center.ToSystemVector(), size.ToSystemVector()), color, duration, depthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified orientation, color, and duration.
- ///
- /// The center point.
- /// The extents of the box.
- /// The orientation of the box.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawWireCube(Vector3 center, Vector3 size, Quaternion orientation, in Color color, float duration,
- bool depthTest)
- {
- DrawWireCube(new Cuboid(center.ToSystemVector(), size.ToSystemVector(), orientation.ToSystemQuaternion()), color,
- duration, depthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified color.
- ///
- /// The cuboid to draw.
- /// The color of the box.
- public static void DrawWireCube(in Cuboid cuboid, in Color color)
- {
- DrawWireCube(cuboid, color, DefaultDrawDuration, DefaultDepthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified color and duration.
- ///
- /// The cuboid to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- public static void DrawWireCube(in Cuboid cuboid, in Color color, float duration)
- {
- DrawWireCube(cuboid, color, duration, DefaultDepthTest);
- }
-
- ///
- /// Draws a wireframe cube with the specified color and duration.
- ///
- /// The cuboid to draw.
- /// The color of the box.
- ///
- /// The duration of the box's visibility, in seconds. If 0 is passed, the box is visible for a single frame.
- ///
- ///
- /// if depth test should be applied; otherwise, . Passing
- /// will have the box be obscured by objects closer to the camera.
- ///
- public static void DrawWireCube(in Cuboid cuboid, in Color color, float duration, bool depthTest)
- {
- Vector3 frontTopLeft = cuboid.FrontTopLeft.ToUnityVector();
- Vector3 frontTopRight = cuboid.FrontTopRight.ToUnityVector();
- Vector3 frontBottomRight = cuboid.FrontBottomRight.ToUnityVector();
- Vector3 frontBottomLeft = cuboid.FrontBottomLeft.ToUnityVector();
- Vector3 backTopLeft = cuboid.BackTopLeft.ToUnityVector();
- Vector3 backTopRight = cuboid.BackTopRight.ToUnityVector();
- Vector3 backBottomRight = cuboid.BackBottomRight.ToUnityVector();
- Vector3 backBottomLeft = cuboid.BackBottomLeft.ToUnityVector();
-
- Debug.DrawLine(frontTopLeft, frontTopRight, color, duration, depthTest);
- Debug.DrawLine(frontTopRight, frontBottomRight, color, duration, depthTest);
- Debug.DrawLine(frontBottomRight, frontBottomLeft, color, duration, depthTest);
- Debug.DrawLine(frontBottomLeft, frontTopLeft, color, duration, depthTest);
-
- Debug.DrawLine(backTopLeft, backTopRight, color, duration, depthTest);
- Debug.DrawLine(backTopRight, backBottomRight, color, duration, depthTest);
- Debug.DrawLine(backBottomRight, backBottomLeft, color, duration, depthTest);
- Debug.DrawLine(backBottomLeft, backTopLeft, color, duration, depthTest);
-
- Debug.DrawLine(frontTopLeft, backTopLeft, color, duration, depthTest);
- Debug.DrawLine(frontTopRight, backTopRight, color, duration, depthTest);
- Debug.DrawLine(frontBottomRight, backBottomRight, color, duration, depthTest);
- Debug.DrawLine(frontBottomLeft, backBottomLeft, color, duration, depthTest);
- }
-}
diff --git a/X10D.Unity/src/DebugUtility/DebugUtility.cs b/X10D.Unity/src/DebugUtility/DebugUtility.cs
deleted file mode 100644
index 0a2133c..0000000
--- a/X10D.Unity/src/DebugUtility/DebugUtility.cs
+++ /dev/null
@@ -1,417 +0,0 @@
-using System.Diagnostics;
-using System.Runtime.CompilerServices;
-using JetBrains.Annotations;
-using UnityEngine;
-using Debug = UnityEngine.Debug;
-using Object = UnityEngine.Object;
-
-namespace X10D.Unity;
-
-///
-/// An extended version of Unity's utility class which offers support for drawing simple
-/// primitives.
-///
-public static partial class DebugUtility
-{
- ///
- /// The default value to use for the duration parameter.
- ///
- private const float DefaultDrawDuration = 0.0f;
-
- ///
- /// The default value to use for the depthTest parameter.
- ///
- private const bool DefaultDepthTest = true;
-
- ///
- /// Gets a value indicating whether this is a debug build.
- ///
- /// if this is a debug build; otherwise, .
- // ReSharper disable once InconsistentNaming
- public static bool isDebugBuild
- {
- get => Debug.isDebugBuild;
- }
-
- ///
- /// Gets a value indicating whether the developer console is visible.
- ///
- /// if the developer console is visible; otherwise, .
- // ReSharper disable once InconsistentNaming
- public static bool isDeveloperConsoleVisible
- {
- get => Debug.developerConsoleVisible;
- }
-
- ///
- /// Gets the default Unity debug logger.
- ///
- /// The Unity debug logger.
- // ReSharper disable once InconsistentNaming
- public static ILogger unityLogger
- {
- get => Debug.unityLogger;
- }
-
- ///
- /// Asserts a condition.
- ///
- /// The condition to assert.
- [Conditional("UNITY_ASSERTIONS")]
- [AssertionMethod]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void Assert(bool condition)
- {
- if (condition)
- {
- return;
- }
-
- unityLogger.Log(LogType.Assert, "Assertion failed");
- }
-
- ///
- /// Asserts a condition.
- ///
- /// The condition to assert.
- /// The object to which the assertion applies.
- [Conditional("UNITY_ASSERTIONS")]
- [AssertionMethod]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void Assert(bool condition, Object context)
- {
- if (condition)
- {
- return;
- }
-
- unityLogger.Log(LogType.Assert, (object)"Assertion failed", context);
- }
-
- ///
- /// Asserts a condition.
- ///
- /// The condition to assert.
- /// The message to log.
- [Conditional("UNITY_ASSERTIONS")]
- [AssertionMethod]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void Assert(bool condition, string? message)
- {
- if (condition)
- {
- return;
- }
-
- unityLogger.Log(LogType.Assert, message);
- }
-
- ///
- /// Asserts a condition.
- ///
- /// The condition to assert.
- /// The message to log.
- [Conditional("UNITY_ASSERTIONS")]
- [AssertionMethod]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void Assert(bool condition, T? message)
- {
- if (condition)
- {
- return;
- }
-
- unityLogger.Log(LogType.Assert, message?.ToString());
- }
-
- ///
- /// Logs a message to the Unity Console.
- ///
- /// The condition to assert.
- /// The message to log.
- /// The object to which the assertion applies.
- [Conditional("UNITY_ASSERTIONS")]
- [AssertionMethod]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void Assert(bool condition, string? message, Object? context)
- {
- if (condition)
- {
- return;
- }
-
- unityLogger.Log(LogType.Assert, (object?)message, context);
- }
-
- ///
- /// Logs a message to the Unity Console.
- ///
- /// The condition to assert.
- /// The message to log.
- /// The object to which the assertion applies.
- [Conditional("UNITY_ASSERTIONS")]
- [AssertionMethod]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void Assert(bool condition, T? message, Object? context)
- {
- if (condition)
- {
- return;
- }
-
- unityLogger.Log(LogType.Assert, (object?)message?.ToString(), context);
- }
-
- ///
- /// Pauses the editor.
- ///
- public static void Break()
- {
- Debug.Break();
- }
-
- ///
- /// Clears the developer console.
- ///
- public static void ClearDeveloperConsole()
- {
- Debug.ClearDeveloperConsole();
- }
-
- ///
- /// Populate an unmanaged buffer with the current managed call stack as a sequence of UTF-8 bytes, without allocating GC
- /// memory.
- ///
- /// The target buffer to receive the callstack text.
- /// The maximum number of bytes to write.
- /// The project folder path, to clean up path names.
- /// The number of bytes written into the buffer.
- [MustUseReturnValue("Fewer bytes may be returned than requested.")]
- public static unsafe int ExtractStackTraceNoAlloc(byte* buffer, int bufferMax, string projectFolder)
- {
- return Debug.ExtractStackTraceNoAlloc(buffer, bufferMax, projectFolder);
- }
-
- ///
- /// Logs a message to the Unity Console.
- ///
- /// The message to log.
- public static void Log(string? message)
- {
- Debug.Log(message);
- }
-
- ///
- /// Logs a message to the Unity Console.
- ///
- /// The message to log.
- public static void Log(T message)
- {
- Log(message?.ToString());
- }
-
- ///
- /// Logs a message to the Unity Console.
- ///
- /// The message to log.
- /// The object to which the message applies.
- public static void Log(string message, Object? context)
- {
- Debug.Log(message, context);
- }
-
- ///
- /// Logs a message to the Unity Console.
- ///
- /// The message to log.
- /// The object to which the message applies.
- public static void Log(T message, Object? context)
- {
- Debug.Log(message?.ToString(), context);
- }
-
- ///
- /// Logs an assertion message to the Unity Console.
- ///
- /// The message to log.
- [Conditional("UNITY_ASSERTIONS")]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void LogAssertion(string? message)
- {
- unityLogger.Log(LogType.Assert, message);
- }
-
- ///
- /// Logs an assertion message to the Unity Console.
- ///
- /// The message to log.
- [Conditional("UNITY_ASSERTIONS")]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void LogAssertion(T message)
- {
- unityLogger.Log(LogType.Assert, message?.ToString());
- }
-
- ///
- /// Logs an assertion message to the Unity Console.
- ///
- /// The message to log.
- /// The object to which the message applies.
- [Conditional("UNITY_ASSERTIONS")]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void LogAssertion(string message, Object? context)
- {
- unityLogger.Log(LogType.Assert, (object?)message, context);
- }
-
- ///
- /// Logs an assertion message to the Unity Console.
- ///
- /// The message to log.
- /// The object to which the message applies.
- [Conditional("UNITY_ASSERTIONS")]
- [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
- public static void LogAssertion(T? message, Object? context)
- {
- unityLogger.Log(LogType.Assert, (object?)message?.ToString(), context);
- }
-
- ///
- /// Logs an error message to the Unity Console.
- ///
- /// The message to log.
- public static void LogError(string? message)
- {
- Debug.LogError(message);
- }
-
- ///
- /// Logs an error message to the Unity Console.
- ///
- /// The message to log.
- public static void LogError(T? message)
- {
- LogError(message?.ToString());
- }
-
- ///
- /// Logs an error message to the Unity Console.
- ///
- /// The message to log.
- /// The object to which the message applies.
- public static void LogError(string message, Object? context)
- {
- Debug.LogError(message, context);
- }
-
- ///
- /// Logs an error message to the Unity Console.
- ///
- /// The message to log.
- /// The object to which the message applies.
- public static void LogError(T? message, Object? context)
- {
- Debug.LogError(message?.ToString(), context);
- }
-
- ///
- /// Logs a formatted error message to the Unity Console.
- ///
- /// The format string of the message to log.
- /// The format arguments.
- public static void LogErrorFormat(string? format, params object?[]? args)
- {
- Debug.LogErrorFormat(format, args);
- }
-
- ///
- /// Logs a formatted error message to the Unity Console.
- ///
- /// The object to which this message applies.
- /// The format string of the message to log.
- /// The format arguments.
- public static void LogErrorFormat(Object context, string? format, params object?[]? args)
- {
- Debug.LogErrorFormat(context, format, args);
- }
-
- ///
- /// Logs a formatted message to the Unity Console.
- ///
- /// The format string of the message to log.
- /// The format arguments.
- public static void LogFormat(string? format, params object?[]? args)
- {
- Debug.LogFormat(format, args);
- }
-
- ///
- /// Logs a formatted message to the Unity Console.
- ///
- /// The object to which this message applies.
- /// The format string of the message to log.
- /// The format arguments.
- public static void LogFormat(Object context, string? format, params object?[]? args)
- {
- Debug.LogFormat(context, format, args);
- }
-
- ///
- /// Logs a warning message to the Unity Console.
- ///
- /// The message to log.
- public static void LogWarning(string? message)
- {
- Debug.LogWarning(message);
- }
-
- ///
- /// Logs a warning message to the Unity Console.
- ///
- /// The message to log.
- public static void LogWarning(T? message)
- {
- LogWarning(message?.ToString());
- }
-
- ///
- /// Logs a warning message to the Unity Console.
- ///
- /// The message to log.
- /// The object to which the message applies.
- public static void LogWarning(string message, Object? context)
- {
- Debug.LogWarning(message, context);
- }
-
- ///
- /// Logs a warning message to the Unity Console.
- ///
- /// The message to log.
- /// The object to which the message applies.
- public static void LogWarning(T? message, Object? context)
- {
- Debug.LogWarning(message?.ToString(), context);
- }
-
- ///
- /// Logs a formatted warning message to the Unity Console.
- ///
- /// The format string of the message to log.
- /// The format arguments.
- public static void LogWarningFormat(string? format, params object?[]? args)
- {
- Debug.LogWarningFormat(format, args);
- }
-
- ///
- /// Logs a formatted warning message to the Unity Console.
- ///
- /// The object to which this message applies.
- /// The format string of the message to log.
- /// The format arguments.
- public static void LogWarningFormat(Object context, string? format, params object?[]? args)
- {
- Debug.LogWarningFormat(context, format, args);
- }
-}
diff --git a/X10D.Unity/src/Drawing/Color32Extensions.cs b/X10D.Unity/src/Drawing/Color32Extensions.cs
deleted file mode 100644
index 16dc327..0000000
--- a/X10D.Unity/src/Drawing/Color32Extensions.cs
+++ /dev/null
@@ -1,178 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Runtime.CompilerServices;
-using UnityEngine;
-using X10D.Drawing;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extensions for .
-///
-public static class Color32Extensions
-{
- ///
- /// Deconstructs the current color into its RGB components.
- ///
- /// The source color.
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static void Deconstruct(this Color32 color, out byte a, out byte r, out byte g, out byte b)
- {
- a = color.a;
- (r, g, b) = color;
- }
-
- ///
- /// Deconstructs the current color into its RGB components.
- ///
- /// The source color.
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static void Deconstruct(this Color32 color, out byte r, out byte g, out byte b)
- {
- r = color.r;
- g = color.g;
- b = color.b;
- }
-
- ///
- /// Returns a which most closely resembles the current color.
- ///
- /// The source color.
- /// The closest .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static ConsoleColor GetClosestConsoleColor(this Color32 color)
- {
- return color.ToSystemDrawingColor().GetClosestConsoleColor();
- }
-
- ///
- /// Returns a new with the red, green, and blue components inverted. Alpha is not affected.
- ///
- /// The color to invert.
- /// The inverted color.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color32 Inverted(this Color32 color)
- {
- return new Color32((byte)(255 - color.r), (byte)(255 - color.g), (byte)(255 - color.b), color.a);
- }
-
- ///
- /// Converts the current color to a .
- ///
- /// The color to convert.
- /// The converted color.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static System.Drawing.Color ToSystemDrawingColor(this Color32 color)
- {
- return System.Drawing.Color.FromArgb(color.a, color.r, color.g, color.b);
- }
-
- ///
- /// Converts the current color to a .
- ///
- /// The color to convert.
- /// The converted color.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color32 ToUnityColor32(this System.Drawing.Color color)
- {
- return new Color32(color.R, color.G, color.B, color.A);
- }
-
- ///
- /// Returns a vector whose red, green, and blue components are the same as the specified color, and whose alpha component
- /// is a new value.
- ///
- /// The color to copy.
- /// The new alpha component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color32 WithA(this Color32 color, byte a)
- {
- return color with {a = a};
- }
-
- ///
- /// Returns a vector whose red, green, and alpha components are the same as the specified color, and whose blue component
- /// is a new value.
- ///
- /// The color to copy.
- /// The new blue component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color32 WithB(this Color32 color, byte b)
- {
- return color with {b = b};
- }
-
- ///
- /// Returns a vector whose red, blue, and alpha components are the same as the specified color, and whose green component
- /// is a new value.
- ///
- /// The color to copy.
- /// The new green component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color32 WithG(this Color32 color, byte g)
- {
- return color with {g = g};
- }
-
- ///
- /// Returns a vector whose green, blue, and alpha components are the same as the specified color, and whose red component
- /// is a new value.
- ///
- /// The color to copy.
- /// The new red component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color32 WithR(this Color32 color, byte r)
- {
- return color with {r = r};
- }
-}
diff --git a/X10D.Unity/src/Drawing/ColorExtensions.cs b/X10D.Unity/src/Drawing/ColorExtensions.cs
deleted file mode 100644
index 3fca7ec..0000000
--- a/X10D.Unity/src/Drawing/ColorExtensions.cs
+++ /dev/null
@@ -1,183 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Runtime.CompilerServices;
-using UnityEngine;
-using X10D.Drawing;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extensions for .
-///
-public static class ColorExtensions
-{
- ///
- /// Deconstructs the current color into its ARGB components.
- ///
- /// The source color.
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static void Deconstruct(this Color color, out float a, out float r, out float g, out float b)
- {
- a = color.a;
- (r, g, b) = color;
- }
-
- ///
- /// Deconstructs the current color into its RGB components.
- ///
- /// The source color.
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- ///
- /// When this method returns, contains the component of .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static void Deconstruct(this Color color, out float r, out float g, out float b)
- {
- r = color.r;
- g = color.g;
- b = color.b;
- }
-
- ///
- /// Returns a which most closely resembles the current color.
- ///
- /// The source color.
- /// The closest .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static ConsoleColor GetClosestConsoleColor(this Color color)
- {
- return color.ToSystemDrawingColor().GetClosestConsoleColor();
- }
-
- ///
- /// Returns a new with the red, green, and blue components inverted. Alpha is not affected.
- ///
- /// The color to invert.
- /// The inverted color.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color Inverted(this Color color)
- {
- return new Color(1f - color.r, 1f - color.g, 1f - color.b, color.a);
- }
-
- ///
- /// Converts the current color to a .
- ///
- /// The color to convert.
- /// The converted color.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static System.Drawing.Color ToSystemDrawingColor(this Color color)
- {
- return System.Drawing.Color.FromArgb(
- (int)(color.a * 255f),
- (int)(color.r * 255f),
- (int)(color.g * 255f),
- (int)(color.b * 255f)
- );
- }
-
- ///
- /// Converts the current color to a .
- ///
- /// The color to convert.
- /// The converted color.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color ToUnityColor(this System.Drawing.Color color)
- {
- return new Color(color.R / 255f, color.G / 255f, color.B / 255f, color.A / 255f);
- }
-
- ///
- /// Returns a vector whose red, green, and blue components are the same as the specified color, and whose alpha component
- /// is a new value.
- ///
- /// The color to copy.
- /// The new alpha component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color WithA(this Color color, float a)
- {
- return color with {a = a};
- }
-
- ///
- /// Returns a vector whose red, green, and alpha components are the same as the specified color, and whose blue component
- /// is a new value.
- ///
- /// The color to copy.
- /// The new blue component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color WithB(this Color color, float b)
- {
- return color with {b = b};
- }
-
- ///
- /// Returns a vector whose red, blue, and alpha components are the same as the specified color, and whose green component
- /// is a new value.
- ///
- /// The color to copy.
- /// The new green component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color WithG(this Color color, float g)
- {
- return color with {g = g};
- }
-
- ///
- /// Returns a vector whose green, blue, and alpha components are the same as the specified color, and whose red component
- /// is a new value.
- ///
- /// The color to copy.
- /// The new red component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Color WithR(this Color color, float r)
- {
- return color with {r = r};
- }
-}
diff --git a/X10D.Unity/src/Drawing/PointExtensions.cs b/X10D.Unity/src/Drawing/PointExtensions.cs
deleted file mode 100644
index 68f2a5f..0000000
--- a/X10D.Unity/src/Drawing/PointExtensions.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class PointExtensions
-{
- ///
- /// Converts the current to a .
- ///
- /// The point to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2 ToUnityVector2(this Point point)
- {
- return new Vector2(point.X, point.Y);
- }
-
- ///
- /// Converts the current to a .
- ///
- /// The point to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2Int ToUnityVector2Int(this Point value)
- {
- return UnsafeUtility.As(ref value);
- }
-}
diff --git a/X10D.Unity/src/Drawing/PointFExtensions.cs b/X10D.Unity/src/Drawing/PointFExtensions.cs
deleted file mode 100644
index 7f58e51..0000000
--- a/X10D.Unity/src/Drawing/PointFExtensions.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class PointFExtensions
-{
- ///
- /// Determines if the current lies on the specified .
- ///
- /// The point to check.
- /// The starting point of the line.
- /// The ending point of the line.
- ///
- /// if lies on the line defined by and
- /// ; otherwise .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsOnLine(this PointF point, Vector2 start, Vector2 end)
- {
- return point.IsOnLine(start.ToSystemVector(), end.ToSystemVector());
- }
-
- ///
- /// Converts the current to a .
- ///
- /// The point to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2 ToUnityVector2(this PointF point)
- {
- return UnsafeUtility.As(ref point);
- }
-}
diff --git a/X10D.Unity/src/Drawing/PolygonExtensions.cs b/X10D.Unity/src/Drawing/PolygonExtensions.cs
deleted file mode 100644
index b1b962f..0000000
--- a/X10D.Unity/src/Drawing/PolygonExtensions.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class PolygonExtensions
-{
- ///
- /// Adds a vertex to this polygon.
- ///
- /// The polygon whose points to update.
- /// The point to add.
- /// is .
- public static void AddVertex(this Polygon polygon, Vector2Int point)
- {
- if (polygon is null)
- {
- throw new ArgumentNullException(nameof(polygon));
- }
-
- polygon.AddVertex(point.ToSystemPoint());
- }
-
- ///
- /// Adds a collection of vertices to this polygon.
- ///
- /// The polygon whose vertices to update.
- /// The vertices to add.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void AddVertices(this Polygon polygon, IEnumerable vertices)
- {
- if (polygon is null)
- {
- throw new ArgumentNullException(nameof(polygon));
- }
-
- if (vertices is null)
- {
- throw new ArgumentNullException(nameof(vertices));
- }
-
- foreach (Vector2Int vertex in vertices)
- {
- polygon.AddVertex(vertex);
- }
- }
-}
diff --git a/X10D.Unity/src/Drawing/PolygonFExtensions.cs b/X10D.Unity/src/Drawing/PolygonFExtensions.cs
deleted file mode 100644
index 1b91d0c..0000000
--- a/X10D.Unity/src/Drawing/PolygonFExtensions.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class PolygonFExtensions
-{
- ///
- /// Adds a point to this polygon.
- ///
- /// The polygon whose vertices to update.
- /// The vertex to add.
- /// is .
- public static void AddVertex(this PolygonF polygon, Vector2Int vertex)
- {
- if (polygon is null)
- {
- throw new ArgumentNullException(nameof(polygon));
- }
-
- polygon.AddVertex(vertex.ToSystemPoint());
- }
-
- ///
- /// Adds a point to this polygon.
- ///
- /// The polygon whose vertices to update.
- /// The vertex to add.
- /// is .
- public static void AddVertex(this PolygonF polygon, Vector2 vertex)
- {
- if (polygon is null)
- {
- throw new ArgumentNullException(nameof(polygon));
- }
-
- polygon.AddVertex(vertex.ToSystemPointF());
- }
-
- ///
- /// Adds a collection of vertices to this polygon.
- ///
- /// The polygon whose vertices to update.
- /// The vertices to add.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void AddVertices(this PolygonF polygon, IEnumerable vertices)
- {
- if (polygon is null)
- {
- throw new ArgumentNullException(nameof(polygon));
- }
-
- if (vertices is null)
- {
- throw new ArgumentNullException(nameof(vertices));
- }
-
- foreach (Vector2Int vertex in vertices)
- {
- polygon.AddVertex(vertex);
- }
- }
-
- ///
- /// Adds a collection of vertices to this polygon.
- ///
- /// The polygon whose vertices to update.
- /// The vertices to add.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void AddVertices(this PolygonF polygon, IEnumerable vertices)
- {
- if (polygon is null)
- {
- throw new ArgumentNullException(nameof(polygon));
- }
-
- if (vertices is null)
- {
- throw new ArgumentNullException(nameof(vertices));
- }
-
- foreach (Vector2 vertex in vertices)
- {
- polygon.AddVertex(vertex);
- }
- }
-}
diff --git a/X10D.Unity/src/Drawing/PolyhedronExtensions.cs b/X10D.Unity/src/Drawing/PolyhedronExtensions.cs
deleted file mode 100644
index 94cd4ed..0000000
--- a/X10D.Unity/src/Drawing/PolyhedronExtensions.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Unity.Numerics;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class PolyhedronExtensions
-{
- ///
- /// Adds a vertex to this polyhedron.
- ///
- /// The polyhedron whose vertices to update.
- /// The vertex to add.
- /// is .
- public static void AddVertex(this Polyhedron polyhedron, Vector3Int vertex)
- {
- if (polyhedron is null)
- {
- throw new ArgumentNullException(nameof(polyhedron));
- }
-
- polyhedron.AddVertex(vertex.ToSystemVector());
- }
-
- ///
- /// Adds a vertex to this polyhedron.
- ///
- /// The polyhedron whose vertices to update.
- /// The vertex to add.
- /// is .
- public static void AddVertex(this Polyhedron polyhedron, Vector3 vertex)
- {
- if (polyhedron is null)
- {
- throw new ArgumentNullException(nameof(polyhedron));
- }
-
- polyhedron.AddVertex(vertex.ToSystemVector());
- }
-
- ///
- /// Adds a collection of vertices to this polyhedron.
- ///
- /// The polyhedron whose vertices to update.
- /// The vertices to add.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void AddVertices(this Polyhedron polyhedron, IEnumerable vertices)
- {
- if (polyhedron is null)
- {
- throw new ArgumentNullException(nameof(polyhedron));
- }
-
- if (vertices is null)
- {
- throw new ArgumentNullException(nameof(vertices));
- }
-
- foreach (Vector3Int vertex in vertices)
- {
- polyhedron.AddVertex(vertex);
- }
- }
-
- ///
- /// Adds a collection of vertices to this polyhedron.
- ///
- /// The polyhedron whose vertices to update.
- /// The vertices to add.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void AddVertices(this Polyhedron polyhedron, IEnumerable vertices)
- {
- if (polyhedron is null)
- {
- throw new ArgumentNullException(nameof(polyhedron));
- }
-
- if (vertices is null)
- {
- throw new ArgumentNullException(nameof(vertices));
- }
-
- foreach (Vector3 vertex in vertices)
- {
- polyhedron.AddVertex(vertex);
- }
- }
-}
diff --git a/X10D.Unity/src/Drawing/RandomExtensions.cs b/X10D.Unity/src/Drawing/RandomExtensions.cs
deleted file mode 100644
index c8b4bd7..0000000
--- a/X10D.Unity/src/Drawing/RandomExtensions.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-using UnityEngine;
-using X10D.Core;
-using Random = System.Random;
-
-#pragma warning disable CA5394
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Extension methods for .
-///
-public static class RandomExtensions
-{
- ///
- /// Returns an HDR color of random components for red, green, and blue.
- ///
- /// The instance.
- /// A whose red, green, and blue components are all random, and whose alpha is 255
- /// is .
- public static Color NextColorRgb(this Random random)
- {
- if (random is null)
- {
- throw new ArgumentNullException(nameof(random));
- }
-
- int seed = random.Next();
- var seededRandom = new Random(seed);
- float r = seededRandom.NextSingle();
- float g = seededRandom.NextSingle();
- float b = seededRandom.NextSingle();
- return new Color(r, g, b, 1.0f);
- }
-
- ///
- /// Returns an HDR color composed of random components for apha, red, green, and blue.
- ///
- /// The instance.
- /// A whose alpha, red, green, and blue components are all random.
- /// is .
- public static Color NextColorArgb(this Random random)
- {
- if (random is null)
- {
- throw new ArgumentNullException(nameof(random));
- }
-
- int seed = random.Next();
- var seededRandom = new Random(seed);
- float a = seededRandom.NextSingle();
- float r = seededRandom.NextSingle();
- float g = seededRandom.NextSingle();
- float b = seededRandom.NextSingle();
- return new Color(r, g, b, a);
- }
-
- ///
- /// Returns a color of random components for red, green, and blue.
- ///
- /// The instance.
- /// A whose red, green, and blue components are all random, and whose alpha is 255
- /// is .
- public static Color32 NextColor32Rgb(this Random random)
- {
- if (random is null)
- {
- throw new ArgumentNullException(nameof(random));
- }
-
- int rgb = random.Next();
- var r = (byte)(rgb >> 16 & 0xFF);
- var g = (byte)(rgb >> 8 & 0xFF);
- var b = (byte)(rgb & 0xFF);
- return new Color32(r, g, b, 0xFF);
- }
-
- ///
- /// Returns a color composed of random components for apha, red, green, and blue.
- ///
- /// The instance.
- /// A whose alpha, red, green, and blue components are all random.
- /// is .
- public static Color32 NextColor32Argb(this Random random)
- {
- if (random is null)
- {
- throw new ArgumentNullException(nameof(random));
- }
-
- int argb = random.Next();
- var a = (byte)(argb >> 24 & 0xFF);
- var r = (byte)(argb >> 16 & 0xFF);
- var g = (byte)(argb >> 8 & 0xFF);
- var b = (byte)(argb & 0xFF);
- return new Color32(r, g, b, a);
- }
-}
diff --git a/X10D.Unity/src/Drawing/RectExtensions.cs b/X10D.Unity/src/Drawing/RectExtensions.cs
deleted file mode 100644
index 71db4d6..0000000
--- a/X10D.Unity/src/Drawing/RectExtensions.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class RectExtensions
-{
- ///
- /// Converts the current to a .
- ///
- /// The rectangle to convert.
- /// The converted rectangle.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static RectangleF ToSystemRectangleF(this Rect rectangle)
- {
- return UnsafeUtility.As(ref rectangle);
- }
-}
diff --git a/X10D.Unity/src/Drawing/RectIntExtensions.cs b/X10D.Unity/src/Drawing/RectIntExtensions.cs
deleted file mode 100644
index 184bf74..0000000
--- a/X10D.Unity/src/Drawing/RectIntExtensions.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class RectIntExtensions
-{
- ///
- /// Converts the current to a .
- ///
- /// The rectangle to convert.
- /// The converted rectangle.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Rectangle ToSystemRectangle(this RectInt rectangle)
- {
- return UnsafeUtility.As(ref rectangle);
- }
-
- ///
- /// Converts the current to a .
- ///
- /// The rectangle to convert.
- /// The converted rectangle.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static RectangleF ToSystemRectangleF(this RectInt rectangle)
- {
- // REMARKS: implicit conversion already exists, this method is largely pointless
- return rectangle.ToSystemRectangle();
- }
-}
diff --git a/X10D.Unity/src/Drawing/RectangleExtensions.cs b/X10D.Unity/src/Drawing/RectangleExtensions.cs
deleted file mode 100644
index 7326fdf..0000000
--- a/X10D.Unity/src/Drawing/RectangleExtensions.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class RectangleExtensions
-{
- ///
- /// Converts the current to a .
- ///
- /// The rectangle to convert.
- /// The converted rectangle.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Rect ToUnityRect(this Rectangle rectangle)
- {
- return new Rect(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height);
- }
-
- ///
- /// Converts the current to a .
- ///
- /// The rectangle to convert.
- /// The converted rectangle.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static RectInt ToUnityRectInt(this Rectangle rectangle)
- {
- return UnsafeUtility.As(ref rectangle);
- }
-}
diff --git a/X10D.Unity/src/Drawing/RectangleFExtensions.cs b/X10D.Unity/src/Drawing/RectangleFExtensions.cs
deleted file mode 100644
index 6eaf66c..0000000
--- a/X10D.Unity/src/Drawing/RectangleFExtensions.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using UnityEngine;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class RectangleFExtensions
-{
- ///
- /// Converts the current to a .
- ///
- /// The rectangle to convert.
- /// The converted rectangle.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Rect ToUnityRect(this RectangleF rectangle)
- {
- return new Rect(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height);
- }
-}
diff --git a/X10D.Unity/src/Drawing/SizeExtensions.cs b/X10D.Unity/src/Drawing/SizeExtensions.cs
deleted file mode 100644
index bef5855..0000000
--- a/X10D.Unity/src/Drawing/SizeExtensions.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class SizeExtensions
-{
- ///
- /// Converts the current to a .
- ///
- /// The size to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2 ToUnityVector2(this Size size)
- {
- // REMARKS: implicit conversion already exists, this method is largely pointless
- return size.ToUnityVector2Int();
- }
-
- ///
- /// Converts the current to a .
- ///
- /// The size to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2Int ToUnityVector2Int(this Size size)
- {
- return UnsafeUtility.As(ref size);
- }
-}
diff --git a/X10D.Unity/src/Drawing/SizeFExtensions.cs b/X10D.Unity/src/Drawing/SizeFExtensions.cs
deleted file mode 100644
index d9f1047..0000000
--- a/X10D.Unity/src/Drawing/SizeFExtensions.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-
-namespace X10D.Unity.Drawing;
-
-///
-/// Drawing-related extension methods for .
-///
-public static class SizeFExtensions
-{
- ///
- /// Converts the current to a .
- ///
- /// The size to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2 ToUnityVector2(this SizeF size)
- {
- return UnsafeUtility.As(ref size);
- }
-}
diff --git a/X10D.Unity/src/ExceptionMessages.Designer.cs b/X10D.Unity/src/ExceptionMessages.Designer.cs
deleted file mode 100644
index 954a74a..0000000
--- a/X10D.Unity/src/ExceptionMessages.Designer.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace X10D.Unity {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class ExceptionMessages {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal ExceptionMessages() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("X10D.Unity.src.ExceptionMessages", typeof(ExceptionMessages).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// Looks up a localized string similar to The game object {0} already has a component of type {1}..
- ///
- internal static string ComponentAlreadyExists {
- get {
- return ResourceManager.GetString("ComponentAlreadyExists", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to The game object {0} does not have a component of type {1}..
- ///
- internal static string ComponentDoesNotExist {
- get {
- return ResourceManager.GetString("ComponentDoesNotExist", resourceCulture);
- }
- }
- }
-}
diff --git a/X10D.Unity/src/ExceptionMessages.resx b/X10D.Unity/src/ExceptionMessages.resx
deleted file mode 100644
index ec27743..0000000
--- a/X10D.Unity/src/ExceptionMessages.resx
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 1.3
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
- PublicKeyToken=b77a5c561934e089
-
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
- PublicKeyToken=b77a5c561934e089
-
-
-
-
- The game object {0} does not have a component of type {1}.
-
-
-
- The game object {0} already has a component of type {1}.
-
-
\ No newline at end of file
diff --git a/X10D.Unity/src/GameObjectExtensions.cs b/X10D.Unity/src/GameObjectExtensions.cs
deleted file mode 100644
index 559ee39..0000000
--- a/X10D.Unity/src/GameObjectExtensions.cs
+++ /dev/null
@@ -1,324 +0,0 @@
-using UnityEngine;
-
-namespace X10D.Unity;
-
-///
-/// Extension methods for .
-///
-public static class GameObjectExtensions
-{
- ///
- /// Returns an array of components of the specified type, excluding components that live on this game object.
- ///
- /// The game object whose child components to retrieve.
- /// The type of the components to retrieve.
- /// An array representing the child components.
- /// is .
- public static T[] GetComponentsInChildrenOnly(this GameObject gameObject)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- Transform rootTransform = gameObject.transform;
- var components = new List(gameObject.GetComponentsInChildren());
-
- for (var index = 0; index < components.Count; index++)
- {
- if (components[index] is not Component childComponent)
- {
- // this shouldn't happen, since you can't add a non-Component to a game object,
- // but GetComponentsInChildren is not constrained, so this method shouldn't be either
- continue;
- }
-
- if (childComponent.transform == rootTransform)
- {
- components.RemoveAt(index);
- index--;
- }
- }
-
- return components.ToArray();
- }
-
- ///
- /// Rotates the transform component of this game object so the forward vector points at another game object.
- ///
- /// The game object whose rotation will be changed.
- /// The game object to look at.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void LookAt(this GameObject gameObject, GameObject target)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- if (target == null)
- {
- throw new ArgumentNullException(nameof(target));
- }
-
- gameObject.transform.LookAt(target.transform);
- }
-
- ///
- /// Rotates the transform component of this game object so the forward vector points at .
- ///
- /// The game object whose rotation will be changed.
- /// The point to look at.
- /// is .
- public static void LookAt(this GameObject gameObject, Vector3 target)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- gameObject.transform.LookAt(target);
- }
-
- ///
- /// Rotates the transform component of this game object so the forward vector points at a specified transform.
- ///
- /// The game object whose rotation will be changed.
- /// The transform to look at.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void LookAt(this GameObject gameObject, Transform target)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- if (target == null)
- {
- throw new ArgumentNullException(nameof(target));
- }
-
- gameObject.transform.LookAt(target);
- }
-
- ///
- /// Rotates the transform component of this game object so the forward vector points at another game object.
- ///
- /// The game object whose rotation will be changed.
- /// The game object to look at.
- /// A vector specifying the upward direction.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void LookAt(this GameObject gameObject, GameObject target, Vector3 worldUp)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- if (target == null)
- {
- throw new ArgumentNullException(nameof(target));
- }
-
- gameObject.transform.LookAt(target.transform, worldUp);
- }
-
- ///
- /// Rotates the transform component of this game object so the forward vector points at .
- ///
- /// The game object whose rotation will be changed.
- /// The point to look at.
- /// A vector specifying the upward direction.
- /// is .
- public static void LookAt(this GameObject gameObject, Vector3 target, Vector3 worldUp)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- gameObject.transform.LookAt(target, worldUp);
- }
-
- ///
- /// Rotates the transform component of this game object so the forward vector points at a specified transform.
- ///
- /// The game object whose rotation will be changed.
- /// The transform to look at.
- /// A vector specifying the upward direction.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void LookAt(this GameObject gameObject, Transform target, Vector3 worldUp)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- if (target == null)
- {
- throw new ArgumentNullException(nameof(target));
- }
-
- gameObject.transform.LookAt(target, worldUp);
- }
-
- ///
- /// Sets the new layer of this game object and its children, recursively.
- ///
- /// The game object whose layer, and that of its children recursively, to change.
- /// The new layer.
- /// is .
- public static void SetLayerRecursively(this GameObject gameObject, int layer)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- var children = new Stack();
- var transform = gameObject.transform;
- children.Push(transform);
-
- while (children.Count > 0)
- {
- Transform child = children.Pop();
- int childCount = child.childCount;
-
- child.gameObject.layer = layer;
-
- if (childCount <= 0)
- {
- continue;
- }
-
- for (var childIndex = 0; childIndex < childCount; childIndex++)
- {
- children.Push(child.GetChild(childIndex));
- }
- }
- }
-
- ///
- /// Sets the parent of this game object.
- ///
- /// The game object whose parent to change.
- /// The new parent.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void SetParent(this GameObject gameObject, GameObject parent)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- if (parent == null)
- {
- throw new ArgumentNullException(nameof(parent));
- }
-
- gameObject.transform.SetParent(parent.transform);
- }
-
- ///
- /// Sets the parent of this game object.
- ///
- /// The game object whose parent to change.
- /// The new parent.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void SetParent(this GameObject gameObject, Transform parent)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- if (parent == null)
- {
- throw new ArgumentNullException(nameof(parent));
- }
-
- gameObject.transform.SetParent(parent);
- }
-
- ///
- /// Sets the parent of this game object.
- ///
- /// The game object whose parent to change.
- /// The new parent.
- ///
- /// to modify the parent-relative position, scale and rotation such that the object keeps the same
- /// world space position, rotation and scale as before; otherwise, .
- ///
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void SetParent(this GameObject gameObject, GameObject parent, bool worldPositionStays)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- if (parent == null)
- {
- throw new ArgumentNullException(nameof(parent));
- }
-
- gameObject.transform.SetParent(parent.transform, worldPositionStays);
- }
-
- ///
- /// Sets the parent of this game object.
- ///
- /// The game object whose parent to change.
- /// The new parent.
- ///
- /// to modify the parent-relative position, scale and rotation such that the object keeps the same
- /// world space position, rotation and scale as before; otherwise, .
- ///
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void SetParent(this GameObject gameObject, Transform parent, bool worldPositionStays)
- {
- if (gameObject == null)
- {
- throw new ArgumentNullException(nameof(gameObject));
- }
-
- if (parent == null)
- {
- throw new ArgumentNullException(nameof(parent));
- }
-
- gameObject.transform.SetParent(parent, worldPositionStays);
- }
-}
diff --git a/X10D.Unity/src/Numerics/QuaternionExtensions.cs b/X10D.Unity/src/Numerics/QuaternionExtensions.cs
deleted file mode 100644
index 5511bbc..0000000
--- a/X10D.Unity/src/Numerics/QuaternionExtensions.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-
-namespace X10D.Unity.Numerics;
-
-///
-/// Numeric-extensions for .
-///
-public static class QuaternionExtensions
-{
- ///
- /// Converts the current quaternion to a .
- ///
- /// The quaternion to convert.
- /// The converted quaternion.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static System.Numerics.Quaternion ToSystemQuaternion(this Quaternion quaternion)
- {
- return UnsafeUtility.As(ref quaternion);
- }
-
- ///
- /// Converts the current quaternion to a .
- ///
- /// The quaternion to convert.
- /// The converted quaternion.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Quaternion ToUnityQuaternion(this System.Numerics.Quaternion quaternion)
- {
- return UnsafeUtility.As(ref quaternion);
- }
-}
diff --git a/X10D.Unity/src/Numerics/RandomExtensions.cs b/X10D.Unity/src/Numerics/RandomExtensions.cs
deleted file mode 100644
index 07b54a2..0000000
--- a/X10D.Unity/src/Numerics/RandomExtensions.cs
+++ /dev/null
@@ -1,120 +0,0 @@
-using UnityEngine;
-using X10D.Core;
-using Random = System.Random;
-
-#pragma warning disable CA5394
-
-namespace X10D.Unity.Numerics;
-
-///
-/// Extension methods for .
-///
-public static class RandomExtensions
-{
- ///
- /// Returns a randomly generated rotation as represented by a .
- ///
- /// The instance.
- ///
- /// A constructed from 3 random single-precision floating point numbers representing the
- /// yaw, pitch, and roll.
- ///
- /// is .
- public static Quaternion NextRotation(this Random random)
- {
- if (random is null)
- {
- throw new ArgumentNullException(nameof(random));
- }
-
- int seed = random.Next();
- var seededRandom = new Random(seed);
-
- float x = seededRandom.NextSingle(0, 360);
- float y = seededRandom.NextSingle(0, 360);
- float z = seededRandom.NextSingle(0, 360);
-
- return Quaternion.Euler(x, y, z);
- }
-
- ///
- /// Returns a randomly generated rotation with uniform distribution.
- ///
- /// The instance.
- /// A constructed with uniform distribution.
- /// is .
- public static Quaternion NextRotationUniform(this Random random)
- {
- if (random is null)
- {
- throw new ArgumentNullException(nameof(random));
- }
-
- int seed = random.Next();
- var seededRandom = new Random(seed);
- float normal, w, x, y, z;
-
- do
- {
- w = seededRandom.NextSingle(-1f, 1f);
- x = seededRandom.NextSingle(-1f, 1f);
- y = seededRandom.NextSingle(-1f, 1f);
- z = seededRandom.NextSingle(-1f, 1f);
- normal = (w * w) + (x * x) + (y * y) + (z * z);
- } while (normal is 0f or > 1f);
-
- normal = MathF.Sqrt(normal);
- return new Quaternion(x / normal, y / normal, z / normal, w / normal);
- }
-
- ///
- /// Returns a with magnitude 1 whose components indicate a random point on the unit circle.
- ///
- /// The instance
- ///
- /// A whose returns 1, and whose components indicate a random
- /// point on the unit circle.
- ///
- public static Vector2 NextUnitVector2(this Random random)
- {
- if (random is null)
- {
- throw new ArgumentNullException(nameof(random));
- }
-
- // no need to construct a seeded random here, since we only call Next once
-
- float angle = random.NextSingle(0, MathF.PI * 2.0f);
- float x = MathF.Cos(angle);
- float y = MathF.Sin(angle);
-
- return new Vector2(x, y);
- }
-
- ///
- /// Returns a with magnitude 1 whose components indicate a random point on the unit sphere.
- ///
- /// The instance
- ///
- /// A whose returns 1, and whose components indicate a random
- /// point on the unit sphere.
- ///
- public static Vector3 NextUnitVector3(this Random random)
- {
- if (random is null)
- {
- throw new ArgumentNullException(nameof(random));
- }
-
- int seed = random.Next();
- var seededRandom = new Random(seed);
-
- float angle = seededRandom.NextSingle(0, MathF.PI * 2.0f);
- float z = seededRandom.NextSingle(-1, 1);
- float mp = MathF.Sqrt(1 - (z * z));
- float x = mp * MathF.Cos(angle);
- float y = mp * MathF.Sin(angle);
-
- return new Vector3(x, y, z);
- }
-}
diff --git a/X10D.Unity/src/Numerics/Vector2Extensions.cs b/X10D.Unity/src/Numerics/Vector2Extensions.cs
deleted file mode 100644
index 6e608f8..0000000
--- a/X10D.Unity/src/Numerics/Vector2Extensions.cs
+++ /dev/null
@@ -1,185 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-using X10D.Drawing;
-using X10D.Math;
-using X10D.Numerics;
-
-namespace X10D.Unity.Numerics;
-
-///
-/// Numeric-extensions for .
-///
-public static class Vector2Extensions
-{
- ///
- /// Deconstructs the current into its components.
- ///
- /// The vector to deconstruct.
- /// The X component value.
- /// The Y component value.
- public static void Deconstruct(this Vector2 vector, out float x, out float y)
- {
- x = vector.x;
- y = vector.y;
- }
-
- ///
- /// Determines if the current lies on the specified .
- ///
- /// The point to check.
- /// The line on which the point may lie.
- ///
- /// if lies on the line defined by ; otherwise
- /// .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsOnLine(this Vector2 point, LineF line)
- {
- return point.ToSystemVector().IsOnLine(line);
- }
-
- ///
- /// Determines if the current lies on the specified line.
- ///
- /// The point to check.
- /// The starting point of the line.
- /// The ending point of the line.
- ///
- /// if lies on the line defined by and
- /// ; otherwise .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsOnLine(this Vector2 point, PointF start, PointF end)
- {
- return point.IsOnLine(new LineF(start, end));
- }
-
- ///
- /// Determines if the current lies on the specified line.
- ///
- /// The point to check.
- /// The starting point of the line.
- /// The ending point of the line.
- ///
- /// if lies on the line defined by and
- /// ; otherwise .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsOnLine(this Vector2 point, Vector2 start, Vector2 end)
- {
- return point.ToSystemVector().IsOnLine(start.ToSystemVector(), end.ToSystemVector());
- }
-
- ///
- /// Rounds the components in the current to the nearest integer.
- ///
- /// The vector whose components to round.
- /// The rounded vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2 Round(this Vector2 vector)
- {
- return vector.Round(1.0f);
- }
-
- ///
- /// Rounds the components in the current to the nearest multiple of a specified number.
- ///
- /// The vector whose components to round.
- /// The nearest multiple to which the components should be rounded.
- /// The rounded vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2 Round(this Vector2 vector, float nearest)
- {
- float x = vector.x.Round(nearest);
- float y = vector.y.Round(nearest);
- return new Vector2(x, y);
- }
-
- ///
- /// Converts the current into a .
- ///
- /// The vector to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static PointF ToSystemPointF(this Vector2 vector)
- {
- return UnsafeUtility.As(ref vector);
- }
-
- ///
- /// Converts the current into a .
- ///
- /// The vector to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static SizeF ToSystemSizeF(this Vector2 vector)
- {
- return UnsafeUtility.As(ref vector);
- }
-
- ///
- /// Converts the current vector to a .
- ///
- /// The vector to convert.
- /// The converted vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static System.Numerics.Vector2 ToSystemVector(this Vector2 vector)
- {
- return UnsafeUtility.As(ref vector);
- }
-
- ///
- /// Converts the current vector to a .
- ///
- /// The vector to convert.
- /// The converted vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2 ToUnityVector(this System.Numerics.Vector2 vector)
- {
- return UnsafeUtility.As(ref vector);
- }
-
- ///
- /// Returns a vector whose Y component is the same as the specified vector, and whose X component is a new value.
- ///
- /// The vector to copy.
- /// The new X component value.
- ///
- /// A new instance of whose components is the same as that of
- /// , and whose component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2 WithX(this Vector2 vector, float x)
- {
- return vector with {x = x};
- }
-
- ///
- /// Returns a vector whose X component is the same as the specified vector, and whose Y component is a new value.
- ///
- /// The vector to copy.
- /// The new Y component value.
- ///
- /// A new instance of whose components is the same as that of
- /// , and whose component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2 WithY(this Vector2 vector, float y)
- {
- return vector with {y = y};
- }
-}
diff --git a/X10D.Unity/src/Numerics/Vector2IntExtensions.cs b/X10D.Unity/src/Numerics/Vector2IntExtensions.cs
deleted file mode 100644
index babf2d9..0000000
--- a/X10D.Unity/src/Numerics/Vector2IntExtensions.cs
+++ /dev/null
@@ -1,160 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Drawing;
-using System.Runtime.CompilerServices;
-using UnityEngine;
-using X10D.Drawing;
-
-namespace X10D.Unity.Numerics;
-
-///
-/// Numeric-extensions for .
-///
-public static class Vector2IntExtensions
-{
- ///
- /// Deconstructs the current into its components.
- ///
- /// The vector to deconstruct.
- /// The X component value.
- /// The Y component value.
- public static void Deconstruct(this Vector2Int vector, out int x, out int y)
- {
- x = vector.x;
- y = vector.y;
- }
-
- ///
- /// Determines if the current lies on the specified .
- ///
- /// The point to check.
- /// The line on which the point may lie.
- ///
- /// if lies on the line defined by ; otherwise
- /// .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsOnLine(this Vector2Int point, LineF line)
- {
- return point.ToSystemPoint().IsOnLine(line);
- }
-
- ///
- /// Determines if the current lies on the specified line.
- ///
- /// The point to check.
- /// The starting point of the line.
- /// The ending point of the line.
- ///
- /// if lies on the line defined by and
- /// ; otherwise .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsOnLine(this Vector2Int point, PointF start, PointF end)
- {
- return point.IsOnLine(new LineF(start, end));
- }
-
- ///
- /// Determines if the current lies on the specified line.
- ///
- /// The point to check.
- /// The starting point of the line.
- /// The ending point of the line.
- ///
- /// if lies on the line defined by and
- /// ; otherwise .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsOnLine(this Vector2Int point, Vector2Int start, Vector2Int end)
- {
- return point.ToSystemPoint().IsOnLine(new LineF(start.ToSystemVector(), end.ToSystemVector()));
- }
-
- ///
- /// Determines if the current lies on the specified line.
- ///
- /// The point to check.
- /// The starting point of the line.
- /// The ending point of the line.
- ///
- /// if lies on the line defined by and
- /// ; otherwise .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsOnLine(this Vector2Int point, Vector2 start, Vector2 end)
- {
- return point.ToSystemPoint().IsOnLine(new LineF(start.ToSystemVector(), end.ToSystemVector()));
- }
-
- ///
- /// Converts the current into a .
- ///
- /// The vector to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Point ToSystemPoint(this Vector2Int vector)
- {
- return new Point(vector.x, vector.y);
- }
-
- ///
- /// Converts the current into a .
- ///
- /// The vector to convert.
- /// The resulting .
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Size ToSystemSize(this Vector2Int vector)
- {
- return new Size(vector.x, vector.y);
- }
-
- ///
- /// Converts the current vector to a .
- ///
- /// The vector to convert.
- /// The converted vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static System.Numerics.Vector2 ToSystemVector(this Vector2Int vector)
- {
- return new System.Numerics.Vector2(vector.x, vector.y);
- }
-
- ///
- /// Returns a vector whose Y component is the same as the specified vector, and whose X component is a new value.
- ///
- /// The vector to copy.
- /// The new X component value.
- ///
- /// A new instance of whose components is the same as that of
- /// , and whose component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2Int WithX(this Vector2Int vector, int x)
- {
- return vector with {x = x};
- }
-
- ///
- /// Returns a vector whose X component is the same as the specified vector, and whose Y component is a new value.
- ///
- /// The vector to copy.
- /// The new Y component value.
- ///
- /// A new instance of whose components is the same as that of
- /// , and whose component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector2Int WithY(this Vector2Int vector, int y)
- {
- return vector with {y = y};
- }
-}
diff --git a/X10D.Unity/src/Numerics/Vector3Extensions.cs b/X10D.Unity/src/Numerics/Vector3Extensions.cs
deleted file mode 100644
index 64dc0e1..0000000
--- a/X10D.Unity/src/Numerics/Vector3Extensions.cs
+++ /dev/null
@@ -1,127 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-using X10D.Math;
-
-namespace X10D.Unity.Numerics;
-
-///
-/// Numeric-extensions for .
-///
-public static class Vector3Extensions
-{
- ///
- /// Deconstructs the current into its components.
- ///
- /// The vector to deconstruct.
- /// The X component value.
- /// The Y component value.
- /// The Z component value.
- public static void Deconstruct(this Vector3 vector, out float x, out float y, out float z)
- {
- x = vector.x;
- y = vector.y;
- z = vector.z;
- }
-
- ///
- /// Rounds the components in the current to the nearest integer.
- ///
- /// The vector whose components to round.
- /// The rounded vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector3 Round(this Vector3 vector)
- {
- return vector.Round(1.0f);
- }
-
- ///
- /// Rounds the components in the current to the nearest multiple of a specified number.
- ///
- /// The vector whose components to round.
- /// The nearest multiple to which the components should be rounded.
- /// The rounded vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector3 Round(this Vector3 vector, float nearest)
- {
- float x = vector.x.Round(nearest);
- float y = vector.y.Round(nearest);
- float z = vector.z.Round(nearest);
- return new Vector3(x, y, z);
- }
-
- ///
- /// Converts the current vector to a .
- ///
- /// The vector to convert.
- /// The converted vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static System.Numerics.Vector3 ToSystemVector(this Vector3 vector)
- {
- return UnsafeUtility.As(ref vector);
- }
-
- ///
- /// Converts the current vector to a .
- ///
- /// The vector to convert.
- /// The converted vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector3 ToUnityVector(this System.Numerics.Vector3 vector)
- {
- return UnsafeUtility.As(ref vector);
- }
-
- ///
- /// Returns a vector whose Y and Z components are the same as the specified vector, and whose X component is a new value.
- ///
- /// The vector to copy.
- /// The new X component value.
- ///
- /// A new instance of whose and components are
- /// the same as that of , and whose component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector3 WithX(this Vector3 vector, float x)
- {
- return vector with {x = x};
- }
-
- ///
- /// Returns a vector whose X and Z components are the same as the specified vector, and whose Y component is a new value.
- ///
- /// The vector to copy.
- /// The new Y component value.
- ///
- /// A new instance of whose and components are
- /// the same as that of , and whose component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector3 WithY(this Vector3 vector, float y)
- {
- return vector with {y = y};
- }
-
- ///
- /// Returns a vector whose X and Y components are the same as the specified vector, and whose Z component is a new value.
- ///
- /// The vector to copy.
- /// The new Z component value.
- ///
- /// A new instance of whose and components are
- /// the same as that of , and whose component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector3 WithZ(this Vector3 vector, float z)
- {
- return vector with {z = z};
- }
-}
diff --git a/X10D.Unity/src/Numerics/Vector3IntExtensions.cs b/X10D.Unity/src/Numerics/Vector3IntExtensions.cs
deleted file mode 100644
index 16b2e4d..0000000
--- a/X10D.Unity/src/Numerics/Vector3IntExtensions.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Runtime.CompilerServices;
-using UnityEngine;
-
-namespace X10D.Unity.Numerics;
-
-///
-/// Numeric-extensions for .
-///
-public static class Vector3IntExtensions
-{
- ///
- /// Deconstructs the current into its components.
- ///
- /// The vector to deconstruct.
- /// The X component value.
- /// The Y component value.
- /// The Z component value.
- public static void Deconstruct(this Vector3Int vector, out int x, out int y, out int z)
- {
- x = vector.x;
- y = vector.y;
- z = vector.z;
- }
-
- ///
- /// Converts the current vector to a .
- ///
- /// The vector to convert.
- /// The converted vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static System.Numerics.Vector3 ToSystemVector(this Vector3Int vector)
- {
- return new System.Numerics.Vector3(vector.x, vector.y, vector.z);
- }
-
- ///
- /// Returns a vector whose Y and Z components are the same as the specified vector, and whose X component is a new value.
- ///
- /// The vector to copy.
- /// The new X component value.
- ///
- /// A new instance of whose and
- /// components are the same as that of , and whose component is
- /// .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector3Int WithX(this Vector3Int vector, int x)
- {
- return vector with {x = x};
- }
-
- ///
- /// Returns a vector whose X and Z components are the same as the specified vector, and whose Y component is a new value.
- ///
- /// The vector to copy.
- /// The new Y component value.
- ///
- /// A new instance of whose and
- /// components are the same as that of , and whose component is
- /// .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector3Int WithY(this Vector3Int vector, int y)
- {
- return vector with {y = y};
- }
-
- ///
- /// Returns a vector whose X and Y components are the same as the specified vector, and whose Z component is a new value.
- ///
- /// The vector to copy.
- /// The new Z component value.
- ///
- /// A new instance of whose and
- /// components are the same as that of , and whose component is
- /// .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector3Int WithZ(this Vector3Int vector, int z)
- {
- return vector with {z = z};
- }
-}
diff --git a/X10D.Unity/src/Numerics/Vector4Extensions.cs b/X10D.Unity/src/Numerics/Vector4Extensions.cs
deleted file mode 100644
index e17ba25..0000000
--- a/X10D.Unity/src/Numerics/Vector4Extensions.cs
+++ /dev/null
@@ -1,154 +0,0 @@
-using System.Diagnostics.Contracts;
-using System.Runtime.CompilerServices;
-using Unity.Collections.LowLevel.Unsafe;
-using UnityEngine;
-using X10D.Math;
-
-namespace X10D.Unity.Numerics;
-
-///
-/// Numeric-extensions for .
-///
-public static class Vector4Extensions
-{
- ///
- /// Deconstructs the current into its components.
- ///
- /// The vector to deconstruct.
- /// The X component value.
- /// The Y component value.
- /// The Z component value.
- /// The W component value.
- public static void Deconstruct(this Vector4 vector, out float x, out float y, out float z, out float w)
- {
- x = vector.x;
- y = vector.y;
- z = vector.z;
- w = vector.w;
- }
-
- ///
- /// Rounds the components in the current to the nearest integer.
- ///
- /// The vector whose components to round.
- /// The rounded vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector4 Round(this Vector4 vector)
- {
- return vector.Round(1.0f);
- }
-
- ///
- /// Rounds the components in the current to the nearest multiple of a specified number.
- ///
- /// The vector whose components to round.
- /// The nearest multiple to which the components should be rounded.
- /// The rounded vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector4 Round(this Vector4 vector, float nearest)
- {
- float x = vector.x.Round(nearest);
- float y = vector.y.Round(nearest);
- float z = vector.z.Round(nearest);
- float w = vector.w.Round(nearest);
- return new Vector4(x, y, z, w);
- }
-
- ///
- /// Converts the current vector to a .
- ///
- /// The vector to convert.
- /// The converted vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static System.Numerics.Vector4 ToSystemVector(this Vector4 vector)
- {
- return UnsafeUtility.As(ref vector);
- }
-
- ///
- /// Converts the current vector to a .
- ///
- /// The vector to convert.
- /// The converted vector.
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector4 ToUnityVector(this System.Numerics.Vector4 vector)
- {
- return UnsafeUtility.As(ref vector);
- }
-
- ///
- /// Returns a vector whose Y, Z, and W components are the same as the specified vector, and whose X component is a new
- /// value.
- ///
- /// The vector to copy.
- /// The new X component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector4 WithX(this Vector4 vector, float x)
- {
- return vector with {x = x};
- }
-
- ///
- /// Returns a vector whose X, Z, and W components are the same as the specified vector, and whose Y component is a new
- /// value.
- ///
- /// The vector to copy.
- /// The new Y component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector4 WithY(this Vector4 vector, float y)
- {
- return vector with {y = y};
- }
-
- ///
- /// Returns a vector whose X, Y, and W components are the same as the specified vector, and whose Z component is a new
- /// value.
- ///
- /// The vector to copy.
- /// The new Z component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector4 WithZ(this Vector4 vector, float z)
- {
- return vector with {z = z};
- }
-
- ///
- /// Returns a vector whose X, Y, and Z components are the same as the specified vector, and whose W component is a new
- /// value.
- ///
- /// The vector to copy.
- /// The new W component value.
- ///
- /// A new instance of whose , , and
- /// components are the same as that of , and whose
- /// component is .
- ///
- [Pure]
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static Vector4 WithW(this Vector4 vector, float w)
- {
- return vector with {w = w};
- }
-}
diff --git a/X10D.Unity/src/RaycastHitExtensions.cs b/X10D.Unity/src/RaycastHitExtensions.cs
deleted file mode 100644
index 5e44dca..0000000
--- a/X10D.Unity/src/RaycastHitExtensions.cs
+++ /dev/null
@@ -1,109 +0,0 @@
-using System.Diagnostics.CodeAnalysis;
-using UnityEngine;
-
-namespace X10D.Unity;
-
-///
-/// Extension methods for .
-///
-public static class RaycastHitExtensions
-{
- ///
- /// Gets the component of the specified type from the object that was hit by the raycast.
- ///
- /// The raycast hit.
- /// The type of the component to retrieve.
- ///
- /// The component of the specified type from the object that was hit by the raycast, or if no
- /// component of the specified type was found.
- ///
- public static T? GetComponent(this RaycastHit hit)
- {
- if (hit.transform == null)
- {
- return default;
- }
-
- return hit.transform.GetComponent();
- }
-
- ///
- /// Gets the component of the specified type from the object that was hit by the raycast.
- ///
- /// The raycast hit.
- /// The type of the component to retrieve.
- ///
- /// The component of the specified type from the object that was hit by the raycast, or if no
- /// component of the specified type was found.
- ///
- /// is .
- public static Component? GetComponent(this RaycastHit hit, Type componentType)
- {
- if (componentType is null)
- {
- throw new ArgumentNullException(nameof(componentType));
- }
-
- if (hit.transform == null)
- {
- return default;
- }
-
- return hit.transform.GetComponent(componentType);
- }
-
-
- ///
- /// Attempts to get the component of the specified type from the object that was hit by the raycast, and returns a value
- /// that indicates whether the operation succeeded.
- ///
- /// The raycast hit.
- ///
- /// When this method returns, contains the component of the specified type from the object that was hit by the raycast, or
- /// if no component of the specified type was found.
- ///
- /// The type of the component to retrieve.
- ///
- /// if the component of the specified type was found; otherwise, .
- ///
- public static bool TryGetComponent(this RaycastHit hit, [NotNullWhen(true)] out T? component)
- {
- if (hit.transform == null)
- {
- component = default;
- return false;
- }
-
- return hit.transform.TryGetComponent(out component);
- }
-
- ///
- /// Attempts to get the component of the specified type from the object that was hit by the raycast, and returns a value
- /// that indicates whether the operation succeeded.
- ///
- /// The raycast hit.
- /// The type of the component to retrieve.
- ///
- /// When this method returns, contains the component of the specified type from the object that was hit by the raycast, or
- /// if no component of the specified type was found.
- ///
- ///
- /// if the component of the specified type was found; otherwise, .
- ///
- /// is .
- public static bool TryGetComponent(this RaycastHit hit, Type componentType, [NotNullWhen(true)] out Component? component)
- {
- if (componentType is null)
- {
- throw new ArgumentNullException(nameof(componentType));
- }
-
- if (hit.transform == null)
- {
- component = default;
- return false;
- }
-
- return hit.transform.TryGetComponent(componentType, out component);
- }
-}
diff --git a/X10D.Unity/src/Singleton.cs b/X10D.Unity/src/Singleton.cs
deleted file mode 100644
index 6d75df7..0000000
--- a/X10D.Unity/src/Singleton.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using UnityEngine;
-
-namespace X10D.Unity;
-
-///
-/// Represents a class which implements the singleton pattern for a specific . This class is not
-/// thread-safe.
-///
-/// The type of the singleton.
-public abstract class Singleton : MonoBehaviour
- where T : Singleton
-{
- private static Lazy s_instanceLazy = new(CreateLazyInstanceInternal, false);
- private static T? s_instance;
-
- ///
- /// Gets the instance of the singleton.
- ///
- /// The singleton instance.
-#pragma warning disable CA1000
- public static T Instance
-#pragma warning restore CA1000
- {
- get => s_instance ? s_instance! : s_instanceLazy.Value;
- }
-
- ///
- /// Called when the script instance is being loaded.
- ///
- protected virtual void Awake()
- {
- s_instance = (T?)this;
- }
-
- ///
- /// Called when the object is destroyed.
- ///
- protected virtual void OnDestroy()
- {
- s_instance = null;
- s_instanceLazy = new Lazy(CreateLazyInstanceInternal, false);
- }
-
- private static T CreateLazyInstanceInternal()
- {
- if (s_instance)
- {
- return s_instance!;
- }
-
- if (FindObjectOfType() is { } instance)
- {
- s_instance = instance;
- return instance;
- }
-
- var gameObject = new GameObject {name = typeof(T).Name};
- return s_instance = gameObject.AddComponent();
- }
-}
diff --git a/X10D.Unity/src/TransformExtensions.cs b/X10D.Unity/src/TransformExtensions.cs
deleted file mode 100644
index 922ed5c..0000000
--- a/X10D.Unity/src/TransformExtensions.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-using UnityEngine;
-
-namespace X10D.Unity;
-
-///
-/// Extension methods for .
-///
-public static class TransformExtensions
-{
- ///
- /// Rotates this transform so the forward vector points at another game object.
- ///
- /// The transform whose rotation will be changed.
- /// The game object to look at.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void LookAt(this Transform transform, GameObject target)
- {
- if (transform == null)
- {
- throw new ArgumentNullException(nameof(transform));
- }
-
- if (target == null)
- {
- throw new ArgumentNullException(nameof(target));
- }
-
- transform.LookAt(target.transform);
- }
-
- ///
- /// Rotates this transform so the forward vector points at another game object.
- ///
- /// The transform whose rotation will be changed.
- /// The game object to look at.
- /// A vector specifying the upward direction.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void LookAt(this Transform transform, GameObject target, Vector3 worldUp)
- {
- if (transform == null)
- {
- throw new ArgumentNullException(nameof(transform));
- }
-
- if (target == null)
- {
- throw new ArgumentNullException(nameof(target));
- }
-
- transform.LookAt(target.transform, worldUp);
- }
-
- ///
- /// Sets the parent of this transform.
- ///
- /// The transform whose parent to change.
- /// The new parent.
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void SetParent(this Transform transform, GameObject parent)
- {
- if (transform == null)
- {
- throw new ArgumentNullException(nameof(transform));
- }
-
- if (parent == null)
- {
- throw new ArgumentNullException(nameof(parent));
- }
-
- transform.transform.SetParent(parent.transform);
- }
-
- ///
- /// Sets the parent of this transform.
- ///
- /// The transform whose parent to change.
- /// The new parent.
- ///
- /// to modify the parent-relative position, scale and rotation such that the object keeps the same
- /// world space position, rotation and scale as before; otherwise, .
- ///
- ///
- /// is .
- /// -or-
- /// is .
- ///
- public static void SetParent(this Transform transform, GameObject parent, bool worldPositionStays)
- {
- if (transform == null)
- {
- throw new ArgumentNullException(nameof(transform));
- }
-
- if (parent == null)
- {
- throw new ArgumentNullException(nameof(parent));
- }
-
- transform.SetParent(parent.transform, worldPositionStays);
- }
-}
diff --git a/X10D.Unity/src/WaitForFrames.cs b/X10D.Unity/src/WaitForFrames.cs
deleted file mode 100644
index d6d69a8..0000000
--- a/X10D.Unity/src/WaitForFrames.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System.Collections;
-
-namespace X10D.Unity;
-
-///
-/// Represents a yield instruction that waits for a specific number of frames.
-///
-public struct WaitForFrames : IEnumerator
-{
- private readonly int _frameCount;
- private int _frameIndex;
-
- ///
- /// Initializes a new instance of the struct.
- ///
- /// The frame count.
- public WaitForFrames(int frameCount)
- {
- _frameCount = frameCount;
- _frameIndex = 0;
- }
-
- ///
- public object Current
- {
- get => _frameCount;
- }
-
- ///
- public bool MoveNext()
- {
- return ++_frameIndex <= _frameCount;
- }
-
- ///
- public void Reset()
- {
- _frameIndex = 0;
- }
-}
diff --git a/X10D.Unity/src/WaitForKeyDown.cs b/X10D.Unity/src/WaitForKeyDown.cs
deleted file mode 100644
index 0ffaaf4..0000000
--- a/X10D.Unity/src/WaitForKeyDown.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Collections;
-using UnityEngine;
-
-namespace X10D.Unity;
-
-///
-/// Represents a yield instruction that waits for a key to be pressed.
-///
-public readonly struct WaitForKeyDown : IEnumerator
-{
- private readonly KeyCode _keyCode;
-
- ///
- /// Initializes a new instance of the struct.
- ///
- /// The key to wait for.
- public WaitForKeyDown(KeyCode keyCode)
- {
- _keyCode = keyCode;
- }
-
- ///
- public object Current
- {
- get => _keyCode == KeyCode.None ? Input.anyKeyDown : Input.GetKeyDown(_keyCode);
- }
-
- ///
- public bool MoveNext()
- {
- return !(_keyCode == KeyCode.None ? Input.anyKeyDown : Input.GetKeyDown(_keyCode));
- }
-
- ///
- public void Reset()
- {
- }
-}
diff --git a/X10D.Unity/src/WaitForKeyUp.cs b/X10D.Unity/src/WaitForKeyUp.cs
deleted file mode 100644
index 9cea34d..0000000
--- a/X10D.Unity/src/WaitForKeyUp.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Collections;
-using UnityEngine;
-
-namespace X10D.Unity;
-
-///
-/// Represents a yield instruction that waits for a key to be released.
-///
-public readonly struct WaitForKeyUp : IEnumerator
-{
- private readonly KeyCode _keyCode;
-
- ///
- /// Initializes a new instance of the struct.
- ///
- /// The key to wait for.
- public WaitForKeyUp(KeyCode keyCode)
- {
- _keyCode = keyCode;
- }
-
- ///
- public object Current
- {
- get => _keyCode == KeyCode.None || Input.GetKeyUp(_keyCode);
- }
-
- ///
- public bool MoveNext()
- {
- return !(_keyCode == KeyCode.None || Input.GetKeyUp(_keyCode));
- }
-
- ///
- public void Reset()
- {
- }
-}
diff --git a/X10D.Unity/src/WaitForSecondsNoAlloc.cs b/X10D.Unity/src/WaitForSecondsNoAlloc.cs
deleted file mode 100644
index c10b751..0000000
--- a/X10D.Unity/src/WaitForSecondsNoAlloc.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-using System.Collections;
-
-namespace X10D.Unity;
-
-///
-/// Represents a yield instruction which waits for a specified amount of seconds.
-///
-/// This struct exists as an allocation-free alternative to .
-public struct WaitForSecondsNoAlloc : IEnumerator
-{
- private readonly float _duration;
- private float _delta;
-
- ///
- /// Initializes a new instance of the struct.
- ///
- /// The duration of the pause, in seconds.
- public WaitForSecondsNoAlloc(float duration)
- {
- _duration = duration;
- _delta = 0f;
- }
-
- ///
- public object Current
- {
- get => _delta;
- }
-
- ///
- public bool MoveNext()
- {
- _delta += UnityEngine.Time.deltaTime;
- return _delta < _duration;
- }
-
- ///
- public void Reset()
- {
- }
-}
diff --git a/X10D.Unity/src/WaitForSecondsRealtimeNoAlloc.cs b/X10D.Unity/src/WaitForSecondsRealtimeNoAlloc.cs
deleted file mode 100644
index 3335336..0000000
--- a/X10D.Unity/src/WaitForSecondsRealtimeNoAlloc.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System.Collections;
-
-namespace X10D.Unity;
-
-///
-/// Represents a yield instruction which waits for a given amount of time, as provided by a .
-///
-/// This struct exists as an allocation-free alternative to .
-public readonly struct WaitForSecondsRealtimeNoAlloc : IEnumerator
-{
- private readonly DateTime _expectedEnd;
-
- ///
- /// Initializes a new instance of the struct.
- ///
- /// The duration of the pause, in seconds.
- public WaitForSecondsRealtimeNoAlloc(float duration)
- {
- _expectedEnd = DateTime.Now + TimeSpan.FromSeconds(duration);
- }
-
- ///
- public object Current
- {
- get => DateTime.Now;
- }
-
- ///
- public bool MoveNext()
- {
- return DateTime.Now < _expectedEnd;
- }
-
- ///
- public void Reset()
- {
- }
-}
diff --git a/X10D.Unity/src/WaitForTimeSpan.cs b/X10D.Unity/src/WaitForTimeSpan.cs
deleted file mode 100644
index 11b83c1..0000000
--- a/X10D.Unity/src/WaitForTimeSpan.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System.Collections;
-
-namespace X10D.Unity;
-
-///
-/// Represents a yield instruction which waits for a given amount of time, as provided by a .
-///
-public struct WaitForTimeSpan : IEnumerator
-{
- private readonly TimeSpan _duration;
- private readonly DateTime _start;
- private DateTime _current;
-
- ///
- /// Initializes a new instance of the struct.
- ///
- /// The duration of the pause.
- public WaitForTimeSpan(TimeSpan duration)
- {
- _duration = duration;
- _start = DateTime.Now;
- _current = _start;
- }
-
- ///
- public object Current
- {
- get => _current;
- }
-
- ///
- public bool MoveNext()
- {
- _current += TimeSpan.FromSeconds(UnityEngine.Time.deltaTime);
- return _current < _start + _duration;
- }
-
- ///
- public void Reset()
- {
- }
-}
diff --git a/X10D.Unity/src/WaitForTimeSpanRealtime.cs b/X10D.Unity/src/WaitForTimeSpanRealtime.cs
deleted file mode 100644
index 28ed33f..0000000
--- a/X10D.Unity/src/WaitForTimeSpanRealtime.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Collections;
-
-namespace X10D.Unity;
-
-///
-/// Represents a yield instruction which waits for a given amount of time, as provided by a .
-///
-public readonly struct WaitForTimeSpanRealtime : IEnumerator
-{
- private readonly DateTime _expectedEnd;
-
- ///
- /// Initializes a new instance of the struct.
- ///
- /// The duration of the pause.
- public WaitForTimeSpanRealtime(TimeSpan duration)
- {
- _expectedEnd = DateTime.Now + duration;
- }
-
- ///
- public object Current
- {
- get => DateTime.Now;
- }
-
- ///
- public bool MoveNext()
- {
- return DateTime.Now < _expectedEnd;
- }
-
- ///
- public void Reset()
- {
- }
-}
diff --git a/X10D.sln b/X10D.sln
index d552642..1596572 100644
--- a/X10D.sln
+++ b/X10D.sln
@@ -17,19 +17,17 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
README.md = README.md
branding_Icon.png = branding_Icon.png
Directory.Build.props = Directory.Build.props
+ global.json = global.json
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceValidator", "tools\SourceValidator\SourceValidator.csproj", "{84750149-9068-4780-AFDE-CDA1AC57007D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X10D.Unity", "X10D.Unity\X10D.Unity.csproj", "{7EAB3F09-A9FD-4334-B4DB-0394DD0C6568}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceGenerator", "tools\SourceGenerator\SourceGenerator.csproj", "{077A5D33-AD55-4C55-8A67-972CEBC32C7A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "X10D.Hosting", "X10D.Hosting\X10D.Hosting.csproj", "{B04AF429-30CF-4B69-81BA-38F560CA9126}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Workflows", "Workflows", "{1FC74E58-F3BA-4F1A-8693-5F80895DA69D}"
ProjectSection(SolutionItems) = preProject
- .github\workflows\activate-unity.yml = .github\workflows\activate-unity.yml
.github\workflows\docfx.yml = .github\workflows\docfx.yml
.github\workflows\dotnet.yml = .github\workflows\dotnet.yml
.github\workflows\nightly.yml = .github\workflows\nightly.yml
@@ -37,11 +35,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Workflows", "Workflows", "{
.github\workflows\release.yml = .github\workflows\release.yml
.github\workflows\sonarcloud.yml = .github\workflows\sonarcloud.yml
.github\workflows\source_validator.yml = .github\workflows\source_validator.yml
- .github\workflows\unity.yml = .github\workflows\unity.yml
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpmPackageGenerator", "tools\UpmPackageGenerator\UpmPackageGenerator.csproj", "{CCBF047D-1B01-45EC-8D89-B00B4AC482CA}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{4B8969E6-27D2-4357-964E-9979FF7CC805}"
ProjectSection(SolutionItems) = preProject
tools\Directory.Build.props = tools\Directory.Build.props
@@ -69,10 +64,6 @@ Global
{84750149-9068-4780-AFDE-CDA1AC57007D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{84750149-9068-4780-AFDE-CDA1AC57007D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{84750149-9068-4780-AFDE-CDA1AC57007D}.Release|Any CPU.Build.0 = Release|Any CPU
- {7EAB3F09-A9FD-4334-B4DB-0394DD0C6568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7EAB3F09-A9FD-4334-B4DB-0394DD0C6568}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7EAB3F09-A9FD-4334-B4DB-0394DD0C6568}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7EAB3F09-A9FD-4334-B4DB-0394DD0C6568}.Release|Any CPU.Build.0 = Release|Any CPU
{077A5D33-AD55-4C55-8A67-972CEBC32C7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{077A5D33-AD55-4C55-8A67-972CEBC32C7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{077A5D33-AD55-4C55-8A67-972CEBC32C7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -81,10 +72,6 @@ Global
{B04AF429-30CF-4B69-81BA-38F560CA9126}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B04AF429-30CF-4B69-81BA-38F560CA9126}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B04AF429-30CF-4B69-81BA-38F560CA9126}.Release|Any CPU.Build.0 = Release|Any CPU
- {CCBF047D-1B01-45EC-8D89-B00B4AC482CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CCBF047D-1B01-45EC-8D89-B00B4AC482CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CCBF047D-1B01-45EC-8D89-B00B4AC482CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CCBF047D-1B01-45EC-8D89-B00B4AC482CA}.Release|Any CPU.Build.0 = Release|Any CPU
{259450A0-9964-403A-91E1-E9111B92C293}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{259450A0-9964-403A-91E1-E9111B92C293}.Debug|Any CPU.Build.0 = Debug|Any CPU
{259450A0-9964-403A-91E1-E9111B92C293}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -102,7 +89,6 @@ Global
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{84750149-9068-4780-AFDE-CDA1AC57007D} = {4B8969E6-27D2-4357-964E-9979FF7CC805}
- {CCBF047D-1B01-45EC-8D89-B00B4AC482CA} = {4B8969E6-27D2-4357-964E-9979FF7CC805}
{259450A0-9964-403A-91E1-E9111B92C293} = {4B8969E6-27D2-4357-964E-9979FF7CC805}
{077A5D33-AD55-4C55-8A67-972CEBC32C7A} = {4B8969E6-27D2-4357-964E-9979FF7CC805}
{F57376C4-3591-43AF-BBED-447A1DE2B1FE} = {4B8969E6-27D2-4357-964E-9979FF7CC805}
diff --git a/X10D/X10D.csproj b/X10D/X10D.csproj
index c288f87..8f36b52 100644
--- a/X10D/X10D.csproj
+++ b/X10D/X10D.csproj
@@ -1,5 +1,9 @@
+
+ net8.0;net7.0;net6.0
+
+
True
diff --git a/X10D/src/Collections/BinaryIntegerExtensions.cs b/X10D/src/Collections/BinaryIntegerExtensions.cs
index 7f29b21..7c68d88 100644
--- a/X10D/src/Collections/BinaryIntegerExtensions.cs
+++ b/X10D/src/Collections/BinaryIntegerExtensions.cs
@@ -18,7 +18,7 @@ public static class BinaryIntegerExtensions
/// The value to unpack.
/// An array of with a length equal to the size of .
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static bool[] Unpack(this TInteger value)
where TInteger : unmanaged, IBinaryInteger
{
@@ -36,7 +36,7 @@ public static class BinaryIntegerExtensions
/// The value to unpack.
/// When this method returns, contains the unpacked booleans from .
/// is not large enough to contain the result.
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static void Unpack(this TInteger value, Span destination)
where TInteger : unmanaged, IBinaryInteger
{
@@ -72,7 +72,7 @@ public static class BinaryIntegerExtensions
}
}
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static void UnpackInternal_Fallback(this TInteger value, Span destination)
where TInteger : unmanaged, IBinaryInteger
{
diff --git a/X10D/src/Collections/ByteExtensions.cs b/X10D/src/Collections/ByteExtensions.cs
index 34d08be..bdcdcce 100644
--- a/X10D/src/Collections/ByteExtensions.cs
+++ b/X10D/src/Collections/ByteExtensions.cs
@@ -3,12 +3,9 @@ using System.Diagnostics.CodeAnalysis;
using System.Diagnostics.Contracts;
#endif
using System.Runtime.CompilerServices;
-using X10D.CompilerServices;
-
-#if NETCOREAPP3_0_OR_GREATER
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.X86;
-#endif
+using X10D.CompilerServices;
namespace X10D.Collections;
@@ -26,7 +23,7 @@ public static class ByteExtensions
/// The value to unpack.
/// An array of with length 8.
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static bool[] Unpack(this byte value)
{
var buffer = new bool[Size];
@@ -41,7 +38,7 @@ public static class ByteExtensions
/// When this method returns, contains the unpacked booleans from .
/// is not large enough to contain the result.
[ExcludeFromCodeCoverage]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static void Unpack(this byte value, Span destination)
{
if (destination.Length < Size)
@@ -49,19 +46,17 @@ public static class ByteExtensions
throw new ArgumentException(ExceptionMessages.DestinationSpanLengthTooShort, nameof(destination));
}
-#if NETCOREAPP3_0_OR_GREATER
if (Sse3.IsSupported)
{
UnpackInternal_Ssse3(value, destination);
return;
}
-#endif
UnpackInternal_Fallback(value, destination);
}
#endif
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static void UnpackInternal_Fallback(this byte value, Span destination)
{
for (var index = 0; index < Size; index++)
@@ -70,8 +65,7 @@ public static class ByteExtensions
}
}
-#if NETCOREAPP3_0_OR_GREATER
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal unsafe static void UnpackInternal_Ssse3(this byte value, Span destination)
{
fixed (bool* pDestination = destination)
@@ -91,5 +85,4 @@ public static class ByteExtensions
Sse2.StoreScalar((long*)pDestination, correctness.AsInt64());
}
}
-#endif
}
diff --git a/X10D/src/Collections/DictionaryExtensions.cs b/X10D/src/Collections/DictionaryExtensions.cs
index 387016e..6138a62 100644
--- a/X10D/src/Collections/DictionaryExtensions.cs
+++ b/X10D/src/Collections/DictionaryExtensions.cs
@@ -1,7 +1,5 @@
using System.Diagnostics.Contracts;
-#if NET6_0_OR_GREATER
using System.Runtime.InteropServices;
-#endif
using System.Web;
namespace X10D.Collections;
@@ -47,23 +45,10 @@ public static class DictionaryExtensions
throw new ArgumentNullException(nameof(updateValueFactory));
}
-#if NET6_0_OR_GREATER
ref var value = ref CollectionsMarshal.GetValueRefOrAddDefault(dictionary, key, out bool exists);
// DO NOT CHANGE. reassigning value is necessary to mutate the dictionary, due to ref return above.
// mutation of the dictionary is INTENDED BEHAVIOUR. this is not a mistake.
return value = exists ? updateValueFactory(key, value!) : addValue;
-#else
- if (dictionary.TryGetValue(key, out TValue? old))
- {
- TValue updated = updateValueFactory(key, old);
- dictionary[key] = updated;
-
- return updated;
- }
-
- dictionary.Add(key, addValue);
- return addValue;
-#endif
}
///
@@ -157,25 +142,10 @@ public static class DictionaryExtensions
throw new ArgumentNullException(nameof(updateValueFactory));
}
-#if NET6_0_OR_GREATER
ref TValue? value = ref CollectionsMarshal.GetValueRefOrAddDefault(dictionary, key, out bool exists);
// DO NOT CHANGE. reassigning value is necessary to mutate the dictionary, due to ref return above.
// mutation of the dictionary is INTENDED BEHAVIOUR. this is not a mistake.
return value = exists ? updateValueFactory(key, value!) : addValueFactory(key);
-#else
- if (dictionary.TryGetValue(key, out TValue? old))
- {
- TValue updated = updateValueFactory(key, old);
- dictionary[key] = updated;
-
- return updated;
- }
-
- TValue add = addValueFactory(key);
- dictionary.Add(key, add);
-
- return add;
-#endif
}
///
@@ -284,25 +254,10 @@ public static class DictionaryExtensions
throw new ArgumentNullException(nameof(updateValueFactory));
}
-#if NET6_0_OR_GREATER
ref TValue? value = ref CollectionsMarshal.GetValueRefOrAddDefault(dictionary, key, out bool exists);
// DO NOT CHANGE. reassigning value is necessary to mutate the dictionary, due to ref return above.
// mutation of the dictionary is INTENDED BEHAVIOUR. this is not a mistake.
return value = exists ? updateValueFactory(key, value!, factoryArgument) : addValueFactory(key, factoryArgument);
-#else
- if (dictionary.TryGetValue(key, out TValue? old))
- {
- TValue updated = updateValueFactory(key, old, factoryArgument);
- dictionary[key] = updated;
-
- return updated;
- }
-
- TValue add = addValueFactory(key, factoryArgument);
- dictionary.Add(key, add);
-
- return add;
-#endif
}
///
diff --git a/X10D/src/Collections/Int16Extensions.cs b/X10D/src/Collections/Int16Extensions.cs
index ed4b3cd..e3e5570 100644
--- a/X10D/src/Collections/Int16Extensions.cs
+++ b/X10D/src/Collections/Int16Extensions.cs
@@ -3,12 +3,9 @@ using System.Diagnostics.CodeAnalysis;
using System.Diagnostics.Contracts;
#endif
using System.Runtime.CompilerServices;
-using X10D.CompilerServices;
-
-#if NETCOREAPP3_0_OR_GREATER
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.X86;
-#endif
+using X10D.CompilerServices;
namespace X10D.Collections;
@@ -26,7 +23,7 @@ public static class Int16Extensions
/// The value to unpack.
/// An array of with length 16.
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static bool[] Unpack(this short value)
{
var ret = new bool[Size];
@@ -41,7 +38,7 @@ public static class Int16Extensions
/// When this method returns, contains the unpacked booleans from .
/// is not large enough to contain the result.
[ExcludeFromCodeCoverage]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static void Unpack(this short value, Span destination)
{
if (destination.Length < Size)
@@ -49,19 +46,17 @@ public static class Int16Extensions
throw new ArgumentException(ExceptionMessages.DestinationSpanLengthTooShort, nameof(destination));
}
-#if NETCOREAPP3_0_OR_GREATER
if (Sse3.IsSupported)
{
UnpackInternal_Ssse3(value, destination);
return;
}
-#endif
UnpackInternal_Fallback(value, destination);
}
#endif
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static void UnpackInternal_Fallback(this short value, Span destination)
{
for (var index = 0; index < Size; index++)
@@ -70,8 +65,7 @@ public static class Int16Extensions
}
}
-#if NETCOREAPP3_0_OR_GREATER
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal unsafe static void UnpackInternal_Ssse3(this short value, Span destination)
{
fixed (bool* pDestination = destination)
@@ -93,5 +87,4 @@ public static class Int16Extensions
Sse2.Store((byte*)pDestination, correctness);
}
}
-#endif
}
diff --git a/X10D/src/Collections/Int32Extensions.cs b/X10D/src/Collections/Int32Extensions.cs
index 2509214..b74a311 100644
--- a/X10D/src/Collections/Int32Extensions.cs
+++ b/X10D/src/Collections/Int32Extensions.cs
@@ -3,12 +3,9 @@ using System.Diagnostics.CodeAnalysis;
using System.Diagnostics.Contracts;
#endif
using System.Runtime.CompilerServices;
-using X10D.CompilerServices;
-
-#if NETCOREAPP3_0_OR_GREATER
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.X86;
-#endif
+using X10D.CompilerServices;
namespace X10D.Collections;
@@ -26,7 +23,7 @@ public static class Int32Extensions
/// The value to unpack.
/// An array of with length 32.
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static bool[] Unpack(this int value)
{
var ret = new bool[Size];
@@ -41,7 +38,7 @@ public static class Int32Extensions
/// When this method returns, contains the unpacked booleans from .
/// is not large enough to contain the result.
[ExcludeFromCodeCoverage]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static void Unpack(this int value, Span destination)
{
if (destination.Length < Size)
@@ -49,7 +46,6 @@ public static class Int32Extensions
throw new ArgumentException(ExceptionMessages.DestinationSpanLengthTooShort, nameof(destination));
}
-#if NETCOREAPP3_0_OR_GREATER
if (Avx2.IsSupported)
{
UnpackInternal_Avx2(value, destination);
@@ -61,13 +57,12 @@ public static class Int32Extensions
UnpackInternal_Ssse3(value, destination);
return;
}
-#endif
UnpackInternal_Fallback(value, destination);
}
#endif
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static void UnpackInternal_Fallback(this int value, Span destination)
{
for (var index = 0; index < Size; index++)
@@ -76,8 +71,7 @@ public static class Int32Extensions
}
}
-#if NETCOREAPP3_0_OR_GREATER
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static unsafe void UnpackInternal_Ssse3(this int value, Span destination)
{
fixed (bool* pDestination = destination)
@@ -134,5 +128,4 @@ public static class Int32Extensions
Avx.Store((byte*)pDestination, correctness);
}
}
-#endif
}
diff --git a/X10D/src/Collections/ListExtensions.cs b/X10D/src/Collections/ListExtensions.cs
index be53ee8..900fd9f 100644
--- a/X10D/src/Collections/ListExtensions.cs
+++ b/X10D/src/Collections/ListExtensions.cs
@@ -241,20 +241,9 @@ public static class ListExtensions
throw new ArgumentNullException(nameof(source));
}
- int start = range.Start.IsFromEnd ? source.Count - range.Start.Value : range.Start.Value;
- int end = range.End.IsFromEnd ? source.Count - range.End.Value : range.End.Value;
+ (int start, int length) = range.GetOffsetAndLength(source.Count);
- if (end < start)
- {
- throw new ArgumentException(ExceptionMessages.EndIndexLessThanStartIndex);
- }
-
- if (end >= source.Count)
- {
- throw new ArgumentOutOfRangeException(nameof(range), ExceptionMessages.EndIndexGreaterThanCount);
- }
-
- for (int index = end; index >= start; index--)
+ for (int index = start + length; index >= start; index--)
{
source.RemoveAt(index);
}
diff --git a/X10D/src/Collections/SpanExtensions.cs b/X10D/src/Collections/SpanExtensions.cs
index da54843..7c3ee0a 100644
--- a/X10D/src/Collections/SpanExtensions.cs
+++ b/X10D/src/Collections/SpanExtensions.cs
@@ -53,6 +53,7 @@ public static class SpanExtensions
return source;
}
+#if !NET8_0_OR_GREATER
///
/// Replaces all occurrences of a specified element in a span of elements with another specified element.
///
@@ -72,6 +73,7 @@ public static class SpanExtensions
}
}
}
+#endif
///
/// Splits a span of elements into sub-spans based on a delimiting element.
diff --git a/X10D/src/CompilerServices/CompilerResources.cs b/X10D/src/CompilerServices/CompilerResources.cs
index a02ca99..373a366 100644
--- a/X10D/src/CompilerServices/CompilerResources.cs
+++ b/X10D/src/CompilerServices/CompilerResources.cs
@@ -4,10 +4,6 @@ namespace X10D.CompilerServices;
internal static class CompilerResources
{
-#if NETCOREAPP3_0_OR_GREATER
- public const MethodImplOptions MethodImplOptions = System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining |
- System.Runtime.CompilerServices.MethodImplOptions.AggressiveOptimization;
-#else
- public const MethodImplOptions MethodImplOptions = System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining;
-#endif
+ public const MethodImplOptions MaxOptimization = MethodImplOptions.AggressiveInlining |
+ MethodImplOptions.AggressiveOptimization;
}
diff --git a/X10D/src/Core/EnumExtensions.cs b/X10D/src/Core/EnumExtensions.cs
index 2545f1e..6b813ef 100644
--- a/X10D/src/Core/EnumExtensions.cs
+++ b/X10D/src/Core/EnumExtensions.cs
@@ -20,11 +20,7 @@ public static class EnumExtensions
public static T Next(this T value)
where T : struct, Enum
{
-#if NET5_0_OR_GREATER
T[] values = Enum.GetValues();
-#else
- T[] values = Enum.GetValues(typeof(T)).Cast().ToArray();
-#endif
int index = Array.IndexOf(values, value) + 1;
index %= values.Length;
return values[index];
@@ -44,11 +40,7 @@ public static class EnumExtensions
public static T NextUnchecked(this T value)
where T : struct, Enum
{
-#if NET5_0_OR_GREATER
T[] values = Enum.GetValues();
-#else
- T[] values = Enum.GetValues(typeof(T)).Cast().ToArray();
-#endif
int index = Array.IndexOf(values, value) + 1;
return values[index];
}
@@ -66,11 +58,7 @@ public static class EnumExtensions
public static T Previous(this T value)
where T : struct, Enum
{
-#if NET5_0_OR_GREATER
T[] values = Enum.GetValues();
-#else
- T[] values = Enum.GetValues(typeof(T)).Cast().ToArray();
-#endif
int index = Array.IndexOf(values, value) - 1;
int length = values.Length;
@@ -94,11 +82,7 @@ public static class EnumExtensions
public static T PreviousUnchecked(this T value)
where T : struct, Enum
{
-#if NET5_0_OR_GREATER
T[] values = Enum.GetValues();
-#else
- T[] values = Enum.GetValues(typeof(T)).Cast().ToArray();
-#endif
int index = Array.IndexOf(values, value) - 1;
return values[index];
}
diff --git a/X10D/src/Core/IntrinsicExtensions.cs b/X10D/src/Core/IntrinsicExtensions.cs
index 7085c63..7a98d64 100644
--- a/X10D/src/Core/IntrinsicExtensions.cs
+++ b/X10D/src/Core/IntrinsicExtensions.cs
@@ -1,4 +1,3 @@
-#if NETCOREAPP3_0_OR_GREATER
using System.Diagnostics.CodeAnalysis;
using System.Diagnostics.Contracts;
using System.Runtime.CompilerServices;
@@ -30,7 +29,7 @@ public static class IntrinsicExtensions
/// A of which remapped back to 0 and 1 based on boolean truthiness.
///
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static Vector64 CorrectBoolean(this Vector64 vector)
{
Vector64 output = IntrinsicUtility.GetUninitializedVector64();
@@ -65,7 +64,7 @@ public static class IntrinsicExtensions
/// A of which remapped back to 0 and 1 based on boolean truthiness.
///
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
[ExcludeFromCodeCoverage]
public static Vector128 CorrectBoolean(this Vector128 vector)
{
@@ -88,7 +87,7 @@ public static class IntrinsicExtensions
/// A of which remapped back to 0 and 1 based on boolean truthiness.
///
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
[ExcludeFromCodeCoverage]
public static Vector256 CorrectBoolean(this Vector256 vector)
{
@@ -112,7 +111,7 @@ public static class IntrinsicExtensions
///
[Pure]
[CLSCompliant(false)]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
[ExcludeFromCodeCoverage]
public static Vector128 ReverseElements(this Vector128 vector)
{
@@ -120,7 +119,7 @@ public static class IntrinsicExtensions
}
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static Vector128 CorrectBooleanInternal_Fallback(this Vector128 vector)
{
Vector128 output = IntrinsicUtility.GetUninitializedVector128();
@@ -135,7 +134,7 @@ public static class IntrinsicExtensions
}
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static Vector128 CorrectBooleanInternal_Sse2(this Vector128 vector)
{
Vector128 cmp = Sse2.CompareEqual(vector, Vector128.Zero);
@@ -145,7 +144,7 @@ public static class IntrinsicExtensions
}
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static Vector256 CorrectBooleanInternal_Fallback(this Vector256 vector)
{
Vector256 output = IntrinsicUtility.GetUninitializedVector256();
@@ -160,7 +159,7 @@ public static class IntrinsicExtensions
}
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static Vector256 CorrectBooleanInternal_Avx2(this Vector256 vector)
{
Vector256 cmp = Avx2.CompareEqual(vector, Vector256.Zero);
@@ -170,7 +169,7 @@ public static class IntrinsicExtensions
}
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static Vector128 ReverseElementsInternal_Fallback(this Vector128 vector)
{
Vector128 output = IntrinsicUtility.GetUninitializedVector128();
@@ -182,10 +181,9 @@ public static class IntrinsicExtensions
}
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
internal static Vector128 ReverseElementsInternal_Sse2(this Vector128 vector)
{
return Sse2.Shuffle(vector.AsDouble(), vector.AsDouble(), 0b01).AsUInt64();
}
}
-#endif
diff --git a/X10D/src/Core/IntrinsicUtility.cs b/X10D/src/Core/IntrinsicUtility.cs
index 44997cc..73685d1 100644
--- a/X10D/src/Core/IntrinsicUtility.cs
+++ b/X10D/src/Core/IntrinsicUtility.cs
@@ -1,5 +1,3 @@
-#if NETCOREAPP3_0_OR_GREATER
-
using System.Diagnostics.CodeAnalysis;
using System.Diagnostics.Contracts;
using System.Runtime.CompilerServices;
@@ -33,7 +31,7 @@ public static class IntrinsicUtility
/// The truncated product vector.
[Pure]
[CLSCompliant(false)]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
[ExcludeFromCodeCoverage]
public static Vector128 Multiply(Vector128 left, Vector128 right)
{
@@ -64,7 +62,7 @@ public static class IntrinsicUtility
///
[Pure]
[CLSCompliant(false)]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
[ExcludeFromCodeCoverage]
public static Vector256 Multiply(Vector256 lhs, Vector256 rhs)
{
@@ -92,7 +90,7 @@ public static class IntrinsicUtility
/// A of whose elements is 64-bit truncated product of lhs and rhs.
///
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static Vector128 Multiply(Vector128 lhs, Vector128 rhs)
{
return Multiply(lhs.AsUInt64(), rhs.AsUInt64()).AsInt64();
@@ -116,7 +114,7 @@ public static class IntrinsicUtility
/// A of whose elements is 64-bit truncated product of lhs and rhs.
///
[Pure]
- [MethodImpl(CompilerResources.MethodImplOptions)]
+ [MethodImpl(CompilerResources.MaxOptimization)]
public static Vector256 Multiply(Vector256