com.wallstop-studios.unity-helpers 2.0.0-rc57 → 2.0.0-rc58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.config/dotnet-tools.json +9 -9
- package/.editorconfig +184 -184
- package/.gitattributes +63 -63
- package/.github/workflows/npm-publish.yml +66 -66
- package/.pre-commit-config.yaml +21 -21
- package/Editor/AnimationCopier.cs +181 -181
- package/Editor/AnimationCopier.cs.meta +2 -2
- package/Editor/AnimationCreator.cs +253 -253
- package/Editor/AnimationCreator.cs.meta +11 -11
- package/Editor/AnimationEventEditor.cs +887 -887
- package/Editor/AnimatorControllerCopier.cs +162 -162
- package/Editor/AnimatorControllerCopier.cs.meta +2 -2
- package/Editor/CustomEditors/MatchColliderToSpriteEditor.cs +34 -34
- package/Editor/CustomEditors/MatchColliderToSpriteEditor.cs.meta +2 -2
- package/Editor/CustomEditors.meta +2 -2
- package/Editor/FitTextureSizeWizard.cs +147 -147
- package/Editor/FitTextureSizeWizard.cs.meta +2 -2
- package/Editor/PrefabCheckWizard.cs +170 -170
- package/Editor/PrefabCheckWizard.cs.meta +11 -11
- package/Editor/SpriteSettingsApplier.cs +272 -272
- package/Editor/SpriteSettingsApplier.cs.meta +2 -2
- package/Editor/StringInListeDrawer.cs +56 -56
- package/Editor/TextureResizerWizard.cs +181 -181
- package/Editor/TextureResizerWizard.cs.meta +2 -2
- package/Editor/TextureSettingsApplier.cs +178 -178
- package/Editor/TextureSettingsApplier.cs.meta +2 -2
- package/Editor/Utils/DxReadOnlyPropertyDrawer.cs +26 -26
- package/Editor/Utils/DxReadOnlyPropertyDrawer.cs.meta +11 -11
- package/Editor/Utils/EditorUtilities.cs +22 -22
- package/Editor/Utils/EditorUtilities.cs.meta +11 -11
- package/Editor/Utils.meta +8 -8
- package/Editor/WShowIfPropertyDrawer.cs +63 -63
- package/Editor/WallstopStudios.UnityHelpers.Editor.asmdef +17 -17
- package/Editor/WallstopStudios.UnityHelpers.Editor.asmdef.meta +7 -7
- package/LICENSE +21 -21
- package/LICENSE.md +6 -6
- package/LICENSE.meta +7 -7
- package/README.md +177 -177
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.dll.meta +33 -33
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.xml +223 -223
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.xml.meta +7 -7
- package/Runtime/Binaries/System.Text.Encodings.Web.dll.meta +33 -33
- package/Runtime/Binaries/System.Text.Encodings.Web.xml +935 -935
- package/Runtime/Binaries/System.Text.Encodings.Web.xml.meta +7 -7
- package/Runtime/Binaries/System.Text.Json.dll.meta +33 -33
- package/Runtime/Binaries/System.Text.Json.xml +4829 -4829
- package/Runtime/Binaries/System.Text.Json.xml.meta +7 -7
- package/Runtime/Binaries.meta +8 -8
- package/Runtime/Core/Attributes/AnimationEventAttribute.cs +131 -131
- package/Runtime/Core/Attributes/ChildComponentAttribute.cs +209 -209
- package/Runtime/Core/Attributes/DxReadOnlyAttribute.cs +6 -6
- package/Runtime/Core/Attributes/KSerializableAttribute.cs +19 -19
- package/Runtime/Core/Attributes/NotNullAttribute.cs +32 -32
- package/Runtime/Core/Attributes/ParentComponent.cs +185 -185
- package/Runtime/Core/Attributes/RelationalComponentExtensions.cs +14 -14
- package/Runtime/Core/Attributes/SiblingComponentAttribute.cs +117 -117
- package/Runtime/Core/Attributes/SiblingComponentAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/ValidateAssignmentAttribute.cs +101 -101
- package/Runtime/Core/Attributes/ValidateAssignmentAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/WShowIfAttribute.cs +16 -16
- package/Runtime/Core/Attributes.meta +8 -8
- package/Runtime/Core/DataStructure/Adapters/FastVector2Int.cs +92 -92
- package/Runtime/Core/DataStructure/Adapters/FastVector3Int.cs +185 -185
- package/Runtime/Core/DataStructure/Adapters/KGuid.cs +305 -305
- package/Runtime/Core/DataStructure/Adapters/KVector2.cs +80 -80
- package/Runtime/Core/DataStructure/Circle.cs +50 -50
- package/Runtime/Core/DataStructure/CyclicBuffer.cs +153 -153
- package/Runtime/Core/DataStructure/ISpatialTree.cs +60 -60
- package/Runtime/Core/DataStructure/ISpatialTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/KDTree.cs +292 -292
- package/Runtime/Core/DataStructure/KDTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/QuadTree.cs +287 -287
- package/Runtime/Core/DataStructure/RTree.cs +346 -346
- package/Runtime/Core/DataStructure/RTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/StringWrapper.cs +91 -91
- package/Runtime/Core/DataStructure/TimedCache.cs +66 -66
- package/Runtime/Core/Extension/AnimatorExtensions.cs +25 -25
- package/Runtime/Core/Extension/AsyncOperationExtensions.cs +110 -110
- package/Runtime/Core/Extension/CircleExtensions.cs +25 -25
- package/Runtime/Core/Extension/ColorExtensions.cs +629 -629
- package/Runtime/Core/Extension/DictionaryExtensions.cs +279 -279
- package/Runtime/Core/Extension/DirectionExtensions.cs +213 -213
- package/Runtime/Core/Extension/EnumExtensions.cs +37 -37
- package/Runtime/Core/Extension/EnumExtensions.cs.meta +2 -2
- package/Runtime/Core/Extension/HashSetExtensions.cs +12 -12
- package/Runtime/Core/Extension/IEnumerableExtensions.cs +122 -122
- package/Runtime/Core/Extension/IListExtensions.cs +106 -106
- package/Runtime/Core/Extension/LoggingExtensions.cs +258 -258
- package/Runtime/Core/Extension/RandomExtensions.cs +109 -109
- package/Runtime/Core/Extension/SerializedPropertyExtensions.cs +157 -157
- package/Runtime/Core/Extension/StringExtensions.cs +151 -151
- package/Runtime/Core/Extension/UnityExtensions.cs +1608 -1608
- package/Runtime/Core/Helper/ArrayConverter.cs +39 -39
- package/Runtime/Core/Helper/ArrayConverter.cs.meta +2 -2
- package/Runtime/Core/Helper/AssignUtilities.cs +14 -14
- package/Runtime/Core/Helper/AssignUtilities.cs.meta +11 -11
- package/Runtime/Core/Helper/Enumerables.cs +17 -17
- package/Runtime/Core/Helper/FormattingHelpers.cs +32 -32
- package/Runtime/Core/Helper/Geometry.cs +43 -43
- package/Runtime/Core/Helper/Helpers.cs +722 -722
- package/Runtime/Core/Helper/Helpers.cs.meta +11 -11
- package/Runtime/Core/Helper/IterationHelpers.cs +32 -32
- package/Runtime/Core/Helper/IterationHelpers.cs.meta +11 -11
- package/Runtime/Core/Helper/LifetimeHelpers.cs +13 -13
- package/Runtime/Core/Helper/Objects.cs +769 -769
- package/Runtime/Core/Helper/Partials/LogHelpers.cs +13 -13
- package/Runtime/Core/Helper/Partials/LogHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials/MathHelpers.cs +30 -30
- package/Runtime/Core/Helper/Partials/MathHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials/ObjectHelpers.cs +388 -388
- package/Runtime/Core/Helper/Partials/ObjectHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials/TransformHelpers.cs +189 -189
- package/Runtime/Core/Helper/Partials/TransformHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials.meta +2 -2
- package/Runtime/Core/Helper/ReflectionHelpers.cs +452 -452
- package/Runtime/Core/Helper/ReflectionHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/SceneHelper.cs +209 -213
- package/Runtime/Core/Helper/SpriteHelpers.cs +41 -41
- package/Runtime/Core/Helper/SpriteHelpers.cs.meta +11 -11
- package/Runtime/Core/Helper/StringInList.cs +31 -31
- package/Runtime/Core/Helper/StringInList.cs.meta +11 -11
- package/Runtime/Core/Helper/UnityMainThreadDispatcher.cs +82 -82
- package/Runtime/Core/Helper/WallMath.cs +166 -166
- package/Runtime/Core/Math/Line.cs +55 -55
- package/Runtime/Core/Math/Parabola.cs +47 -47
- package/Runtime/Core/Math/PointPolygonCheck.cs +36 -36
- package/Runtime/Core/Math/PointPolygonCheck.cs.meta +11 -11
- package/Runtime/Core/Math/Range.cs +92 -92
- package/Runtime/Core/Math/XXHash.cs +310 -310
- package/Runtime/Core/Math/XXHash.cs.meta +11 -11
- package/Runtime/Core/Model/Direction.cs +43 -43
- package/Runtime/Core/OneOf/FastOneOf.cs +152 -152
- package/Runtime/Core/OneOf/None.cs +4 -4
- package/Runtime/Core/Random/AbstractRandom.cs +585 -585
- package/Runtime/Core/Random/DotNetRandom.cs +54 -54
- package/Runtime/Core/Random/DotNetRandom.cs.meta +2 -2
- package/Runtime/Core/Random/IRandom.cs +161 -161
- package/Runtime/Core/Random/LinearCongruentialGenerator.cs +49 -49
- package/Runtime/Core/Random/NativePcgRandom.cs +97 -97
- package/Runtime/Core/Random/PRNG.cs +7 -7
- package/Runtime/Core/Random/PRNG.cs.meta +2 -2
- package/Runtime/Core/Random/PcgRandom.cs +149 -149
- package/Runtime/Core/Random/PerlinNoise.cs +369 -369
- package/Runtime/Core/Random/PerlinNoise.cs.meta +2 -2
- package/Runtime/Core/Random/RandomState.cs +131 -131
- package/Runtime/Core/Random/RandomUtilities.cs +26 -26
- package/Runtime/Core/Random/RandomUtilities.cs.meta +11 -11
- package/Runtime/Core/Random/RomuDuo.cs +116 -116
- package/Runtime/Core/Random/RomuDuo.cs.meta +2 -2
- package/Runtime/Core/Random/SplitMix64.cs +94 -94
- package/Runtime/Core/Random/SplitMix64.cs.meta +2 -2
- package/Runtime/Core/Random/SquirrelRandom.cs +84 -84
- package/Runtime/Core/Random/SystemRandom.cs +162 -162
- package/Runtime/Core/Random/ThreadLocalRandom.cs +12 -12
- package/Runtime/Core/Random/UnityRandom.cs +57 -57
- package/Runtime/Core/Random/UnityRandom.cs.meta +11 -11
- package/Runtime/Core/Random/WyRandom.cs +121 -121
- package/Runtime/Core/Random/WyRandom.cs.meta +2 -2
- package/Runtime/Core/Random/XorShiftRandom.cs +52 -52
- package/Runtime/Core/Random/XorShiftRandom.cs.meta +11 -11
- package/Runtime/Core/Random/XorShiroRandom.cs +119 -119
- package/Runtime/Core/Random/XorShiroRandom.cs.meta +2 -2
- package/Runtime/Core/Serialization/JsonConverters/ColorConverter.cs +88 -88
- package/Runtime/Core/Serialization/JsonConverters/GameObjectConverter.cs +37 -37
- package/Runtime/Core/Serialization/JsonConverters/Matrix4x4Converter.cs +218 -218
- package/Runtime/Core/Serialization/JsonConverters/TypeConverter.cs +28 -28
- package/Runtime/Core/Serialization/JsonConverters/Vector2Converter.cs +74 -74
- package/Runtime/Core/Serialization/JsonConverters/Vector3Converter.cs +81 -81
- package/Runtime/Core/Serialization/JsonConverters/Vector4Converter.cs +88 -88
- package/Runtime/Core/Serialization/Serializer.cs +195 -195
- package/Runtime/Core/Threading/SingleThreadedThreadPool.cs +113 -113
- package/Runtime/Protobuf-Net/System.Buffers.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Collections.Immutable.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Collections.Immutable.xml +5379 -5379
- package/Runtime/Protobuf-Net/System.Collections.Immutable.xml.meta +7 -7
- package/Runtime/Protobuf-Net/System.Numerics.Vectors.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.xml +290 -290
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.xml.meta +7 -7
- package/Runtime/Protobuf-Net/protobuf-net.Core.dll.meta +33 -33
- package/Runtime/Protobuf-Net/protobuf-net.dll.meta +33 -33
- package/Runtime/UI/LayeredImage.cs +364 -364
- package/Runtime/UI/LayeredImage.cs.meta +2 -2
- package/Runtime/UI.meta +2 -2
- package/Runtime/Utils/AnimationEventEqualityComparer.cs +161 -161
- package/Runtime/Utils/AnimatorEnumStateMachine.cs +88 -88
- package/Runtime/Utils/Buffers.cs +33 -33
- package/Runtime/Utils/CenterPointOffset.cs +30 -30
- package/Runtime/Utils/CenterPointOffset.cs.meta +2 -2
- package/Runtime/Utils/CircleLineRenderer.cs +134 -134
- package/Runtime/Utils/CoroutineHandler.cs +4 -4
- package/Runtime/Utils/CoroutineHandler.cs.meta +2 -2
- package/Runtime/Utils/DeferredDisposalResult.cs +23 -23
- package/Runtime/Utils/MatchColliderToSprite.cs +94 -94
- package/Runtime/Utils/MatchColliderToSprite.cs.meta +2 -2
- package/Runtime/Utils/Oscillator.cs +27 -27
- package/Runtime/Utils/RuntimeSingleton.cs +69 -69
- package/Runtime/Utils/RuntimeSingleton.cs.meta +11 -11
- package/Runtime/Utils/SetTextureImportData.cs +69 -69
- package/Runtime/Utils/SpriteRendererMetadata.cs +374 -374
- package/Runtime/Utils/SpriteRendererMetadata.cs.meta +2 -2
- package/Runtime/Utils/SpriteRendererSyncer.cs +100 -100
- package/Runtime/Utils/SpriteRendererSyncer.cs.meta +2 -2
- package/Runtime/Utils/TextureScale.cs +179 -179
- package/Runtime/Utils/TextureScale.cs.meta +2 -2
- package/Runtime/WallstopStudios.UnityHelpers.asmdef +13 -13
- package/Tests/Runtime/Attributes/ChildComponentTests.cs +81 -81
- package/Tests/Runtime/Attributes/Components/ExpectChildSpriteRenderers.cs +28 -28
- package/Tests/Runtime/Attributes/Components/ExpectParentSpriteRenderers.cs +28 -28
- package/Tests/Runtime/Attributes/ParentComponentTests.cs +68 -68
- package/Tests/Runtime/Components/RelationalComponentTesterComplex.cs +34 -34
- package/Tests/Runtime/Components/RelationalComponentTesterComplex.cs.meta +2 -2
- package/Tests/Runtime/Components/RelationalComponentsTesterSimple.cs +40 -40
- package/Tests/Runtime/Components.meta +2 -2
- package/Tests/Runtime/DataStructures/BalancedKDTreeTests.cs +14 -14
- package/Tests/Runtime/DataStructures/BalancedKDTreeTests.cs.meta +11 -11
- package/Tests/Runtime/DataStructures/CyclicBufferTests.cs +324 -324
- package/Tests/Runtime/DataStructures/QuadTreeTests.cs +14 -14
- package/Tests/Runtime/DataStructures/QuadTreeTests.cs.meta +11 -11
- package/Tests/Runtime/DataStructures/SpatialTreeTests.cs +130 -130
- package/Tests/Runtime/DataStructures/SpatialTreeTests.cs.meta +11 -11
- package/Tests/Runtime/DataStructures/UnbalancedKDTreeTests.cs +14 -14
- package/Tests/Runtime/DataStructures/UnbalancedKDTreeTests.cs.meta +11 -11
- package/Tests/Runtime/DataStructures.meta +8 -8
- package/Tests/Runtime/Extensions/DictionaryExtensionTests.cs +439 -439
- package/Tests/Runtime/Extensions/DictionaryExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/EnumExtensionTests.cs +128 -128
- package/Tests/Runtime/Extensions/EnumExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/IListExtensionTests.cs +104 -104
- package/Tests/Runtime/Extensions/RandomExtensionTests.cs +27 -27
- package/Tests/Runtime/Extensions/RandomExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/StringExtensionTests.cs +31 -31
- package/Tests/Runtime/Extensions/StringExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions.meta +2 -2
- package/Tests/Runtime/Helper/ArrayConverterTests.cs +19 -19
- package/Tests/Runtime/Helper/ArrayConverterTests.cs.meta +2 -2
- package/Tests/Runtime/Helper/FormattingHelperTests.cs +129 -129
- package/Tests/Runtime/Helper/FormattingHelperTests.cs.meta +2 -2
- package/Tests/Runtime/Helper/ObjectHelperTests.cs +402 -402
- package/Tests/Runtime/Helper/ObjectHelperTests.cs.meta +2 -2
- package/Tests/Runtime/Helper/ReflectionHelperTests.cs +536 -536
- package/Tests/Runtime/Helper/SceneHelperTests.cs +94 -94
- package/Tests/Runtime/Helper/WallMathTests.cs +233 -233
- package/Tests/Runtime/Helper/WallMathTests.cs.meta +2 -2
- package/Tests/Runtime/Helper.meta +2 -2
- package/Tests/Runtime/Performance/KDTreePerformanceTests.cs +14 -14
- package/Tests/Runtime/Performance/KDTreePerformanceTests.cs.meta +11 -11
- package/Tests/Runtime/Performance/QuadTreePerformanceTests.cs +14 -14
- package/Tests/Runtime/Performance/QuadTreePerformanceTests.cs.meta +11 -11
- package/Tests/Runtime/Performance/RandomPerformanceTests.cs +157 -157
- package/Tests/Runtime/Performance/RandomPerformanceTests.cs.meta +11 -11
- package/Tests/Runtime/Performance/RelationComponentPerformanceTests.cs +61 -61
- package/Tests/Runtime/Performance/RelationComponentPerformanceTests.cs.meta +2 -2
- package/Tests/Runtime/Performance/SpatialTreePerformanceTest.cs +154 -154
- package/Tests/Runtime/Performance/SpatialTreePerformanceTest.cs.meta +11 -11
- package/Tests/Runtime/Performance/UnbalancedKDTreeTests.cs +14 -14
- package/Tests/Runtime/Performance/UnbalancedKDTreeTests.cs.meta +11 -11
- package/Tests/Runtime/Performance.meta +8 -8
- package/Tests/Runtime/Random/DotNetRandomTests.cs +9 -9
- package/Tests/Runtime/Random/DotNetRandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random/LinearCongruentialGeneratorTests.cs +12 -12
- package/Tests/Runtime/Random/PcgRandomTests.cs +9 -9
- package/Tests/Runtime/Random/PcgRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/RandomTestBase.cs +787 -787
- package/Tests/Runtime/Random/RandomTestBase.cs.meta +11 -11
- package/Tests/Runtime/Random/RomuDuoRandomTests.cs +9 -9
- package/Tests/Runtime/Random/RomuDuoRandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random/SplitMix64RandomTests.cs +9 -9
- package/Tests/Runtime/Random/SplitMix64RandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random/SquirrelRandomTests.cs +14 -14
- package/Tests/Runtime/Random/SquirrelRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/SystemRandomTests.cs +10 -10
- package/Tests/Runtime/Random/SystemRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/UnityRandomTests.cs +9 -9
- package/Tests/Runtime/Random/UnityRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/WyRandomTests.cs +9 -9
- package/Tests/Runtime/Random/WyRandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random/XorShiftRandomTests.cs +9 -9
- package/Tests/Runtime/Random/XorShiftRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/XorShiroRandomTests.cs +9 -9
- package/Tests/Runtime/Random/XorShiroRandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random.meta +8 -8
- package/Tests/Runtime/Serialization/JsonSerializationTest.cs +156 -156
- package/Tests/Runtime/Serialization/JsonSerializationTest.cs.meta +2 -2
- package/Tests/Runtime/Serialization.meta +2 -2
- package/Tests/Runtime/Utils/SpriteRendererMetadataTests.cs +399 -399
- package/Tests/Runtime/Utils/SpriteRendererMetadataTests.cs.meta +2 -2
- package/Tests/Runtime/Utils.meta +2 -2
- package/Tests/Runtime/WallstopStudios.UnityHelpers.Tests.Runtime.asmdef +22 -22
- package/Tests/Runtime/WallstopStudios.UnityHelpers.Tests.Runtime.asmdef.meta +7 -7
- package/Tests/Runtime.meta +8 -8
- package/package.json +38 -38
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
namespace UnityHelpers.Tests.Performance
|
|
2
|
-
{
|
|
3
|
-
using System.Collections.Generic;
|
|
4
|
-
using Core.DataStructure;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
|
|
7
|
-
public sealed class KDTreePerformanceTests : SpatialTreePerformanceTest<KDTree<Vector2>>
|
|
8
|
-
{
|
|
9
|
-
protected override KDTree<Vector2> CreateTree(IEnumerable<Vector2> points)
|
|
10
|
-
{
|
|
11
|
-
return new KDTree<Vector2>(points, _ => _);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
1
|
+
namespace UnityHelpers.Tests.Performance
|
|
2
|
+
{
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using Core.DataStructure;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
public sealed class KDTreePerformanceTests : SpatialTreePerformanceTest<KDTree<Vector2>>
|
|
8
|
+
{
|
|
9
|
+
protected override KDTree<Vector2> CreateTree(IEnumerable<Vector2> points)
|
|
10
|
+
{
|
|
11
|
+
return new KDTree<Vector2>(points, _ => _);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: aec27da8346dc82439a2b67406674902
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: aec27da8346dc82439a2b67406674902
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
namespace UnityHelpers.Tests.Performance
|
|
2
|
-
{
|
|
3
|
-
using System.Collections.Generic;
|
|
4
|
-
using Core.DataStructure;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
|
|
7
|
-
public sealed class QuadTreePerformanceTests : SpatialTreePerformanceTest<QuadTree<Vector2>>
|
|
8
|
-
{
|
|
9
|
-
protected override QuadTree<Vector2> CreateTree(IEnumerable<Vector2> points)
|
|
10
|
-
{
|
|
11
|
-
return new QuadTree<Vector2>(points, _ => _);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
1
|
+
namespace UnityHelpers.Tests.Performance
|
|
2
|
+
{
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using Core.DataStructure;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
public sealed class QuadTreePerformanceTests : SpatialTreePerformanceTest<QuadTree<Vector2>>
|
|
8
|
+
{
|
|
9
|
+
protected override QuadTree<Vector2> CreateTree(IEnumerable<Vector2> points)
|
|
10
|
+
{
|
|
11
|
+
return new QuadTree<Vector2>(points, _ => _);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 9a83172c3da6b894d850aae0b3aae31e
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 9a83172c3da6b894d850aae0b3aae31e
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,157 +1,157 @@
|
|
|
1
|
-
namespace UnityHelpers.Tests.Performance
|
|
2
|
-
{
|
|
3
|
-
using System;
|
|
4
|
-
using System.Diagnostics;
|
|
5
|
-
using NUnit.Framework;
|
|
6
|
-
using UnityHelpers.Core.Random;
|
|
7
|
-
|
|
8
|
-
public sealed class RandomPerformanceTests
|
|
9
|
-
{
|
|
10
|
-
[Test]
|
|
11
|
-
public void Benchmark()
|
|
12
|
-
{
|
|
13
|
-
TimeSpan timeout = TimeSpan.FromSeconds(1);
|
|
14
|
-
|
|
15
|
-
UnityEngine.Debug.Log(
|
|
16
|
-
"| Random | NextBool | Next | NextUInt | NextFloat | NextDouble | NextUint - Range | NextInt - Range |"
|
|
17
|
-
);
|
|
18
|
-
UnityEngine.Debug.Log(
|
|
19
|
-
"| ------ | -------- | ---- | -------- | --------- | ---------- | ---------------- | --------------- |"
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
RunTest(new PcgRandom(), timeout);
|
|
23
|
-
RunTest(new SystemRandom(), timeout);
|
|
24
|
-
RunTest(new SquirrelRandom(), timeout);
|
|
25
|
-
RunTest(new XorShiftRandom(), timeout);
|
|
26
|
-
RunTest(new DotNetRandom(), timeout);
|
|
27
|
-
RunTest(new WyRandom(), timeout);
|
|
28
|
-
RunTest(new SplitMix64(), timeout);
|
|
29
|
-
RunTest(new RomuDuo(), timeout);
|
|
30
|
-
RunTest(new XorShiroRandom(), timeout);
|
|
31
|
-
RunTest(new UnityRandom(), timeout);
|
|
32
|
-
RunTest(new LinearCongruentialGenerator(), timeout);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
private static void RunTest<T>(T random, TimeSpan timeout)
|
|
36
|
-
where T : IRandom
|
|
37
|
-
{
|
|
38
|
-
int nextBool = RunNextBool(timeout, random);
|
|
39
|
-
int nextInt = RunNext(timeout, random);
|
|
40
|
-
int nextUint = RunNextUint(timeout, random);
|
|
41
|
-
int nextFloat = RunNextFloat(timeout, random);
|
|
42
|
-
int nextDouble = RunNextDouble(timeout, random);
|
|
43
|
-
int nextUintRange = RunNextUintRange(timeout, random);
|
|
44
|
-
int nextIntRange = RunNextIntRange(timeout, random);
|
|
45
|
-
|
|
46
|
-
UnityEngine.Debug.Log(
|
|
47
|
-
$"| {random.GetType().Name} | "
|
|
48
|
-
+ $"{(nextBool / timeout.TotalSeconds):N0} | "
|
|
49
|
-
+ $"{(nextInt / timeout.TotalSeconds):N0} | "
|
|
50
|
-
+ $"{(nextUint / timeout.TotalSeconds):N0} | "
|
|
51
|
-
+ $"{(nextFloat / timeout.TotalSeconds):N0} | "
|
|
52
|
-
+ $"{(nextDouble / timeout.TotalSeconds):N0} |"
|
|
53
|
-
+ $"{(nextUintRange / timeout.TotalSeconds):N0} |"
|
|
54
|
-
+ $"{(nextIntRange / timeout.TotalSeconds):N0} |"
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Copy-pasta'd for maximum speed
|
|
59
|
-
private static int RunNext<T>(TimeSpan timeout, T random)
|
|
60
|
-
where T : IRandom
|
|
61
|
-
{
|
|
62
|
-
int count = 0;
|
|
63
|
-
Stopwatch timer = Stopwatch.StartNew();
|
|
64
|
-
do
|
|
65
|
-
{
|
|
66
|
-
_ = random.Next();
|
|
67
|
-
++count;
|
|
68
|
-
} while (timer.Elapsed < timeout);
|
|
69
|
-
|
|
70
|
-
return count;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
private static int RunNextBool<T>(TimeSpan timeout, T random)
|
|
74
|
-
where T : IRandom
|
|
75
|
-
{
|
|
76
|
-
int count = 0;
|
|
77
|
-
Stopwatch timer = Stopwatch.StartNew();
|
|
78
|
-
do
|
|
79
|
-
{
|
|
80
|
-
_ = random.NextBool();
|
|
81
|
-
++count;
|
|
82
|
-
} while (timer.Elapsed < timeout);
|
|
83
|
-
|
|
84
|
-
return count;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
private static int RunNextUint<T>(TimeSpan timeout, T random)
|
|
88
|
-
where T : IRandom
|
|
89
|
-
{
|
|
90
|
-
int count = 0;
|
|
91
|
-
Stopwatch timer = Stopwatch.StartNew();
|
|
92
|
-
do
|
|
93
|
-
{
|
|
94
|
-
_ = random.NextUint();
|
|
95
|
-
++count;
|
|
96
|
-
} while (timer.Elapsed < timeout);
|
|
97
|
-
|
|
98
|
-
return count;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
private static int RunNextUintRange<T>(TimeSpan timeout, T random)
|
|
102
|
-
where T : IRandom
|
|
103
|
-
{
|
|
104
|
-
int count = 0;
|
|
105
|
-
Stopwatch timer = Stopwatch.StartNew();
|
|
106
|
-
do
|
|
107
|
-
{
|
|
108
|
-
_ = random.NextUint(1_000);
|
|
109
|
-
++count;
|
|
110
|
-
} while (timer.Elapsed < timeout);
|
|
111
|
-
|
|
112
|
-
return count;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
private static int RunNextIntRange<T>(TimeSpan timeout, T random)
|
|
116
|
-
where T : IRandom
|
|
117
|
-
{
|
|
118
|
-
int count = 0;
|
|
119
|
-
Stopwatch timer = Stopwatch.StartNew();
|
|
120
|
-
do
|
|
121
|
-
{
|
|
122
|
-
_ = random.Next(1_000);
|
|
123
|
-
++count;
|
|
124
|
-
} while (timer.Elapsed < timeout);
|
|
125
|
-
|
|
126
|
-
return count;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
private static int RunNextFloat<T>(TimeSpan timeout, T random)
|
|
130
|
-
where T : IRandom
|
|
131
|
-
{
|
|
132
|
-
int count = 0;
|
|
133
|
-
Stopwatch timer = Stopwatch.StartNew();
|
|
134
|
-
do
|
|
135
|
-
{
|
|
136
|
-
_ = random.NextFloat();
|
|
137
|
-
++count;
|
|
138
|
-
} while (timer.Elapsed < timeout);
|
|
139
|
-
|
|
140
|
-
return count;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
private static int RunNextDouble<T>(TimeSpan timeout, T random)
|
|
144
|
-
where T : IRandom
|
|
145
|
-
{
|
|
146
|
-
int count = 0;
|
|
147
|
-
Stopwatch timer = Stopwatch.StartNew();
|
|
148
|
-
do
|
|
149
|
-
{
|
|
150
|
-
_ = random.NextDouble();
|
|
151
|
-
++count;
|
|
152
|
-
} while (timer.Elapsed < timeout);
|
|
153
|
-
|
|
154
|
-
return count;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
1
|
+
namespace UnityHelpers.Tests.Performance
|
|
2
|
+
{
|
|
3
|
+
using System;
|
|
4
|
+
using System.Diagnostics;
|
|
5
|
+
using NUnit.Framework;
|
|
6
|
+
using UnityHelpers.Core.Random;
|
|
7
|
+
|
|
8
|
+
public sealed class RandomPerformanceTests
|
|
9
|
+
{
|
|
10
|
+
[Test]
|
|
11
|
+
public void Benchmark()
|
|
12
|
+
{
|
|
13
|
+
TimeSpan timeout = TimeSpan.FromSeconds(1);
|
|
14
|
+
|
|
15
|
+
UnityEngine.Debug.Log(
|
|
16
|
+
"| Random | NextBool | Next | NextUInt | NextFloat | NextDouble | NextUint - Range | NextInt - Range |"
|
|
17
|
+
);
|
|
18
|
+
UnityEngine.Debug.Log(
|
|
19
|
+
"| ------ | -------- | ---- | -------- | --------- | ---------- | ---------------- | --------------- |"
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
RunTest(new PcgRandom(), timeout);
|
|
23
|
+
RunTest(new SystemRandom(), timeout);
|
|
24
|
+
RunTest(new SquirrelRandom(), timeout);
|
|
25
|
+
RunTest(new XorShiftRandom(), timeout);
|
|
26
|
+
RunTest(new DotNetRandom(), timeout);
|
|
27
|
+
RunTest(new WyRandom(), timeout);
|
|
28
|
+
RunTest(new SplitMix64(), timeout);
|
|
29
|
+
RunTest(new RomuDuo(), timeout);
|
|
30
|
+
RunTest(new XorShiroRandom(), timeout);
|
|
31
|
+
RunTest(new UnityRandom(), timeout);
|
|
32
|
+
RunTest(new LinearCongruentialGenerator(), timeout);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
private static void RunTest<T>(T random, TimeSpan timeout)
|
|
36
|
+
where T : IRandom
|
|
37
|
+
{
|
|
38
|
+
int nextBool = RunNextBool(timeout, random);
|
|
39
|
+
int nextInt = RunNext(timeout, random);
|
|
40
|
+
int nextUint = RunNextUint(timeout, random);
|
|
41
|
+
int nextFloat = RunNextFloat(timeout, random);
|
|
42
|
+
int nextDouble = RunNextDouble(timeout, random);
|
|
43
|
+
int nextUintRange = RunNextUintRange(timeout, random);
|
|
44
|
+
int nextIntRange = RunNextIntRange(timeout, random);
|
|
45
|
+
|
|
46
|
+
UnityEngine.Debug.Log(
|
|
47
|
+
$"| {random.GetType().Name} | "
|
|
48
|
+
+ $"{(nextBool / timeout.TotalSeconds):N0} | "
|
|
49
|
+
+ $"{(nextInt / timeout.TotalSeconds):N0} | "
|
|
50
|
+
+ $"{(nextUint / timeout.TotalSeconds):N0} | "
|
|
51
|
+
+ $"{(nextFloat / timeout.TotalSeconds):N0} | "
|
|
52
|
+
+ $"{(nextDouble / timeout.TotalSeconds):N0} |"
|
|
53
|
+
+ $"{(nextUintRange / timeout.TotalSeconds):N0} |"
|
|
54
|
+
+ $"{(nextIntRange / timeout.TotalSeconds):N0} |"
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Copy-pasta'd for maximum speed
|
|
59
|
+
private static int RunNext<T>(TimeSpan timeout, T random)
|
|
60
|
+
where T : IRandom
|
|
61
|
+
{
|
|
62
|
+
int count = 0;
|
|
63
|
+
Stopwatch timer = Stopwatch.StartNew();
|
|
64
|
+
do
|
|
65
|
+
{
|
|
66
|
+
_ = random.Next();
|
|
67
|
+
++count;
|
|
68
|
+
} while (timer.Elapsed < timeout);
|
|
69
|
+
|
|
70
|
+
return count;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private static int RunNextBool<T>(TimeSpan timeout, T random)
|
|
74
|
+
where T : IRandom
|
|
75
|
+
{
|
|
76
|
+
int count = 0;
|
|
77
|
+
Stopwatch timer = Stopwatch.StartNew();
|
|
78
|
+
do
|
|
79
|
+
{
|
|
80
|
+
_ = random.NextBool();
|
|
81
|
+
++count;
|
|
82
|
+
} while (timer.Elapsed < timeout);
|
|
83
|
+
|
|
84
|
+
return count;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
private static int RunNextUint<T>(TimeSpan timeout, T random)
|
|
88
|
+
where T : IRandom
|
|
89
|
+
{
|
|
90
|
+
int count = 0;
|
|
91
|
+
Stopwatch timer = Stopwatch.StartNew();
|
|
92
|
+
do
|
|
93
|
+
{
|
|
94
|
+
_ = random.NextUint();
|
|
95
|
+
++count;
|
|
96
|
+
} while (timer.Elapsed < timeout);
|
|
97
|
+
|
|
98
|
+
return count;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
private static int RunNextUintRange<T>(TimeSpan timeout, T random)
|
|
102
|
+
where T : IRandom
|
|
103
|
+
{
|
|
104
|
+
int count = 0;
|
|
105
|
+
Stopwatch timer = Stopwatch.StartNew();
|
|
106
|
+
do
|
|
107
|
+
{
|
|
108
|
+
_ = random.NextUint(1_000);
|
|
109
|
+
++count;
|
|
110
|
+
} while (timer.Elapsed < timeout);
|
|
111
|
+
|
|
112
|
+
return count;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
private static int RunNextIntRange<T>(TimeSpan timeout, T random)
|
|
116
|
+
where T : IRandom
|
|
117
|
+
{
|
|
118
|
+
int count = 0;
|
|
119
|
+
Stopwatch timer = Stopwatch.StartNew();
|
|
120
|
+
do
|
|
121
|
+
{
|
|
122
|
+
_ = random.Next(1_000);
|
|
123
|
+
++count;
|
|
124
|
+
} while (timer.Elapsed < timeout);
|
|
125
|
+
|
|
126
|
+
return count;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
private static int RunNextFloat<T>(TimeSpan timeout, T random)
|
|
130
|
+
where T : IRandom
|
|
131
|
+
{
|
|
132
|
+
int count = 0;
|
|
133
|
+
Stopwatch timer = Stopwatch.StartNew();
|
|
134
|
+
do
|
|
135
|
+
{
|
|
136
|
+
_ = random.NextFloat();
|
|
137
|
+
++count;
|
|
138
|
+
} while (timer.Elapsed < timeout);
|
|
139
|
+
|
|
140
|
+
return count;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
private static int RunNextDouble<T>(TimeSpan timeout, T random)
|
|
144
|
+
where T : IRandom
|
|
145
|
+
{
|
|
146
|
+
int count = 0;
|
|
147
|
+
Stopwatch timer = Stopwatch.StartNew();
|
|
148
|
+
do
|
|
149
|
+
{
|
|
150
|
+
_ = random.NextDouble();
|
|
151
|
+
++count;
|
|
152
|
+
} while (timer.Elapsed < timeout);
|
|
153
|
+
|
|
154
|
+
return count;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: cd362cfc7f5bcc74fa5a42a2670f070c
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: cd362cfc7f5bcc74fa5a42a2670f070c
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
namespace UnityHelpers.Tests.Performance
|
|
2
|
-
{
|
|
3
|
-
using System;
|
|
4
|
-
using System.Diagnostics;
|
|
5
|
-
using Components;
|
|
6
|
-
using Components.UnityHelpers.Tests.Components;
|
|
7
|
-
using Core.Attributes;
|
|
8
|
-
using NUnit.Framework;
|
|
9
|
-
using UnityEngine;
|
|
10
|
-
|
|
11
|
-
public sealed class RelationComponentPerformanceTests
|
|
12
|
-
{
|
|
13
|
-
[Test]
|
|
14
|
-
public void RelationalPerformanceComplexTest()
|
|
15
|
-
{
|
|
16
|
-
int count = 0;
|
|
17
|
-
|
|
18
|
-
GameObject go = new("Test", typeof(RelationalComponentTesterComplex));
|
|
19
|
-
RelationalComponentTesterComplex tester =
|
|
20
|
-
go.GetComponent<RelationalComponentTesterComplex>();
|
|
21
|
-
// Pre-warm
|
|
22
|
-
tester.AssignRelationalComponents();
|
|
23
|
-
|
|
24
|
-
TimeSpan timeout = TimeSpan.FromSeconds(10);
|
|
25
|
-
Stopwatch timer = Stopwatch.StartNew();
|
|
26
|
-
do
|
|
27
|
-
{
|
|
28
|
-
tester.AssignRelationalComponents();
|
|
29
|
-
++count;
|
|
30
|
-
} while (timer.Elapsed < timeout);
|
|
31
|
-
|
|
32
|
-
UnityEngine.Debug.Log($"Averaged {count / timeout.TotalSeconds} operations / second.");
|
|
33
|
-
|
|
34
|
-
Assert.AreNotEqual(0, tester._childColliders.Length);
|
|
35
|
-
Assert.AreNotEqual(0, tester._parentColliders.Length);
|
|
36
|
-
Assert.AreNotEqual(0, tester._siblingColliders.Length);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
[Test]
|
|
40
|
-
public void RelationalPerformanceSimpleTest()
|
|
41
|
-
{
|
|
42
|
-
int count = 0;
|
|
43
|
-
|
|
44
|
-
GameObject go = new("Test", typeof(RelationalComponentTesterSimple));
|
|
45
|
-
RelationalComponentTesterSimple tester =
|
|
46
|
-
go.GetComponent<RelationalComponentTesterSimple>();
|
|
47
|
-
// Pre-warm
|
|
48
|
-
tester.AssignRelationalComponents();
|
|
49
|
-
|
|
50
|
-
TimeSpan timeout = TimeSpan.FromSeconds(10);
|
|
51
|
-
Stopwatch timer = Stopwatch.StartNew();
|
|
52
|
-
do
|
|
53
|
-
{
|
|
54
|
-
tester.AssignRelationalComponents();
|
|
55
|
-
++count;
|
|
56
|
-
} while (timer.Elapsed < timeout);
|
|
57
|
-
|
|
58
|
-
UnityEngine.Debug.Log($"Averaged {count / timeout.TotalSeconds} operations / second.");
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
1
|
+
namespace UnityHelpers.Tests.Performance
|
|
2
|
+
{
|
|
3
|
+
using System;
|
|
4
|
+
using System.Diagnostics;
|
|
5
|
+
using Components;
|
|
6
|
+
using Components.UnityHelpers.Tests.Components;
|
|
7
|
+
using Core.Attributes;
|
|
8
|
+
using NUnit.Framework;
|
|
9
|
+
using UnityEngine;
|
|
10
|
+
|
|
11
|
+
public sealed class RelationComponentPerformanceTests
|
|
12
|
+
{
|
|
13
|
+
[Test]
|
|
14
|
+
public void RelationalPerformanceComplexTest()
|
|
15
|
+
{
|
|
16
|
+
int count = 0;
|
|
17
|
+
|
|
18
|
+
GameObject go = new("Test", typeof(RelationalComponentTesterComplex));
|
|
19
|
+
RelationalComponentTesterComplex tester =
|
|
20
|
+
go.GetComponent<RelationalComponentTesterComplex>();
|
|
21
|
+
// Pre-warm
|
|
22
|
+
tester.AssignRelationalComponents();
|
|
23
|
+
|
|
24
|
+
TimeSpan timeout = TimeSpan.FromSeconds(10);
|
|
25
|
+
Stopwatch timer = Stopwatch.StartNew();
|
|
26
|
+
do
|
|
27
|
+
{
|
|
28
|
+
tester.AssignRelationalComponents();
|
|
29
|
+
++count;
|
|
30
|
+
} while (timer.Elapsed < timeout);
|
|
31
|
+
|
|
32
|
+
UnityEngine.Debug.Log($"Averaged {count / timeout.TotalSeconds} operations / second.");
|
|
33
|
+
|
|
34
|
+
Assert.AreNotEqual(0, tester._childColliders.Length);
|
|
35
|
+
Assert.AreNotEqual(0, tester._parentColliders.Length);
|
|
36
|
+
Assert.AreNotEqual(0, tester._siblingColliders.Length);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
[Test]
|
|
40
|
+
public void RelationalPerformanceSimpleTest()
|
|
41
|
+
{
|
|
42
|
+
int count = 0;
|
|
43
|
+
|
|
44
|
+
GameObject go = new("Test", typeof(RelationalComponentTesterSimple));
|
|
45
|
+
RelationalComponentTesterSimple tester =
|
|
46
|
+
go.GetComponent<RelationalComponentTesterSimple>();
|
|
47
|
+
// Pre-warm
|
|
48
|
+
tester.AssignRelationalComponents();
|
|
49
|
+
|
|
50
|
+
TimeSpan timeout = TimeSpan.FromSeconds(10);
|
|
51
|
+
Stopwatch timer = Stopwatch.StartNew();
|
|
52
|
+
do
|
|
53
|
+
{
|
|
54
|
+
tester.AssignRelationalComponents();
|
|
55
|
+
++count;
|
|
56
|
+
} while (timer.Elapsed < timeout);
|
|
57
|
+
|
|
58
|
+
UnityEngine.Debug.Log($"Averaged {count / timeout.TotalSeconds} operations / second.");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 08f1585008ba43b0b666e27eb45f0768
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 08f1585008ba43b0b666e27eb45f0768
|
|
3
3
|
timeCreated: 1742065801
|