com.wallstop-studios.unity-helpers 2.0.0-rc81.7 → 2.0.0
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 +75 -0
- package/.githooks/pre-push +50 -0
- package/.github/dependabot.yml +32 -10
- package/.github/scripts/check-markdown-links.ps1 +77 -0
- package/.github/scripts/check_markdown_links.py +89 -0
- package/.github/scripts/check_markdown_url_encoding.py +74 -0
- package/.github/scripts/validate_markdown_links.py +194 -0
- package/.github/workflows/csharpier-autofix.yml +152 -0
- package/.github/workflows/format-on-demand.yml +305 -0
- package/.github/workflows/lint-doc-links.yml +30 -0
- package/.github/workflows/markdown-json.yml +45 -0
- package/.github/workflows/npm-publish.yml +75 -75
- package/.github/workflows/prettier-autofix.yml +195 -0
- package/.github/workflows/update-dotnet-tools.yml +80 -0
- package/.github/workflows/yaml-format-lint.yml +41 -0
- package/.lychee.toml +26 -0
- package/.markdownlint.json +21 -0
- package/.markdownlint.jsonc +21 -0
- package/.markdownlintignore +8 -0
- package/.pre-commit-config.yaml +47 -22
- package/.prettierignore +22 -0
- package/.prettierrc.json +20 -0
- package/.yamllint.yaml +31 -0
- package/AGENTS.md +56 -0
- package/{Third Party Notices.md.meta → AGENTS.md.meta} +7 -7
- package/CHANGELOG.md +11 -0
- package/CHANGELOG.md.meta +7 -7
- package/CONTRIBUTING.md +49 -0
- package/CONTRIBUTING.md.meta +7 -0
- 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 +1980 -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 +1570 -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 +230 -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 +808 -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 +155 -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 +809 -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 +581 -248
- package/Editor/PersistentDirectorySettings.cs.meta +2 -2
- package/Editor/PrefabChecker.cs +1396 -741
- package/Editor/PrefabChecker.cs.meta +11 -11
- package/Editor/Sprites/AnimationCopier.cs +1594 -789
- package/Editor/Sprites/AnimationCopier.cs.meta +2 -2
- package/Editor/Sprites/AnimationCreator.cs +1573 -881
- package/Editor/Sprites/AnimationCreator.cs.meta +11 -11
- package/Editor/Sprites/AnimationViewerWindow.cs +1670 -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 +89 -0
- package/Editor/Sprites/TexturePlatformNameHelper.cs.meta +11 -0
- package/Editor/Sprites/TextureResizerWizard.cs +456 -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 +668 -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 +522 -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 +409 -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 +1183 -188
- package/README.md.meta +7 -7
- package/REFLECTION_HELPERS.md +272 -0
- package/REFLECTION_HELPERS.md.meta +7 -0
- package/RELATIONAL_COMPONENTS.md +552 -0
- package/RELATIONAL_COMPONENTS.md.meta +7 -0
- package/Runtime/AssemblyInfo.cs +9 -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 +30 -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 +152 -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 +488 -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 +1006 -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 +287 -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 +509 -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 +5298 -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 +52 -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 +144 -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 +44 -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 +2121 -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/AssemblyInfo.cs +9 -0
- package/Runtime/Integrations/VContainer/AssemblyInfo.cs.meta +3 -0
- package/Runtime/Integrations/VContainer/ObjectResolverRelationalExtensions.cs +281 -0
- package/Runtime/Integrations/VContainer/ObjectResolverRelationalExtensions.cs.meta +11 -0
- package/Runtime/Integrations/VContainer/RelationalComponentEntryPoint.cs +189 -0
- package/Runtime/Integrations/VContainer/RelationalComponentEntryPoint.cs.meta +11 -0
- package/Runtime/Integrations/VContainer/RelationalComponentsBuilderExtensions.cs +90 -0
- package/Runtime/Integrations/VContainer/RelationalComponentsBuilderExtensions.cs.meta +11 -0
- package/Runtime/Integrations/VContainer/RelationalObjectPools.cs +114 -0
- package/Runtime/Integrations/VContainer/RelationalObjectPools.cs.meta +11 -0
- package/Runtime/Integrations/VContainer/RelationalSceneAssignmentOptions.cs +95 -0
- package/Runtime/Integrations/VContainer/RelationalSceneAssignmentOptions.cs.meta +11 -0
- package/Runtime/Integrations/VContainer/RelationalSceneLoadListener.cs +241 -0
- package/Runtime/Integrations/VContainer/RelationalSceneLoadListener.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/AssemblyInfo.cs +9 -0
- package/Runtime/Integrations/Zenject/AssemblyInfo.cs.meta +3 -0
- package/Runtime/Integrations/Zenject/DiContainerRelationalExtensions.cs +247 -0
- package/Runtime/Integrations/Zenject/DiContainerRelationalExtensions.cs.meta +11 -0
- package/Runtime/Integrations/Zenject/RelationalComponentSceneInitializer.cs +182 -0
- package/Runtime/Integrations/Zenject/RelationalComponentSceneInitializer.cs.meta +11 -0
- package/Runtime/Integrations/Zenject/RelationalComponentsInstaller.cs +94 -0
- package/Runtime/Integrations/Zenject/RelationalComponentsInstaller.cs.meta +11 -0
- package/Runtime/Integrations/Zenject/RelationalMemoryPools.cs +44 -0
- package/Runtime/Integrations/Zenject/RelationalMemoryPools.cs.meta +11 -0
- package/Runtime/Integrations/Zenject/RelationalSceneAssignmentOptions.cs +93 -0
- package/Runtime/Integrations/Zenject/RelationalSceneAssignmentOptions.cs.meta +11 -0
- package/Runtime/Integrations/Zenject/RelationalSceneLoadListener.cs +243 -0
- package/Runtime/Integrations/Zenject/RelationalSceneLoadListener.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 +500 -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 +225 -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 +71 -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 +364 -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 +224 -85
- package/Runtime/Visuals/UGUI/EnhancedImage.cs.meta +2 -2
- package/Runtime/Visuals/UGUI.meta +2 -2
- package/Runtime/Visuals/UIToolkit/LayeredImage.cs +784 -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 +663 -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 +241 -0
- package/SPATIAL_TREE_2D_PERFORMANCE.md.meta +7 -0
- package/SPATIAL_TREE_3D_PERFORMANCE.md +243 -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 +515 -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 +42 -0
- package/Samples~/DI - VContainer/Scripts/GameLifetimeScope.cs.meta +12 -0
- package/Samples~/DI - VContainer/Scripts/RelationalConsumer.cs +24 -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 +130 -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 +553 -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 +22 -0
- package/Samples~/DI - Zenject/Scripts/RelationalConsumer.cs.meta +12 -0
- package/Samples~/DI - Zenject/Scripts/RelationalConsumerPool.cs +37 -0
- package/Samples~/DI - Zenject/Scripts/RelationalConsumerPool.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 +91 -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 +13 -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 +21 -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 +14 -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 +14 -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 +13 -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 +13 -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 +171 -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 +81 -0
- package/Tests/Editor/Integrations/VContainer/VContainerRelationalEntryPointTests.cs.meta +11 -0
- package/Tests/Editor/Integrations/VContainer/VContainerRelationalHelpersTests.cs +170 -0
- package/Tests/Editor/Integrations/VContainer/VContainerRelationalHelpersTests.cs.meta +11 -0
- package/Tests/Editor/Integrations/VContainer/WallstopStudios.UnityHelpers.Tests.Editor.VContainer.asmdef +37 -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 +37 -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/ZenjectRelationalHelpersTests.cs +131 -0
- package/Tests/Editor/Integrations/Zenject/ZenjectRelationalHelpersTests.cs.meta +11 -0
- package/Tests/Editor/Integrations/Zenject/ZenjectRelationalInitializerTests.cs +80 -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/PersistentDirectorySettingsTests.cs +59 -0
- package/Tests/Editor/PersistentDirectorySettingsTests.cs.meta +11 -0
- package/Tests/Editor/PrefabCheckerReportTests.cs +32 -0
- package/Tests/Editor/PrefabCheckerReportTests.cs.meta +11 -0
- package/Tests/Editor/Sprites/AnimationCopierFilterTests.cs +64 -0
- package/Tests/Editor/Sprites/AnimationCopierFilterTests.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/AnimationViewerWindowTests.cs +38 -0
- package/Tests/Editor/Sprites/AnimationViewerWindowTests.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 +46 -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 +47 -0
- package/Tests/Editor/Tools/ImageBlurToolTests.cs.meta +11 -0
- package/Tests/Editor/Tools.meta +8 -0
- package/Tests/Editor/Utils/CommonTestBase.cs +250 -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 +773 -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 +98 -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 +601 -0
- package/Tests/Runtime/Integrations/VContainer/RelationalComponentsVContainerTests.cs.meta +11 -0
- package/Tests/Runtime/Integrations/VContainer/RelationalObjectPoolsVContainerTests.cs +86 -0
- package/Tests/Runtime/Integrations/VContainer/RelationalObjectPoolsVContainerTests.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 +619 -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 +697 -0
- package/Tests/Runtime/Performance/SpatialTree2DPerformanceTests.cs.meta +11 -0
- package/Tests/Runtime/Performance/SpatialTree3DPerformanceTests.cs +653 -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/JsonConverterAdditionalTests.cs +30 -0
- package/Tests/Runtime/Serialization/JsonConverterAdditionalTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/JsonConverterTests.cs +1153 -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 +167 -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 +907 -0
- package/Tests/Runtime/Serialization/SerializerAdditionalTests.cs.meta +3 -0
- package/Tests/Runtime/Serialization/SerializerFileIoTests.cs +105 -0
- package/Tests/Runtime/Serialization/SerializerFileIoTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/TypeConverterTests.cs +34 -0
- package/Tests/Runtime/Serialization/TypeConverterTests.cs.meta +11 -0
- package/Tests/Runtime/Serialization/UnityEngineObjectJsonTests.cs +247 -0
- package/Tests/Runtime/Serialization/UnityEngineObjectJsonTests.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 +301 -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 +153 -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 +125 -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-lock.json.meta +7 -0
- package/package.json +99 -38
- package/package.json.meta +7 -7
- package/scripts/check-eol.ps1 +51 -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/lint-tests.ps1 +156 -0
- package/scripts/lint-tests.ps1.meta +7 -0
- package/scripts/normalize-eol.ps1 +68 -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
package/SERIALIZATION.md
ADDED
|
@@ -0,0 +1,663 @@
|
|
|
1
|
+
# Serialization Guide
|
|
2
|
+
|
|
3
|
+
## TL;DR — What Problem This Solves
|
|
4
|
+
|
|
5
|
+
- Save/load data and configs reliably with JSON or Protobuf using one unified API.
|
|
6
|
+
- Unity‑aware converters handle common engine types; pooled buffers keep GC low.
|
|
7
|
+
- Pick Pretty/Normal for human‑readable; Fast/FastPOCO for hot paths.
|
|
8
|
+
|
|
9
|
+
Visuals
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
This package provides fast, compact serialization for save systems, configuration, and networking with a unified API.
|
|
14
|
+
|
|
15
|
+
- Json — System.Text.Json with Unity-aware converters
|
|
16
|
+
- Protobuf — protobuf-net for compact, schema-evolvable binary
|
|
17
|
+
- SystemBinary — .NET BinaryFormatter for legacy/trusted-only scenarios
|
|
18
|
+
|
|
19
|
+
All formats are exposed via `WallstopStudios.UnityHelpers.Core.Serialization.Serializer` and selected with `SerializationType`.
|
|
20
|
+
|
|
21
|
+
## Formats Provided
|
|
22
|
+
|
|
23
|
+
- Json
|
|
24
|
+
- Human-readable; ideal for settings, debug, modding, and Git diffs.
|
|
25
|
+
- Includes converters for Unity types (ignores cycles, includes fields by default, case-insensitive by default; enums as strings in Normal/Pretty):
|
|
26
|
+
- Vector2, Vector3, Vector4, Vector2Int, Vector3Int
|
|
27
|
+
- Color, Color32, ColorBlock
|
|
28
|
+
- Quaternion, Matrix4x4, Pose, Plane, SphericalHarmonicsL2
|
|
29
|
+
- Bounds, BoundsInt, Rect, RectInt, RectOffset, RangeInt
|
|
30
|
+
- Ray, Ray2D, RaycastHit, BoundingSphere
|
|
31
|
+
- Resolution, RenderTextureDescriptor, LayerMask, Hash128, Scene
|
|
32
|
+
- AnimationCurve, Gradient, Touch, GameObject
|
|
33
|
+
- ParticleSystem.MinMaxCurve, ParticleSystem.MinMaxGradient
|
|
34
|
+
- System.Type (type metadata)
|
|
35
|
+
- Profiles: Normal, Pretty, Fast, FastPOCO (see below)
|
|
36
|
+
- Protobuf (protobuf-net)
|
|
37
|
+
- **⭐ Killer Feature: Schema Evolution** — Players can load saves from older game versions without breaking! Add new fields, remove old ones, rename types—all while maintaining compatibility.
|
|
38
|
+
- Small and fast; best for networking and large save payloads.
|
|
39
|
+
- Forward/backward compatible message evolution (see the Schema Evolution guide below).
|
|
40
|
+
- SystemBinary (BinaryFormatter)
|
|
41
|
+
- Only for legacy or trusted, same-version, local data. Avoid for long-term persistence or untrusted input.
|
|
42
|
+
- ⚠️ **Cannot handle version changes** - a single field addition breaks all existing saves.
|
|
43
|
+
|
|
44
|
+
## When To Use What
|
|
45
|
+
|
|
46
|
+
Use this decision flowchart to pick the right serialization format:
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
START: What are you serializing?
|
|
50
|
+
│
|
|
51
|
+
├─ Game settings / Config files
|
|
52
|
+
│ │
|
|
53
|
+
│ ├─ Need human-readable / Git-friendly?
|
|
54
|
+
│ │ → JSON (Normal or Pretty) ✓
|
|
55
|
+
│ │
|
|
56
|
+
│ └─ Performance critical (large files)?
|
|
57
|
+
│ → JSON (Fast or FastPOCO) ✓
|
|
58
|
+
│
|
|
59
|
+
├─ Save game data
|
|
60
|
+
│ │
|
|
61
|
+
│ ├─ First save system / Need debugging?
|
|
62
|
+
│ │ → JSON (Pretty) ✓
|
|
63
|
+
│ │
|
|
64
|
+
│ ├─ Mobile / Size matters?
|
|
65
|
+
│ │ → Protobuf ✓
|
|
66
|
+
│ │
|
|
67
|
+
│ └─ Need cross-version compatibility?
|
|
68
|
+
│ → Protobuf ✓
|
|
69
|
+
│
|
|
70
|
+
├─ Network messages (multiplayer)
|
|
71
|
+
│ │
|
|
72
|
+
│ └─ Bandwidth is critical
|
|
73
|
+
│ → Protobuf ✓
|
|
74
|
+
│
|
|
75
|
+
├─ Editor-only / Temporary cache (trusted environment)
|
|
76
|
+
│ │
|
|
77
|
+
│ └─ Same Unity version, local only
|
|
78
|
+
│ → SystemBinary (⚠️ legacy, consider JSON Fast)
|
|
79
|
+
│
|
|
80
|
+
└─ Hot path / Per-frame serialization
|
|
81
|
+
│
|
|
82
|
+
├─ Pure C# objects (no Unity types)?
|
|
83
|
+
│ → JSON (FastPOCO) ✓
|
|
84
|
+
│
|
|
85
|
+
└─ Mixed with Unity types?
|
|
86
|
+
→ JSON (Fast) ✓
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Quick Reference
|
|
90
|
+
|
|
91
|
+
- **Use JSON for:**
|
|
92
|
+
- Player/tool settings, human-readable saves, serverless workflows, text diffs
|
|
93
|
+
- Quick iteration and debugging
|
|
94
|
+
- First-time save system implementation
|
|
95
|
+
|
|
96
|
+
- **Use Protobuf for:**
|
|
97
|
+
- Network payloads and large, bandwidth-sensitive saves
|
|
98
|
+
- Cases where schema evolves across versions
|
|
99
|
+
- Mobile games where save file size matters
|
|
100
|
+
|
|
101
|
+
- **Use SystemBinary only for:**
|
|
102
|
+
- Transient caches in trusted environments with exact version match
|
|
103
|
+
- ⚠️ Consider JSON Fast instead - SystemBinary is legacy
|
|
104
|
+
|
|
105
|
+
## JSON Examples (Unity-aware)
|
|
106
|
+
|
|
107
|
+
- Serialize/deserialize and write/read files
|
|
108
|
+
|
|
109
|
+
```csharp
|
|
110
|
+
using System.Collections.Generic;
|
|
111
|
+
using UnityEngine;
|
|
112
|
+
using WallstopStudios.UnityHelpers.Core.Serialization;
|
|
113
|
+
|
|
114
|
+
public class SaveData
|
|
115
|
+
{
|
|
116
|
+
public Vector3 position;
|
|
117
|
+
public Color playerColor;
|
|
118
|
+
public List<GameObject> inventory;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
var data = new SaveData
|
|
122
|
+
{
|
|
123
|
+
position = new Vector3(1, 2, 3),
|
|
124
|
+
playerColor = Color.cyan,
|
|
125
|
+
inventory = new List<GameObject>()
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
// Serialize to UTF-8 JSON bytes (Unity types supported)
|
|
129
|
+
byte[] jsonBytes = Serializer.JsonSerialize(data);
|
|
130
|
+
|
|
131
|
+
// Pretty stringify and parse from string
|
|
132
|
+
string jsonText = Serializer.JsonStringify(data, pretty: true);
|
|
133
|
+
SaveData fromText = Serializer.JsonDeserialize<SaveData>(jsonText);
|
|
134
|
+
|
|
135
|
+
// File helpers
|
|
136
|
+
Serializer.WriteToJsonFile(data, path: "save.json", pretty: true);
|
|
137
|
+
SaveData fromFile = Serializer.ReadFromJsonFile<SaveData>("save.json");
|
|
138
|
+
|
|
139
|
+
// Generic entry points (choose format at runtime)
|
|
140
|
+
byte[] bytes = Serializer.Serialize(data, SerializationType.Json);
|
|
141
|
+
SaveData loaded = Serializer.Deserialize<SaveData>(bytes, SerializationType.Json);
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Protobuf Examples (Compact + Evolvable)
|
|
145
|
+
|
|
146
|
+
- Basic usage
|
|
147
|
+
|
|
148
|
+
```csharp
|
|
149
|
+
using ProtoBuf; // protobuf-net
|
|
150
|
+
using WallstopStudios.UnityHelpers.Core.Serialization;
|
|
151
|
+
|
|
152
|
+
[ProtoContract]
|
|
153
|
+
public class PlayerInfo
|
|
154
|
+
{
|
|
155
|
+
[ProtoMember(1)] public int id;
|
|
156
|
+
[ProtoMember(2)] public string name;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
var info = new PlayerInfo { id = 1, name = "Hero" };
|
|
160
|
+
byte[] buf = Serializer.ProtoSerialize(info);
|
|
161
|
+
PlayerInfo again = Serializer.ProtoDeserialize<PlayerInfo>(buf);
|
|
162
|
+
|
|
163
|
+
// Generic entry points
|
|
164
|
+
byte[] buf2 = Serializer.Serialize(info, SerializationType.Protobuf);
|
|
165
|
+
PlayerInfo again2 = Serializer.Deserialize<PlayerInfo>(buf2, SerializationType.Protobuf);
|
|
166
|
+
|
|
167
|
+
// Buffer reuse (reduce GC in hot paths)
|
|
168
|
+
byte[] buffer = null;
|
|
169
|
+
int len = Serializer.Serialize(info, SerializationType.Protobuf, ref buffer);
|
|
170
|
+
PlayerInfo sliced = Serializer.Deserialize<PlayerInfo>(buffer.AsSpan(0, len).ToArray(), SerializationType.Protobuf);
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
- Unity types with Protobuf: built-in surrogates
|
|
174
|
+
|
|
175
|
+
```csharp
|
|
176
|
+
// This package registers protobuf-net surrogates at startup so Unity structs just work in protobuf models.
|
|
177
|
+
// The following Unity types are protobuf-compatible out of the box:
|
|
178
|
+
// - Vector2, Vector3, Vector2Int, Vector3Int
|
|
179
|
+
// - Quaternion
|
|
180
|
+
// - Color, Color32
|
|
181
|
+
// - Rect, RectInt
|
|
182
|
+
// - Bounds, BoundsInt
|
|
183
|
+
// - Resolution
|
|
184
|
+
// Example: use Vector3 directly in a protobuf-annotated model
|
|
185
|
+
using ProtoBuf; // protobuf-net
|
|
186
|
+
using UnityEngine; // Unity types
|
|
187
|
+
using WallstopStudios.UnityHelpers.Core.Serialization;
|
|
188
|
+
|
|
189
|
+
[ProtoContract]
|
|
190
|
+
public class NetworkMessage
|
|
191
|
+
{
|
|
192
|
+
[ProtoMember(1)] public int playerId;
|
|
193
|
+
[ProtoMember(2)] public Vector3 position; // Works via registered surrogates
|
|
194
|
+
[ProtoMember(3)] public Quaternion facing; // Works via registered surrogates
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// Serialize/deserialize as usual
|
|
198
|
+
var msg = new NetworkMessage { playerId = 7, position = new Vector3(1,2,3), facing = Quaternion.identity };
|
|
199
|
+
byte[] bytes = Serializer.ProtoSerialize(msg);
|
|
200
|
+
NetworkMessage again = Serializer.ProtoDeserialize<NetworkMessage>(bytes);
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
Notes
|
|
204
|
+
|
|
205
|
+
- Surrogates are registered in the Serializer static initializer; you don't need to call anything.
|
|
206
|
+
- If you define your own DTOs, they will continue to work; surrogates simply make Unity structs first-class.
|
|
207
|
+
- Keep using [ProtoContract]/[ProtoMember] and stable field numbers for your own types.
|
|
208
|
+
|
|
209
|
+
### ⚠️ IL2CPP and Code Stripping Warning
|
|
210
|
+
|
|
211
|
+
**Critical for IL2CPP builds (WebGL, iOS, Android, Consoles):**
|
|
212
|
+
|
|
213
|
+
Protobuf uses reflection internally to serialize/deserialize types. Unity's IL2CPP managed code stripping may remove types or fields that are only accessed via reflection, causing **silent data loss or runtime crashes** in release builds.
|
|
214
|
+
|
|
215
|
+
**Common symptoms:**
|
|
216
|
+
|
|
217
|
+
- `NullReferenceException` or `TypeLoadException` during Protobuf deserialization
|
|
218
|
+
- Fields mysteriously have default values after loading (data appears to be lost)
|
|
219
|
+
- Works perfectly in Editor/Development builds, fails in Release/IL2CPP builds
|
|
220
|
+
- "Type not found" or "Method not found" errors at runtime
|
|
221
|
+
|
|
222
|
+
#### Solution: Create a link.xml file
|
|
223
|
+
|
|
224
|
+
In your `Assets` folder (or any subfolder), create `link.xml` to preserve your Protobuf types:
|
|
225
|
+
|
|
226
|
+
```xml
|
|
227
|
+
<linker>
|
|
228
|
+
<!-- Preserve all your Protobuf-serialized types -->
|
|
229
|
+
<assembly fullname="Assembly-CSharp">
|
|
230
|
+
<!-- Preserve specific types -->
|
|
231
|
+
<type fullname="MyGame.PlayerSave" preserve="all"/>
|
|
232
|
+
<type fullname="MyGame.InventoryData" preserve="all"/>
|
|
233
|
+
<type fullname="MyGame.NetworkMessage" preserve="all"/>
|
|
234
|
+
|
|
235
|
+
<!-- Or preserve entire namespace -->
|
|
236
|
+
<namespace fullname="MyGame.SaveData" preserve="all"/>
|
|
237
|
+
</assembly>
|
|
238
|
+
|
|
239
|
+
<!-- If using Protobuf types across assemblies -->
|
|
240
|
+
<assembly fullname="MyGame.Shared">
|
|
241
|
+
<namespace fullname="MyGame.Shared.Protocol" preserve="all"/>
|
|
242
|
+
</assembly>
|
|
243
|
+
|
|
244
|
+
<!-- Preserve Unity Helpers if needed -->
|
|
245
|
+
<assembly fullname="WallstopStudios.UnityHelpers.Runtime">
|
|
246
|
+
<!-- Usually not needed, but if you see errors: -->
|
|
247
|
+
<type fullname="WallstopStudios.UnityHelpers.Core.Serialization.Serializer" preserve="all"/>
|
|
248
|
+
</assembly>
|
|
249
|
+
</linker>
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Testing checklist (CRITICAL):**
|
|
253
|
+
|
|
254
|
+
- ✅ **Test every IL2CPP build** - Development builds don't strip code, so issues only appear in Release
|
|
255
|
+
- ✅ **Test on actual devices** - WebGL/Mobile stripping can differ from standalone builds
|
|
256
|
+
- ✅ **Test full save/load cycle** - Save in one session, load in another to verify persistence
|
|
257
|
+
- ✅ **Update link.xml when adding new types** - Every `[ProtoContract]` type needs preservation
|
|
258
|
+
- ✅ **Check build logs for stripping warnings** - Unity logs which types/methods are stripped
|
|
259
|
+
- ✅ **Test after Unity upgrades** - Stripping behavior can change between Unity versions
|
|
260
|
+
|
|
261
|
+
**When you might not need link.xml:**
|
|
262
|
+
|
|
263
|
+
- Only using JSON serialization (source-generated, no reflection)
|
|
264
|
+
- Already preserving entire assembly with `preserve="all"`
|
|
265
|
+
- Using a custom IL2CPP link file that preserves everything
|
|
266
|
+
|
|
267
|
+
#### Advanced: Preserve only what's needed
|
|
268
|
+
|
|
269
|
+
Instead of `preserve="all"`, you can be more selective:
|
|
270
|
+
|
|
271
|
+
```xml
|
|
272
|
+
<type fullname="MyGame.PlayerSave">
|
|
273
|
+
<method signature="System.Void .ctor()" preserve="all"/>
|
|
274
|
+
<field name="playerId" />
|
|
275
|
+
<field name="level" />
|
|
276
|
+
<field name="inventory" />
|
|
277
|
+
</type>
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
However, this is error-prone. **Start with `preserve="all"` and optimize later if build size is critical.**
|
|
281
|
+
|
|
282
|
+
**Related documentation:**
|
|
283
|
+
|
|
284
|
+
- [Unity Manual: Managed Code Stripping](https://docs.unity3d.com/Manual/ManagedCodeStripping.html)
|
|
285
|
+
- [Protobuf-net IL2CPP Guide](https://github.com/protobuf-net/protobuf-net#il2cpp)
|
|
286
|
+
- [Unity Forum: link.xml best practices](https://forum.unity.com/)
|
|
287
|
+
|
|
288
|
+
````text
|
|
289
|
+
|
|
290
|
+
<a id="protobuf-schema-evolution-the-killer-feature"></a>
|
|
291
|
+
## Protobuf Schema Evolution: The Killer Feature
|
|
292
|
+
|
|
293
|
+
**The Problem Protobuf Solves:**
|
|
294
|
+
|
|
295
|
+
You ship your game with this save format:
|
|
296
|
+
```csharp
|
|
297
|
+
[ProtoContract]
|
|
298
|
+
public class PlayerSave
|
|
299
|
+
{
|
|
300
|
+
[ProtoMember(1)] public int level;
|
|
301
|
+
[ProtoMember(2)] public string name;
|
|
302
|
+
}
|
|
303
|
+
````
|
|
304
|
+
|
|
305
|
+
A month later, you want to add a new feature and change the format:
|
|
306
|
+
|
|
307
|
+
```csharp
|
|
308
|
+
[ProtoContract]
|
|
309
|
+
public class PlayerSave
|
|
310
|
+
{
|
|
311
|
+
[ProtoMember(1)] public int level;
|
|
312
|
+
[ProtoMember(2)] public string name;
|
|
313
|
+
[ProtoMember(3)] public int gold; // NEW FIELD
|
|
314
|
+
[ProtoMember(4)] public bool isPremium; // NEW FIELD
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
**With JSON or BinaryFormatter:** Players' existing saves break. You must write migration code or wipe their progress.
|
|
319
|
+
|
|
320
|
+
**With Protobuf:** It just works! Old saves load perfectly with `gold = 0` and `isPremium = false` defaults.
|
|
321
|
+
|
|
322
|
+
### Real-World Save Game Evolution Example 🟡 Intermediate
|
|
323
|
+
|
|
324
|
+
**Version 1.0 (Launch):**
|
|
325
|
+
|
|
326
|
+
```csharp
|
|
327
|
+
[ProtoContract]
|
|
328
|
+
public class PlayerSave
|
|
329
|
+
{
|
|
330
|
+
[ProtoMember(1)] public string playerId;
|
|
331
|
+
[ProtoMember(2)] public int level;
|
|
332
|
+
[ProtoMember(3)] public Vector3DTO position;
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
**Version 1.5 (Inventory System Added):**
|
|
337
|
+
|
|
338
|
+
```csharp
|
|
339
|
+
[ProtoContract]
|
|
340
|
+
public class PlayerSave
|
|
341
|
+
{
|
|
342
|
+
[ProtoMember(1)] public string playerId;
|
|
343
|
+
[ProtoMember(2)] public int level;
|
|
344
|
+
[ProtoMember(3)] public Vector3DTO position;
|
|
345
|
+
[ProtoMember(4)] public List<string> inventory = new(); // NEW: defaults to empty
|
|
346
|
+
}
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
**Version 2.0 (Stats Overhaul - level renamed to xp):**
|
|
350
|
+
|
|
351
|
+
```csharp
|
|
352
|
+
[ProtoContract]
|
|
353
|
+
public class PlayerSave
|
|
354
|
+
{
|
|
355
|
+
[ProtoMember(1)] public string playerId;
|
|
356
|
+
// [ProtoMember(2)] int level - REMOVED, but tag 2 is NEVER reused
|
|
357
|
+
[ProtoMember(3)] public Vector3DTO position;
|
|
358
|
+
[ProtoMember(4)] public List<string> inventory = new();
|
|
359
|
+
[ProtoMember(5)] public int xp; // NEW: experience points
|
|
360
|
+
[ProtoMember(6)] public int skillPoints; // NEW: unspent skill points
|
|
361
|
+
}
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
**Result:** Players who saved in v1.0 can load their save in v2.0:
|
|
365
|
+
|
|
366
|
+
- Old `level` value (tag 2) is ignored
|
|
367
|
+
- New `xp` and `skillPoints` default to 0
|
|
368
|
+
- All existing data (`playerId`, `position`, `inventory`) loads correctly
|
|
369
|
+
- **Zero migration code required!**
|
|
370
|
+
|
|
371
|
+
### Schema Evolution Rules
|
|
372
|
+
|
|
373
|
+
**✅ Safe Changes (Always Compatible):**
|
|
374
|
+
|
|
375
|
+
- Add new fields with new tag numbers
|
|
376
|
+
- Remove fields (but never reuse their tag numbers)
|
|
377
|
+
- Change field names (tags are what matter, not names)
|
|
378
|
+
- Add new message types
|
|
379
|
+
- Change default values (only affects new saves)
|
|
380
|
+
|
|
381
|
+
**⚠️ Requires Care:**
|
|
382
|
+
|
|
383
|
+
- Changing field types (e.g., `int` → `long` works, `int` → `string` doesn't)
|
|
384
|
+
- Changing `repeated` to singular or vice versa (usually breaks)
|
|
385
|
+
- Renumbering existing tags (breaks everything!)
|
|
386
|
+
|
|
387
|
+
**❌ Never Do This:**
|
|
388
|
+
|
|
389
|
+
- Reuse deleted field tag numbers
|
|
390
|
+
- Change the meaning of an existing tag
|
|
391
|
+
- Remove required fields (avoid `required` entirely - use validation instead)
|
|
392
|
+
|
|
393
|
+
### Multi-Version Compatibility Pattern 🔴 Advanced
|
|
394
|
+
|
|
395
|
+
Handle breaking changes across major versions gracefully:
|
|
396
|
+
|
|
397
|
+
```csharp
|
|
398
|
+
[ProtoContract]
|
|
399
|
+
public class SaveFile
|
|
400
|
+
{
|
|
401
|
+
[ProtoMember(1)] public int version = 3; // Track your save version
|
|
402
|
+
|
|
403
|
+
// Version 1-3 fields
|
|
404
|
+
[ProtoMember(2)] public string playerId;
|
|
405
|
+
[ProtoMember(3)] public Vector3DTO position;
|
|
406
|
+
|
|
407
|
+
// Version 2+ fields
|
|
408
|
+
[ProtoMember(10)] public List<string> inventory;
|
|
409
|
+
|
|
410
|
+
// Version 3+ fields
|
|
411
|
+
[ProtoMember(20)] public PlayerStats stats;
|
|
412
|
+
|
|
413
|
+
public void PostDeserialize()
|
|
414
|
+
{
|
|
415
|
+
if (version < 2)
|
|
416
|
+
{
|
|
417
|
+
// Migrate v1 saves: initialize empty inventory
|
|
418
|
+
inventory ??= new List<string>();
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
if (version < 3)
|
|
422
|
+
{
|
|
423
|
+
// Migrate v2 saves: create default stats
|
|
424
|
+
stats ??= new PlayerStats { xp = 0, level = 1 };
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
version = 3; // Update to current version
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
> ⚠️ **Common Mistake:** Don't put migration logic in the constructor. Use `PostDeserialize()`
|
|
433
|
+
> or a dedicated method called after loading. Constructors don't run during deserialization.
|
|
434
|
+
|
|
435
|
+
### Testing Schema Evolution 🟢 Beginner
|
|
436
|
+
|
|
437
|
+
**Recommended Testing Pattern:**
|
|
438
|
+
|
|
439
|
+
```csharp
|
|
440
|
+
// 1. Save a file with version N:
|
|
441
|
+
var oldSave = new PlayerSave { level = 10, name = "Hero" };
|
|
442
|
+
byte[] bytes = Serializer.ProtoSerialize(oldSave);
|
|
443
|
+
File.WriteAllBytes("test_v1.save", bytes);
|
|
444
|
+
|
|
445
|
+
// 2. Update your schema (add new fields)
|
|
446
|
+
|
|
447
|
+
// 3. Load the old file with new schema:
|
|
448
|
+
byte[] oldBytes = File.ReadAllBytes("test_v1.save");
|
|
449
|
+
var loaded = Serializer.ProtoDeserialize<PlayerSave>(oldBytes);
|
|
450
|
+
|
|
451
|
+
// New fields have defaults, old fields are preserved
|
|
452
|
+
Assert.AreEqual(10, loaded.level);
|
|
453
|
+
Assert.AreEqual("Hero", loaded.name);
|
|
454
|
+
Assert.AreEqual(0, loaded.gold); // New field defaults to 0
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
**Best Practice:** Keep regression test files — Store save files from each version in your test suite.
|
|
458
|
+
|
|
459
|
+
### Common Save System Patterns
|
|
460
|
+
|
|
461
|
+
**Pattern 1: Version-Aware Loading** 🟡 Intermediate
|
|
462
|
+
|
|
463
|
+
```csharp
|
|
464
|
+
public SaveFile LoadSave(string path)
|
|
465
|
+
{
|
|
466
|
+
byte[] bytes = File.ReadAllBytes(path);
|
|
467
|
+
SaveFile save = Serializer.ProtoDeserialize<SaveFile>(bytes);
|
|
468
|
+
|
|
469
|
+
// Perform any version-specific migrations
|
|
470
|
+
save.PostDeserialize();
|
|
471
|
+
|
|
472
|
+
return save;
|
|
473
|
+
}
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
**Pattern 2: Gradual Migration (preserve old format for rollback)** 🔴 Advanced
|
|
477
|
+
|
|
478
|
+
```csharp
|
|
479
|
+
public class SaveManager
|
|
480
|
+
{
|
|
481
|
+
public void SaveGame(PlayerData data)
|
|
482
|
+
{
|
|
483
|
+
var protobuf = ConvertToProtobuf(data);
|
|
484
|
+
byte[] bytes = Serializer.ProtoSerialize(protobuf);
|
|
485
|
+
|
|
486
|
+
// Write both formats during transition period
|
|
487
|
+
File.WriteAllBytes("save.dat", bytes);
|
|
488
|
+
Serializer.WriteToJsonFile(data, "save.json.backup");
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
**Pattern 3: Automatic Backup Before Save** 🟡 Intermediate
|
|
494
|
+
|
|
495
|
+
```csharp
|
|
496
|
+
public void SaveGame(SaveFile save)
|
|
497
|
+
{
|
|
498
|
+
string path = "player.save";
|
|
499
|
+
string backup = $"player.save.backup_{DateTime.Now:yyyyMMdd_HHmmss}";
|
|
500
|
+
|
|
501
|
+
// Backup existing save before overwriting
|
|
502
|
+
if (File.Exists(path))
|
|
503
|
+
{
|
|
504
|
+
File.Copy(path, backup);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
byte[] bytes = Serializer.ProtoSerialize(save);
|
|
508
|
+
File.WriteAllBytes(path, bytes);
|
|
509
|
+
|
|
510
|
+
// Keep only last 3 backups
|
|
511
|
+
CleanupOldBackups("player.save.backup_*", keepCount: 3);
|
|
512
|
+
}
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
### Why This Matters for Live Games
|
|
516
|
+
|
|
517
|
+
**Without schema evolution (JSON/BinaryFormatter):**
|
|
518
|
+
|
|
519
|
+
- ❌ Every update risks breaking player saves
|
|
520
|
+
- ❌ Must write complex migration code for every version
|
|
521
|
+
- ❌ Players lose progress if migration fails
|
|
522
|
+
- ❌ Can't roll back broken updates (saves are corrupted)
|
|
523
|
+
- ❌ Hotfixes that change save format are terrifying
|
|
524
|
+
|
|
525
|
+
**With Protobuf schema evolution:**
|
|
526
|
+
|
|
527
|
+
- ✅ Add features freely without breaking existing saves
|
|
528
|
+
- ✅ Graceful degradation (old clients ignore new fields)
|
|
529
|
+
- ✅ Can roll back game versions without data loss
|
|
530
|
+
- ✅ Hotfixes are safe (just add new optional fields)
|
|
531
|
+
- ✅ Reduces QA burden (less migration testing needed)
|
|
532
|
+
|
|
533
|
+
### Protobuf Compatibility Tips
|
|
534
|
+
|
|
535
|
+
- Add fields with new numbers; old clients ignore unknown fields; new clients default missing fields.
|
|
536
|
+
- Never reuse or renumber existing field tags; reserve removed numbers if needed.
|
|
537
|
+
- Avoid changing scalar types on the same number.
|
|
538
|
+
- Prefer optional/repeated instead of required.
|
|
539
|
+
- Use sensible defaults to minimize payloads.
|
|
540
|
+
- **Group field numbers by version** (e.g., v1: 1-10, v2: 11-20, v3: 21-30) for clarity.
|
|
541
|
+
|
|
542
|
+
---
|
|
543
|
+
|
|
544
|
+
## Protobuf Polymorphism (Inheritance + Interfaces)
|
|
545
|
+
|
|
546
|
+
- Abstract base with [ProtoInclude] (recommended)
|
|
547
|
+
- Protobuf-net does not infer subtype graphs unless you tell it. The recommended pattern is to put `[ProtoContract]` on an abstract base and list all concrete subtypes with `[ProtoInclude(tag, typeof(Subtype))]`.
|
|
548
|
+
- Declare your fields/properties as the abstract base so protobuf can deserialize to the correct subtype.
|
|
549
|
+
|
|
550
|
+
```csharp
|
|
551
|
+
using ProtoBuf;
|
|
552
|
+
|
|
553
|
+
[ProtoContract]
|
|
554
|
+
public abstract class Message { }
|
|
555
|
+
|
|
556
|
+
[ProtoContract]
|
|
557
|
+
public sealed class Ping : Message { [ProtoMember(1)] public int id; }
|
|
558
|
+
|
|
559
|
+
[ProtoContract]
|
|
560
|
+
[ProtoInclude(100, typeof(Ping))]
|
|
561
|
+
public abstract class MessageBase : Message { }
|
|
562
|
+
|
|
563
|
+
[ProtoContract]
|
|
564
|
+
public sealed class Envelope { [ProtoMember(1)] public MessageBase payload; }
|
|
565
|
+
|
|
566
|
+
// round-trip works: Envelope.payload will be Ping at runtime
|
|
567
|
+
byte[] bytes = Serializer.ProtoSerialize(new Envelope { payload = new Ping { id = 7 } });
|
|
568
|
+
Envelope again = Serializer.ProtoDeserialize<Envelope>(bytes);
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
- Interfaces require a root mapping
|
|
572
|
+
- Protobuf cannot deserialize directly to an interface because it needs a concrete root. You have three options:
|
|
573
|
+
- Use an abstract base with `[ProtoInclude]` and declare fields as that base (preferred).
|
|
574
|
+
- Register a mapping from the interface to a concrete root type at startup:
|
|
575
|
+
|
|
576
|
+
```csharp
|
|
577
|
+
Serializer.RegisterProtobufRoot<IMsg, Ping>();
|
|
578
|
+
IMsg msg = Serializer.ProtoDeserialize<IMsg>(bytes);
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
- Or specify the concrete type with the overload:
|
|
582
|
+
|
|
583
|
+
```csharp
|
|
584
|
+
IMsg msg = Serializer.ProtoDeserialize<IMsg>(bytes, typeof(Ping));
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
- Random system example
|
|
588
|
+
- All PRNGs derive from `AbstractRandom`, which is `[ProtoContract]` and declares each implementation via `[ProtoInclude]`.
|
|
589
|
+
- Do this in your models:
|
|
590
|
+
|
|
591
|
+
```csharp
|
|
592
|
+
[ProtoContract]
|
|
593
|
+
public class RNGHolder { [ProtoMember(1)] public AbstractRandom rng; }
|
|
594
|
+
|
|
595
|
+
// Serialize any implementation without surprises
|
|
596
|
+
RNGHolder holder = new RNGHolder { rng = new PcgRandom(seed: 123) };
|
|
597
|
+
byte[] buf = Serializer.ProtoSerialize(holder);
|
|
598
|
+
RNGHolder rt = Serializer.ProtoDeserialize<RNGHolder>(buf);
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
- If you truly need an `IRandom` field, register a root or pass the concrete type when deserializing:
|
|
602
|
+
|
|
603
|
+
```csharp
|
|
604
|
+
Serializer.RegisterProtobufRoot<IRandom, PcgRandom>();
|
|
605
|
+
IRandom r = Serializer.ProtoDeserialize<IRandom>(bytes);
|
|
606
|
+
// or
|
|
607
|
+
IRandom r2 = Serializer.ProtoDeserialize<IRandom>(bytes, typeof(PcgRandom));
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
- Tag numbers are API surface
|
|
611
|
+
- Tags in `[ProtoInclude(tag, ...)]` and `[ProtoMember(tag)]` are part of your schema. Add new numbers for new types/fields; never reuse or renumber existing tags once shipped.
|
|
612
|
+
|
|
613
|
+
## SystemBinary Examples (Legacy/Trusted Only)
|
|
614
|
+
|
|
615
|
+
```csharp
|
|
616
|
+
using WallstopStudios.UnityHelpers.Core.Serialization;
|
|
617
|
+
|
|
618
|
+
var obj = new SomeSerializableType();
|
|
619
|
+
byte[] bin = Serializer.BinarySerialize(obj);
|
|
620
|
+
SomeSerializableType roundtrip = Serializer.BinaryDeserialize<SomeSerializableType>(bin);
|
|
621
|
+
|
|
622
|
+
// Generic
|
|
623
|
+
byte[] bin2 = Serializer.Serialize(obj, SerializationType.SystemBinary);
|
|
624
|
+
var round2 = Serializer.Deserialize<SomeSerializableType>(bin2, SerializationType.SystemBinary);
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
Watch-outs
|
|
628
|
+
|
|
629
|
+
- BinaryFormatter is obsolete for modern .NET and unsafe for untrusted input.
|
|
630
|
+
- Version changes often break BinaryFormatter payloads; restrict to same-version caches.
|
|
631
|
+
|
|
632
|
+
Features
|
|
633
|
+
|
|
634
|
+
- Unity converters for JSON: Vector2/3/4, Color, Matrix4x4, GameObject, Type
|
|
635
|
+
- Protobuf (protobuf-net) integration
|
|
636
|
+
- LZMA compression utilities (`Runtime/Utils/LZMA.cs`)
|
|
637
|
+
- Pooled buffers/writers to reduce allocations
|
|
638
|
+
|
|
639
|
+
References
|
|
640
|
+
|
|
641
|
+
- API: `Runtime/Core/Serialization/Serializer.cs:1`
|
|
642
|
+
- LZMA: `Runtime/Utils/LZMA.cs:1`
|
|
643
|
+
|
|
644
|
+
## Migration
|
|
645
|
+
|
|
646
|
+
- Replace direct `System.Text.Json.JsonSerializer` calls in app code with `Serializer.JsonSerialize/JsonDeserialize/JsonStringify`, or with `Serializer.Serialize/Deserialize` + `SerializationType.Json` to centralize options and Unity converters.
|
|
647
|
+
- Replace any custom protobuf helpers with `Serializer.ProtoSerialize/ProtoDeserialize` or the generic `Serializer.Serialize/Deserialize` APIs. Ensure models are annotated with `[ProtoContract]` and stable `[ProtoMember(n)]` tags.
|
|
648
|
+
- For existing binary saves using BinaryFormatter, prefer migrating to Json or Protobuf. If you must keep BinaryFormatter, scope it to trusted, same-version caches only.
|
|
649
|
+
|
|
650
|
+
## 2.0 changes
|
|
651
|
+
|
|
652
|
+
- BinaryFormatter (`SerializationType.SystemBinary`) is deprecated but remains functional for trusted/legacy scenarios. Prefer:
|
|
653
|
+
- `SerializationType.Json` (System.Text.Json with Unity-aware converters) for readable, diffable content.
|
|
654
|
+
- `SerializationType.Protobuf` (protobuf-net) for compact, high-performance binary payloads.
|
|
655
|
+
|
|
656
|
+
## IL2CPP / AOT guidance
|
|
657
|
+
|
|
658
|
+
System.Text.Json can require extra care under AOT (e.g., IL2CPP):
|
|
659
|
+
|
|
660
|
+
- Prefer explicit `JsonSerializerOptions` and concrete generic APIs over `object`-based serialization to reduce reflection.
|
|
661
|
+
- For hot POCO models, consider adding a source-generated context (JsonSerializerContext) in your game assembly and pass it to `JsonSerializer` calls.
|
|
662
|
+
- If you rely on many custom converters, ensure they are referenced by code so the linker doesn't strip them. The UnityHelpers converters are referenced via options by default.
|
|
663
|
+
- Avoid deserializing `System.Type` from untrusted input (see `TypeConverter`); this is intended for trusted configs/tools.
|