com.wallstop-studios.unity-helpers 2.0.0-rc81.7 → 2.0.0-rc81.9
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 +10 -10
- package/.csharpierignore +1 -0
- package/.csharpierrc.json +3 -0
- package/.editorconfig +184 -184
- package/.gitattributes +87 -63
- package/.githooks/pre-commit +49 -0
- package/.github/dependabot.yml +9 -9
- package/.github/workflows/csharpier.yml +135 -0
- package/.github/workflows/lint-doc-links.yml +27 -0
- package/.github/workflows/markdown-json.yml +41 -0
- package/.github/workflows/npm-publish.yml +75 -75
- package/.lychee.toml +26 -0
- package/.markdownlint.json +21 -0
- package/.markdownlintignore +8 -0
- package/.pre-commit-config.yaml +39 -22
- package/.prettierignore +22 -0
- package/.prettierrc.json +20 -0
- package/AGENTS.md +52 -0
- package/{Third Party Notices.md.meta → AGENTS.md.meta} +7 -7
- package/CHANGELOG.md.meta +7 -7
- package/DATA_STRUCTURES.md +324 -0
- package/DATA_STRUCTURES.md.meta +7 -0
- package/Docs/Images/attribute_resolution.svg +40 -0
- package/Docs/Images/attribute_resolution.svg.meta +7 -0
- package/Docs/Images/bitset.svg +47 -0
- package/Docs/Images/bitset.svg.meta +7 -0
- package/Docs/Images/concave_hull.svg +30 -0
- package/Docs/Images/concave_hull.svg.meta +7 -0
- package/Docs/Images/convex_hull.svg +29 -0
- package/Docs/Images/convex_hull.svg.meta +7 -0
- package/Docs/Images/cyclic_buffer.svg +37 -0
- package/Docs/Images/cyclic_buffer.svg.meta +7 -0
- package/Docs/Images/data_distribution_decision.svg +88 -0
- package/Docs/Images/data_distribution_decision.svg.meta +7 -0
- package/Docs/Images/deque.svg +64 -0
- package/Docs/Images/deque.svg.meta +7 -0
- package/Docs/Images/deque_queue.svg +107 -0
- package/Docs/Images/deque_queue.svg.meta +7 -0
- package/Docs/Images/disjoint_set.svg +47 -0
- package/Docs/Images/disjoint_set.svg.meta +7 -0
- package/Docs/Images/effects_pipeline.svg +59 -0
- package/Docs/Images/effects_pipeline.svg.meta +7 -0
- package/Docs/Images/geometry_edge_cases.svg +61 -0
- package/Docs/Images/geometry_edge_cases.svg.meta +7 -0
- package/Docs/Images/heap.svg +56 -0
- package/Docs/Images/heap.svg.meta +7 -0
- package/Docs/Images/kdtree_2d.svg +38 -0
- package/Docs/Images/kdtree_2d.svg.meta +7 -0
- package/Docs/Images/kdtree_3d.svg +83 -0
- package/Docs/Images/kdtree_3d.svg.meta +7 -0
- package/Docs/Images/octree_3d.svg +79 -0
- package/Docs/Images/octree_3d.svg.meta +7 -0
- package/Docs/Images/polyline_simplify.svg +18 -0
- package/Docs/Images/polyline_simplify.svg.meta +7 -0
- package/Docs/Images/quadtree_2d.svg +37 -0
- package/Docs/Images/quadtree_2d.svg.meta +7 -0
- package/Docs/Images/query_boundaries.svg +38 -0
- package/Docs/Images/query_boundaries.svg.meta +7 -0
- package/Docs/Images/random_generators.svg +105 -0
- package/Docs/Images/random_generators.svg.meta +7 -0
- package/Docs/Images/reflection_scan.svg +33 -0
- package/Docs/Images/reflection_scan.svg.meta +7 -0
- package/Docs/Images/relational_wiring.svg +75 -0
- package/Docs/Images/relational_wiring.svg.meta +7 -0
- package/Docs/Images/rtree_2d.svg +27 -0
- package/Docs/Images/rtree_2d.svg.meta +7 -0
- package/Docs/Images/rtree_3d.svg +79 -0
- package/Docs/Images/rtree_3d.svg.meta +7 -0
- package/Docs/Images/serialization_flow.svg +50 -0
- package/Docs/Images/serialization_flow.svg.meta +7 -0
- package/Docs/Images/singletons_lifecycle.svg +54 -0
- package/Docs/Images/singletons_lifecycle.svg.meta +7 -0
- package/Docs/Images/sparse_set.svg +54 -0
- package/Docs/Images/sparse_set.svg.meta +7 -0
- package/Docs/Images/trie.svg +55 -0
- package/Docs/Images/trie.svg.meta +7 -0
- package/Docs/Images.meta +8 -0
- package/Docs.meta +8 -0
- package/EDITOR_TOOLS_GUIDE.md +1976 -0
- package/EDITOR_TOOLS_GUIDE.md.meta +7 -0
- package/EFFECTS_SYSTEM.md +242 -0
- package/EFFECTS_SYSTEM.md.meta +7 -0
- package/EFFECTS_SYSTEM_TUTORIAL.md +467 -0
- package/EFFECTS_SYSTEM_TUTORIAL.md.meta +7 -0
- package/Editor/AnimationEventEditor.cs +1393 -874
- package/Editor/AnimationEventEditor.cs.meta +11 -11
- package/Editor/AssemblyInfo.cs +4 -0
- package/Editor/AssemblyInfo.cs.meta +3 -0
- package/Editor/AssetProcessors/SpriteLabelProcessor.cs +138 -111
- package/Editor/AssetProcessors/SpriteLabelProcessor.cs.meta +2 -2
- package/Editor/AssetProcessors.meta +2 -2
- package/Editor/Core/Helper/AnimationEventHelpers.cs +204 -0
- package/{Runtime/Core/DataStructure/ISpatialTree.cs.meta → Editor/Core/Helper/AnimationEventHelpers.cs.meta} +11 -11
- package/Editor/Core/Helper.meta +8 -0
- package/Editor/Core.meta +8 -0
- package/Editor/CustomDrawers/IntDropdownDrawer.cs +46 -46
- package/Editor/CustomDrawers/IntDropdownDrawer.cs.meta +2 -2
- package/Editor/CustomDrawers/StringInListeDrawer.cs +135 -135
- package/Editor/CustomDrawers/StringInListeDrawer.cs.meta +2 -2
- package/Editor/CustomDrawers/WShowIfPropertyDrawer.cs +105 -105
- package/Editor/CustomDrawers/WShowIfPropertyDrawer.cs.meta +2 -2
- package/Editor/CustomDrawers.meta +2 -2
- package/Editor/CustomEditors/MatchColliderToSpriteEditor.cs +32 -32
- package/Editor/CustomEditors/MatchColliderToSpriteEditor.cs.meta +2 -2
- package/Editor/CustomEditors/PersistentDirectoryGUI.cs +799 -799
- package/Editor/CustomEditors/PersistentDirectoryGUI.cs.meta +2 -2
- package/Editor/CustomEditors/PolygonCollider2DOptimizerEditor.cs +38 -40
- package/Editor/CustomEditors/PolygonCollider2DOptimizerEditor.cs.meta +2 -2
- package/Editor/CustomEditors/SourceFolderEntryDrawer.cs +685 -413
- package/Editor/CustomEditors/SourceFolderEntryDrawer.cs.meta +2 -2
- package/Editor/CustomEditors/TexturePlatformOverrideEntryDrawer.cs +146 -0
- package/{Runtime/Core/DataStructure/KDTree.cs.meta → Editor/CustomEditors/TexturePlatformOverrideEntryDrawer.cs.meta} +11 -11
- package/Editor/CustomEditors.meta +2 -2
- package/Editor/Extensions/SerializedPropertyExtensions.cs +217 -190
- package/Editor/Extensions/SerializedPropertyExtensions.cs.meta +2 -2
- package/Editor/Extensions/UnityExtensions.cs +50 -26
- package/Editor/Extensions/UnityExtensions.cs.meta +2 -2
- package/Editor/Extensions.meta +2 -2
- package/Editor/FitTextureSizeWindow.cs +785 -332
- package/Editor/FitTextureSizeWindow.cs.meta +2 -2
- package/Editor/Persistence/MultiFileSelectorPersistenceManager.cs +62 -0
- package/{Runtime/Core/DataStructure/QuadTree.cs.meta → Editor/Persistence/MultiFileSelectorPersistenceManager.cs.meta} +11 -11
- package/Editor/Persistence/MultiFileSelectorPersistenceWindow.cs +65 -0
- package/Editor/Persistence/MultiFileSelectorPersistenceWindow.cs.meta +11 -0
- package/Editor/Persistence.meta +8 -0
- package/Editor/PersistentDirectorySettings.cs +529 -248
- package/Editor/PersistentDirectorySettings.cs.meta +2 -2
- package/Editor/PrefabChecker.cs +1329 -741
- package/Editor/PrefabChecker.cs.meta +11 -11
- package/Editor/Sprites/AnimationCopier.cs +1518 -789
- package/Editor/Sprites/AnimationCopier.cs.meta +2 -2
- package/Editor/Sprites/AnimationCreator.cs +1532 -881
- package/Editor/Sprites/AnimationCreator.cs.meta +11 -11
- package/Editor/Sprites/AnimationViewerWindow.cs +1634 -1522
- package/Editor/Sprites/AnimationViewerWindow.cs.meta +2 -2
- package/Editor/Sprites/ScriptableSpriteAtlas.cs +251 -178
- package/Editor/Sprites/ScriptableSpriteAtlas.cs.meta +2 -2
- package/Editor/Sprites/ScriptableSpriteAtlasEditor.cs +1470 -1026
- package/Editor/Sprites/ScriptableSpriteAtlasEditor.cs.meta +2 -2
- package/Editor/Sprites/SpriteCropper.cs +1013 -523
- package/Editor/Sprites/SpriteCropper.cs.meta +2 -2
- package/Editor/Sprites/SpritePivotAdjustor.cs +605 -265
- package/Editor/Sprites/SpritePivotAdjustor.cs.meta +2 -2
- package/Editor/Sprites/SpriteSettingsApplier.cs +942 -918
- package/Editor/Sprites/SpriteSettingsApplier.cs.meta +2 -2
- package/Editor/Sprites/SpriteSettingsApplierAPI.cs +441 -0
- package/Editor/Sprites/SpriteSettingsApplierAPI.cs.meta +11 -0
- package/Editor/Sprites/SpriteSettingsProfileCollection.cs +12 -0
- package/Editor/Sprites/SpriteSettingsProfileCollection.cs.meta +11 -0
- package/Editor/Sprites/SpriteSheetAnimationCreator.cs +1586 -1537
- package/Editor/Sprites/SpriteSheetAnimationCreator.cs.meta +2 -2
- package/Editor/Sprites/TexturePlatformNameHelper.cs +78 -0
- package/Editor/Sprites/TexturePlatformNameHelper.cs.meta +11 -0
- package/Editor/Sprites/TextureResizerWizard.cs +434 -175
- package/Editor/Sprites/TextureResizerWizard.cs.meta +2 -2
- package/Editor/Sprites/TextureSettingsApplierAPI.cs +359 -0
- package/Editor/Sprites/TextureSettingsApplierAPI.cs.meta +11 -0
- package/Editor/Sprites/TextureSettingsApplierWindow.cs +605 -0
- package/Editor/Sprites/TextureSettingsApplierWindow.cs.meta +11 -0
- package/Editor/Sprites.meta +2 -2
- package/Editor/Styles/AnimationViewer.uss +115 -115
- package/Editor/Styles/AnimationViewer.uss.meta +2 -2
- package/Editor/Styles/AnimationViewer.uxml +56 -56
- package/Editor/Styles/AnimationViewer.uxml.meta +2 -2
- package/Editor/Styles/SpriteSheetAnimationCreator.uss +10 -0
- package/Editor/Styles/SpriteSheetAnimationCreator.uss.meta +11 -0
- package/Editor/Styles.meta +2 -2
- package/Editor/Tags/AttributeMetadataCacheEditor.cs +46 -0
- package/Editor/Tags/AttributeMetadataCacheEditor.cs.meta +11 -0
- package/Editor/Tags/AttributeMetadataCacheGenerator.cs +258 -0
- package/Editor/Tags/AttributeMetadataCacheGenerator.cs.meta +11 -0
- package/Editor/Tags.meta +8 -0
- package/Editor/Tools/ImageBlurTool.cs +451 -409
- package/Editor/Tools/ImageBlurTool.cs.meta +2 -2
- package/Editor/Tools.meta +2 -2
- package/Editor/Utils/DxReadOnlyPropertyDrawer.cs +26 -26
- package/Editor/Utils/DxReadOnlyPropertyDrawer.cs.meta +11 -11
- package/Editor/Utils/EditorUi.cs +228 -0
- package/Editor/Utils/EditorUi.cs.meta +11 -0
- package/Editor/Utils/EditorUtilities.cs +22 -22
- package/Editor/Utils/EditorUtilities.cs.meta +11 -11
- package/Editor/Utils/ScriptableObjectSingletonCreator.cs +633 -52
- package/Editor/Utils/ScriptableObjectSingletonCreator.cs.meta +2 -2
- package/Editor/Utils.meta +8 -8
- package/Editor/Visuals/EnhancedImageEditor.cs +160 -160
- package/Editor/Visuals/EnhancedImageEditor.cs.meta +11 -11
- package/Editor/Visuals.meta +2 -2
- package/Editor/WallstopStudios.UnityHelpers.Editor.asmdef +14 -18
- package/Editor/WallstopStudios.UnityHelpers.Editor.asmdef.meta +7 -7
- package/Editor.meta +8 -8
- package/GETTING_STARTED.md +425 -0
- package/GETTING_STARTED.md.meta +7 -0
- package/GLOSSARY.md +313 -0
- package/GLOSSARY.md.meta +7 -0
- package/HULLS.md +45 -0
- package/HULLS.md.meta +7 -0
- package/INDEX.md +429 -0
- package/INDEX.md.meta +7 -0
- package/LICENSE +21 -21
- package/LICENSE.md +7 -7
- package/LICENSE.md.meta +7 -7
- package/LICENSE.meta +7 -7
- package/MATH_AND_EXTENSIONS.md +316 -0
- package/MATH_AND_EXTENSIONS.md.meta +7 -0
- package/RANDOM_PERFORMANCE.md +140 -0
- package/RANDOM_PERFORMANCE.md.meta +7 -0
- package/README.md +3195 -188
- package/README.md.meta +7 -7
- package/REFLECTION_HELPERS.md +272 -0
- package/REFLECTION_HELPERS.md.meta +7 -0
- package/RELATIONAL_COMPONENTS.md +543 -0
- package/RELATIONAL_COMPONENTS.md.meta +7 -0
- package/Runtime/AssemblyInfo.cs +7 -0
- package/Runtime/AssemblyInfo.cs.meta +11 -0
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.dll +0 -0
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.dll.meta +33 -33
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.xml +499 -278
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.xml.meta +7 -7
- package/Runtime/Binaries/System.IO.Pipelines.dll +0 -0
- package/Runtime/Binaries/System.IO.Pipelines.dll.meta +33 -0
- package/Runtime/Binaries/System.IO.Pipelines.xml +702 -0
- package/Runtime/Binaries/System.IO.Pipelines.xml.meta +7 -0
- package/Runtime/Binaries/System.Text.Encodings.Web.dll +0 -0
- package/Runtime/Binaries/System.Text.Encodings.Web.dll.meta +33 -33
- package/Runtime/Binaries/System.Text.Encodings.Web.xml +1084 -1079
- package/Runtime/Binaries/System.Text.Encodings.Web.xml.meta +7 -7
- package/Runtime/Binaries/System.Text.Json.dll +0 -0
- package/Runtime/Binaries/System.Text.Json.dll.meta +33 -33
- package/Runtime/Binaries/System.Text.Json.xml +10217 -8116
- package/Runtime/Binaries/System.Text.Json.xml.meta +7 -7
- package/Runtime/Binaries.meta +8 -8
- package/Runtime/Core/Attributes/AnimationEventAttribute.cs +10 -138
- package/Runtime/Core/Attributes/AnimationEventAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/BaseRelationalComponentAttribute.cs +841 -0
- package/Runtime/Core/Attributes/BaseRelationalComponentAttribute.cs.meta +11 -0
- package/Runtime/Core/Attributes/ChildComponentAttribute.cs +284 -226
- package/Runtime/Core/Attributes/ChildComponentAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/DxReadOnlyAttribute.cs +6 -6
- package/Runtime/Core/Attributes/DxReadOnlyAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/EnumDisplayNameAttribute.cs +15 -15
- package/Runtime/Core/Attributes/EnumDisplayNameAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/IRelationalComponentAssigner.cs +36 -0
- package/Runtime/Core/Attributes/IRelationalComponentAssigner.cs.meta +11 -0
- package/Runtime/Core/Attributes/IntDropdownAttribute.cs +14 -14
- package/Runtime/Core/Attributes/IntDropdownAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/KSerializableAttribute.cs +19 -19
- package/Runtime/Core/Attributes/KSerializableAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/NotNullAttribute.cs +32 -32
- package/Runtime/Core/Attributes/NotNullAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/ParentComponentAttribute.cs +376 -0
- package/Runtime/Core/Attributes/{ParentComponent.cs.meta → ParentComponentAttribute.cs.meta} +11 -11
- package/Runtime/Core/Attributes/RelationalComponentAssigner.cs +107 -0
- package/Runtime/Core/Attributes/RelationalComponentAssigner.cs.meta +11 -0
- package/Runtime/Core/Attributes/RelationalComponentExtensions.cs +61 -14
- package/Runtime/Core/Attributes/RelationalComponentExtensions.cs.meta +11 -11
- package/Runtime/Core/Attributes/RelationalComponentInitializer.cs +331 -0
- package/Runtime/Core/Attributes/RelationalComponentInitializer.cs.meta +11 -0
- package/Runtime/Core/Attributes/ScriptableSingletonPathAttribute.cs +15 -15
- package/Runtime/Core/Attributes/ScriptableSingletonPathAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/SiblingComponentAttribute.cs +264 -137
- package/Runtime/Core/Attributes/SiblingComponentAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/ValidateAssignmentAttribute.cs +115 -106
- package/Runtime/Core/Attributes/ValidateAssignmentAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/ValueHelpers.cs +10 -0
- package/Runtime/Core/Attributes/ValueHelpers.cs.meta +3 -0
- package/Runtime/Core/Attributes/WShowIfAttribute.cs +24 -24
- package/Runtime/Core/Attributes/WShowIfAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes.meta +8 -8
- package/Runtime/Core/DataStructure/Adapters/FastVector2Int.cs +192 -92
- package/Runtime/Core/DataStructure/Adapters/FastVector2Int.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Adapters/FastVector3Int.cs +268 -185
- package/Runtime/Core/DataStructure/Adapters/FastVector3Int.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Adapters/KGuid.cs +360 -305
- package/Runtime/Core/DataStructure/Adapters/KGuid.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Adapters/KVector2.cs +146 -80
- package/Runtime/Core/DataStructure/Adapters/KVector2.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Adapters.meta +8 -8
- package/Runtime/Core/DataStructure/BitSet.cs +626 -0
- package/Runtime/Core/DataStructure/BitSet.cs.meta +11 -0
- package/Runtime/Core/DataStructure/BoundingBox3D.cs +405 -0
- package/Runtime/Core/DataStructure/BoundingBox3D.cs.meta +11 -0
- package/Runtime/Core/DataStructure/Circle.cs +203 -50
- package/Runtime/Core/DataStructure/Circle.cs.meta +11 -11
- package/Runtime/Core/DataStructure/CyclicBuffer.cs +489 -266
- package/Runtime/Core/DataStructure/CyclicBuffer.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Deque.cs +561 -0
- package/Runtime/Core/DataStructure/Deque.cs.meta +11 -0
- package/Runtime/Core/DataStructure/DisjointSet.cs +483 -0
- package/Runtime/Core/DataStructure/DisjointSet.cs.meta +11 -0
- package/Runtime/Core/DataStructure/Heap.cs +514 -0
- package/Runtime/Core/DataStructure/Heap.cs.meta +11 -0
- package/Runtime/Core/DataStructure/{ISpatialTree.cs → ISpatialTree2D.cs} +25 -21
- package/Runtime/Core/DataStructure/ISpatialTree2D.cs.meta +11 -0
- package/Runtime/Core/DataStructure/ISpatialTree3D.cs +33 -0
- package/Runtime/Core/DataStructure/ISpatialTree3D.cs.meta +11 -0
- package/Runtime/Core/DataStructure/ImmutableBitSet.cs +398 -0
- package/Runtime/Core/DataStructure/ImmutableBitSet.cs.meta +3 -0
- package/Runtime/Core/DataStructure/KDTree2D.cs +852 -0
- package/Runtime/Core/DataStructure/KDTree2D.cs.meta +11 -0
- package/Runtime/Core/DataStructure/KDTree3D.cs +911 -0
- package/Runtime/Core/DataStructure/KDTree3D.cs.meta +11 -0
- package/Runtime/Core/DataStructure/OctTree3D.cs +983 -0
- package/Runtime/Core/DataStructure/OctTree3D.cs.meta +11 -0
- package/Runtime/Core/DataStructure/PriorityQueue.cs +194 -0
- package/Runtime/Core/DataStructure/PriorityQueue.cs.meta +11 -0
- package/Runtime/Core/DataStructure/QuadTree2D.cs +722 -0
- package/Runtime/Core/DataStructure/QuadTree2D.cs.meta +11 -0
- package/Runtime/Core/DataStructure/RTree2D.cs +704 -0
- package/Runtime/Core/DataStructure/{RTree.cs.meta → RTree2D.cs.meta} +11 -11
- package/Runtime/Core/DataStructure/RTree3D.cs +775 -0
- package/Runtime/Core/DataStructure/RTree3D.cs.meta +11 -0
- package/Runtime/Core/DataStructure/SparseSet.cs +597 -0
- package/Runtime/Core/DataStructure/SparseSet.cs.meta +11 -0
- package/Runtime/Core/DataStructure/SpatialHash2D.cs +312 -0
- package/Runtime/Core/DataStructure/SpatialHash2D.cs.meta +3 -0
- package/Runtime/Core/DataStructure/SpatialHash3D.cs +341 -0
- package/Runtime/Core/DataStructure/SpatialHash3D.cs.meta +11 -0
- package/Runtime/Core/DataStructure/Sphere.cs +264 -0
- package/Runtime/Core/DataStructure/Sphere.cs.meta +11 -0
- package/Runtime/Core/DataStructure/StringWrapper.cs +115 -91
- package/Runtime/Core/DataStructure/StringWrapper.cs.meta +11 -11
- package/Runtime/Core/DataStructure/TimedCache.cs +88 -66
- package/Runtime/Core/DataStructure/TimedCache.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Trie.cs +660 -359
- package/Runtime/Core/DataStructure/Trie.cs.meta +2 -2
- package/Runtime/Core/DataStructure.meta +8 -8
- package/Runtime/Core/Extension/AnimatorExtensions.cs +40 -25
- package/Runtime/Core/Extension/AnimatorExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/AsyncOperationExtensions.cs +404 -110
- package/Runtime/Core/Extension/AsyncOperationExtensions.cs.meta +2 -2
- package/Runtime/Core/Extension/CircleExtensions.cs +125 -25
- package/Runtime/Core/Extension/CircleExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/ColorExtensions.cs +983 -644
- package/Runtime/Core/Extension/ColorExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/DictionaryExtensions.cs +606 -299
- package/Runtime/Core/Extension/DictionaryExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/DirectionExtensions.cs +377 -213
- package/Runtime/Core/Extension/DirectionExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/EnumExtensions.cs +535 -137
- package/Runtime/Core/Extension/EnumExtensions.cs.meta +2 -2
- package/Runtime/Core/Extension/IEnumerableExtensions.cs +341 -124
- package/Runtime/Core/Extension/IEnumerableExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/IListExtensions.cs +767 -248
- package/Runtime/Core/Extension/IListExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/IReadonlyListExtensions.cs +687 -37
- package/Runtime/Core/Extension/IReadonlyListExtensions.cs.meta +2 -2
- package/Runtime/Core/Extension/ProtoEqualityExtensions.cs +292 -0
- package/Runtime/Core/Extension/ProtoEqualityExtensions.cs.meta +3 -0
- package/Runtime/Core/Extension/RandomExtensions.cs +938 -109
- package/Runtime/Core/Extension/RandomExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/StringExtensions.cs +1635 -239
- package/Runtime/Core/Extension/StringExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/UnityExtensions.cs +4555 -1689
- package/Runtime/Core/Extension/UnityExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/WallstopStudiosLogger.cs +271 -245
- package/Runtime/Core/Extension/WallstopStudiosLogger.cs.meta +11 -11
- package/Runtime/Core/Extension.meta +8 -8
- package/Runtime/Core/Helper/ArrayConverter.cs +73 -39
- package/Runtime/Core/Helper/ArrayConverter.cs.meta +2 -2
- package/Runtime/Core/Helper/AssignUtilities.cs +33 -14
- package/Runtime/Core/Helper/AssignUtilities.cs.meta +11 -11
- package/Runtime/Core/Helper/DirectoryHelper.cs +210 -196
- package/Runtime/Core/Helper/DirectoryHelper.cs.meta +2 -2
- package/Runtime/Core/Helper/Enumerables.cs +51 -17
- package/Runtime/Core/Helper/Enumerables.cs.meta +11 -11
- package/Runtime/Core/Helper/FileHelper.cs +97 -77
- package/Runtime/Core/Helper/FileHelper.cs.meta +2 -2
- package/Runtime/Core/Helper/FormattingHelpers.cs +49 -38
- package/Runtime/Core/Helper/FormattingHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/FuncBasedComparer.cs +29 -0
- package/Runtime/Core/Helper/FuncBasedComparer.cs.meta +3 -0
- package/Runtime/Core/Helper/Geometry.cs +65 -43
- package/Runtime/Core/Helper/Geometry.cs.meta +11 -11
- package/Runtime/Core/Helper/Helpers.cs +1271 -831
- package/Runtime/Core/Helper/Helpers.cs.meta +11 -11
- package/Runtime/Core/Helper/IterationHelpers.cs +83 -32
- package/Runtime/Core/Helper/IterationHelpers.cs.meta +11 -11
- package/Runtime/Core/Helper/LifetimeHelpers.cs +20 -13
- package/Runtime/Core/Helper/LifetimeHelpers.cs.meta +11 -11
- package/Runtime/Core/Helper/LineHelper.cs +259 -194
- package/Runtime/Core/Helper/LineHelper.cs.meta +2 -2
- package/Runtime/Core/Helper/Logging/UnityLogTagFormatter.cs +549 -539
- package/Runtime/Core/Helper/Logging/UnityLogTagFormatter.cs.meta +2 -2
- package/Runtime/Core/Helper/Logging.meta +2 -2
- package/Runtime/Core/Helper/Objects.cs +477 -769
- package/Runtime/Core/Helper/Objects.cs.meta +11 -11
- 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 +45 -30
- package/Runtime/Core/Helper/Partials/MathHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials/ObjectHelpers.cs +506 -400
- package/Runtime/Core/Helper/Partials/ObjectHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials/TransformHelpers.cs +393 -377
- package/Runtime/Core/Helper/Partials/TransformHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials.meta +2 -2
- package/Runtime/Core/Helper/PathHelper.cs +42 -15
- package/Runtime/Core/Helper/PathHelper.cs.meta +2 -2
- package/Runtime/Core/Helper/ReflectionHelpers.cs +5287 -1963
- package/Runtime/Core/Helper/ReflectionHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/ReverseComparer.cs +33 -0
- package/Runtime/Core/Helper/ReverseComparer.cs.meta +3 -0
- package/Runtime/Core/Helper/SceneHelper.cs +251 -224
- package/Runtime/Core/Helper/SceneHelper.cs.meta +2 -2
- package/Runtime/Core/Helper/SpriteHelpers.cs +50 -41
- package/Runtime/Core/Helper/SpriteHelpers.cs.meta +11 -11
- package/Runtime/Core/Helper/StringInList.cs +61 -35
- package/Runtime/Core/Helper/StringInList.cs.meta +11 -11
- package/Runtime/Core/Helper/TestAssemblyHelper.cs +134 -0
- package/Runtime/Core/Helper/TestAssemblyHelper.cs.meta +11 -0
- package/Runtime/Core/Helper/UnityMainThreadDispatcher.cs +100 -82
- package/Runtime/Core/Helper/UnityMainThreadDispatcher.cs.meta +2 -2
- package/Runtime/Core/Helper/WallMath.cs +672 -166
- package/Runtime/Core/Helper/WallMath.cs.meta +11 -11
- package/Runtime/Core/Helper.meta +8 -8
- package/Runtime/Core/Math/Line2D.cs +263 -0
- package/Runtime/Core/Math/Line2D.cs.meta +11 -0
- package/Runtime/Core/Math/Line3D.cs +452 -0
- package/Runtime/Core/Math/Line3D.cs.meta +11 -0
- package/Runtime/Core/Math/Parabola.cs +241 -47
- package/Runtime/Core/Math/Parabola.cs.meta +11 -11
- package/Runtime/Core/Math/PointPolygonCheck.cs +175 -36
- package/Runtime/Core/Math/PointPolygonCheck.cs.meta +11 -11
- package/Runtime/Core/Math/Range.cs +157 -92
- package/Runtime/Core/Math/Range.cs.meta +11 -11
- package/Runtime/Core/Math.meta +8 -8
- package/Runtime/Core/Model/Direction.cs +25 -43
- package/Runtime/Core/Model/Direction.cs.meta +11 -11
- package/Runtime/Core/Model.meta +8 -8
- package/Runtime/Core/OneOf/FastOneOf.cs +252 -152
- package/Runtime/Core/OneOf/FastOneOf.cs.meta +11 -11
- package/Runtime/Core/OneOf/FastOneOf2.cs +198 -0
- package/Runtime/Core/OneOf/FastOneOf2.cs.meta +11 -0
- package/Runtime/Core/OneOf/FastOneOf4.cs +324 -0
- package/Runtime/Core/OneOf/FastOneOf4.cs.meta +11 -0
- package/Runtime/Core/OneOf/None.cs +30 -4
- package/Runtime/Core/OneOf/None.cs.meta +11 -11
- package/Runtime/Core/OneOf.meta +8 -8
- package/Runtime/Core/Random/AbstractRandom.cs +1318 -655
- package/Runtime/Core/Random/AbstractRandom.cs.meta +11 -11
- package/Runtime/Core/Random/DotNetRandom.cs +118 -54
- package/Runtime/Core/Random/DotNetRandom.cs.meta +2 -2
- package/Runtime/Core/Random/IRandom.cs +203 -161
- package/Runtime/Core/Random/IRandom.cs.meta +11 -11
- package/Runtime/Core/Random/IllusionFlow.cs +171 -107
- package/Runtime/Core/Random/IllusionFlow.cs.meta +2 -2
- package/Runtime/Core/Random/LinearCongruentialGenerator.cs +90 -49
- package/Runtime/Core/Random/LinearCongruentialGenerator.cs.meta +2 -2
- package/Runtime/Core/Random/NativePcgRandom.cs +139 -97
- package/Runtime/Core/Random/NativePcgRandom.cs.meta +11 -11
- package/Runtime/Core/Random/PRNG.cs +21 -7
- package/Runtime/Core/Random/PRNG.cs.meta +2 -2
- package/Runtime/Core/Random/PcgRandom.cs +243 -149
- package/Runtime/Core/Random/PcgRandom.cs.meta +11 -11
- package/Runtime/Core/Random/PerlinNoise.cs +369 -369
- package/Runtime/Core/Random/PerlinNoise.cs.meta +2 -2
- package/Runtime/Core/Random/RandomComparer.cs +34 -0
- package/Runtime/Core/Random/RandomComparer.cs.meta +3 -0
- package/Runtime/Core/Random/RandomState.cs +206 -131
- package/Runtime/Core/Random/RandomState.cs.meta +11 -11
- package/Runtime/Core/Random/RandomUtilities.cs +55 -26
- package/Runtime/Core/Random/RandomUtilities.cs.meta +11 -11
- package/Runtime/Core/Random/RomuDuo.cs +171 -116
- package/Runtime/Core/Random/RomuDuo.cs.meta +2 -2
- package/Runtime/Core/Random/SplitMix64.cs +134 -94
- package/Runtime/Core/Random/SplitMix64.cs.meta +2 -2
- package/Runtime/Core/Random/SquirrelRandom.cs +127 -84
- package/Runtime/Core/Random/SquirrelRandom.cs.meta +11 -11
- package/Runtime/Core/Random/SystemRandom.cs +203 -162
- package/Runtime/Core/Random/SystemRandom.cs.meta +11 -11
- package/Runtime/Core/Random/ThreadLocalRandom.cs +25 -12
- package/Runtime/Core/Random/ThreadLocalRandom.cs.meta +11 -11
- package/Runtime/Core/Random/UnityRandom.cs +109 -57
- package/Runtime/Core/Random/UnityRandom.cs.meta +11 -11
- package/Runtime/Core/Random/WyRandom.cs +158 -121
- package/Runtime/Core/Random/WyRandom.cs.meta +2 -2
- package/Runtime/Core/Random/XorShiftRandom.cs +106 -52
- package/Runtime/Core/Random/XorShiftRandom.cs.meta +11 -11
- package/Runtime/Core/Random/XoroShiroRandom.cs +184 -119
- package/Runtime/Core/Random/XoroShiroRandom.cs.meta +2 -2
- package/Runtime/Core/Random.meta +8 -8
- package/Runtime/Core/Serialization/JsonConverters/AnimationCurveConverter.cs +248 -0
- package/Runtime/Core/Serialization/JsonConverters/AnimationCurveConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/BitSetConverter.cs +119 -0
- package/Runtime/Core/Serialization/JsonConverters/BitSetConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/BoundingSphereConverter.cs +74 -0
- package/Runtime/Core/Serialization/JsonConverters/BoundingSphereConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/BoundsConverter.cs +132 -0
- package/Runtime/Core/Serialization/JsonConverters/BoundsConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/BoundsIntConverter.cs +135 -0
- package/Runtime/Core/Serialization/JsonConverters/BoundsIntConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/Color32Converter.cs +98 -0
- package/Runtime/Core/Serialization/JsonConverters/Color32Converter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/ColorBlockConverter.cs +123 -0
- package/Runtime/Core/Serialization/JsonConverters/ColorBlockConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/ColorConverter.cs +88 -88
- package/Runtime/Core/Serialization/JsonConverters/ColorConverter.cs.meta +2 -2
- package/Runtime/Core/Serialization/JsonConverters/CyclicBufferConverterFactory.cs +112 -0
- package/Runtime/Core/Serialization/JsonConverters/CyclicBufferConverterFactory.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/DequeConverterFactory.cs +62 -0
- package/Runtime/Core/Serialization/JsonConverters/DequeConverterFactory.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/FastVector2IntConverter.cs +72 -0
- package/Runtime/Core/Serialization/JsonConverters/FastVector2IntConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/FastVector3IntConverter.cs +80 -0
- package/Runtime/Core/Serialization/JsonConverters/FastVector3IntConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/GameObjectConverter.cs +36 -36
- package/Runtime/Core/Serialization/JsonConverters/GameObjectConverter.cs.meta +2 -2
- package/Runtime/Core/Serialization/JsonConverters/GradientConverter.cs +245 -0
- package/Runtime/Core/Serialization/JsonConverters/GradientConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/Hash128Converter.cs +92 -0
- package/Runtime/Core/Serialization/JsonConverters/Hash128Converter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/ImmutableBitSetConverter.cs +119 -0
- package/Runtime/Core/Serialization/JsonConverters/ImmutableBitSetConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/KVector2Converter.cs +72 -0
- package/Runtime/Core/Serialization/JsonConverters/KVector2Converter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/LayerMaskConverter.cs +95 -0
- package/Runtime/Core/Serialization/JsonConverters/LayerMaskConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/Matrix4x4Converter.cs +237 -218
- package/Runtime/Core/Serialization/JsonConverters/Matrix4x4Converter.cs.meta +2 -2
- package/Runtime/Core/Serialization/JsonConverters/MinMaxCurveConverter.cs +142 -0
- package/Runtime/Core/Serialization/JsonConverters/MinMaxCurveConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/MinMaxGradientConverter.cs +135 -0
- package/Runtime/Core/Serialization/JsonConverters/MinMaxGradientConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/PlaneConverter.cs +79 -0
- package/Runtime/Core/Serialization/JsonConverters/PlaneConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/PoseConverter.cs +76 -0
- package/Runtime/Core/Serialization/JsonConverters/PoseConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/QuaternionConverter.cs +88 -0
- package/Runtime/Core/Serialization/JsonConverters/QuaternionConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/RangeConverterFactory.cs +106 -0
- package/Runtime/Core/Serialization/JsonConverters/RangeConverterFactory.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/RangeIntConverter.cs +71 -0
- package/Runtime/Core/Serialization/JsonConverters/RangeIntConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/Ray2DConverter.cs +80 -0
- package/Runtime/Core/Serialization/JsonConverters/Ray2DConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/RayConverter.cs +76 -0
- package/Runtime/Core/Serialization/JsonConverters/RayConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/RaycastHitConverter.cs +115 -0
- package/Runtime/Core/Serialization/JsonConverters/RaycastHitConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/RectConverter.cs +84 -0
- package/Runtime/Core/Serialization/JsonConverters/RectConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/RectIntConverter.cs +88 -0
- package/Runtime/Core/Serialization/JsonConverters/RectIntConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/RectOffsetConverter.cs +87 -0
- package/Runtime/Core/Serialization/JsonConverters/RectOffsetConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/RenderTextureDescriptorConverter.cs +264 -0
- package/Runtime/Core/Serialization/JsonConverters/RenderTextureDescriptorConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/ResolutionConverter.cs +158 -0
- package/Runtime/Core/Serialization/JsonConverters/ResolutionConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/SceneConverter.cs +103 -0
- package/Runtime/Core/Serialization/JsonConverters/SceneConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/SphericalHarmonicsL2Converter.cs +121 -0
- package/Runtime/Core/Serialization/JsonConverters/SphericalHarmonicsL2Converter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/TouchConverter.cs +54 -0
- package/Runtime/Core/Serialization/JsonConverters/TouchConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/TypeConverter.cs +30 -28
- package/Runtime/Core/Serialization/JsonConverters/TypeConverter.cs.meta +2 -2
- package/Runtime/Core/Serialization/JsonConverters/Vector2Converter.cs +72 -74
- package/Runtime/Core/Serialization/JsonConverters/Vector2Converter.cs.meta +11 -11
- package/Runtime/Core/Serialization/JsonConverters/Vector2IntConverter.cs +72 -0
- package/Runtime/Core/Serialization/JsonConverters/Vector2IntConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/Vector3Converter.cs +80 -81
- package/Runtime/Core/Serialization/JsonConverters/Vector3Converter.cs.meta +11 -11
- package/Runtime/Core/Serialization/JsonConverters/Vector3IntConverter.cs +80 -0
- package/Runtime/Core/Serialization/JsonConverters/Vector3IntConverter.cs.meta +11 -0
- package/Runtime/Core/Serialization/JsonConverters/Vector4Converter.cs +88 -88
- package/Runtime/Core/Serialization/JsonConverters/Vector4Converter.cs.meta +2 -2
- package/Runtime/Core/Serialization/JsonConverters.meta +8 -8
- package/Runtime/Core/Serialization/ProtobufUnitySurrogates.cs +383 -0
- package/Runtime/Core/Serialization/ProtobufUnitySurrogates.cs.meta +11 -0
- package/Runtime/Core/Serialization/Serializer.cs +2020 -195
- package/Runtime/Core/Serialization/Serializer.cs.meta +11 -11
- package/Runtime/Core/Serialization.meta +8 -8
- package/Runtime/Core/Threading/SingleThreadedThreadPool.cs +228 -228
- package/Runtime/Core/Threading/SingleThreadedThreadPool.cs.meta +11 -11
- package/Runtime/Core/Threading.meta +8 -8
- package/Runtime/Core.meta +8 -8
- package/Runtime/Integrations/VContainer/ObjectResolverRelationalExtensions.cs +185 -0
- package/Runtime/Integrations/VContainer/ObjectResolverRelationalExtensions.cs.meta +11 -0
- package/Runtime/Integrations/VContainer/RelationalComponentEntryPoint.cs +109 -0
- package/Runtime/Integrations/VContainer/RelationalComponentEntryPoint.cs.meta +11 -0
- package/Runtime/Integrations/VContainer/RelationalComponentsBuilderExtensions.cs +78 -0
- package/Runtime/Integrations/VContainer/RelationalComponentsBuilderExtensions.cs.meta +11 -0
- package/Runtime/Integrations/VContainer/RelationalSceneAssignmentOptions.cs +83 -0
- package/Runtime/Integrations/VContainer/RelationalSceneAssignmentOptions.cs.meta +11 -0
- package/Runtime/Integrations/VContainer/WallstopStudios.UnityHelpers.Integration.VContainer.asmdef +30 -0
- package/Runtime/Integrations/VContainer/WallstopStudios.UnityHelpers.Integration.VContainer.asmdef.meta +7 -0
- package/Runtime/Integrations/VContainer.meta +8 -0
- package/Runtime/Integrations/Zenject/DiContainerRelationalExtensions.cs +180 -0
- package/Runtime/Integrations/Zenject/DiContainerRelationalExtensions.cs.meta +11 -0
- package/Runtime/Integrations/Zenject/RelationalComponentSceneInitializer.cs +105 -0
- package/Runtime/Integrations/Zenject/RelationalComponentSceneInitializer.cs.meta +11 -0
- package/Runtime/Integrations/Zenject/RelationalComponentsInstaller.cs +72 -0
- package/Runtime/Integrations/Zenject/RelationalComponentsInstaller.cs.meta +11 -0
- package/Runtime/Integrations/Zenject/RelationalSceneAssignmentOptions.cs +87 -0
- package/Runtime/Integrations/Zenject/RelationalSceneAssignmentOptions.cs.meta +11 -0
- package/Runtime/Integrations/Zenject/WallstopStudios.UnityHelpers.Integration.Zenject.asmdef +30 -0
- package/Runtime/Integrations/Zenject/WallstopStudios.UnityHelpers.Integration.Zenject.asmdef.meta +7 -0
- package/Runtime/Integrations/Zenject.meta +8 -0
- package/Runtime/Integrations.meta +8 -0
- package/Runtime/Protobuf-Net/System.Collections.Immutable.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.dll.meta +33 -33
- package/Runtime/Protobuf-Net/protobuf-net.Core.dll.meta +33 -33
- package/Runtime/Protobuf-Net/protobuf-net.dll.meta +33 -33
- package/Runtime/Protobuf-Net.meta +8 -8
- package/Runtime/Tags/AlwaysIncludeInAttributeMetadataCacheAttribute.cs +11 -0
- package/Runtime/Tags/AlwaysIncludeInAttributeMetadataCacheAttribute.cs.meta +11 -0
- package/Runtime/Tags/Attribute.cs +399 -205
- package/Runtime/Tags/Attribute.cs.meta +2 -2
- package/Runtime/Tags/AttributeEffect.cs +372 -281
- package/Runtime/Tags/AttributeEffect.cs.meta +2 -2
- package/Runtime/Tags/AttributeMetadataCache.cs +503 -0
- package/Runtime/Tags/AttributeMetadataCache.cs.meta +11 -0
- package/Runtime/Tags/AttributeMetadataFilters.cs +108 -0
- package/Runtime/Tags/AttributeMetadataFilters.cs.meta +11 -0
- package/Runtime/Tags/AttributeModification.cs +132 -48
- package/Runtime/Tags/AttributeModification.cs.meta +2 -2
- package/Runtime/Tags/AttributeUtilities.cs +376 -209
- package/Runtime/Tags/AttributeUtilities.cs.meta +2 -2
- package/Runtime/Tags/AttributesComponent.cs +237 -163
- package/Runtime/Tags/AttributesComponent.cs.meta +2 -2
- package/Runtime/Tags/CollisionSenses.cs +117 -91
- package/Runtime/Tags/CollisionSenses.cs.meta +2 -2
- package/Runtime/Tags/CosmeticEffectComponent.cs +112 -50
- package/Runtime/Tags/CosmeticEffectComponent.cs.meta +2 -2
- package/Runtime/Tags/CosmeticEffectData.cs +109 -63
- package/Runtime/Tags/CosmeticEffectData.cs.meta +2 -2
- package/Runtime/Tags/EffectHandle.cs +150 -65
- package/Runtime/Tags/EffectHandle.cs.meta +2 -2
- package/Runtime/Tags/EffectHandler.cs +470 -393
- package/Runtime/Tags/EffectHandler.cs.meta +2 -2
- package/Runtime/Tags/ModificationAction.cs +60 -9
- package/Runtime/Tags/ModificationAction.cs.meta +2 -2
- package/Runtime/Tags/ModifierDurationType.cs +71 -13
- package/Runtime/Tags/ModifierDurationType.cs.meta +2 -2
- package/Runtime/Tags/TagHandler.cs +373 -158
- package/Runtime/Tags/TagHandler.cs.meta +2 -2
- package/Runtime/Tags.meta +2 -2
- package/Runtime/Utils/AnimationEventEqualityComparer.cs +198 -161
- package/Runtime/Utils/AnimationEventEqualityComparer.cs.meta +11 -11
- package/Runtime/Utils/AnimatorEnumStateMachine.cs +110 -88
- package/Runtime/Utils/AnimatorEnumStateMachine.cs.meta +11 -11
- package/Runtime/Utils/Ascii85.cs +132 -115
- package/Runtime/Utils/Ascii85.cs.meta +2 -2
- package/Runtime/Utils/Buffers.cs +1151 -550
- package/Runtime/Utils/Buffers.cs.meta +11 -11
- package/Runtime/Utils/CenterPointOffset.cs +35 -30
- package/Runtime/Utils/CenterPointOffset.cs.meta +2 -2
- package/Runtime/Utils/ChildSpawner.cs +250 -157
- package/Runtime/Utils/ChildSpawner.cs.meta +2 -2
- package/Runtime/Utils/CircleLineRenderer.cs +142 -142
- package/Runtime/Utils/CircleLineRenderer.cs.meta +11 -11
- package/Runtime/Utils/CollisionProxy.cs +48 -48
- package/Runtime/Utils/CollisionProxy.cs.meta +2 -2
- package/Runtime/Utils/CoroutineHandler.cs +4 -4
- package/Runtime/Utils/CoroutineHandler.cs.meta +2 -2
- package/Runtime/Utils/DeferredDisposalResult.cs +20 -23
- package/Runtime/Utils/DeferredDisposalResult.cs.meta +2 -2
- package/Runtime/Utils/LZMA.cs +276 -53
- package/Runtime/Utils/LZMA.cs.meta +2 -2
- package/Runtime/Utils/MatchColliderToSprite.cs +104 -104
- package/Runtime/Utils/MatchColliderToSprite.cs.meta +2 -2
- package/Runtime/Utils/MatchTransform.cs +99 -82
- package/Runtime/Utils/MatchTransform.cs.meta +2 -2
- package/Runtime/Utils/Oscillator.cs +27 -27
- package/Runtime/Utils/Oscillator.cs.meta +11 -11
- package/Runtime/Utils/PolygonCollider2DOptimizer.cs +104 -83
- package/Runtime/Utils/PolygonCollider2DOptimizer.cs.meta +2 -2
- package/Runtime/Utils/RuntimeSingleton.cs +139 -89
- package/Runtime/Utils/RuntimeSingleton.cs.meta +11 -11
- package/Runtime/Utils/ScriptableObjectSingleton.cs +226 -85
- package/Runtime/Utils/ScriptableObjectSingleton.cs.meta +2 -2
- package/Runtime/Utils/SerializedStringComparer.cs +107 -107
- package/Runtime/Utils/SerializedStringComparer.cs.meta +2 -2
- package/Runtime/Utils/SetTextureImportData.cs +69 -69
- package/Runtime/Utils/SetTextureImportData.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Common/CRC.cs +70 -70
- package/Runtime/Utils/SevenZip/Common/CRC.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Common/InBuffer.cs +84 -84
- package/Runtime/Utils/SevenZip/Common/InBuffer.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Common/OutBuffer.cs +70 -70
- package/Runtime/Utils/SevenZip/Common/OutBuffer.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Common.meta +2 -2
- package/Runtime/Utils/SevenZip/Compress/LZ/IMatchFinder.cs +28 -28
- package/Runtime/Utils/SevenZip/Compress/LZ/IMatchFinder.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/LZ/LzBinTree.cs +454 -454
- package/Runtime/Utils/SevenZip/Compress/LZ/LzBinTree.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/LZ/LzInWindow.cs +179 -179
- package/Runtime/Utils/SevenZip/Compress/LZ/LzInWindow.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/LZ/LzOutWindow.cs +137 -137
- package/Runtime/Utils/SevenZip/Compress/LZ/LzOutWindow.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/LZ.meta +8 -8
- package/Runtime/Utils/SevenZip/Compress/LZMA/LzmaBase.cs +110 -110
- package/Runtime/Utils/SevenZip/Compress/LZMA/LzmaBase.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/LZMA/LzmaDecoder.cs +525 -527
- package/Runtime/Utils/SevenZip/Compress/LZMA/LzmaDecoder.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/LZMA/LzmaEncoder.cs +1891 -1904
- package/Runtime/Utils/SevenZip/Compress/LZMA/LzmaEncoder.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/LZMA.meta +8 -8
- package/Runtime/Utils/SevenZip/Compress/RangeCoder/RangeCoder.cs +242 -242
- package/Runtime/Utils/SevenZip/Compress/RangeCoder/RangeCoder.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/RangeCoder/RangeCoderBit.cs +146 -149
- package/Runtime/Utils/SevenZip/Compress/RangeCoder/RangeCoderBit.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/RangeCoder/RangeCoderBitTree.cs +177 -177
- package/Runtime/Utils/SevenZip/Compress/RangeCoder/RangeCoderBitTree.cs.meta +11 -11
- package/Runtime/Utils/SevenZip/Compress/RangeCoder.meta +8 -8
- package/Runtime/Utils/SevenZip/Compress.meta +8 -8
- package/Runtime/Utils/SevenZip/ICoder.cs +177 -177
- package/Runtime/Utils/SevenZip/ICoder.cs.meta +11 -11
- package/Runtime/Utils/SevenZip.meta +2 -2
- package/Runtime/Utils/SpriteRendererMetadata.cs +346 -370
- 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/StartTracker.cs +15 -15
- package/Runtime/Utils/StartTracker.cs.meta +2 -2
- package/Runtime/Utils/TextureScale.cs +356 -179
- package/Runtime/Utils/TextureScale.cs.meta +2 -2
- package/Runtime/Utils/TypeNameSorter.cs +17 -17
- package/Runtime/Utils/TypeNameSorter.cs.meta +2 -2
- package/Runtime/Utils/UnityObjectNameComparer.cs +89 -89
- package/Runtime/Utils/UnityObjectNameComparer.cs.meta +2 -2
- package/Runtime/Utils.meta +8 -8
- package/Runtime/Visuals/AnimatedSpriteLayer.cs +217 -130
- package/Runtime/Visuals/AnimatedSpriteLayer.cs.meta +2 -2
- package/Runtime/Visuals/UGUI/EnhancedImage.cs +218 -85
- package/Runtime/Visuals/UGUI/EnhancedImage.cs.meta +2 -2
- package/Runtime/Visuals/UGUI.meta +2 -2
- package/Runtime/Visuals/UIToolkit/LayeredImage.cs +781 -484
- package/Runtime/Visuals/UIToolkit/LayeredImage.cs.meta +2 -2
- package/Runtime/Visuals/UIToolkit/MultiFileSelectorElement.cs +945 -322
- package/Runtime/Visuals/UIToolkit/MultiFileSelectorElement.cs.meta +2 -2
- package/Runtime/Visuals/UIToolkit.meta +2 -2
- package/Runtime/Visuals.meta +2 -2
- package/Runtime/WallstopStudios.UnityHelpers.asmdef +22 -14
- package/Runtime/WallstopStudios.UnityHelpers.asmdef.meta +7 -7
- package/Runtime.meta +8 -8
- package/SERIALIZATION.md +648 -0
- package/SERIALIZATION.md.meta +7 -0
- package/SINGLETONS.md +427 -0
- package/SINGLETONS.md.meta +7 -0
- package/SPATIAL_TREES_2D_GUIDE.md +261 -0
- package/SPATIAL_TREES_2D_GUIDE.md.meta +7 -0
- package/SPATIAL_TREES_3D_GUIDE.md +214 -0
- package/SPATIAL_TREES_3D_GUIDE.md.meta +7 -0
- package/SPATIAL_TREE_2D_PERFORMANCE.md +238 -0
- package/SPATIAL_TREE_2D_PERFORMANCE.md.meta +7 -0
- package/SPATIAL_TREE_3D_PERFORMANCE.md +240 -0
- package/SPATIAL_TREE_3D_PERFORMANCE.md.meta +7 -0
- package/SPATIAL_TREE_SEMANTICS.md +106 -0
- package/SPATIAL_TREE_SEMANTICS.md.meta +7 -0
- package/Samples~/DI - VContainer/Prefabs/RelationalConsumer.prefab +77 -0
- package/Samples~/DI - VContainer/Prefabs/RelationalConsumer.prefab.meta +8 -0
- package/Samples~/DI - VContainer/Prefabs/Spawner.prefab +47 -0
- package/Samples~/DI - VContainer/Prefabs/Spawner.prefab.meta +8 -0
- package/Samples~/DI - VContainer/Prefabs.meta +9 -0
- package/Samples~/DI - VContainer/README.md +334 -0
- package/Samples~/DI - VContainer/README.md.meta +8 -0
- package/Samples~/DI - VContainer/Scenes/VContainer_Sample.unity +120 -0
- package/Samples~/DI - VContainer/Scenes/VContainer_Sample.unity.meta +8 -0
- package/Samples~/DI - VContainer/Scenes.meta +9 -0
- package/Samples~/DI - VContainer/Scripts/GameLifetimeScope.cs +24 -0
- package/Samples~/DI - VContainer/Scripts/GameLifetimeScope.cs.meta +12 -0
- package/Samples~/DI - VContainer/Scripts/RelationalConsumer.cs +21 -0
- package/Samples~/DI - VContainer/Scripts/RelationalConsumer.cs.meta +12 -0
- package/Samples~/DI - VContainer/Scripts/Samples.UnityHelpers.DI.VContainer.asmdef +37 -0
- package/Samples~/DI - VContainer/Scripts/Samples.UnityHelpers.DI.VContainer.asmdef.meta +8 -0
- package/Samples~/DI - VContainer/Scripts/Spawner.cs +21 -0
- package/Samples~/DI - VContainer/Scripts/Spawner.cs.meta +12 -0
- package/Samples~/DI - VContainer/Scripts.meta +9 -0
- package/Samples~/DI - VContainer.meta +9 -0
- package/Samples~/DI - Zenject/Prefabs/RelationalConsumer.prefab +77 -0
- package/Samples~/DI - Zenject/Prefabs/RelationalConsumer.prefab.meta +8 -0
- package/Samples~/DI - Zenject/Prefabs/SpawnerZenject.prefab +47 -0
- package/Samples~/DI - Zenject/Prefabs/SpawnerZenject.prefab.meta +8 -0
- package/Samples~/DI - Zenject/Prefabs.meta +9 -0
- package/Samples~/DI - Zenject/README.md +389 -0
- package/Samples~/DI - Zenject/README.md.meta +7 -0
- package/Samples~/DI - Zenject/Scenes/Zenject_Sample.unity +164 -0
- package/Samples~/DI - Zenject/Scenes/Zenject_Sample.unity.meta +8 -0
- package/Samples~/DI - Zenject/Scenes.meta +9 -0
- package/Samples~/DI - Zenject/Scripts/RelationalConsumer.cs +19 -0
- package/Samples~/DI - Zenject/Scripts/RelationalConsumer.cs.meta +12 -0
- package/Samples~/DI - Zenject/Scripts/Samples.UnityHelpers.DI.Zenject.asmdef +36 -0
- package/Samples~/DI - Zenject/Scripts/Samples.UnityHelpers.DI.Zenject.asmdef.meta +8 -0
- package/Samples~/DI - Zenject/Scripts/SceneContextPlaceholder.cs +47 -0
- package/Samples~/DI - Zenject/Scripts/SceneContextPlaceholder.cs.meta +12 -0
- package/Samples~/DI - Zenject/Scripts/SpawnerZenject.cs +20 -0
- package/Samples~/DI - Zenject/Scripts/SpawnerZenject.cs.meta +12 -0
- package/Samples~/DI - Zenject/Scripts.meta +9 -0
- package/Samples~/DI - Zenject.meta +9 -0
- package/Samples~/Random - PRNG/README.md +12 -0
- package/Samples~/Random - PRNG/README.md.meta +8 -0
- package/Samples~/Random - PRNG/Scripts/RandomPrngDemo.cs +28 -0
- package/Samples~/Random - PRNG/Scripts/RandomPrngDemo.cs.meta +12 -0
- package/Samples~/Random - PRNG/Scripts/Samples.UnityHelpers.Random.Prng.asmdef +17 -0
- package/Samples~/Random - PRNG/Scripts/Samples.UnityHelpers.Random.Prng.asmdef.meta +8 -0
- package/Samples~/Random - PRNG/Scripts.meta +9 -0
- package/Samples~/Random - PRNG.meta +9 -0
- package/Samples~/Relational Components - Basic/README.md +19 -0
- package/Samples~/Relational Components - Basic/README.md.meta +8 -0
- package/Samples~/Relational Components - Basic/Scripts/RelationalBasicConsumer.cs +37 -0
- package/Samples~/Relational Components - Basic/Scripts/RelationalBasicConsumer.cs.meta +12 -0
- package/Samples~/Relational Components - Basic/Scripts/Samples.UnityHelpers.Relational.Basic.asmdef +17 -0
- package/Samples~/Relational Components - Basic/Scripts/Samples.UnityHelpers.Relational.Basic.asmdef.meta +8 -0
- package/Samples~/Relational Components - Basic/Scripts.meta +9 -0
- package/Samples~/Relational Components - Basic.meta +9 -0
- package/Samples~/Serialization - JSON/README.md +13 -0
- package/Samples~/Serialization - JSON/README.md.meta +8 -0
- package/Samples~/Serialization - JSON/Scripts/JsonSerializationDemo.cs +50 -0
- package/Samples~/Serialization - JSON/Scripts/JsonSerializationDemo.cs.meta +12 -0
- package/Samples~/Serialization - JSON/Scripts/Samples.UnityHelpers.Serialization.Json.asmdef +17 -0
- package/Samples~/Serialization - JSON/Scripts/Samples.UnityHelpers.Serialization.Json.asmdef.meta +8 -0
- package/Samples~/Serialization - JSON/Scripts.meta +9 -0
- package/Samples~/Serialization - JSON.meta +9 -0
- package/Samples~/Spatial Structures - 2D and 3D/README.md +13 -0
- package/Samples~/Spatial Structures - 2D and 3D/README.md.meta +8 -0
- package/Samples~/Spatial Structures - 2D and 3D/Scripts/Samples.UnityHelpers.SpatialStructures.asmdef +17 -0
- package/Samples~/Spatial Structures - 2D and 3D/Scripts/Samples.UnityHelpers.SpatialStructures.asmdef.meta +8 -0
- package/Samples~/Spatial Structures - 2D and 3D/Scripts/SpatialStructuresDemo.cs +62 -0
- package/Samples~/Spatial Structures - 2D and 3D/Scripts/SpatialStructuresDemo.cs.meta +12 -0
- package/Samples~/Spatial Structures - 2D and 3D/Scripts.meta +9 -0
- package/Samples~/Spatial Structures - 2D and 3D.meta +9 -0
- package/Samples~/UGUI - EnhancedImage/README.md +12 -0
- package/Samples~/UGUI - EnhancedImage/README.md.meta +8 -0
- package/Samples~/UGUI - EnhancedImage/Scripts/EnhancedImageDemo.cs +36 -0
- package/Samples~/UGUI - EnhancedImage/Scripts/EnhancedImageDemo.cs.meta +12 -0
- package/Samples~/UGUI - EnhancedImage/Scripts/Samples.UnityHelpers.UGUI.EnhancedImage.asmdef +17 -0
- package/Samples~/UGUI - EnhancedImage/Scripts/Samples.UnityHelpers.UGUI.EnhancedImage.asmdef.meta +8 -0
- package/Samples~/UGUI - EnhancedImage/Scripts.meta +9 -0
- package/Samples~/UGUI - EnhancedImage.meta +9 -0
- package/Samples~/UI Toolkit - MultiFile Selector (Editor)/README.md +12 -0
- package/Samples~/UI Toolkit - MultiFile Selector (Editor)/README.md.meta +8 -0
- package/Samples~/UI Toolkit - MultiFile Selector (Editor)/Scripts/Editor/MultiFileSelectorSampleWindow.cs +45 -0
- package/Samples~/UI Toolkit - MultiFile Selector (Editor)/Scripts/Editor/MultiFileSelectorSampleWindow.cs.meta +12 -0
- package/Samples~/UI Toolkit - MultiFile Selector (Editor)/Scripts/Editor/Samples.UnityHelpers.UIToolkit.Editor.asmdef +19 -0
- package/Samples~/UI Toolkit - MultiFile Selector (Editor)/Scripts/Editor/Samples.UnityHelpers.UIToolkit.Editor.asmdef.meta +8 -0
- package/Samples~/UI Toolkit - MultiFile Selector (Editor)/Scripts/Editor.meta +9 -0
- package/Samples~/UI Toolkit - MultiFile Selector (Editor)/Scripts.meta +9 -0
- package/Samples~/UI Toolkit - MultiFile Selector (Editor).meta +9 -0
- package/Shaders/Materials/BackgroundMask-Material.mat +59 -59
- package/Shaders/Materials/BackgroundMask-Material.mat.meta +8 -8
- package/Shaders/Materials.meta +8 -8
- package/Shaders/ShaderGraph/BackgroundMask.shadergraph +1653 -1653
- package/Shaders/ShaderGraph/BackgroundMask.shadergraph.meta +10 -10
- package/Shaders/ShaderGraph/DebugDisplayValue.shadersubgraph +835 -835
- package/Shaders/ShaderGraph/DebugDisplayValue.shadersubgraph.meta +10 -10
- package/Shaders/ShaderGraph.meta +8 -8
- package/Shaders/Support/EnhancedImageSupport.shader +64 -0
- package/Shaders/Support/EnhancedImageSupport.shader.meta +9 -0
- package/Shaders/Support.meta +8 -0
- package/Shaders.meta +8 -8
- package/Styles/Elements/Progress/ArcedProgressBar.cs +345 -345
- package/Styles/Elements/Progress/ArcedProgressBar.cs.meta +2 -2
- package/Styles/Elements/Progress/CircularProgressBar.cs +307 -307
- package/Styles/Elements/Progress/CircularProgressBar.cs.meta +2 -2
- package/Styles/Elements/Progress/GlitchProgressBar.cs +416 -416
- package/Styles/Elements/Progress/GlitchProgressBar.cs.meta +2 -2
- package/Styles/Elements/Progress/LiquidProgressBar.cs +632 -632
- package/Styles/Elements/Progress/LiquidProgressBar.cs.meta +2 -2
- package/Styles/Elements/Progress/MarchingAntsProgressBar.cs +722 -722
- package/Styles/Elements/Progress/MarchingAntsProgressBar.cs.meta +2 -2
- package/Styles/Elements/Progress/RegularProgressBar.cs +405 -405
- package/Styles/Elements/Progress/RegularProgressBar.cs.meta +2 -2
- package/Styles/Elements/Progress/WigglyProgressBar.cs +837 -837
- package/Styles/Elements/Progress/WigglyProgressBar.cs.meta +2 -2
- package/Styles/Elements/Progress.meta +2 -2
- package/Styles/Elements.meta +2 -2
- package/Styles/USS/ArcedProgressBar.uss +18 -18
- package/Styles/USS/ArcedProgressBar.uss.meta +2 -2
- package/Styles/USS/CirclularProgressBar.uss +17 -17
- package/Styles/USS/CirclularProgressBar.uss.meta +2 -2
- package/Styles/USS/RegularProgressBar.uss +32 -32
- package/Styles/USS/RegularProgressBar.uss.meta +2 -2
- package/Styles/USS/WigglyProgressBar.uss +16 -16
- package/Styles/USS/WigglyProgressBar.uss.meta +2 -2
- package/Styles/USS.meta +2 -2
- package/Styles/WallstopStudios.UnityHelpers.Styles.asmdef +14 -17
- package/Styles/WallstopStudios.UnityHelpers.Styles.asmdef.meta +7 -7
- package/Styles.meta +2 -2
- package/THIRD_PARTY_NOTICES.md +74 -0
- package/THIRD_PARTY_NOTICES.md.meta +7 -0
- package/Tests/Editor/Attributes/AnimationEventHelpersTests.cs +155 -0
- package/Tests/Editor/Attributes/AnimationEventHelpersTests.cs.meta +11 -0
- package/Tests/Editor/Attributes.meta +8 -0
- package/Tests/Editor/Core/Attributes/RelationalComponentAssignerTests.cs +118 -0
- package/Tests/Editor/Core/Attributes/RelationalComponentAssignerTests.cs.meta +11 -0
- package/Tests/Editor/Core/Attributes.meta +8 -0
- package/Tests/Editor/Core.meta +8 -0
- package/Tests/Editor/Extensions/SerializedPropertyExtensionsTests.cs +194 -0
- package/Tests/Editor/Extensions/SerializedPropertyExtensionsTests.cs.meta +3 -0
- package/Tests/Editor/Extensions.meta +3 -0
- package/Tests/Editor/Helper/DummyScriptableObject.cs +6 -0
- package/Tests/Editor/Helper/DummyScriptableObject.cs.meta +3 -0
- package/Tests/Editor/Helper/HelpersTests.cs +101 -0
- package/Tests/Editor/Helper/HelpersTests.cs.meta +3 -0
- package/Tests/Editor/Helper/ObjectHelpersEditorTests.cs +63 -0
- package/Tests/Editor/Helper/ObjectHelpersEditorTests.cs.meta +11 -0
- package/Tests/Editor/Helper/PromptScope.cs +28 -0
- package/Tests/Editor/Helper/PromptScope.cs.meta +11 -0
- package/Tests/Editor/Helper/ReflectionHelpersEditorTests.cs +105 -0
- package/Tests/Editor/Helper/ReflectionHelpersEditorTests.cs.meta +11 -0
- package/Tests/Editor/Helper/SpriteHelpersTests.cs +334 -0
- package/Tests/Editor/Helper/SpriteHelpersTests.cs.meta +3 -0
- package/Tests/Editor/Helper/SpriteSettingsApplierAdditionalTests.cs +183 -0
- package/Tests/Editor/Helper/SpriteSettingsApplierAdditionalTests.cs.meta +11 -0
- package/Tests/Editor/Helper/SpriteSettingsApplierTests.cs +161 -0
- package/Tests/Editor/Helper/SpriteSettingsApplierTests.cs.meta +11 -0
- package/Tests/Editor/Helper.meta +3 -0
- package/Tests/Editor/Integrations/VContainer/VContainerIntegrationCompilationTests.cs +40 -0
- package/Tests/Editor/Integrations/VContainer/VContainerIntegrationCompilationTests.cs.meta +11 -0
- package/Tests/Editor/Integrations/VContainer/VContainerRelationalEntryPointTests.cs +77 -0
- package/Tests/Editor/Integrations/VContainer/VContainerRelationalEntryPointTests.cs.meta +11 -0
- package/Tests/Editor/Integrations/VContainer/WallstopStudios.UnityHelpers.Tests.Editor.VContainer.asmdef +36 -0
- package/Tests/Editor/Integrations/VContainer/WallstopStudios.UnityHelpers.Tests.Editor.VContainer.asmdef.meta +7 -0
- package/Tests/Editor/Integrations/VContainer.meta +8 -0
- package/Tests/Editor/Integrations/Zenject/WallstopStudios.UnityHelpers.Tests.Editor.Zenject.asmdef +36 -0
- package/Tests/Editor/Integrations/Zenject/WallstopStudios.UnityHelpers.Tests.Editor.Zenject.asmdef.meta +7 -0
- package/Tests/Editor/Integrations/Zenject/ZenjectIntegrationCompilationTests.cs +40 -0
- package/Tests/Editor/Integrations/Zenject/ZenjectIntegrationCompilationTests.cs.meta +11 -0
- package/Tests/Editor/Integrations/Zenject/ZenjectRelationalInitializerTests.cs +76 -0
- package/Tests/Editor/Integrations/Zenject/ZenjectRelationalInitializerTests.cs.meta +11 -0
- package/Tests/Editor/Integrations/Zenject.meta +8 -0
- package/Tests/Editor/Integrations.meta +8 -0
- package/Tests/Editor/MultiFileSelectorElementTests.cs +265 -0
- package/Tests/Editor/MultiFileSelectorElementTests.cs.meta +11 -0
- package/Tests/Editor/MultiFileSelectorPersistenceManagerTests.cs +100 -0
- package/Tests/Editor/MultiFileSelectorPersistenceManagerTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/AnimationCopierWindowTests.cs +199 -0
- package/Tests/Editor/Sprites/AnimationCopierWindowTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/ScriptableSpriteAtlasEditorTests.cs +108 -0
- package/Tests/Editor/Sprites/ScriptableSpriteAtlasEditorTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/SpriteCropperAdditionalTests.cs +323 -0
- package/Tests/Editor/Sprites/SpriteCropperAdditionalTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/SpriteCropperTests.cs +162 -0
- package/Tests/Editor/Sprites/SpriteCropperTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/SpritePivotAdjusterAdditionalTests.cs +227 -0
- package/Tests/Editor/Sprites/SpritePivotAdjusterAdditionalTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/SpritePivotAdjusterTests.cs +113 -0
- package/Tests/Editor/Sprites/SpritePivotAdjusterTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/TexturePlatformNameHelperTests.cs +28 -0
- package/Tests/Editor/Sprites/TexturePlatformNameHelperTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/TextureResizerWizardTests.cs +248 -0
- package/Tests/Editor/Sprites/TextureResizerWizardTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/TextureSettingsApplierAPITests.cs +180 -0
- package/Tests/Editor/Sprites/TextureSettingsApplierAPITests.cs.meta +11 -0
- package/Tests/Editor/Sprites/TextureSettingsApplierWizardAdditionalTests.cs +295 -0
- package/Tests/Editor/Sprites/TextureSettingsApplierWizardAdditionalTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/TextureSettingsApplierWizardTests.cs +134 -0
- package/Tests/Editor/Sprites/TextureSettingsApplierWizardTests.cs.meta +11 -0
- package/Tests/Editor/Sprites.meta +8 -0
- package/Tests/Editor/TestComponents/PrewarmTesterComponent.cs +10 -0
- package/Tests/Editor/TestComponents/PrewarmTesterComponent.cs.meta +11 -0
- package/Tests/Editor/TestComponents.meta +8 -0
- package/Tests/Editor/Tools/ImageBlurToolTests.cs +135 -0
- package/Tests/Editor/Tools/ImageBlurToolTests.cs.meta +11 -0
- package/Tests/Editor/Tools.meta +8 -0
- package/Tests/Editor/Utils/CommonTestBase.cs +208 -0
- package/Tests/Editor/Utils/CommonTestBase.cs.meta +11 -0
- package/Tests/Editor/Utils/ScriptableObjectSingletonCreatorEditorTests.cs +306 -0
- package/Tests/Editor/Utils/ScriptableObjectSingletonCreatorEditorTests.cs.meta +9 -0
- package/Tests/Editor/Utils/ScriptableObjectSingletonCreatorTests.cs +183 -0
- package/Tests/Editor/Utils/ScriptableObjectSingletonCreatorTests.cs.meta +11 -0
- package/Tests/Editor/Utils/ScriptableObjectSingletonTests.cs +466 -0
- package/Tests/Editor/Utils/ScriptableObjectSingletonTests.cs.meta +11 -0
- package/Tests/Editor/Utils.meta +3 -0
- package/Tests/Editor/WallstopStudios.UnityHelpers.Tests.Editor.asmdef +19 -0
- package/Tests/Editor/WallstopStudios.UnityHelpers.Tests.Editor.asmdef.meta +7 -0
- package/Tests/Editor/Windows/FitTextureSizeWindowTests.cs +781 -0
- package/Tests/Editor/Windows/FitTextureSizeWindowTests.cs.meta +11 -0
- package/Tests/Editor/Windows/PrefabCheckerFolderAdditionTests.cs +96 -0
- package/Tests/Editor/Windows/PrefabCheckerFolderAdditionTests.cs.meta +11 -0
- package/Tests/Editor/Windows/PrefabCheckerTests.cs +81 -0
- package/Tests/Editor/Windows/PrefabCheckerTests.cs.meta +11 -0
- package/Tests/Editor/Windows.meta +8 -0
- package/Tests/Editor.meta +8 -0
- package/Tests/Runtime/AssemblyInfo.cs +4 -0
- package/Tests/Runtime/AssemblyInfo.cs.meta +3 -0
- package/Tests/Runtime/Attributes/ChildComponentTests.cs +766 -81
- package/Tests/Runtime/Attributes/ChildComponentTests.cs.meta +2 -2
- package/Tests/Runtime/Attributes/Components/ExpectChildSpriteRenderers.cs +28 -28
- package/Tests/Runtime/Attributes/Components/ExpectChildSpriteRenderers.cs.meta +2 -2
- package/Tests/Runtime/Attributes/Components/ExpectParentSpriteRenderers.cs +28 -28
- package/Tests/Runtime/Attributes/Components/ExpectParentSpriteRenderers.cs.meta +2 -2
- package/Tests/Runtime/{Components → Attributes/Components}/RelationalComponentTesterComplex.cs +34 -34
- package/Tests/Runtime/{Components → Attributes/Components}/RelationalComponentTesterComplex.cs.meta +2 -2
- package/Tests/Runtime/Attributes/Components/RelationalComponentsTesterSimple.cs +37 -0
- package/Tests/Runtime/{Components → Attributes/Components}/RelationalComponentsTesterSimple.cs.meta +2 -2
- package/Tests/Runtime/Attributes/Components.meta +2 -2
- package/Tests/Runtime/Attributes/MiscRuntimeAttributeTests.cs +75 -0
- package/Tests/Runtime/Attributes/MiscRuntimeAttributeTests.cs.meta +11 -0
- package/Tests/Runtime/Attributes/NotNullAttributeTests.cs +26 -0
- package/Tests/Runtime/Attributes/NotNullAttributeTests.cs.meta +3 -0
- package/Tests/Runtime/Attributes/ParentComponentTests.cs +565 -68
- package/Tests/Runtime/Attributes/ParentComponentTests.cs.meta +2 -2
- package/Tests/Runtime/Attributes/RelationalComponentAdvancedTests.cs +614 -0
- package/Tests/Runtime/Attributes/RelationalComponentAdvancedTests.cs.meta +11 -0
- package/Tests/Runtime/Attributes/RelationalComponentBackwardCompatibilityTests.cs +478 -0
- package/Tests/Runtime/Attributes/RelationalComponentBackwardCompatibilityTests.cs.meta +11 -0
- package/Tests/Runtime/Attributes/RelationalComponentExtensionsTests.cs +56 -0
- package/Tests/Runtime/Attributes/RelationalComponentExtensionsTests.cs.meta +11 -0
- package/Tests/Runtime/Attributes/RelationalComponentHashSetTests.cs +226 -0
- package/Tests/Runtime/Attributes/RelationalComponentHashSetTests.cs.meta +11 -0
- package/Tests/Runtime/Attributes/RelationalComponentInitializerTests.cs +109 -0
- package/Tests/Runtime/Attributes/RelationalComponentInitializerTests.cs.meta +11 -0
- package/Tests/Runtime/Attributes/RelationalComponentTagAndNameFilterEdgeTests.cs +234 -0
- package/Tests/Runtime/Attributes/RelationalComponentTagAndNameFilterEdgeTests.cs.meta +11 -0
- package/Tests/Runtime/Attributes/SiblingComponentTests.cs +721 -0
- package/Tests/Runtime/Attributes/SiblingComponentTests.cs.meta +11 -0
- package/Tests/Runtime/Attributes/ValidateAssignmentAttributeTests.cs +96 -0
- package/Tests/Runtime/Attributes/ValidateAssignmentAttributeTests.cs.meta +11 -0
- package/Tests/Runtime/Attributes.meta +2 -2
- package/Tests/Runtime/Core/Random/RandomComparerTests.cs +166 -0
- package/Tests/Runtime/Core/Random/RandomComparerTests.cs.meta +11 -0
- package/Tests/Runtime/Core/Random.meta +8 -0
- package/Tests/Runtime/Core/Threading/SingleThreadedThreadPoolTests.cs +56 -56
- package/Tests/Runtime/Core/Threading/SingleThreadedThreadPoolTests.cs.meta +2 -2
- package/Tests/Runtime/Core/Threading.meta +2 -2
- package/Tests/Runtime/Core.meta +2 -2
- package/Tests/Runtime/DataStructures/BalancedKDTree2DTests.cs +562 -0
- package/Tests/Runtime/DataStructures/{BalancedKDTreeTests.cs.meta → BalancedKDTree2DTests.cs.meta} +11 -11
- package/Tests/Runtime/DataStructures/BalancedKDTree3DTests.cs +10 -0
- package/Tests/Runtime/DataStructures/BalancedKDTree3DTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/BitSetTests.cs +1400 -0
- package/Tests/Runtime/DataStructures/BitSetTests.cs.meta +3 -0
- package/Tests/Runtime/DataStructures/BoundingBox3DTests.cs +1215 -0
- package/Tests/Runtime/DataStructures/BoundingBox3DTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/CircleTests.cs +965 -0
- package/Tests/Runtime/DataStructures/CircleTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/CyclicBufferTests.cs +2083 -324
- package/Tests/Runtime/DataStructures/CyclicBufferTests.cs.meta +2 -2
- package/Tests/Runtime/DataStructures/DequeTests.cs +790 -0
- package/Tests/Runtime/DataStructures/DequeTests.cs.meta +3 -0
- package/Tests/Runtime/DataStructures/DisjointSetTests.cs +1114 -0
- package/Tests/Runtime/DataStructures/DisjointSetTests.cs.meta +3 -0
- package/Tests/Runtime/DataStructures/FastOneOfTests.cs +966 -0
- package/Tests/Runtime/DataStructures/FastOneOfTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/FastVector2IntTests.cs +286 -0
- package/Tests/Runtime/DataStructures/FastVector2IntTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/FastVector3IntTests.cs +414 -0
- package/Tests/Runtime/DataStructures/FastVector3IntTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/HeapTests.cs +1953 -0
- package/Tests/Runtime/DataStructures/HeapTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/ImmutableBitSetTests.cs +833 -0
- package/Tests/Runtime/DataStructures/ImmutableBitSetTests.cs.meta +3 -0
- package/Tests/Runtime/DataStructures/KDTree3DTestsBase.cs +297 -0
- package/Tests/Runtime/DataStructures/KDTree3DTestsBase.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/OctTree3DTests.cs +351 -0
- package/Tests/Runtime/DataStructures/OctTree3DTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/PriorityQueueTests.cs +71 -0
- package/Tests/Runtime/DataStructures/PriorityQueueTests.cs.meta +3 -0
- package/Tests/Runtime/DataStructures/ProtobufSerializationTests.cs +475 -0
- package/Tests/Runtime/DataStructures/ProtobufSerializationTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/QuadTree2DTests.cs +660 -0
- package/Tests/Runtime/DataStructures/QuadTree2DTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/RTree2DTests.cs +823 -0
- package/Tests/Runtime/DataStructures/RTree2DTests.cs.meta +3 -0
- package/Tests/Runtime/DataStructures/RTree3DTests.cs +270 -0
- package/Tests/Runtime/DataStructures/RTree3DTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SparseSetTests.cs +1146 -0
- package/Tests/Runtime/DataStructures/SparseSetTests.cs.meta +3 -0
- package/Tests/Runtime/DataStructures/SpatialHashTests.cs +992 -0
- package/Tests/Runtime/DataStructures/SpatialHashTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SpatialTree2DBoundsConsistencyTests.cs +351 -0
- package/Tests/Runtime/DataStructures/SpatialTree2DBoundsConsistencyTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SpatialTree2DBoundsEdgeTests.cs +127 -0
- package/Tests/Runtime/DataStructures/SpatialTree2DBoundsEdgeTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SpatialTree2DBoundsFuzzTests.cs +218 -0
- package/Tests/Runtime/DataStructures/SpatialTree2DBoundsFuzzTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SpatialTree2DTests.cs +396 -0
- package/Tests/Runtime/DataStructures/SpatialTree2DTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SpatialTree3DBoundsConsistencyTests.cs +281 -0
- package/Tests/Runtime/DataStructures/SpatialTree3DBoundsConsistencyTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SpatialTree3DBoundsEdgeTests.cs +127 -0
- package/Tests/Runtime/DataStructures/SpatialTree3DBoundsEdgeTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SpatialTree3DBoundsFuzzTests.cs +170 -0
- package/Tests/Runtime/DataStructures/SpatialTree3DBoundsFuzzTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SpatialTree3DTests.cs +474 -0
- package/Tests/Runtime/DataStructures/SpatialTree3DTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/SphereTests.cs +806 -0
- package/Tests/Runtime/DataStructures/SphereTests.cs.meta +3 -0
- package/Tests/Runtime/DataStructures/StringWrapperTests.cs +333 -0
- package/Tests/Runtime/DataStructures/StringWrapperTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/TimedCacheTests.cs +669 -0
- package/Tests/Runtime/DataStructures/TimedCacheTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/TrieTests.cs +3385 -0
- package/Tests/Runtime/DataStructures/TrieTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures/UnbalancedKDTree2DTests.cs +565 -0
- package/Tests/Runtime/DataStructures/{UnbalancedKDTreeTests.cs.meta → UnbalancedKDTree2DTests.cs.meta} +11 -11
- package/Tests/Runtime/DataStructures/UnbalancedKDTree3DTests.cs +10 -0
- package/Tests/Runtime/DataStructures/UnbalancedKDTree3DTests.cs.meta +11 -0
- package/Tests/Runtime/DataStructures.meta +8 -8
- package/Tests/Runtime/Extensions/AnimatorExtensionsTests.cs +28 -0
- package/Tests/Runtime/Extensions/AnimatorExtensionsTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/AsyncOperationExtensionsTests.cs +667 -0
- package/Tests/Runtime/Extensions/AsyncOperationExtensionsTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/CircleExtensionsTests.cs +230 -0
- package/Tests/Runtime/Extensions/CircleExtensionsTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/ColorExtensionsTests.cs +55 -0
- package/Tests/Runtime/Extensions/ColorExtensionsTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/DictionaryExtensionTests.cs +724 -438
- package/Tests/Runtime/Extensions/DictionaryExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/DirectionExtensionsComprehensiveTests.cs +403 -0
- package/Tests/Runtime/Extensions/DirectionExtensionsComprehensiveTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/DirectionExtensionsTests.cs +69 -0
- package/Tests/Runtime/Extensions/DirectionExtensionsTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/EnumExtensionTests.cs +809 -153
- package/Tests/Runtime/Extensions/EnumExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/IEnumerableExtensionsTests.cs +191 -0
- package/Tests/Runtime/Extensions/IEnumerableExtensionsTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/IListExtensionTests.cs +955 -169
- package/Tests/Runtime/Extensions/IListExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/IReadonlyListExtensionTests.cs +266 -58
- package/Tests/Runtime/Extensions/IReadonlyListExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/LoggingExtensionTests.cs +721 -718
- package/Tests/Runtime/Extensions/LoggingExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/ProtoEqualityExtensionsTests.cs +565 -0
- package/Tests/Runtime/Extensions/ProtoEqualityExtensionsTests.cs.meta +3 -0
- package/Tests/Runtime/Extensions/ProtoEqualityPolymorphismTests.cs +100 -0
- package/Tests/Runtime/Extensions/ProtoEqualityPolymorphismTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/RandomExtensionTests.cs +719 -27
- package/Tests/Runtime/Extensions/RandomExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/StringExtensionTests.cs +2592 -31
- package/Tests/Runtime/Extensions/StringExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/UnityExtensionsBasicTests.cs +166 -0
- package/Tests/Runtime/Extensions/UnityExtensionsBasicTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/UnityExtensionsComprehensiveTests.cs +1446 -0
- package/Tests/Runtime/Extensions/UnityExtensionsComprehensiveTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/UnityExtensionsMathTests.cs +1779 -0
- package/Tests/Runtime/Extensions/UnityExtensionsMathTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/UnityExtensionsVector2HullTests.cs +292 -0
- package/Tests/Runtime/Extensions/UnityExtensionsVector2HullTests.cs.meta +11 -0
- package/Tests/Runtime/Extensions/UnityLogTagFormatterEdgeTests.cs +260 -0
- package/Tests/Runtime/Extensions/UnityLogTagFormatterEdgeTests.cs.meta +11 -0
- 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/AssignUtilitiesTests.cs +38 -0
- package/Tests/Runtime/Helper/AssignUtilitiesTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/DirectoryHelperTests.cs +347 -0
- package/Tests/Runtime/Helper/DirectoryHelperTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/EnumerablesTests.cs +45 -0
- package/Tests/Runtime/Helper/EnumerablesTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/FileHelperTests.cs +481 -0
- package/Tests/Runtime/Helper/FileHelperTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/FormattingHelpersTests.cs +353 -0
- package/Tests/Runtime/Helper/FormattingHelpersTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/FuncBasedComparerTests.cs +27 -0
- package/Tests/Runtime/Helper/FuncBasedComparerTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/GeometryTests.cs +517 -0
- package/Tests/Runtime/Helper/GeometryTests.cs.meta +3 -0
- package/Tests/Runtime/Helper/HelpersTests.cs +749 -0
- package/Tests/Runtime/Helper/HelpersTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/IterationHelpersTests.cs +173 -0
- package/Tests/Runtime/Helper/IterationHelpersTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/LineHelperTests.cs +662 -0
- package/Tests/Runtime/Helper/LineHelperTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/ObjectHelperTests.cs +444 -432
- package/Tests/Runtime/Helper/ObjectHelperTests.cs.meta +2 -2
- package/Tests/Runtime/Helper/ObjectsTests.cs +363 -0
- package/Tests/Runtime/Helper/ObjectsTests.cs.meta +3 -0
- package/Tests/Runtime/Helper/PathHelperTests.cs +183 -0
- package/Tests/Runtime/Helper/PathHelperTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/ReflectionHelperTests.cs +2199 -1493
- package/Tests/Runtime/Helper/ReflectionHelperTests.cs.meta +2 -2
- package/Tests/Runtime/Helper/ReflectionHelpersMemberLookupTests.cs +192 -0
- package/Tests/Runtime/Helper/ReflectionHelpersMemberLookupTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/ReflectionHelpersTypeScanningTests.cs +58 -0
- package/Tests/Runtime/Helper/ReflectionHelpersTypeScanningTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/SceneHelperTests.cs +77 -94
- package/Tests/Runtime/Helper/SceneHelperTests.cs.meta +2 -2
- package/Tests/Runtime/Helper/UnityMainThreadDispatcherTests.cs +45 -0
- package/Tests/Runtime/Helper/UnityMainThreadDispatcherTests.cs.meta +11 -0
- package/Tests/Runtime/Helper/WallMathTests.cs +1884 -233
- package/Tests/Runtime/Helper/WallMathTests.cs.meta +2 -2
- package/Tests/Runtime/Helper.meta +2 -2
- package/Tests/Runtime/Integrations/VContainer/RelationalComponentsVContainerTests.cs +560 -0
- package/Tests/Runtime/Integrations/VContainer/RelationalComponentsVContainerTests.cs.meta +11 -0
- package/Tests/Runtime/Integrations/VContainer/WallstopStudios.UnityHelpers.Tests.Runtime.VContainer.asmdef +38 -0
- package/Tests/Runtime/Integrations/VContainer/WallstopStudios.UnityHelpers.Tests.Runtime.VContainer.asmdef.meta +7 -0
- package/Tests/Runtime/Integrations/VContainer.meta +8 -0
- package/Tests/Runtime/Integrations/Zenject/RelationalComponentsZenjectTests.cs +591 -0
- package/Tests/Runtime/Integrations/Zenject/RelationalComponentsZenjectTests.cs.meta +11 -0
- package/Tests/Runtime/Integrations/Zenject/WallstopStudios.UnityHelpers.Tests.Runtime.Zenject.asmdef +38 -0
- package/Tests/Runtime/Integrations/Zenject/WallstopStudios.UnityHelpers.Tests.Runtime.Zenject.asmdef.meta +7 -0
- package/Tests/Runtime/Integrations/Zenject.meta +8 -0
- package/Tests/Runtime/Integrations.meta +8 -0
- package/Tests/Runtime/Math/Line2DTests.cs +594 -0
- package/Tests/Runtime/Math/Line2DTests.cs.meta +11 -0
- package/Tests/Runtime/Math/Line3DTests.cs +655 -0
- package/Tests/Runtime/Math/Line3DTests.cs.meta +11 -0
- package/Tests/Runtime/Math/LineTests.cs +480 -0
- package/Tests/Runtime/Math/LineTests.cs.meta +11 -0
- package/Tests/Runtime/Math/ParabolaTests.cs +477 -0
- package/Tests/Runtime/Math/ParabolaTests.cs.meta +11 -0
- package/Tests/Runtime/Math/PointPolygonCheckTests.cs +939 -0
- package/Tests/Runtime/Math/PointPolygonCheckTests.cs.meta +11 -0
- package/Tests/Runtime/Math/RangeTests.cs +197 -0
- package/Tests/Runtime/Math/RangeTests.cs.meta +11 -0
- package/Tests/Runtime/Math.meta +8 -0
- package/Tests/Runtime/Performance/BenchmarkReadmeUpdater.cs +81 -0
- package/Tests/Runtime/Performance/BenchmarkReadmeUpdater.cs.meta +11 -0
- package/Tests/Runtime/Performance/JsonSerializationPerformanceTests.cs +421 -0
- package/Tests/Runtime/Performance/JsonSerializationPerformanceTests.cs.meta +3 -0
- package/Tests/Runtime/Performance/ListExtensionPerformanceTests.cs +76 -76
- package/Tests/Runtime/Performance/ListExtensionPerformanceTests.cs.meta +2 -2
- package/Tests/Runtime/Performance/ProtoEqualsPerformanceTests.cs +161 -0
- package/Tests/Runtime/Performance/ProtoEqualsPerformanceTests.cs.meta +11 -0
- package/Tests/Runtime/Performance/ProtoSerializationPerformanceTests.cs +207 -0
- package/Tests/Runtime/Performance/ProtoSerializationPerformanceTests.cs.meta +3 -0
- package/Tests/Runtime/Performance/RandomPerformanceTests.cs +195 -181
- package/Tests/Runtime/Performance/RandomPerformanceTests.cs.meta +11 -11
- package/Tests/Runtime/Performance/RelationComponentPerformanceTests.cs +60 -61
- package/Tests/Runtime/Performance/RelationComponentPerformanceTests.cs.meta +2 -2
- package/Tests/Runtime/Performance/SpatialTree2DPerformanceTests.cs +692 -0
- package/Tests/Runtime/Performance/SpatialTree2DPerformanceTests.cs.meta +11 -0
- package/Tests/Runtime/Performance/SpatialTree3DPerformanceTests.cs +650 -0
- package/Tests/Runtime/Performance/SpatialTree3DPerformanceTests.cs.meta +11 -0
- 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/IllusionFlowTests.cs +12 -12
- package/Tests/Runtime/Random/IllusionFlowTests.cs.meta +2 -2
- package/Tests/Runtime/Random/LinearCongruentialGeneratorTests.cs +12 -12
- package/Tests/Runtime/Random/LinearCongruentialGeneratorTests.cs.meta +2 -2
- package/Tests/Runtime/Random/PcgRandomTests.cs +9 -9
- package/Tests/Runtime/Random/PcgRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/RandomProtoSerializationTests.cs +494 -0
- package/Tests/Runtime/Random/RandomProtoSerializationTests.cs.meta +3 -0
- package/Tests/Runtime/Random/RandomStateSerializationTests.cs +304 -0
- package/Tests/Runtime/Random/RandomStateSerializationTests.cs.meta +4 -0
- package/Tests/Runtime/Random/RandomTestBase.cs +836 -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/XoroShiroRandomTests.cs +9 -9
- package/Tests/Runtime/Random/XoroShiroRandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random.meta +8 -8
- package/Tests/Runtime/RuntimeTestTimeouts.cs +3 -0
- package/Tests/Runtime/RuntimeTestTimeouts.cs.meta +11 -0
- package/Tests/Runtime/Scenes/Test1.unity +723 -723
- package/Tests/Runtime/Scenes/Test1.unity.meta +7 -7
- package/Tests/Runtime/Scenes/Test2.unity +723 -723
- package/Tests/Runtime/Scenes/Test2.unity.meta +7 -7
- package/Tests/Runtime/Scenes.meta +2 -2
- package/Tests/Runtime/Serialization/AdaptersJsonTests.cs +67 -0
- package/Tests/Runtime/Serialization/AdaptersJsonTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/BitSetJsonTests.cs +50 -0
- package/Tests/Runtime/Serialization/BitSetJsonTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/CyclicBufferJsonTests.cs +67 -0
- package/Tests/Runtime/Serialization/CyclicBufferJsonTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/DequeJsonTests.cs +70 -0
- package/Tests/Runtime/Serialization/DequeJsonTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/ImmutableBitSetJsonTests.cs +25 -0
- package/Tests/Runtime/Serialization/ImmutableBitSetJsonTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/JsonConverterTests.cs +1157 -0
- package/Tests/Runtime/Serialization/JsonConverterTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/JsonRoundtripComprehensiveTests.cs +239 -0
- package/Tests/Runtime/Serialization/JsonRoundtripComprehensiveTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/JsonSerializationCorrectnessTests.cs +458 -0
- package/Tests/Runtime/Serialization/JsonSerializationCorrectnessTests.cs.meta +3 -0
- package/Tests/Runtime/Serialization/JsonSerializationTest.cs +156 -156
- package/Tests/Runtime/Serialization/JsonSerializationTest.cs.meta +2 -2
- package/Tests/Runtime/Serialization/MathJsonTests.cs +79 -0
- package/Tests/Runtime/Serialization/MathJsonTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/ProtoInterfaceResolutionEdgeTests.cs +76 -0
- package/Tests/Runtime/Serialization/ProtoInterfaceResolutionEdgeTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/ProtoRootRegistrationTests.cs +80 -0
- package/Tests/Runtime/Serialization/ProtoRootRegistrationTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/ProtoRoundtripComprehensiveTests.cs +257 -0
- package/Tests/Runtime/Serialization/ProtoRoundtripComprehensiveTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/ProtoSerializationCorrectnessTests.cs +471 -0
- package/Tests/Runtime/Serialization/ProtoSerializationCorrectnessTests.cs.meta +3 -0
- package/Tests/Runtime/Serialization/ProtoSerializationTests.cs +169 -0
- package/Tests/Runtime/Serialization/ProtoSerializationTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/ProtoSerializeBehaviorTests.cs +62 -0
- package/Tests/Runtime/Serialization/ProtoSerializeBehaviorTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/SerializerAdditionalTests.cs +895 -0
- package/Tests/Runtime/Serialization/SerializerAdditionalTests.cs.meta +3 -0
- package/Tests/Runtime/Serialization/TypeConverterTests.cs +34 -0
- package/Tests/Runtime/Serialization/TypeConverterTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization.meta +2 -2
- package/Tests/Runtime/Tags/AttributeComponentTests.cs +174 -0
- package/Tests/Runtime/Tags/AttributeComponentTests.cs.meta +3 -0
- package/Tests/Runtime/Tags/AttributeDataTests.cs +312 -0
- package/Tests/Runtime/Tags/AttributeDataTests.cs.meta +11 -0
- package/Tests/Runtime/Tags/AttributeUtilitiesTests.cs +405 -0
- package/Tests/Runtime/Tags/AttributeUtilitiesTests.cs.meta +3 -0
- package/Tests/Runtime/Tags/CosmeticAndCollisionTests.cs +147 -0
- package/Tests/Runtime/Tags/CosmeticAndCollisionTests.cs.meta +11 -0
- package/Tests/Runtime/Tags/CosmeticEffectDataTests.cs +60 -0
- package/Tests/Runtime/Tags/CosmeticEffectDataTests.cs.meta +3 -0
- package/Tests/Runtime/Tags/EffectHandleTests.cs +61 -0
- package/Tests/Runtime/Tags/EffectHandleTests.cs.meta +3 -0
- package/Tests/Runtime/Tags/EffectHandlerTests.cs +270 -0
- package/Tests/Runtime/Tags/EffectHandlerTests.cs.meta +3 -0
- package/Tests/Runtime/Tags/Helpers/RecordingCosmeticComponent.cs +39 -0
- package/Tests/Runtime/Tags/Helpers/RecordingCosmeticComponent.cs.meta +3 -0
- package/Tests/Runtime/Tags/Helpers/TagTestBase.cs +49 -0
- package/Tests/Runtime/Tags/Helpers/TagTestBase.cs.meta +3 -0
- package/Tests/Runtime/Tags/Helpers/TestAttributesComponent.cs +28 -0
- package/Tests/Runtime/Tags/Helpers/TestAttributesComponent.cs.meta +3 -0
- package/Tests/Runtime/Tags/Helpers.meta +3 -0
- package/Tests/Runtime/Tags/TagHandlerTests.cs +108 -0
- package/Tests/Runtime/Tags/TagHandlerTests.cs.meta +3 -0
- package/Tests/Runtime/Tags.meta +8 -0
- package/Tests/Runtime/TestUtils/CommonTestBase.cs +213 -0
- package/Tests/Runtime/TestUtils/CommonTestBase.cs.meta +11 -0
- package/Tests/Runtime/TestUtils/GCAssert.cs +55 -0
- package/Tests/Runtime/TestUtils/GCAssert.cs.meta +11 -0
- package/Tests/Runtime/TestUtils/SpatialAssert.cs +33 -0
- package/Tests/Runtime/TestUtils/SpatialAssert.cs.meta +11 -0
- package/Tests/Runtime/TestUtils/SpatialDiagnostics.cs +195 -0
- package/Tests/Runtime/TestUtils/SpatialDiagnostics.cs.meta +11 -0
- package/Tests/Runtime/TestUtils.meta +8 -0
- package/Tests/Runtime/Utils/AnimationEventEqualityComparerTests.cs +144 -0
- package/Tests/Runtime/Utils/AnimationEventEqualityComparerTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/Ascii85Tests.cs +56 -0
- package/Tests/Runtime/Utils/Ascii85Tests.cs.meta +11 -0
- package/Tests/Runtime/Utils/BuffersTests.cs +1148 -741
- package/Tests/Runtime/Utils/BuffersTests.cs.meta +2 -2
- package/Tests/Runtime/Utils/BuffersWaitInstructionTests.cs +31 -0
- package/Tests/Runtime/Utils/BuffersWaitInstructionTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/CenterPointOffsetTests.cs +67 -0
- package/Tests/Runtime/Utils/CenterPointOffsetTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/ChildSpawnerTests.cs +490 -0
- package/Tests/Runtime/Utils/ChildSpawnerTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/CircleLineRendererTests.cs +80 -0
- package/Tests/Runtime/Utils/CircleLineRendererTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/CollisionProxyTests.cs +442 -0
- package/Tests/Runtime/Utils/CollisionProxyTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/CoroutineHandlerTests.cs +353 -0
- package/Tests/Runtime/Utils/CoroutineHandlerTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/DeferredDisposalResultTests.cs +44 -0
- package/Tests/Runtime/Utils/DeferredDisposalResultTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/LZMAComprehensiveTests.cs +249 -0
- package/Tests/Runtime/Utils/LZMAComprehensiveTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/LZMATests.cs +31 -0
- package/Tests/Runtime/Utils/LZMATests.cs.meta +11 -0
- package/Tests/Runtime/Utils/MatchColliderToSpriteAdditionalTests.cs +86 -0
- package/Tests/Runtime/Utils/MatchColliderToSpriteAdditionalTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/MatchColliderToSpriteTests.cs +503 -0
- package/Tests/Runtime/Utils/MatchColliderToSpriteTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/MatchTransformEdgeTests.cs +34 -0
- package/Tests/Runtime/Utils/MatchTransformEdgeTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/MatchTransformTests.cs +495 -0
- package/Tests/Runtime/Utils/MatchTransformTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/OscillatorTests.cs +540 -0
- package/Tests/Runtime/Utils/OscillatorTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/PolygonCollider2DOptimizerTests.cs +52 -0
- package/Tests/Runtime/Utils/PolygonCollider2DOptimizerTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/RuntimeSingletonTests.cs +766 -0
- package/Tests/Runtime/Utils/RuntimeSingletonTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/SerializedStringComparerEdgeTests.cs +47 -0
- package/Tests/Runtime/Utils/SerializedStringComparerEdgeTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/SerializedStringComparerTests.cs +361 -0
- package/Tests/Runtime/Utils/SerializedStringComparerTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/SpriteRendererMetadataTests.cs +383 -398
- package/Tests/Runtime/Utils/SpriteRendererMetadataTests.cs.meta +2 -2
- package/Tests/Runtime/Utils/SpriteRendererSyncTests.cs +134 -0
- package/Tests/Runtime/Utils/SpriteRendererSyncTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/StartTrackerTests.cs +24 -0
- package/Tests/Runtime/Utils/StartTrackerTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/TextureScaleEdgeTests.cs +114 -0
- package/Tests/Runtime/Utils/TextureScaleEdgeTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/TextureScaleTests.cs +298 -0
- package/Tests/Runtime/Utils/TextureScaleTests.cs.meta +3 -0
- package/Tests/Runtime/Utils/TypeNameSorterAdditionalTests.cs +36 -0
- package/Tests/Runtime/Utils/TypeNameSorterAdditionalTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/TypeNameSorterTests.cs +34 -0
- package/Tests/Runtime/Utils/TypeNameSorterTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/UnityObjectNameComparerEdgeTests.cs +63 -0
- package/Tests/Runtime/Utils/UnityObjectNameComparerEdgeTests.cs.meta +11 -0
- package/Tests/Runtime/Utils/UnityObjectNameComparerTests.cs +59 -0
- package/Tests/Runtime/Utils/UnityObjectNameComparerTests.cs.meta +11 -0
- package/Tests/Runtime/Utils.meta +2 -2
- package/Tests/Runtime/Visuals/AnimatedSpriteLayerTests.cs +266 -0
- package/Tests/Runtime/Visuals/AnimatedSpriteLayerTests.cs.meta +11 -0
- package/Tests/Runtime/Visuals/EnhancedImageTests.cs +184 -0
- package/Tests/Runtime/Visuals/EnhancedImageTests.cs.meta +11 -0
- package/Tests/Runtime/Visuals/LayeredImageTests.cs +422 -0
- package/Tests/Runtime/Visuals/LayeredImageTests.cs.meta +11 -0
- package/Tests/Runtime/Visuals/VisualsTestHelpers.cs +132 -0
- package/Tests/Runtime/Visuals/VisualsTestHelpers.cs.meta +11 -0
- package/Tests/Runtime/Visuals.meta +3 -0
- package/Tests/Runtime/WallstopStudios.UnityHelpers.Tests.Runtime.asmdef +24 -23
- package/Tests/Runtime/WallstopStudios.UnityHelpers.Tests.Runtime.asmdef.meta +7 -7
- package/Tests/Runtime.meta +8 -8
- package/Tests.meta +8 -8
- package/URP/VolumeProfiles/Post Processing Bloom Profile(URP).asset +63 -63
- package/URP/VolumeProfiles/Post Processing Bloom Profile(URP).asset.meta +8 -8
- package/URP/VolumeProfiles.meta +8 -8
- package/URP.meta +8 -8
- package/node_modules.meta +8 -0
- package/package.json +95 -38
- package/package.json.meta +7 -7
- package/scripts/check-eol.ps1 +52 -0
- package/scripts/check-eol.ps1.meta +7 -0
- package/scripts/clean-nul.ps1 +29 -0
- package/scripts/clean-nul.ps1.meta +7 -0
- package/scripts/lint-doc-links.ps1 +80 -0
- package/scripts/lint-doc-links.ps1.meta +7 -0
- package/scripts/normalize-eol.ps1 +71 -0
- package/scripts/normalize-eol.ps1.meta +7 -0
- package/scripts.meta +8 -0
- package/Editor/Sprites/ProjectAnimationSettings.cs +0 -50
- package/Editor/Sprites/ProjectAnimationSettings.cs.meta +0 -3
- package/Editor/Sprites/TextureSettingsApplier.cs +0 -178
- package/Editor/Sprites/TextureSettingsApplier.cs.meta +0 -3
- package/Runtime/Core/Attributes/ParentComponent.cs +0 -189
- package/Runtime/Core/DataStructure/KDTree.cs +0 -434
- package/Runtime/Core/DataStructure/QuadTree.cs +0 -431
- package/Runtime/Core/DataStructure/RTree.cs +0 -356
- package/Runtime/Core/Extension/HashSetExtensions.cs +0 -12
- package/Runtime/Core/Extension/HashSetExtensions.cs.meta +0 -11
- package/Runtime/Core/Math/Line.cs +0 -55
- package/Runtime/Core/Math/Line.cs.meta +0 -11
- package/Runtime/Core/Math/XXHash.cs +0 -310
- package/Runtime/Core/Math/XXHash.cs.meta +0 -11
- package/Tests/Runtime/Components/RelationalComponentsTesterSimple.cs +0 -40
- package/Tests/Runtime/Components.meta +0 -3
- package/Tests/Runtime/DataStructures/BalancedKDTreeTests.cs +0 -14
- package/Tests/Runtime/DataStructures/QuadTreeTests.cs +0 -14
- package/Tests/Runtime/DataStructures/QuadTreeTests.cs.meta +0 -11
- package/Tests/Runtime/DataStructures/SpatialTreeTests.cs +0 -130
- package/Tests/Runtime/DataStructures/SpatialTreeTests.cs.meta +0 -11
- package/Tests/Runtime/DataStructures/UnbalancedKDTreeTests.cs +0 -14
- package/Tests/Runtime/Helper/FormattingHelperTests.cs +0 -129
- package/Tests/Runtime/Helper/FormattingHelperTests.cs.meta +0 -3
- package/Tests/Runtime/Performance/KDTreePerformanceTests.cs +0 -14
- package/Tests/Runtime/Performance/KDTreePerformanceTests.cs.meta +0 -11
- package/Tests/Runtime/Performance/QuadTreePerformanceTests.cs +0 -14
- package/Tests/Runtime/Performance/QuadTreePerformanceTests.cs.meta +0 -11
- package/Tests/Runtime/Performance/SpatialTreePerformanceTest.cs +0 -158
- package/Tests/Runtime/Performance/SpatialTreePerformanceTest.cs.meta +0 -11
- package/Tests/Runtime/Performance/UnbalancedKDTreeTests.cs +0 -14
- package/Tests/Runtime/Performance/UnbalancedKDTreeTests.cs.meta +0 -11
- package/Third Party Notices.md +0 -1
|
@@ -0,0 +1,1779 @@
|
|
|
1
|
+
namespace WallstopStudios.UnityHelpers.Tests.Extensions
|
|
2
|
+
{
|
|
3
|
+
using NUnit.Framework;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
using WallstopStudios.UnityHelpers.Core.DataStructure.Adapters;
|
|
6
|
+
using WallstopStudios.UnityHelpers.Core.Extension;
|
|
7
|
+
|
|
8
|
+
public sealed class UnityExtensionsMathTests
|
|
9
|
+
{
|
|
10
|
+
[Test]
|
|
11
|
+
public void FastContains2DBoundsIntPointInsideReturnsTrue()
|
|
12
|
+
{
|
|
13
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
14
|
+
FastVector3Int point = new(5, 5, 0);
|
|
15
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
[Test]
|
|
19
|
+
public void FastContains2DBoundsIntPointAtMinReturnsTrue()
|
|
20
|
+
{
|
|
21
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
22
|
+
FastVector3Int point = new(0, 0, 0);
|
|
23
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
[Test]
|
|
27
|
+
public void FastContains2DBoundsIntPointAtMaxReturnsFalse()
|
|
28
|
+
{
|
|
29
|
+
// xMax and yMax are exclusive in FastContains2D
|
|
30
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
31
|
+
FastVector3Int point = new(10, 10, 0);
|
|
32
|
+
Assert.IsFalse(bounds.FastContains2D(point));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
[Test]
|
|
36
|
+
public void FastContains2DBoundsIntPointOnMaxXEdgeReturnsFalse()
|
|
37
|
+
{
|
|
38
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
39
|
+
FastVector3Int point = new(10, 5, 0);
|
|
40
|
+
Assert.IsFalse(bounds.FastContains2D(point));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
[Test]
|
|
44
|
+
public void FastContains2DBoundsIntPointOnMaxYEdgeReturnsFalse()
|
|
45
|
+
{
|
|
46
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
47
|
+
FastVector3Int point = new(5, 10, 0);
|
|
48
|
+
Assert.IsFalse(bounds.FastContains2D(point));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
[Test]
|
|
52
|
+
public void FastContains2DBoundsIntPointJustInsideMaxBoundaryReturnsTrue()
|
|
53
|
+
{
|
|
54
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
55
|
+
FastVector3Int point = new(9, 9, 0);
|
|
56
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[Test]
|
|
60
|
+
public void FastContains2DBoundsIntPointOutsideNegativeReturnsFalse()
|
|
61
|
+
{
|
|
62
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
63
|
+
FastVector3Int point = new(-1, -1, 0);
|
|
64
|
+
Assert.IsFalse(bounds.FastContains2D(point));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
[Test]
|
|
68
|
+
public void FastContains2DBoundsIntPointOutsidePositiveReturnsFalse()
|
|
69
|
+
{
|
|
70
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
71
|
+
FastVector3Int point = new(11, 11, 0);
|
|
72
|
+
Assert.IsFalse(bounds.FastContains2D(point));
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
[Test]
|
|
76
|
+
public void FastContains2DBoundsIntNegativeBoundsPointInsideReturnsTrue()
|
|
77
|
+
{
|
|
78
|
+
BoundsInt bounds = new(-10, -10, 0, 10, 10, 10);
|
|
79
|
+
FastVector3Int point = new(-5, -5, 0);
|
|
80
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
[Test]
|
|
84
|
+
public void FastContains2DBoundsIntSinglePointBoundsPointAtMinReturnsTrue()
|
|
85
|
+
{
|
|
86
|
+
BoundsInt bounds = new(5, 5, 0, 1, 1, 1);
|
|
87
|
+
FastVector3Int point = new(5, 5, 0);
|
|
88
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
[Test]
|
|
92
|
+
public void FastContains2DBoundsIntZeroSizeBoundsReturnsFalse()
|
|
93
|
+
{
|
|
94
|
+
BoundsInt bounds = new(5, 5, 0, 0, 0, 0);
|
|
95
|
+
FastVector3Int point = new(5, 5, 0);
|
|
96
|
+
Assert.IsFalse(bounds.FastContains2D(point));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
[Test]
|
|
100
|
+
public void FastContains2DBoundsIntIgnoresZCoordinate()
|
|
101
|
+
{
|
|
102
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
103
|
+
FastVector3Int point = new(5, 5, 100);
|
|
104
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
[Test]
|
|
108
|
+
public void FastContains2DBoundsPointInsideReturnsTrue()
|
|
109
|
+
{
|
|
110
|
+
Bounds bounds = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
111
|
+
Vector2 point = new(5f, 5f);
|
|
112
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
[Test]
|
|
116
|
+
public void FastContains2DBoundsPointAtMinReturnsTrue()
|
|
117
|
+
{
|
|
118
|
+
Bounds bounds = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
119
|
+
Vector2 point = new(0f, 0f);
|
|
120
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
[Test]
|
|
124
|
+
public void FastContains2DBoundsPointAtMaxReturnsFalse()
|
|
125
|
+
{
|
|
126
|
+
// max is inclusive in FastContains2D
|
|
127
|
+
Bounds bounds = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
128
|
+
Vector2 point = new(10f, 10f);
|
|
129
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
[Test]
|
|
133
|
+
public void FastContains2DBoundsPointJustBelowMinReturnsFalse()
|
|
134
|
+
{
|
|
135
|
+
Bounds bounds = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
136
|
+
Vector2 point = new(-0.01f, 5f);
|
|
137
|
+
Assert.IsFalse(bounds.FastContains2D(point));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
[Test]
|
|
141
|
+
public void FastContains2DBoundsPointJustBelowMaxReturnsTrue()
|
|
142
|
+
{
|
|
143
|
+
Bounds bounds = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
144
|
+
Vector2 point = new(9.99f, 9.99f);
|
|
145
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
[Test]
|
|
149
|
+
public void FastContains2DBoundsPointOutsideXReturnsFalse()
|
|
150
|
+
{
|
|
151
|
+
Bounds bounds = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
152
|
+
Vector2 point = new(10.1f, 5f);
|
|
153
|
+
Assert.IsFalse(bounds.FastContains2D(point));
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
[Test]
|
|
157
|
+
public void FastContains2DBoundsPointOutsideYReturnsFalse()
|
|
158
|
+
{
|
|
159
|
+
Bounds bounds = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
160
|
+
Vector2 point = new(5f, 10.1f);
|
|
161
|
+
Assert.IsFalse(bounds.FastContains2D(point));
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
[Test]
|
|
165
|
+
public void FastContains2DBoundsNegativeBoundsPointInsideReturnsTrue()
|
|
166
|
+
{
|
|
167
|
+
Bounds bounds = new(new Vector3(-5f, -5f, 0f), new Vector3(10f, 10f, 10f));
|
|
168
|
+
Vector2 point = new(-5f, -5f);
|
|
169
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
[Test]
|
|
173
|
+
public void FastContains2DBoundsVerySmallBoundsPointInsideReturnsTrue()
|
|
174
|
+
{
|
|
175
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(0.01f, 0.01f, 0.01f));
|
|
176
|
+
Vector2 point = new(0f, 0f);
|
|
177
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
[Test]
|
|
181
|
+
public void FastContains2DBoundsVeryLargeBoundsPointInsideReturnsTrue()
|
|
182
|
+
{
|
|
183
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10000f, 10000f, 10000f));
|
|
184
|
+
Vector2 point = new(4999f, 4999f);
|
|
185
|
+
Assert.IsTrue(bounds.FastContains2D(point));
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
[Test]
|
|
189
|
+
public void FastIntersects2DBoundsIntOverlappingBoundsReturnsTrue()
|
|
190
|
+
{
|
|
191
|
+
BoundsInt bounds1 = new(0, 0, 0, 10, 10, 10);
|
|
192
|
+
BoundsInt bounds2 = new(5, 5, 0, 10, 10, 10);
|
|
193
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
[Test]
|
|
197
|
+
public void FastIntersects2DBoundsIntTouchingEdgesReturnsTrue()
|
|
198
|
+
{
|
|
199
|
+
// Bounds touching at edge should intersect (xMax >= xMin)
|
|
200
|
+
BoundsInt bounds1 = new(0, 0, 0, 10, 10, 10);
|
|
201
|
+
BoundsInt bounds2 = new(10, 0, 0, 10, 10, 10);
|
|
202
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
[Test]
|
|
206
|
+
public void FastIntersects2DBoundsIntSeparatedBoundsReturnsFalse()
|
|
207
|
+
{
|
|
208
|
+
BoundsInt bounds1 = new(0, 0, 0, 10, 10, 10);
|
|
209
|
+
BoundsInt bounds2 = new(11, 11, 0, 10, 10, 10);
|
|
210
|
+
Assert.IsFalse(bounds1.FastIntersects2D(bounds2));
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
[Test]
|
|
214
|
+
public void FastIntersects2DBoundsIntOneInsideOtherReturnsTrue()
|
|
215
|
+
{
|
|
216
|
+
BoundsInt bounds1 = new(0, 0, 0, 100, 100, 100);
|
|
217
|
+
BoundsInt bounds2 = new(25, 25, 0, 50, 50, 50);
|
|
218
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
[Test]
|
|
222
|
+
public void FastIntersects2DBoundsIntIdenticalBoundsReturnsTrue()
|
|
223
|
+
{
|
|
224
|
+
BoundsInt bounds = new(5, 5, 0, 10, 10, 10);
|
|
225
|
+
Assert.IsTrue(bounds.FastIntersects2D(bounds));
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
[Test]
|
|
229
|
+
public void FastIntersects2DBoundsIntNegativeCoordinatesOverlappingReturnsTrue()
|
|
230
|
+
{
|
|
231
|
+
BoundsInt bounds1 = new(-10, -10, 0, 10, 10, 10);
|
|
232
|
+
BoundsInt bounds2 = new(-5, -5, 0, 10, 10, 10);
|
|
233
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
[Test]
|
|
237
|
+
public void FastIntersects2DBoundsIntSeparatedOnXAxisReturnsFalse()
|
|
238
|
+
{
|
|
239
|
+
BoundsInt bounds1 = new(0, 0, 0, 10, 10, 10);
|
|
240
|
+
BoundsInt bounds2 = new(11, 5, 0, 10, 10, 10);
|
|
241
|
+
Assert.IsFalse(bounds1.FastIntersects2D(bounds2));
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
[Test]
|
|
245
|
+
public void FastIntersects2DBoundsIntSeparatedOnYAxisReturnsFalse()
|
|
246
|
+
{
|
|
247
|
+
BoundsInt bounds1 = new(0, 0, 0, 10, 10, 10);
|
|
248
|
+
BoundsInt bounds2 = new(5, 11, 0, 10, 10, 10);
|
|
249
|
+
Assert.IsFalse(bounds1.FastIntersects2D(bounds2));
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
[Test]
|
|
253
|
+
public void FastIntersects2DBoundsIntZeroSizeBoundsReturnsFalse()
|
|
254
|
+
{
|
|
255
|
+
BoundsInt bounds1 = new(0, 0, 0, 10, 10, 10);
|
|
256
|
+
BoundsInt bounds2 = new(5, 5, 0, 0, 0, 0);
|
|
257
|
+
Assert.IsFalse(bounds1.FastIntersects2D(bounds2));
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
[Test]
|
|
261
|
+
public void FastIntersects2DBoundsIntIgnoresZCoordinate()
|
|
262
|
+
{
|
|
263
|
+
BoundsInt bounds1 = new(0, 0, 0, 10, 10, 1);
|
|
264
|
+
BoundsInt bounds2 = new(5, 5, 100, 10, 10, 1);
|
|
265
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
[Test]
|
|
269
|
+
public void FastIntersects2DBoundsOverlappingBoundsReturnsTrue()
|
|
270
|
+
{
|
|
271
|
+
Bounds bounds1 = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
272
|
+
Bounds bounds2 = new(new Vector3(8f, 8f, 0f), new Vector3(10f, 10f, 10f));
|
|
273
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
[Test]
|
|
277
|
+
public void FastIntersects2DBoundsTouchingEdgesReturnsTrue()
|
|
278
|
+
{
|
|
279
|
+
Bounds bounds1 = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
280
|
+
Bounds bounds2 = new(new Vector3(10f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
281
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
[Test]
|
|
285
|
+
public void FastIntersects2DBoundsSeparatedBoundsReturnsFalse()
|
|
286
|
+
{
|
|
287
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
288
|
+
Bounds bounds2 = new(new Vector3(20f, 20f, 0f), new Vector3(10f, 10f, 10f));
|
|
289
|
+
Assert.IsFalse(bounds1.FastIntersects2D(bounds2));
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
[Test]
|
|
293
|
+
public void FastIntersects2DBoundsOneInsideOtherReturnsTrue()
|
|
294
|
+
{
|
|
295
|
+
Bounds bounds1 = new(new Vector3(50f, 50f, 0f), new Vector3(100f, 100f, 100f));
|
|
296
|
+
Bounds bounds2 = new(new Vector3(50f, 50f, 0f), new Vector3(50f, 50f, 50f));
|
|
297
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
[Test]
|
|
301
|
+
public void FastIntersects2DBoundsIdenticalBoundsReturnsTrue()
|
|
302
|
+
{
|
|
303
|
+
Bounds bounds = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
304
|
+
Assert.IsTrue(bounds.FastIntersects2D(bounds));
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
[Test]
|
|
308
|
+
public void FastIntersects2DBoundsNegativeCoordinatesOverlappingReturnsTrue()
|
|
309
|
+
{
|
|
310
|
+
Bounds bounds1 = new(new Vector3(-5f, -5f, 0f), new Vector3(10f, 10f, 10f));
|
|
311
|
+
Bounds bounds2 = new(new Vector3(-3f, -3f, 0f), new Vector3(10f, 10f, 10f));
|
|
312
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
[Test]
|
|
316
|
+
public void FastIntersects2DBoundsSeparatedOnXAxisReturnsFalse()
|
|
317
|
+
{
|
|
318
|
+
Bounds bounds1 = new(new Vector3(0f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
319
|
+
Bounds bounds2 = new(new Vector3(20f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
320
|
+
Assert.IsFalse(bounds1.FastIntersects2D(bounds2));
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
[Test]
|
|
324
|
+
public void FastIntersects2DBoundsSeparatedOnYAxisReturnsFalse()
|
|
325
|
+
{
|
|
326
|
+
Bounds bounds1 = new(new Vector3(5f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
327
|
+
Bounds bounds2 = new(new Vector3(5f, 20f, 0f), new Vector3(10f, 10f, 10f));
|
|
328
|
+
Assert.IsFalse(bounds1.FastIntersects2D(bounds2));
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
[Test]
|
|
332
|
+
public void FastIntersects2DBoundsVerySmallBoundsOverlappingReturnsTrue()
|
|
333
|
+
{
|
|
334
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(0.01f, 0.01f, 0.01f));
|
|
335
|
+
Bounds bounds2 = new(new Vector3(0.005f, 0.005f, 0f), new Vector3(0.01f, 0.01f, 0.01f));
|
|
336
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
[Test]
|
|
340
|
+
public void FastIntersects2DBoundsPartialOverlapReturnsTrue()
|
|
341
|
+
{
|
|
342
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
343
|
+
Bounds bounds2 = new(new Vector3(8f, 8f, 0f), new Vector3(10f, 10f, 10f));
|
|
344
|
+
Assert.IsTrue(bounds1.FastIntersects2D(bounds2));
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
[Test]
|
|
348
|
+
public void Overlaps2DFullyContainedBoundsReturnsTrue()
|
|
349
|
+
{
|
|
350
|
+
Bounds outer = new(new Vector3(50f, 50f, 0f), new Vector3(100f, 100f, 100f));
|
|
351
|
+
Bounds inner = new(new Vector3(50f, 50f, 0f), new Vector3(50f, 50f, 50f));
|
|
352
|
+
Assert.IsTrue(outer.Overlaps2D(inner));
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
[Test]
|
|
356
|
+
public void Overlaps2DIdenticalBoundsReturnsTrue()
|
|
357
|
+
{
|
|
358
|
+
Bounds bounds = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
359
|
+
Assert.IsTrue(bounds.Overlaps2D(bounds));
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
[Test]
|
|
363
|
+
public void Overlaps2DPartiallyOverlappingReturnsTrue()
|
|
364
|
+
{
|
|
365
|
+
Bounds bounds1 = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
366
|
+
Bounds bounds2 = new(new Vector3(8f, 8f, 0f), new Vector3(10f, 10f, 10f));
|
|
367
|
+
Assert.IsTrue(bounds1.Overlaps2D(bounds2));
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
[Test]
|
|
371
|
+
public void Overlaps2DOtherMinBelowBoundsMinReturnsTrue()
|
|
372
|
+
{
|
|
373
|
+
Bounds bounds1 = new(new Vector3(10f, 10f, 0f), new Vector3(10f, 10f, 10f));
|
|
374
|
+
Bounds bounds2 = new(new Vector3(5f, 10f, 0f), new Vector3(10f, 10f, 10f));
|
|
375
|
+
Assert.IsTrue(bounds1.Overlaps2D(bounds2));
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
[Test]
|
|
379
|
+
public void Overlaps2DOtherMaxAboveBoundsMaxReturnsTrue()
|
|
380
|
+
{
|
|
381
|
+
Bounds bounds1 = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
382
|
+
Bounds bounds2 = new(new Vector3(6f, 6f, 0f), new Vector3(20f, 20f, 20f));
|
|
383
|
+
Assert.IsTrue(bounds1.Overlaps2D(bounds2));
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
[Test]
|
|
387
|
+
public void Overlaps2DOtherExactlyAtBoundaryReturnsTrue()
|
|
388
|
+
{
|
|
389
|
+
Bounds bounds1 = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
390
|
+
Bounds bounds2 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
391
|
+
Assert.IsTrue(bounds1.Overlaps2D(bounds2));
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
[Test]
|
|
395
|
+
public void Overlaps2DSeparatedBoundsReturnsFalse()
|
|
396
|
+
{
|
|
397
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
398
|
+
Bounds bounds2 = new(new Vector3(20f, 20f, 0f), new Vector3(10f, 10f, 10f));
|
|
399
|
+
Assert.IsFalse(bounds1.Overlaps2D(bounds2));
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
[Test]
|
|
403
|
+
public void Overlaps2DNegativeCoordinatesFullyContainedReturnsTrue()
|
|
404
|
+
{
|
|
405
|
+
Bounds bounds1 = new(new Vector3(-10f, -10f, 0f), new Vector3(20f, 20f, 20f));
|
|
406
|
+
Bounds bounds2 = new(new Vector3(-5f, -5f, 0f), new Vector3(10f, 10f, 10f));
|
|
407
|
+
Assert.IsTrue(bounds1.Overlaps2D(bounds2));
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
[Test]
|
|
411
|
+
public void Overlaps2DVerySmallBoundsFullyContainedReturnsTrue()
|
|
412
|
+
{
|
|
413
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
414
|
+
Bounds bounds2 = new(new Vector3(5f, 5f, 0f), new Vector3(0.01f, 0.01f, 0.01f));
|
|
415
|
+
Assert.IsTrue(bounds1.Overlaps2D(bounds2));
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
[Test]
|
|
419
|
+
public void Overlaps2DTouchingEdgeFromInsideReturnsTrue()
|
|
420
|
+
{
|
|
421
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
422
|
+
Bounds bounds2 = new(new Vector3(0f, 0f, 0f), new Vector3(5f, 5f, 5f));
|
|
423
|
+
Assert.IsTrue(bounds1.Overlaps2D(bounds2));
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
[Test]
|
|
427
|
+
public void WithPaddingPositivePaddingExpandsBounds()
|
|
428
|
+
{
|
|
429
|
+
BoundsInt bounds = new(5, 5, 0, 10, 10, 10);
|
|
430
|
+
BoundsInt padded = bounds.WithPadding(2, 3);
|
|
431
|
+
|
|
432
|
+
Assert.AreEqual(3, padded.xMin);
|
|
433
|
+
Assert.AreEqual(2, padded.yMin);
|
|
434
|
+
Assert.AreEqual(17, padded.xMax);
|
|
435
|
+
Assert.AreEqual(18, padded.yMax);
|
|
436
|
+
Assert.AreEqual(14, padded.size.x);
|
|
437
|
+
Assert.AreEqual(16, padded.size.y);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
[Test]
|
|
441
|
+
public void WithPaddingZeroPaddingReturnsSameBounds()
|
|
442
|
+
{
|
|
443
|
+
BoundsInt bounds = new(5, 5, 0, 10, 10, 10);
|
|
444
|
+
BoundsInt padded = bounds.WithPadding(0, 0);
|
|
445
|
+
|
|
446
|
+
Assert.AreEqual(bounds.xMin, padded.xMin);
|
|
447
|
+
Assert.AreEqual(bounds.yMin, padded.yMin);
|
|
448
|
+
Assert.AreEqual(bounds.size.x, padded.size.x);
|
|
449
|
+
Assert.AreEqual(bounds.size.y, padded.size.y);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
[Test]
|
|
453
|
+
public void WithPaddingNegativePaddingShrinksBounds()
|
|
454
|
+
{
|
|
455
|
+
BoundsInt bounds = new(0, 0, 0, 20, 20, 20);
|
|
456
|
+
BoundsInt padded = bounds.WithPadding(-2, -3);
|
|
457
|
+
|
|
458
|
+
Assert.AreEqual(2, padded.xMin);
|
|
459
|
+
Assert.AreEqual(3, padded.yMin);
|
|
460
|
+
Assert.AreEqual(18, padded.xMax);
|
|
461
|
+
Assert.AreEqual(17, padded.yMax);
|
|
462
|
+
Assert.AreEqual(16, padded.size.x);
|
|
463
|
+
Assert.AreEqual(14, padded.size.y);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
[Test]
|
|
467
|
+
public void WithPaddingAsymmetricPaddingWorksCorrectly()
|
|
468
|
+
{
|
|
469
|
+
BoundsInt bounds = new(10, 10, 0, 10, 10, 10);
|
|
470
|
+
BoundsInt padded = bounds.WithPadding(5, 2);
|
|
471
|
+
|
|
472
|
+
Assert.AreEqual(5, padded.xMin);
|
|
473
|
+
Assert.AreEqual(8, padded.yMin);
|
|
474
|
+
Assert.AreEqual(25, padded.xMax);
|
|
475
|
+
Assert.AreEqual(22, padded.yMax);
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
[Test]
|
|
479
|
+
public void WithPaddingNegativeBoundsWorksCorrectly()
|
|
480
|
+
{
|
|
481
|
+
BoundsInt bounds = new(-10, -10, 0, 10, 10, 10);
|
|
482
|
+
BoundsInt padded = bounds.WithPadding(2, 2);
|
|
483
|
+
|
|
484
|
+
Assert.AreEqual(-12, padded.xMin);
|
|
485
|
+
Assert.AreEqual(-12, padded.yMin);
|
|
486
|
+
Assert.AreEqual(2, padded.xMax);
|
|
487
|
+
Assert.AreEqual(2, padded.yMax);
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
[Test]
|
|
491
|
+
public void WithPaddingPreservesZCoordinate()
|
|
492
|
+
{
|
|
493
|
+
BoundsInt bounds = new(5, 5, 7, 10, 10, 10);
|
|
494
|
+
BoundsInt padded = bounds.WithPadding(2, 3);
|
|
495
|
+
|
|
496
|
+
Assert.AreEqual(bounds.zMin, padded.zMin);
|
|
497
|
+
Assert.AreEqual(bounds.size.z, padded.size.z);
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
[Test]
|
|
501
|
+
public void WithPaddingLargePaddingWorksCorrectly()
|
|
502
|
+
{
|
|
503
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
504
|
+
BoundsInt padded = bounds.WithPadding(100, 200);
|
|
505
|
+
|
|
506
|
+
Assert.AreEqual(-100, padded.xMin);
|
|
507
|
+
Assert.AreEqual(-200, padded.yMin);
|
|
508
|
+
Assert.AreEqual(210, padded.size.x);
|
|
509
|
+
Assert.AreEqual(410, padded.size.y);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
[Test]
|
|
513
|
+
public void WithPaddingExcessiveNegativePaddingCanResultInNegativeSize()
|
|
514
|
+
{
|
|
515
|
+
BoundsInt bounds = new(0, 0, 0, 10, 10, 10);
|
|
516
|
+
BoundsInt padded = bounds.WithPadding(-10, -10);
|
|
517
|
+
|
|
518
|
+
// Size becomes 10 + 2*(-10) = -10
|
|
519
|
+
Assert.AreEqual(-10, padded.size.x);
|
|
520
|
+
Assert.AreEqual(-10, padded.size.y);
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
[Test]
|
|
524
|
+
public void WithPaddingSinglePointBoundsExpandsCorrectly()
|
|
525
|
+
{
|
|
526
|
+
BoundsInt bounds = new(5, 5, 0, 1, 1, 1);
|
|
527
|
+
BoundsInt padded = bounds.WithPadding(2, 2);
|
|
528
|
+
|
|
529
|
+
Assert.AreEqual(3, padded.xMin);
|
|
530
|
+
Assert.AreEqual(3, padded.yMin);
|
|
531
|
+
Assert.AreEqual(5, padded.size.x);
|
|
532
|
+
Assert.AreEqual(5, padded.size.y);
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
[Test]
|
|
536
|
+
public void OrientationColinearPointsReturnsColinear()
|
|
537
|
+
{
|
|
538
|
+
Vector2 p = new(0f, 0f);
|
|
539
|
+
Vector2 q = new(1f, 1f);
|
|
540
|
+
Vector2 r = new(2f, 2f);
|
|
541
|
+
|
|
542
|
+
Assert.AreEqual(
|
|
543
|
+
UnityExtensions.OrientationType.Colinear,
|
|
544
|
+
UnityExtensions.Orientation(p, q, r)
|
|
545
|
+
);
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
[Test]
|
|
549
|
+
public void OrientationClockwisePointsReturnsClockwise()
|
|
550
|
+
{
|
|
551
|
+
Vector2 p = new(0f, 0f);
|
|
552
|
+
Vector2 q = new(1f, 1f);
|
|
553
|
+
Vector2 r = new(2f, 0f);
|
|
554
|
+
|
|
555
|
+
Assert.AreEqual(
|
|
556
|
+
UnityExtensions.OrientationType.Clockwise,
|
|
557
|
+
UnityExtensions.Orientation(p, q, r)
|
|
558
|
+
);
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
[Test]
|
|
562
|
+
public void OrientationCounterclockwisePointsReturnsCounterclockwise()
|
|
563
|
+
{
|
|
564
|
+
Vector2 p = new(0f, 0f);
|
|
565
|
+
Vector2 q = new(1f, 1f);
|
|
566
|
+
Vector2 r = new(0f, 2f);
|
|
567
|
+
|
|
568
|
+
Assert.AreEqual(
|
|
569
|
+
UnityExtensions.OrientationType.Counterclockwise,
|
|
570
|
+
UnityExtensions.Orientation(p, q, r)
|
|
571
|
+
);
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
[Test]
|
|
575
|
+
public void OrientationHorizontalColinearPointsReturnsColinear()
|
|
576
|
+
{
|
|
577
|
+
Vector2 p = new(0f, 5f);
|
|
578
|
+
Vector2 q = new(5f, 5f);
|
|
579
|
+
Vector2 r = new(10f, 5f);
|
|
580
|
+
|
|
581
|
+
Assert.AreEqual(
|
|
582
|
+
UnityExtensions.OrientationType.Colinear,
|
|
583
|
+
UnityExtensions.Orientation(p, q, r)
|
|
584
|
+
);
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
[Test]
|
|
588
|
+
public void OrientationVerticalColinearPointsReturnsColinear()
|
|
589
|
+
{
|
|
590
|
+
Vector2 p = new(5f, 0f);
|
|
591
|
+
Vector2 q = new(5f, 5f);
|
|
592
|
+
Vector2 r = new(5f, 10f);
|
|
593
|
+
|
|
594
|
+
Assert.AreEqual(
|
|
595
|
+
UnityExtensions.OrientationType.Colinear,
|
|
596
|
+
UnityExtensions.Orientation(p, q, r)
|
|
597
|
+
);
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
[Test]
|
|
601
|
+
public void OrientationIdenticalPointsReturnsColinear()
|
|
602
|
+
{
|
|
603
|
+
Vector2 p = new(5f, 5f);
|
|
604
|
+
|
|
605
|
+
Assert.AreEqual(
|
|
606
|
+
UnityExtensions.OrientationType.Colinear,
|
|
607
|
+
UnityExtensions.Orientation(p, p, p)
|
|
608
|
+
);
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
[Test]
|
|
612
|
+
public void OrientationNegativeCoordinatesClockwiseReturnsClockwise()
|
|
613
|
+
{
|
|
614
|
+
Vector2 p = new(-5f, -5f);
|
|
615
|
+
Vector2 q = new(0f, 0f);
|
|
616
|
+
Vector2 r = new(5f, -5f);
|
|
617
|
+
|
|
618
|
+
Assert.AreEqual(
|
|
619
|
+
UnityExtensions.OrientationType.Clockwise,
|
|
620
|
+
UnityExtensions.Orientation(p, q, r)
|
|
621
|
+
);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
[Test]
|
|
625
|
+
public void OrientationVerySmallAnglesDetectsCorrectly()
|
|
626
|
+
{
|
|
627
|
+
Vector2 p = new(0f, 0f);
|
|
628
|
+
Vector2 q = new(100f, 0f);
|
|
629
|
+
Vector2 r = new(200f, 0.1f);
|
|
630
|
+
|
|
631
|
+
// Should be counterclockwise due to slight upward deviation
|
|
632
|
+
Assert.AreEqual(
|
|
633
|
+
UnityExtensions.OrientationType.Counterclockwise,
|
|
634
|
+
UnityExtensions.Orientation(p, q, r)
|
|
635
|
+
);
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
[Test]
|
|
639
|
+
public void OrientationRightAngleClockwiseReturnsClockwise()
|
|
640
|
+
{
|
|
641
|
+
Vector2 p = new(0f, 0f);
|
|
642
|
+
Vector2 q = new(1f, 0f);
|
|
643
|
+
Vector2 r = new(1f, -1f);
|
|
644
|
+
|
|
645
|
+
Assert.AreEqual(
|
|
646
|
+
UnityExtensions.OrientationType.Clockwise,
|
|
647
|
+
UnityExtensions.Orientation(p, q, r)
|
|
648
|
+
);
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
[Test]
|
|
652
|
+
public void OrientationRightAngleCounterclockwiseReturnsCounterclockwise()
|
|
653
|
+
{
|
|
654
|
+
Vector2 p = new(0f, 0f);
|
|
655
|
+
Vector2 q = new(1f, 0f);
|
|
656
|
+
Vector2 r = new(1f, 1f);
|
|
657
|
+
|
|
658
|
+
Assert.AreEqual(
|
|
659
|
+
UnityExtensions.OrientationType.Counterclockwise,
|
|
660
|
+
UnityExtensions.Orientation(p, q, r)
|
|
661
|
+
);
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
[Test]
|
|
665
|
+
public void RotateZeroDegreesReturnsOriginalVector()
|
|
666
|
+
{
|
|
667
|
+
Vector2 v = new(1f, 0f);
|
|
668
|
+
Vector2 rotated = v.Rotate(0f);
|
|
669
|
+
|
|
670
|
+
Assert.AreEqual(1f, rotated.x, 1e-5f);
|
|
671
|
+
Assert.AreEqual(0f, rotated.y, 1e-5f);
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
[Test]
|
|
675
|
+
public void Rotate90DegreesRotatesCorrectly()
|
|
676
|
+
{
|
|
677
|
+
Vector2 v = new(1f, 0f);
|
|
678
|
+
Vector2 rotated = v.Rotate(90f);
|
|
679
|
+
|
|
680
|
+
Assert.AreEqual(0f, rotated.x, 1e-5f);
|
|
681
|
+
Assert.AreEqual(1f, rotated.y, 1e-5f);
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
[Test]
|
|
685
|
+
public void Rotate180DegreesRotatesCorrectly()
|
|
686
|
+
{
|
|
687
|
+
Vector2 v = new(1f, 0f);
|
|
688
|
+
Vector2 rotated = v.Rotate(180f);
|
|
689
|
+
|
|
690
|
+
Assert.AreEqual(-1f, rotated.x, 1e-5f);
|
|
691
|
+
Assert.AreEqual(0f, rotated.y, 1e-5f);
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
[Test]
|
|
695
|
+
public void Rotate270DegreesRotatesCorrectly()
|
|
696
|
+
{
|
|
697
|
+
Vector2 v = new(1f, 0f);
|
|
698
|
+
Vector2 rotated = v.Rotate(270f);
|
|
699
|
+
|
|
700
|
+
Assert.AreEqual(0f, rotated.x, 1e-5f);
|
|
701
|
+
Assert.AreEqual(-1f, rotated.y, 1e-5f);
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
[Test]
|
|
705
|
+
public void Rotate360DegreesReturnsOriginalVector()
|
|
706
|
+
{
|
|
707
|
+
Vector2 v = new(1f, 0f);
|
|
708
|
+
Vector2 rotated = v.Rotate(360f);
|
|
709
|
+
|
|
710
|
+
Assert.AreEqual(1f, rotated.x, 1e-5f);
|
|
711
|
+
Assert.AreEqual(0f, rotated.y, 1e-5f);
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
[Test]
|
|
715
|
+
public void RotateNegativeAngleRotatesClockwise()
|
|
716
|
+
{
|
|
717
|
+
Vector2 v = new(1f, 0f);
|
|
718
|
+
Vector2 rotated = v.Rotate(-90f);
|
|
719
|
+
|
|
720
|
+
Assert.AreEqual(0f, rotated.x, 1e-5f);
|
|
721
|
+
Assert.AreEqual(-1f, rotated.y, 1e-5f);
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
[Test]
|
|
725
|
+
public void Rotate45DegreesRotatesCorrectly()
|
|
726
|
+
{
|
|
727
|
+
Vector2 v = new(1f, 0f);
|
|
728
|
+
Vector2 rotated = v.Rotate(45f);
|
|
729
|
+
|
|
730
|
+
float expected = Mathf.Sqrt(2f) / 2f;
|
|
731
|
+
Assert.AreEqual(expected, rotated.x, 1e-5f);
|
|
732
|
+
Assert.AreEqual(expected, rotated.y, 1e-5f);
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
[Test]
|
|
736
|
+
public void RotateZeroVectorReturnsZeroVector()
|
|
737
|
+
{
|
|
738
|
+
Vector2 v = new(0f, 0f);
|
|
739
|
+
Vector2 rotated = v.Rotate(45f);
|
|
740
|
+
|
|
741
|
+
Assert.AreEqual(0f, rotated.x, 1e-5f);
|
|
742
|
+
Assert.AreEqual(0f, rotated.y, 1e-5f);
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
[Test]
|
|
746
|
+
public void RotateLargeAngleRotatesCorrectly()
|
|
747
|
+
{
|
|
748
|
+
Vector2 v = new(1f, 0f);
|
|
749
|
+
Vector2 rotated = v.Rotate(720f); // Two full rotations
|
|
750
|
+
|
|
751
|
+
Assert.AreEqual(1f, rotated.x, 1e-5f);
|
|
752
|
+
Assert.AreEqual(0f, rotated.y, 1e-5f);
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
[Test]
|
|
756
|
+
public void RotatePreservesMagnitude()
|
|
757
|
+
{
|
|
758
|
+
Vector2 v = new(3f, 4f);
|
|
759
|
+
float originalMagnitude = v.magnitude;
|
|
760
|
+
Vector2 rotated = v.Rotate(73f);
|
|
761
|
+
|
|
762
|
+
Assert.AreEqual(originalMagnitude, rotated.magnitude, 1e-5f);
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
[Test]
|
|
766
|
+
public void RotateNonUnitVectorRotatesCorrectly()
|
|
767
|
+
{
|
|
768
|
+
Vector2 v = new(3f, 4f);
|
|
769
|
+
Vector2 rotated = v.Rotate(90f);
|
|
770
|
+
|
|
771
|
+
Assert.AreEqual(-4f, rotated.x, 1e-5f);
|
|
772
|
+
Assert.AreEqual(3f, rotated.y, 1e-5f);
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
[Test]
|
|
776
|
+
public void RotateNegativeCoordinatesRotatesCorrectly()
|
|
777
|
+
{
|
|
778
|
+
Vector2 v = new(-1f, -1f);
|
|
779
|
+
Vector2 rotated = v.Rotate(90f);
|
|
780
|
+
|
|
781
|
+
Assert.AreEqual(1f, rotated.x, 1e-5f);
|
|
782
|
+
Assert.AreEqual(-1f, rotated.y, 1e-5f);
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
[Test]
|
|
786
|
+
public void FastIntersects3DOverlappingBoundsReturnsTrue()
|
|
787
|
+
{
|
|
788
|
+
Bounds bounds1 = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
789
|
+
Bounds bounds2 = new(new Vector3(8f, 8f, 8f), new Vector3(10f, 10f, 10f));
|
|
790
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
[Test]
|
|
794
|
+
public void FastIntersects3DTouchingEdgesReturnsTrue()
|
|
795
|
+
{
|
|
796
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
797
|
+
Bounds bounds2 = new(new Vector3(10f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
798
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
[Test]
|
|
802
|
+
public void FastIntersects3DSeparatedBoundsReturnsFalse()
|
|
803
|
+
{
|
|
804
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
805
|
+
Bounds bounds2 = new(new Vector3(20f, 20f, 20f), new Vector3(10f, 10f, 10f));
|
|
806
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
[Test]
|
|
810
|
+
public void FastIntersects3DOneInsideOtherReturnsTrue()
|
|
811
|
+
{
|
|
812
|
+
Bounds bounds1 = new(new Vector3(50f, 50f, 50f), new Vector3(100f, 100f, 100f));
|
|
813
|
+
Bounds bounds2 = new(new Vector3(50f, 50f, 50f), new Vector3(50f, 50f, 50f));
|
|
814
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
[Test]
|
|
818
|
+
public void FastIntersects3DIdenticalBoundsReturnsTrue()
|
|
819
|
+
{
|
|
820
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
821
|
+
Assert.IsTrue(bounds.FastIntersects(bounds));
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
[Test]
|
|
825
|
+
public void FastIntersects3DSeparatedOnXAxisReturnsFalse()
|
|
826
|
+
{
|
|
827
|
+
Bounds bounds1 = new(new Vector3(0f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
828
|
+
Bounds bounds2 = new(new Vector3(20f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
829
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
[Test]
|
|
833
|
+
public void FastIntersects3DSeparatedOnYAxisReturnsFalse()
|
|
834
|
+
{
|
|
835
|
+
Bounds bounds1 = new(new Vector3(5f, 0f, 5f), new Vector3(10f, 10f, 10f));
|
|
836
|
+
Bounds bounds2 = new(new Vector3(5f, 20f, 5f), new Vector3(10f, 10f, 10f));
|
|
837
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
[Test]
|
|
841
|
+
public void FastIntersects3DSeparatedOnZAxisReturnsFalse()
|
|
842
|
+
{
|
|
843
|
+
Bounds bounds1 = new(new Vector3(5f, 5f, 0f), new Vector3(10f, 10f, 10f));
|
|
844
|
+
Bounds bounds2 = new(new Vector3(5f, 5f, 20f), new Vector3(10f, 10f, 10f));
|
|
845
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
[Test]
|
|
849
|
+
public void FastIntersects3DNegativeCoordinatesOverlappingReturnsTrue()
|
|
850
|
+
{
|
|
851
|
+
Bounds bounds1 = new(new Vector3(-5f, -5f, -5f), new Vector3(10f, 10f, 10f));
|
|
852
|
+
Bounds bounds2 = new(new Vector3(-3f, -3f, -3f), new Vector3(10f, 10f, 10f));
|
|
853
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
[Test]
|
|
857
|
+
public void FastIntersects3DPartialOverlapAllAxesReturnsTrue()
|
|
858
|
+
{
|
|
859
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
860
|
+
Bounds bounds2 = new(new Vector3(8f, 8f, 8f), new Vector3(10f, 10f, 10f));
|
|
861
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
[Test]
|
|
865
|
+
public void FastIntersects3DVerySmallBoundsOverlappingReturnsTrue()
|
|
866
|
+
{
|
|
867
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(0.01f, 0.01f, 0.01f));
|
|
868
|
+
Bounds bounds2 = new(
|
|
869
|
+
new Vector3(0.005f, 0.005f, 0.005f),
|
|
870
|
+
new Vector3(0.01f, 0.01f, 0.01f)
|
|
871
|
+
);
|
|
872
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
[Test]
|
|
876
|
+
public void FastIntersects3DVeryLargeBoundsOverlappingReturnsTrue()
|
|
877
|
+
{
|
|
878
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10000f, 10000f, 10000f));
|
|
879
|
+
Bounds bounds2 = new(
|
|
880
|
+
new Vector3(5000f, 5000f, 5000f),
|
|
881
|
+
new Vector3(10000f, 10000f, 10000f)
|
|
882
|
+
);
|
|
883
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
[Test]
|
|
887
|
+
public void FastIntersects3DAlmostTouchingBoundsReturnsFalse()
|
|
888
|
+
{
|
|
889
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
890
|
+
// Place bounds2 just beyond touching so there's a gap on X
|
|
891
|
+
Bounds bounds2 = new(new Vector3(10.01f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
892
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
[Test]
|
|
896
|
+
public void FastIntersects3DTouchingAtSinglePointReturnsTrue()
|
|
897
|
+
{
|
|
898
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
899
|
+
Bounds bounds2 = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
900
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
[Test]
|
|
904
|
+
public void FastIntersects3DOnlyXOverlapsReturnsFalse()
|
|
905
|
+
{
|
|
906
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
907
|
+
Bounds bounds2 = new(new Vector3(5f, 11f, 11f), new Vector3(10f, 10f, 10f));
|
|
908
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
[Test]
|
|
912
|
+
public void FastIntersects3DOnlyYOverlapsReturnsFalse()
|
|
913
|
+
{
|
|
914
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
915
|
+
Bounds bounds2 = new(new Vector3(11f, 5f, 11f), new Vector3(10f, 10f, 10f));
|
|
916
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
[Test]
|
|
920
|
+
public void FastIntersects3DOnlyZOverlapsReturnsFalse()
|
|
921
|
+
{
|
|
922
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
923
|
+
Bounds bounds2 = new(new Vector3(11f, 11f, 5f), new Vector3(10f, 10f, 10f));
|
|
924
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
[Test]
|
|
928
|
+
public void FastIntersects3DXYOverlapZSeparatedReturnsFalse()
|
|
929
|
+
{
|
|
930
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
931
|
+
Bounds bounds2 = new(new Vector3(5f, 5f, 11f), new Vector3(10f, 10f, 10f));
|
|
932
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
[Test]
|
|
936
|
+
public void FastIntersects3DXZOverlapYSeparatedReturnsFalse()
|
|
937
|
+
{
|
|
938
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
939
|
+
Bounds bounds2 = new(new Vector3(5f, 11f, 5f), new Vector3(10f, 10f, 10f));
|
|
940
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
[Test]
|
|
944
|
+
public void FastIntersects3DYZOverlapXSeparatedReturnsFalse()
|
|
945
|
+
{
|
|
946
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
947
|
+
Bounds bounds2 = new(new Vector3(11f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
948
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
[Test]
|
|
952
|
+
public void FastIntersects3DBarelyOverlappingXReturnsTrue()
|
|
953
|
+
{
|
|
954
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
955
|
+
Bounds bounds2 = new(new Vector3(4.99f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
956
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
[Test]
|
|
960
|
+
public void FastIntersects3DBarelyOverlappingYReturnsTrue()
|
|
961
|
+
{
|
|
962
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
963
|
+
Bounds bounds2 = new(new Vector3(0f, 4.99f, 0f), new Vector3(10f, 10f, 10f));
|
|
964
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
[Test]
|
|
968
|
+
public void FastIntersects3DBarelyOverlappingZReturnsTrue()
|
|
969
|
+
{
|
|
970
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
971
|
+
Bounds bounds2 = new(new Vector3(0f, 0f, 4.99f), new Vector3(10f, 10f, 10f));
|
|
972
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
[Test]
|
|
976
|
+
public void FastIntersects3DBoundsWithZeroVolumeReturnsFalse()
|
|
977
|
+
{
|
|
978
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
979
|
+
Bounds bounds2 = new(new Vector3(5f, 5f, 5f), new Vector3(0f, 0f, 0f));
|
|
980
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
[Test]
|
|
984
|
+
public void FastIntersects3DBothBoundsWithZeroVolumeReturnsFalse()
|
|
985
|
+
{
|
|
986
|
+
Bounds bounds1 = new(new Vector3(5f, 5f, 5f), new Vector3(0f, 0f, 0f));
|
|
987
|
+
Bounds bounds2 = new(new Vector3(5f, 5f, 5f), new Vector3(0f, 0f, 0f));
|
|
988
|
+
Assert.IsFalse(bounds1.FastIntersects(bounds2));
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
[Test]
|
|
992
|
+
public void FastIntersects3DThinSliceOverlapsReturnsTrue()
|
|
993
|
+
{
|
|
994
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
995
|
+
Bounds bounds2 = new(new Vector3(5f, 5f, 5f), new Vector3(0.01f, 10f, 10f));
|
|
996
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
[Test]
|
|
1000
|
+
public void FastIntersects3DLineSegmentOverlapsReturnsTrue()
|
|
1001
|
+
{
|
|
1002
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1003
|
+
Bounds bounds2 = new(new Vector3(5f, 5f, 5f), new Vector3(0.01f, 0.01f, 10f));
|
|
1004
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
[Test]
|
|
1008
|
+
public void FastIntersects3DExtremeNegativeCoordinatesReturnsTrue()
|
|
1009
|
+
{
|
|
1010
|
+
Bounds bounds1 = new(
|
|
1011
|
+
new Vector3(-1000f, -1000f, -1000f),
|
|
1012
|
+
new Vector3(100f, 100f, 100f)
|
|
1013
|
+
);
|
|
1014
|
+
Bounds bounds2 = new(new Vector3(-960f, -960f, -960f), new Vector3(100f, 100f, 100f));
|
|
1015
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
[Test]
|
|
1019
|
+
public void FastIntersects3DMixedPositiveNegativeCoordinatesReturnsTrue()
|
|
1020
|
+
{
|
|
1021
|
+
Bounds bounds1 = new(new Vector3(-5f, -5f, -5f), new Vector3(20f, 20f, 20f));
|
|
1022
|
+
Bounds bounds2 = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1023
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
[Test]
|
|
1027
|
+
public void FastIntersects3DMinimalOverlapAllAxesReturnsTrue()
|
|
1028
|
+
{
|
|
1029
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1030
|
+
Bounds bounds2 = new(new Vector3(4.99f, 4.99f, 4.99f), new Vector3(10f, 10f, 10f));
|
|
1031
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
[Test]
|
|
1035
|
+
public void FastIntersects3DCompletelyContainingBoundsReturnsTrue()
|
|
1036
|
+
{
|
|
1037
|
+
Bounds bounds1 = new(new Vector3(0f, 0f, 0f), new Vector3(100f, 100f, 100f));
|
|
1038
|
+
Bounds bounds2 = new(new Vector3(25f, 25f, 25f), new Vector3(10f, 10f, 10f));
|
|
1039
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
[Test]
|
|
1043
|
+
public void FastIntersects3DCompletelyContainedBoundsReturnsTrue()
|
|
1044
|
+
{
|
|
1045
|
+
Bounds bounds1 = new(new Vector3(25f, 25f, 25f), new Vector3(10f, 10f, 10f));
|
|
1046
|
+
Bounds bounds2 = new(new Vector3(0f, 0f, 0f), new Vector3(100f, 100f, 100f));
|
|
1047
|
+
Assert.IsTrue(bounds1.FastIntersects(bounds2));
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
[Test]
|
|
1051
|
+
public void FastContains3DPointInsideReturnsTrue()
|
|
1052
|
+
{
|
|
1053
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1054
|
+
Vector3 point = new(5f, 5f, 5f);
|
|
1055
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
[Test]
|
|
1059
|
+
public void FastContains3DPointAtMinReturnsTrue()
|
|
1060
|
+
{
|
|
1061
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1062
|
+
Vector3 point = new(0f, 0f, 0f);
|
|
1063
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
[Test]
|
|
1067
|
+
public void FastContains3DPointAtMaxReturnsFalse()
|
|
1068
|
+
{
|
|
1069
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1070
|
+
Vector3 point = new(10f, 10f, 10f);
|
|
1071
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
[Test]
|
|
1075
|
+
public void FastContains3DPointJustBelowMaxReturnsTrue()
|
|
1076
|
+
{
|
|
1077
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1078
|
+
Vector3 point = new(9.99f, 9.99f, 9.99f);
|
|
1079
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
[Test]
|
|
1083
|
+
public void FastContains3DPointJustBelowMinReturnsFalse()
|
|
1084
|
+
{
|
|
1085
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1086
|
+
Vector3 point = new(-0.01f, 5f, 5f);
|
|
1087
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
[Test]
|
|
1091
|
+
public void FastContains3DPointOutsideXReturnsFalse()
|
|
1092
|
+
{
|
|
1093
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1094
|
+
Vector3 point = new(10.1f, 5f, 5f);
|
|
1095
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
[Test]
|
|
1099
|
+
public void FastContains3DPointOutsideYReturnsFalse()
|
|
1100
|
+
{
|
|
1101
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1102
|
+
Vector3 point = new(5f, 10.1f, 5f);
|
|
1103
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
[Test]
|
|
1107
|
+
public void FastContains3DPointOutsideZReturnsFalse()
|
|
1108
|
+
{
|
|
1109
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1110
|
+
Vector3 point = new(5f, 5f, 10.1f);
|
|
1111
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
[Test]
|
|
1115
|
+
public void FastContains3DPointOnMaxXEdgeReturnsFalse()
|
|
1116
|
+
{
|
|
1117
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1118
|
+
Vector3 point = new(5f, 2f, 2f);
|
|
1119
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
[Test]
|
|
1123
|
+
public void FastContains3DPointOnMaxYEdgeReturnsFalse()
|
|
1124
|
+
{
|
|
1125
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1126
|
+
Vector3 point = new(2f, 5f, 2f);
|
|
1127
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
[Test]
|
|
1131
|
+
public void FastContains3DPointOnMaxZEdgeReturnsFalse()
|
|
1132
|
+
{
|
|
1133
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1134
|
+
Vector3 point = new(2f, 2f, 5f);
|
|
1135
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1136
|
+
}
|
|
1137
|
+
|
|
1138
|
+
[Test]
|
|
1139
|
+
public void FastContains3DPointNegativeCoordinatesInsideReturnsTrue()
|
|
1140
|
+
{
|
|
1141
|
+
Bounds bounds = new(new Vector3(-5f, -5f, -5f), new Vector3(10f, 10f, 10f));
|
|
1142
|
+
Vector3 point = new(-3f, -3f, -3f);
|
|
1143
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
[Test]
|
|
1147
|
+
public void FastContains3DPointNegativeCoordinatesOutsideReturnsFalse()
|
|
1148
|
+
{
|
|
1149
|
+
Bounds bounds = new(new Vector3(-5f, -5f, -5f), new Vector3(10f, 10f, 10f));
|
|
1150
|
+
// Put x below bounds.min.x (-10) so the point is truly outside
|
|
1151
|
+
Vector3 point = new(-10.1f, -3f, -3f);
|
|
1152
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
[Test]
|
|
1156
|
+
public void FastContains3DPointVerySmallBoundsInsideReturnsTrue()
|
|
1157
|
+
{
|
|
1158
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(0.01f, 0.01f, 0.01f));
|
|
1159
|
+
// Use a point strictly inside the half-open max boundary
|
|
1160
|
+
Vector3 point = new(0.0049f, 0.0049f, 0.0049f);
|
|
1161
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
[Test]
|
|
1165
|
+
public void FastContains3DPointVeryLargeBoundsInsideReturnsTrue()
|
|
1166
|
+
{
|
|
1167
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10000f, 10000f, 10000f));
|
|
1168
|
+
Vector3 point = new(4999f, 4999f, 4999f);
|
|
1169
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
[Test]
|
|
1173
|
+
public void FastContains3DPointAtCenterReturnsTrue()
|
|
1174
|
+
{
|
|
1175
|
+
Bounds bounds = new(new Vector3(10f, 10f, 10f), new Vector3(20f, 20f, 20f));
|
|
1176
|
+
Vector3 point = bounds.center;
|
|
1177
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
[Test]
|
|
1181
|
+
public void FastContains3DPointZeroBoundsReturnsFalse()
|
|
1182
|
+
{
|
|
1183
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(0f, 0f, 0f));
|
|
1184
|
+
Vector3 point = new(5f, 5f, 5f);
|
|
1185
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
[Test]
|
|
1189
|
+
public void FastContains3DPointOnMinXEdgeReturnsTrue()
|
|
1190
|
+
{
|
|
1191
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1192
|
+
Vector3 point = new(-5f, 2f, 2f);
|
|
1193
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
[Test]
|
|
1197
|
+
public void FastContains3DPointOnMinYEdgeReturnsTrue()
|
|
1198
|
+
{
|
|
1199
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1200
|
+
Vector3 point = new(2f, -5f, 2f);
|
|
1201
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
[Test]
|
|
1205
|
+
public void FastContains3DPointOnMinZEdgeReturnsTrue()
|
|
1206
|
+
{
|
|
1207
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1208
|
+
Vector3 point = new(2f, 2f, -5f);
|
|
1209
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
[Test]
|
|
1213
|
+
public void FastContains3DPointExactlyAtMaxXReturnsFalse()
|
|
1214
|
+
{
|
|
1215
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1216
|
+
Vector3 point = new(5f, 2f, 2f);
|
|
1217
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
[Test]
|
|
1221
|
+
public void FastContains3DPointExactlyAtMaxYReturnsFalse()
|
|
1222
|
+
{
|
|
1223
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1224
|
+
Vector3 point = new(2f, 5f, 2f);
|
|
1225
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
[Test]
|
|
1229
|
+
public void FastContains3DPointExactlyAtMaxZReturnsFalse()
|
|
1230
|
+
{
|
|
1231
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1232
|
+
Vector3 point = new(2f, 2f, 5f);
|
|
1233
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
[Test]
|
|
1237
|
+
public void FastContains3DPointBarelyInsideMinXReturnsTrue()
|
|
1238
|
+
{
|
|
1239
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1240
|
+
Vector3 point = new(-4.99f, 2f, 2f);
|
|
1241
|
+
Assert.IsTrue(bounds.FastContains3D(point));
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1244
|
+
[Test]
|
|
1245
|
+
public void FastContains3DPointBarelyOutsideMaxXReturnsFalse()
|
|
1246
|
+
{
|
|
1247
|
+
Bounds bounds = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1248
|
+
Vector3 point = new(5.01f, 2f, 2f);
|
|
1249
|
+
Assert.IsFalse(bounds.FastContains3D(point));
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
[Test]
|
|
1253
|
+
public void FastContains3DBoundsFullyContainedReturnsTrue()
|
|
1254
|
+
{
|
|
1255
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(100f, 100f, 100f));
|
|
1256
|
+
Bounds inner = new(new Vector3(25f, 25f, 25f), new Vector3(50f, 50f, 50f));
|
|
1257
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
[Test]
|
|
1261
|
+
public void FastContains3DBoundsIdenticalBoundsReturnsTrue()
|
|
1262
|
+
{
|
|
1263
|
+
Bounds bounds = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1264
|
+
Assert.IsTrue(bounds.FastContains3D(bounds));
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
[Test]
|
|
1268
|
+
public void FastContains3DBoundsPartiallyOutsideReturnsFalse()
|
|
1269
|
+
{
|
|
1270
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1271
|
+
Bounds inner = new(new Vector3(5f, 5f, 5f), new Vector3(20f, 20f, 20f));
|
|
1272
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
[Test]
|
|
1276
|
+
public void FastContains3DBoundsCompletelyOutsideReturnsFalse()
|
|
1277
|
+
{
|
|
1278
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1279
|
+
Bounds inner = new(new Vector3(20f, 20f, 20f), new Vector3(10f, 10f, 10f));
|
|
1280
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
[Test]
|
|
1284
|
+
public void FastContains3DBoundsInnerMinOutsideReturnsFalse()
|
|
1285
|
+
{
|
|
1286
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1287
|
+
Bounds inner = new(
|
|
1288
|
+
// Shift slightly so inner.min.x is strictly less than outer.min.x
|
|
1289
|
+
new Vector3(-5.1f, 5f, 5f),
|
|
1290
|
+
new Vector3(10f, 10f, 10f)
|
|
1291
|
+
);
|
|
1292
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1295
|
+
[Test]
|
|
1296
|
+
public void FastContains3DBoundsInnerMaxOutsideReturnsFalse()
|
|
1297
|
+
{
|
|
1298
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1299
|
+
Bounds inner = new(new Vector3(5f, 5f, 5f), new Vector3(30f, 10f, 10f));
|
|
1300
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
[Test]
|
|
1304
|
+
public void FastContains3DBoundsInnerTouchingOuterMinReturnsTrue()
|
|
1305
|
+
{
|
|
1306
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1307
|
+
Bounds inner = new(
|
|
1308
|
+
// Place inner so inner.min == outer.min and inner.max < outer.max (touches min only)
|
|
1309
|
+
new Vector3(-5f, -5f, -5f),
|
|
1310
|
+
new Vector3(10f, 10f, 10f)
|
|
1311
|
+
);
|
|
1312
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
[Test]
|
|
1316
|
+
public void FastContains3DBoundsInnerTouchingOuterMaxReturnsTrue()
|
|
1317
|
+
{
|
|
1318
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1319
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1320
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1323
|
+
[Test]
|
|
1324
|
+
public void FastContains3DBoundsInnerJustBeyondMaxReturnsFalse()
|
|
1325
|
+
{
|
|
1326
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1327
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(20.01f, 20f, 20f));
|
|
1328
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
[Test]
|
|
1332
|
+
public void FastContains3DBoundsInnerJustBeyondMinReturnsFalse()
|
|
1333
|
+
{
|
|
1334
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1335
|
+
Bounds inner = new(new Vector3(-10.01f, -10f, -10f), new Vector3(20f, 20f, 20f));
|
|
1336
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
[Test]
|
|
1340
|
+
public void FastContains3DBoundsNegativeCoordinatesFullyContainedReturnsTrue()
|
|
1341
|
+
{
|
|
1342
|
+
Bounds outer = new(new Vector3(-50f, -50f, -50f), new Vector3(100f, 100f, 100f));
|
|
1343
|
+
Bounds inner = new(new Vector3(-25f, -25f, -25f), new Vector3(50f, 50f, 50f));
|
|
1344
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
[Test]
|
|
1348
|
+
public void FastContains3DBoundsVerySmallInnerReturnsTrue()
|
|
1349
|
+
{
|
|
1350
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1351
|
+
Bounds inner = new(
|
|
1352
|
+
// Place the very small inner well inside the outer
|
|
1353
|
+
new Vector3(0f, 0f, 0f),
|
|
1354
|
+
new Vector3(0.01f, 0.01f, 0.01f)
|
|
1355
|
+
);
|
|
1356
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
[Test]
|
|
1360
|
+
public void FastContains3DBoundsVeryLargeOuterReturnsTrue()
|
|
1361
|
+
{
|
|
1362
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10000f, 10000f, 10000f));
|
|
1363
|
+
Bounds inner = new(new Vector3(100f, 100f, 100f), new Vector3(500f, 500f, 500f));
|
|
1364
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
[Test]
|
|
1368
|
+
public void FastContains3DBoundsZeroVolumeInnerReturnsTrue()
|
|
1369
|
+
{
|
|
1370
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1371
|
+
Bounds inner = new(new Vector3(5f, 5f, 5f), new Vector3(0f, 0f, 0f));
|
|
1372
|
+
// Degenerate inner (point) at (5,5,5) is within outer; containment is inclusive
|
|
1373
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
[Test]
|
|
1377
|
+
public void FastContains3DBoundsInnerExceedsOnXAxisReturnsFalse()
|
|
1378
|
+
{
|
|
1379
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1380
|
+
Bounds inner = new(new Vector3(0f, 2f, 2f), new Vector3(20f, 5f, 5f));
|
|
1381
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
[Test]
|
|
1385
|
+
public void FastContains3DBoundsInnerExceedsOnYAxisReturnsFalse()
|
|
1386
|
+
{
|
|
1387
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1388
|
+
Bounds inner = new(new Vector3(2f, 0f, 2f), new Vector3(5f, 20f, 5f));
|
|
1389
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1392
|
+
[Test]
|
|
1393
|
+
public void FastContains3DBoundsInnerExceedsOnZAxisReturnsFalse()
|
|
1394
|
+
{
|
|
1395
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1396
|
+
Bounds inner = new(new Vector3(2f, 2f, 0f), new Vector3(5f, 5f, 20f));
|
|
1397
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1400
|
+
[Test]
|
|
1401
|
+
public void FastContains3DBoundsInnerMinBelowOnXReturnsFalse()
|
|
1402
|
+
{
|
|
1403
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1404
|
+
Bounds inner = new(new Vector3(-5.1f, 0f, 0f), new Vector3(5f, 5f, 5f));
|
|
1405
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
[Test]
|
|
1409
|
+
public void FastContains3DBoundsInnerMinBelowOnYReturnsFalse()
|
|
1410
|
+
{
|
|
1411
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1412
|
+
Bounds inner = new(new Vector3(0f, -5.1f, 0f), new Vector3(5f, 5f, 5f));
|
|
1413
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
[Test]
|
|
1417
|
+
public void FastContains3DBoundsInnerMinBelowOnZReturnsFalse()
|
|
1418
|
+
{
|
|
1419
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1420
|
+
Bounds inner = new(new Vector3(0f, 0f, -5.1f), new Vector3(5f, 5f, 5f));
|
|
1421
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1424
|
+
[Test]
|
|
1425
|
+
public void FastContains3DBoundsInnerBarelyFitsReturnsTrue()
|
|
1426
|
+
{
|
|
1427
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1428
|
+
Bounds inner = new(
|
|
1429
|
+
// Place centered so it's just slightly smaller than outer on all sides
|
|
1430
|
+
new Vector3(0f, 0f, 0f),
|
|
1431
|
+
new Vector3(19.99f, 19.99f, 19.99f)
|
|
1432
|
+
);
|
|
1433
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1434
|
+
}
|
|
1435
|
+
|
|
1436
|
+
[Test]
|
|
1437
|
+
public void FastContains3DBoundsInnerBarelyDoesNotFitOnXReturnsFalse()
|
|
1438
|
+
{
|
|
1439
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1440
|
+
Bounds inner = new(new Vector3(-10f, -9.99f, -9.99f), new Vector3(20f, 19.99f, 19.99f));
|
|
1441
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
[Test]
|
|
1445
|
+
public void FastContains3DBoundsInnerBarelyDoesNotFitOnYReturnsFalse()
|
|
1446
|
+
{
|
|
1447
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1448
|
+
Bounds inner = new(new Vector3(-9.99f, -10f, -9.99f), new Vector3(19.99f, 20f, 19.99f));
|
|
1449
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
[Test]
|
|
1453
|
+
public void FastContains3DBoundsInnerBarelyDoesNotFitOnZReturnsFalse()
|
|
1454
|
+
{
|
|
1455
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1456
|
+
Bounds inner = new(new Vector3(-9.99f, -9.99f, -10f), new Vector3(19.99f, 19.99f, 20f));
|
|
1457
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1458
|
+
}
|
|
1459
|
+
|
|
1460
|
+
[Test]
|
|
1461
|
+
public void FastContains3DBoundsMixedPositiveNegativeReturnsTrue()
|
|
1462
|
+
{
|
|
1463
|
+
Bounds outer = new(new Vector3(-10f, -10f, -10f), new Vector3(40f, 40f, 40f));
|
|
1464
|
+
Bounds inner = new(
|
|
1465
|
+
// Adjust Z so inner.max.z does not exceed outer.max.z
|
|
1466
|
+
new Vector3(-5f, 0f, 0f),
|
|
1467
|
+
new Vector3(20f, 20f, 20f)
|
|
1468
|
+
);
|
|
1469
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1472
|
+
[Test]
|
|
1473
|
+
public void FastContains3DBoundsOuterLargerOnlyOnOneAxisReturnsFalse()
|
|
1474
|
+
{
|
|
1475
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 5f, 5f));
|
|
1476
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(5f, 10f, 5f));
|
|
1477
|
+
Assert.IsFalse(outer.FastContains3D(inner));
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
[Test]
|
|
1481
|
+
public void FastContains3DBoundsInnerSingleAxisSliceReturnsTrue()
|
|
1482
|
+
{
|
|
1483
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1484
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(0.01f, 10f, 10f));
|
|
1485
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
[Test]
|
|
1489
|
+
public void FastContains3DBoundsInnerLineSegmentReturnsTrue()
|
|
1490
|
+
{
|
|
1491
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1492
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(0.01f, 0.01f, 10f));
|
|
1493
|
+
Assert.IsTrue(outer.FastContains3D(inner));
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
// FastContainsHalfOpen3D tests
|
|
1497
|
+
[Test]
|
|
1498
|
+
public void FastContainsHalfOpen3DFullyContainedReturnsTrue()
|
|
1499
|
+
{
|
|
1500
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(100f, 100f, 100f));
|
|
1501
|
+
// Inner.max must be strictly below outer.max for half-open semantics
|
|
1502
|
+
Bounds inner = new(new Vector3(25f, 25f, 25f), new Vector3(49.99f, 49.99f, 49.99f));
|
|
1503
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
[Test]
|
|
1507
|
+
public void FastContainsHalfOpen3DInnerTouchingOuterMaxReturnsFalse()
|
|
1508
|
+
{
|
|
1509
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1510
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1511
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
[Test]
|
|
1515
|
+
public void FastContainsHalfOpen3DInnerMaxJustBelowOuterMaxReturnsTrue()
|
|
1516
|
+
{
|
|
1517
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1518
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(19.99f, 19.99f, 19.99f));
|
|
1519
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1522
|
+
[Test]
|
|
1523
|
+
public void FastContainsHalfOpen3DInnerMinBelowOuterMinReturnsFalse()
|
|
1524
|
+
{
|
|
1525
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1526
|
+
Bounds inner = new(new Vector3(-10.01f, -10f, -10f), new Vector3(15f, 15f, 15f));
|
|
1527
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
[Test]
|
|
1531
|
+
public void FastContainsHalfOpen3DInnerMinAtOuterMinReturnsTrue()
|
|
1532
|
+
{
|
|
1533
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1534
|
+
// Set inner so inner.min == outer.min (-10) and inner.max < outer.max (10)
|
|
1535
|
+
Bounds inner = new(new Vector3(-2.5f, -2.5f, -2.5f), new Vector3(15f, 15f, 15f));
|
|
1536
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1537
|
+
}
|
|
1538
|
+
|
|
1539
|
+
[Test]
|
|
1540
|
+
public void FastContainsHalfOpen3DInnerMaxTouchesOuterMaxOnXReturnsFalse()
|
|
1541
|
+
{
|
|
1542
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1543
|
+
Bounds inner = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 15f, 15f));
|
|
1544
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1545
|
+
}
|
|
1546
|
+
|
|
1547
|
+
[Test]
|
|
1548
|
+
public void FastContainsHalfOpen3DInnerMaxTouchesOuterMaxOnYReturnsFalse()
|
|
1549
|
+
{
|
|
1550
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1551
|
+
Bounds inner = new(new Vector3(5f, 5f, 5f), new Vector3(15f, 10f, 15f));
|
|
1552
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1553
|
+
}
|
|
1554
|
+
|
|
1555
|
+
[Test]
|
|
1556
|
+
public void FastContainsHalfOpen3DInnerMaxTouchesOuterMaxOnZReturnsFalse()
|
|
1557
|
+
{
|
|
1558
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1559
|
+
Bounds inner = new(new Vector3(5f, 5f, 5f), new Vector3(15f, 15f, 10f));
|
|
1560
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1561
|
+
}
|
|
1562
|
+
|
|
1563
|
+
[Test]
|
|
1564
|
+
public void FastContainsHalfOpen3DInnerExceedsOuterMaxOnXReturnsFalse()
|
|
1565
|
+
{
|
|
1566
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1567
|
+
Bounds inner = new(new Vector3(0f, 2f, 2f), new Vector3(10.01f, 5f, 5f));
|
|
1568
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
[Test]
|
|
1572
|
+
public void FastContainsHalfOpen3DInnerExceedsOuterMaxOnYReturnsFalse()
|
|
1573
|
+
{
|
|
1574
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1575
|
+
Bounds inner = new(new Vector3(2f, 0f, 2f), new Vector3(5f, 10.01f, 5f));
|
|
1576
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1579
|
+
[Test]
|
|
1580
|
+
public void FastContainsHalfOpen3DInnerExceedsOuterMaxOnZReturnsFalse()
|
|
1581
|
+
{
|
|
1582
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1583
|
+
Bounds inner = new(new Vector3(2f, 2f, 0f), new Vector3(5f, 5f, 10.01f));
|
|
1584
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
[Test]
|
|
1588
|
+
public void FastContainsHalfOpen3DCompletelyOutsideReturnsFalse()
|
|
1589
|
+
{
|
|
1590
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1591
|
+
Bounds inner = new(new Vector3(20f, 20f, 20f), new Vector3(10f, 10f, 10f));
|
|
1592
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
[Test]
|
|
1596
|
+
public void FastContainsHalfOpen3DNegativeCoordinatesFullyContainedReturnsTrue()
|
|
1597
|
+
{
|
|
1598
|
+
Bounds outer = new(new Vector3(-50f, -50f, -50f), new Vector3(100f, 100f, 100f));
|
|
1599
|
+
// Ensure inner.max is strictly below outer.max on all axes
|
|
1600
|
+
Bounds inner = new(new Vector3(-25f, -25f, -25f), new Vector3(49.99f, 49.99f, 49.99f));
|
|
1601
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1602
|
+
}
|
|
1603
|
+
|
|
1604
|
+
[Test]
|
|
1605
|
+
public void FastContainsHalfOpen3DVerySmallInnerReturnsTrue()
|
|
1606
|
+
{
|
|
1607
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1608
|
+
// Place tiny inner strictly inside (not at max)
|
|
1609
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(0.01f, 0.01f, 0.01f));
|
|
1610
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1611
|
+
}
|
|
1612
|
+
|
|
1613
|
+
[Test]
|
|
1614
|
+
public void FastContainsHalfOpen3DVeryLargeOuterReturnsTrue()
|
|
1615
|
+
{
|
|
1616
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10000f, 10000f, 10000f));
|
|
1617
|
+
Bounds inner = new(new Vector3(100f, 100f, 100f), new Vector3(500f, 500f, 500f));
|
|
1618
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
[Test]
|
|
1622
|
+
public void FastContainsHalfOpen3DZeroVolumeInnerReturnsTrue()
|
|
1623
|
+
{
|
|
1624
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1625
|
+
// Degenerate inner point must not be at max; place at center
|
|
1626
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(0f, 0f, 0f));
|
|
1627
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
[Test]
|
|
1631
|
+
public void FastContainsHalfOpen3DInnerMinBelowOnXReturnsFalse()
|
|
1632
|
+
{
|
|
1633
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1634
|
+
Bounds inner = new(new Vector3(-5.1f, 0f, 0f), new Vector3(5f, 5f, 5f));
|
|
1635
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1636
|
+
}
|
|
1637
|
+
|
|
1638
|
+
[Test]
|
|
1639
|
+
public void FastContainsHalfOpen3DInnerMinBelowOnYReturnsFalse()
|
|
1640
|
+
{
|
|
1641
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1642
|
+
Bounds inner = new(new Vector3(0f, -5.1f, 0f), new Vector3(5f, 5f, 5f));
|
|
1643
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1644
|
+
}
|
|
1645
|
+
|
|
1646
|
+
[Test]
|
|
1647
|
+
public void FastContainsHalfOpen3DInnerMinBelowOnZReturnsFalse()
|
|
1648
|
+
{
|
|
1649
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1650
|
+
Bounds inner = new(new Vector3(0f, 0f, -5.1f), new Vector3(5f, 5f, 5f));
|
|
1651
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
[Test]
|
|
1655
|
+
public void FastContainsHalfOpen3DInnerBarelyFitsWithoutTouchingMaxReturnsTrue()
|
|
1656
|
+
{
|
|
1657
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1658
|
+
// Centered inner just under outer size so max is strictly less
|
|
1659
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(19.99f, 19.99f, 19.99f));
|
|
1660
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
[Test]
|
|
1664
|
+
public void FastContainsHalfOpen3DMixedPositiveNegativeReturnsTrue()
|
|
1665
|
+
{
|
|
1666
|
+
Bounds outer = new(new Vector3(-10f, -10f, -10f), new Vector3(40f, 40f, 40f));
|
|
1667
|
+
// Ensure inner.max is strictly below outer.max on each axis
|
|
1668
|
+
Bounds inner = new(new Vector3(-5f, 0f, 5f), new Vector3(29.99f, 19.99f, 9.99f));
|
|
1669
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1672
|
+
[Test]
|
|
1673
|
+
public void FastContainsHalfOpen3DPartiallyOverlappingReturnsFalse()
|
|
1674
|
+
{
|
|
1675
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1676
|
+
Bounds inner = new(new Vector3(5f, 5f, 5f), new Vector3(20f, 20f, 20f));
|
|
1677
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1678
|
+
}
|
|
1679
|
+
|
|
1680
|
+
[Test]
|
|
1681
|
+
public void FastContainsHalfOpen3DThinSliceNotTouchingMaxReturnsTrue()
|
|
1682
|
+
{
|
|
1683
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1684
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(0.01f, 10f, 10f));
|
|
1685
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1686
|
+
}
|
|
1687
|
+
|
|
1688
|
+
[Test]
|
|
1689
|
+
public void FastContainsHalfOpen3DLineSegmentNotTouchingMaxReturnsTrue()
|
|
1690
|
+
{
|
|
1691
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1692
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(0.01f, 0.01f, 10f));
|
|
1693
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1694
|
+
}
|
|
1695
|
+
|
|
1696
|
+
[Test]
|
|
1697
|
+
public void FastContainsHalfOpen3DExtremeNegativeCoordinatesReturnsTrue()
|
|
1698
|
+
{
|
|
1699
|
+
Bounds outer = new(
|
|
1700
|
+
new Vector3(-1000f, -1000f, -1000f),
|
|
1701
|
+
new Vector3(2000f, 2000f, 2000f)
|
|
1702
|
+
);
|
|
1703
|
+
// Ensure inner.max is strictly below outer.max (half-open on max)
|
|
1704
|
+
Bounds inner = new(
|
|
1705
|
+
new Vector3(-500f, -500f, -500f),
|
|
1706
|
+
new Vector3(999.99f, 999.99f, 999.99f)
|
|
1707
|
+
);
|
|
1708
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
[Test]
|
|
1712
|
+
public void FastContainsHalfOpen3DInnerAtMinEdgeNotTouchingMaxReturnsTrue()
|
|
1713
|
+
{
|
|
1714
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1715
|
+
// Place inner so inner.min == outer.min, and inner.max < outer.max
|
|
1716
|
+
Bounds inner = new(new Vector3(-5f, -5f, -5f), new Vector3(10f, 10f, 10f));
|
|
1717
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
[Test]
|
|
1721
|
+
public void FastContainsHalfOpen3DInnerMaxExactlyAtOuterMaxOnAllAxesReturnsFalse()
|
|
1722
|
+
{
|
|
1723
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1724
|
+
Bounds inner = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1725
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1726
|
+
}
|
|
1727
|
+
|
|
1728
|
+
[Test]
|
|
1729
|
+
public void FastContainsHalfOpen3DInnerMaxJustBelowOuterMaxOnAllAxesReturnsTrue()
|
|
1730
|
+
{
|
|
1731
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1732
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(9.99f, 9.99f, 9.99f));
|
|
1733
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1734
|
+
}
|
|
1735
|
+
|
|
1736
|
+
[Test]
|
|
1737
|
+
public void FastContainsHalfOpen3DInnerMaxExceedsOuterMaxOnOneAxisReturnsFalse()
|
|
1738
|
+
{
|
|
1739
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(10f, 10f, 10f));
|
|
1740
|
+
Bounds inner = new(new Vector3(0f, 0f, 0f), new Vector3(9.99f, 9.99f, 10.01f));
|
|
1741
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1744
|
+
[Test]
|
|
1745
|
+
public void FastContainsHalfOpen3DAsymmetricBoundsReturnsTrue()
|
|
1746
|
+
{
|
|
1747
|
+
Bounds outer = new(new Vector3(-20f, 0f, 10f), new Vector3(100f, 50f, 80f));
|
|
1748
|
+
// Adjust inner sizes so inner.max is strictly below outer.max on Y and Z
|
|
1749
|
+
Bounds inner = new(new Vector3(-10f, 5f, 15f), new Vector3(75f, 39.99f, 69.99f));
|
|
1750
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
[Test]
|
|
1754
|
+
public void FastContainsHalfOpen3DInnerMinAtOuterMinMaxTouchesReturnsFalse()
|
|
1755
|
+
{
|
|
1756
|
+
Bounds outer = new(new Vector3(5f, 5f, 5f), new Vector3(10f, 10f, 10f));
|
|
1757
|
+
Bounds inner = new(new Vector3(-2.5f, -2.5f, -2.5f), new Vector3(10f, 10f, 10f));
|
|
1758
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1759
|
+
}
|
|
1760
|
+
|
|
1761
|
+
[Test]
|
|
1762
|
+
public void FastContainsHalfOpen3DInnerSinglePointNotAtMaxReturnsTrue()
|
|
1763
|
+
{
|
|
1764
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1765
|
+
// Single point bounds at (5,5,5)
|
|
1766
|
+
Bounds inner = new(new Vector3(5f, 5f, 5f), new Vector3(0.0001f, 0.0001f, 0.0001f));
|
|
1767
|
+
Assert.IsTrue(outer.FastContainsHalfOpen3D(inner));
|
|
1768
|
+
}
|
|
1769
|
+
|
|
1770
|
+
[Test]
|
|
1771
|
+
public void FastContainsHalfOpen3DInnerSinglePointAtMaxReturnsFalse()
|
|
1772
|
+
{
|
|
1773
|
+
Bounds outer = new(new Vector3(0f, 0f, 0f), new Vector3(20f, 20f, 20f));
|
|
1774
|
+
// Single point bounds at (10,10,10) which is the max
|
|
1775
|
+
Bounds inner = new(new Vector3(10f, 10f, 10f), new Vector3(0.0001f, 0.0001f, 0.0001f));
|
|
1776
|
+
Assert.IsFalse(outer.FastContainsHalfOpen3D(inner));
|
|
1777
|
+
}
|
|
1778
|
+
}
|
|
1779
|
+
}
|