com.wallstop-studios.unity-helpers 2.0.0-rc56 → 2.0.0-rc58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.config/dotnet-tools.json +9 -9
- package/.editorconfig +184 -184
- package/.gitattributes +63 -63
- package/.github/workflows/npm-publish.yml +66 -66
- package/.pre-commit-config.yaml +21 -21
- package/Editor/AnimationCopier.cs +181 -181
- package/Editor/AnimationCopier.cs.meta +2 -2
- package/Editor/AnimationCreator.cs +253 -253
- package/Editor/AnimationCreator.cs.meta +11 -11
- package/Editor/AnimationEventEditor.cs +887 -887
- package/Editor/AnimatorControllerCopier.cs +162 -162
- package/Editor/AnimatorControllerCopier.cs.meta +2 -2
- package/Editor/CustomEditors/MatchColliderToSpriteEditor.cs +34 -34
- package/Editor/CustomEditors/MatchColliderToSpriteEditor.cs.meta +2 -2
- package/Editor/CustomEditors.meta +2 -2
- package/Editor/FitTextureSizeWizard.cs +147 -147
- package/Editor/FitTextureSizeWizard.cs.meta +2 -2
- package/Editor/PrefabCheckWizard.cs +170 -170
- package/Editor/PrefabCheckWizard.cs.meta +11 -11
- package/Editor/SpriteSettingsApplier.cs +272 -272
- package/Editor/SpriteSettingsApplier.cs.meta +2 -2
- package/Editor/StringInListeDrawer.cs +56 -56
- package/Editor/TextureResizerWizard.cs +181 -181
- package/Editor/TextureResizerWizard.cs.meta +2 -2
- package/Editor/TextureSettingsApplier.cs +178 -178
- package/Editor/TextureSettingsApplier.cs.meta +2 -2
- package/Editor/Utils/DxReadOnlyPropertyDrawer.cs +26 -26
- package/Editor/Utils/DxReadOnlyPropertyDrawer.cs.meta +11 -11
- package/Editor/Utils/EditorUtilities.cs +22 -22
- package/Editor/Utils/EditorUtilities.cs.meta +11 -11
- package/Editor/Utils.meta +8 -8
- package/Editor/WShowIfPropertyDrawer.cs +63 -63
- package/Editor/WallstopStudios.UnityHelpers.Editor.asmdef +17 -17
- package/Editor/WallstopStudios.UnityHelpers.Editor.asmdef.meta +7 -7
- package/LICENSE +21 -21
- package/LICENSE.md +6 -6
- package/LICENSE.meta +7 -7
- package/README.md +177 -177
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.dll.meta +33 -33
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.xml +223 -223
- package/Runtime/Binaries/Microsoft.Bcl.AsyncInterfaces.xml.meta +7 -7
- package/Runtime/Binaries/System.Text.Encodings.Web.dll.meta +33 -33
- package/Runtime/Binaries/System.Text.Encodings.Web.xml +935 -935
- package/Runtime/Binaries/System.Text.Encodings.Web.xml.meta +7 -7
- package/Runtime/Binaries/System.Text.Json.dll.meta +33 -33
- package/Runtime/Binaries/System.Text.Json.xml +4829 -4829
- package/Runtime/Binaries/System.Text.Json.xml.meta +7 -7
- package/Runtime/Binaries.meta +8 -8
- package/Runtime/Core/Attributes/AnimationEventAttribute.cs +131 -131
- package/Runtime/Core/Attributes/ChildComponentAttribute.cs +209 -209
- package/Runtime/Core/Attributes/DxReadOnlyAttribute.cs +6 -6
- package/Runtime/Core/Attributes/KSerializableAttribute.cs +19 -19
- package/Runtime/Core/Attributes/NotNullAttribute.cs +32 -32
- package/Runtime/Core/Attributes/ParentComponent.cs +185 -185
- package/Runtime/Core/Attributes/RelationalComponentExtensions.cs +14 -14
- package/Runtime/Core/Attributes/SiblingComponentAttribute.cs +117 -117
- package/Runtime/Core/Attributes/SiblingComponentAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/ValidateAssignmentAttribute.cs +101 -101
- package/Runtime/Core/Attributes/ValidateAssignmentAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/WShowIfAttribute.cs +16 -16
- package/Runtime/Core/Attributes.meta +8 -8
- package/Runtime/Core/DataStructure/Adapters/FastVector2Int.cs +92 -92
- package/Runtime/Core/DataStructure/Adapters/FastVector3Int.cs +185 -185
- package/Runtime/Core/DataStructure/Adapters/KGuid.cs +305 -305
- package/Runtime/Core/DataStructure/Adapters/KVector2.cs +80 -80
- package/Runtime/Core/DataStructure/Circle.cs +50 -50
- package/Runtime/Core/DataStructure/CyclicBuffer.cs +153 -153
- package/Runtime/Core/DataStructure/ISpatialTree.cs +60 -60
- package/Runtime/Core/DataStructure/ISpatialTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/KDTree.cs +292 -292
- package/Runtime/Core/DataStructure/KDTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/QuadTree.cs +287 -287
- package/Runtime/Core/DataStructure/RTree.cs +346 -346
- package/Runtime/Core/DataStructure/RTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/StringWrapper.cs +91 -91
- package/Runtime/Core/DataStructure/TimedCache.cs +66 -66
- package/Runtime/Core/Extension/AnimatorExtensions.cs +25 -25
- package/Runtime/Core/Extension/AsyncOperationExtensions.cs +110 -108
- package/Runtime/Core/Extension/CircleExtensions.cs +25 -25
- package/Runtime/Core/Extension/ColorExtensions.cs +629 -629
- package/Runtime/Core/Extension/DictionaryExtensions.cs +279 -279
- package/Runtime/Core/Extension/DirectionExtensions.cs +213 -213
- package/Runtime/Core/Extension/EnumExtensions.cs +37 -37
- package/Runtime/Core/Extension/EnumExtensions.cs.meta +2 -2
- package/Runtime/Core/Extension/HashSetExtensions.cs +12 -12
- package/Runtime/Core/Extension/IEnumerableExtensions.cs +122 -122
- package/Runtime/Core/Extension/IListExtensions.cs +106 -106
- package/Runtime/Core/Extension/LoggingExtensions.cs +258 -258
- package/Runtime/Core/Extension/RandomExtensions.cs +109 -109
- package/Runtime/Core/Extension/SerializedPropertyExtensions.cs +157 -157
- package/Runtime/Core/Extension/StringExtensions.cs +151 -151
- package/Runtime/Core/Extension/UnityExtensions.cs +1608 -1608
- package/Runtime/Core/Helper/ArrayConverter.cs +39 -39
- package/Runtime/Core/Helper/ArrayConverter.cs.meta +2 -2
- package/Runtime/Core/Helper/AssignUtilities.cs +14 -14
- package/Runtime/Core/Helper/AssignUtilities.cs.meta +11 -11
- package/Runtime/Core/Helper/Enumerables.cs +17 -17
- package/Runtime/Core/Helper/FormattingHelpers.cs +32 -32
- package/Runtime/Core/Helper/Geometry.cs +43 -43
- package/Runtime/Core/Helper/Helpers.cs +722 -722
- package/Runtime/Core/Helper/Helpers.cs.meta +11 -11
- package/Runtime/Core/Helper/IterationHelpers.cs +32 -32
- package/Runtime/Core/Helper/IterationHelpers.cs.meta +11 -11
- package/Runtime/Core/Helper/LifetimeHelpers.cs +13 -13
- package/Runtime/Core/Helper/Objects.cs +769 -769
- package/Runtime/Core/Helper/Partials/LogHelpers.cs +13 -13
- package/Runtime/Core/Helper/Partials/LogHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials/MathHelpers.cs +30 -30
- package/Runtime/Core/Helper/Partials/MathHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials/ObjectHelpers.cs +388 -388
- package/Runtime/Core/Helper/Partials/ObjectHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials/TransformHelpers.cs +189 -189
- package/Runtime/Core/Helper/Partials/TransformHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/Partials.meta +2 -2
- package/Runtime/Core/Helper/ReflectionHelpers.cs +452 -452
- package/Runtime/Core/Helper/ReflectionHelpers.cs.meta +2 -2
- package/Runtime/Core/Helper/SceneHelper.cs +209 -213
- package/Runtime/Core/Helper/SpriteHelpers.cs +41 -41
- package/Runtime/Core/Helper/SpriteHelpers.cs.meta +11 -11
- package/Runtime/Core/Helper/StringInList.cs +31 -31
- package/Runtime/Core/Helper/StringInList.cs.meta +11 -11
- package/Runtime/Core/Helper/UnityMainThreadDispatcher.cs +82 -80
- package/Runtime/Core/Helper/WallMath.cs +166 -166
- package/Runtime/Core/Math/Line.cs +55 -55
- package/Runtime/Core/Math/Parabola.cs +47 -47
- package/Runtime/Core/Math/PointPolygonCheck.cs +36 -36
- package/Runtime/Core/Math/PointPolygonCheck.cs.meta +11 -11
- package/Runtime/Core/Math/Range.cs +92 -92
- package/Runtime/Core/Math/XXHash.cs +310 -310
- package/Runtime/Core/Math/XXHash.cs.meta +11 -11
- package/Runtime/Core/Model/Direction.cs +43 -43
- package/Runtime/Core/OneOf/FastOneOf.cs +152 -152
- package/Runtime/Core/OneOf/None.cs +4 -4
- package/Runtime/Core/Random/AbstractRandom.cs +585 -585
- package/Runtime/Core/Random/DotNetRandom.cs +54 -54
- package/Runtime/Core/Random/DotNetRandom.cs.meta +2 -2
- package/Runtime/Core/Random/IRandom.cs +161 -161
- package/Runtime/Core/Random/LinearCongruentialGenerator.cs +49 -49
- package/Runtime/Core/Random/NativePcgRandom.cs +97 -97
- package/Runtime/Core/Random/PRNG.cs +7 -7
- package/Runtime/Core/Random/PRNG.cs.meta +2 -2
- package/Runtime/Core/Random/PcgRandom.cs +149 -149
- package/Runtime/Core/Random/PerlinNoise.cs +369 -369
- package/Runtime/Core/Random/PerlinNoise.cs.meta +2 -2
- package/Runtime/Core/Random/RandomState.cs +131 -131
- package/Runtime/Core/Random/RandomUtilities.cs +26 -26
- package/Runtime/Core/Random/RandomUtilities.cs.meta +11 -11
- package/Runtime/Core/Random/RomuDuo.cs +116 -116
- package/Runtime/Core/Random/RomuDuo.cs.meta +2 -2
- package/Runtime/Core/Random/SplitMix64.cs +94 -94
- package/Runtime/Core/Random/SplitMix64.cs.meta +2 -2
- package/Runtime/Core/Random/SquirrelRandom.cs +84 -84
- package/Runtime/Core/Random/SystemRandom.cs +162 -162
- package/Runtime/Core/Random/ThreadLocalRandom.cs +12 -12
- package/Runtime/Core/Random/UnityRandom.cs +57 -57
- package/Runtime/Core/Random/UnityRandom.cs.meta +11 -11
- package/Runtime/Core/Random/WyRandom.cs +121 -121
- package/Runtime/Core/Random/WyRandom.cs.meta +2 -2
- package/Runtime/Core/Random/XorShiftRandom.cs +52 -52
- package/Runtime/Core/Random/XorShiftRandom.cs.meta +11 -11
- package/Runtime/Core/Random/XorShiroRandom.cs +119 -119
- package/Runtime/Core/Random/XorShiroRandom.cs.meta +2 -2
- package/Runtime/Core/Serialization/JsonConverters/ColorConverter.cs +88 -88
- package/Runtime/Core/Serialization/JsonConverters/GameObjectConverter.cs +37 -37
- package/Runtime/Core/Serialization/JsonConverters/Matrix4x4Converter.cs +218 -218
- package/Runtime/Core/Serialization/JsonConverters/TypeConverter.cs +28 -28
- package/Runtime/Core/Serialization/JsonConverters/Vector2Converter.cs +74 -74
- package/Runtime/Core/Serialization/JsonConverters/Vector3Converter.cs +81 -81
- package/Runtime/Core/Serialization/JsonConverters/Vector4Converter.cs +88 -88
- package/Runtime/Core/Serialization/Serializer.cs +195 -195
- package/Runtime/Core/Threading/SingleThreadedThreadPool.cs +113 -113
- package/Runtime/Protobuf-Net/System.Buffers.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Collections.Immutable.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Collections.Immutable.xml +5379 -5379
- package/Runtime/Protobuf-Net/System.Collections.Immutable.xml.meta +7 -7
- package/Runtime/Protobuf-Net/System.Numerics.Vectors.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.xml +290 -290
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.xml.meta +7 -7
- package/Runtime/Protobuf-Net/protobuf-net.Core.dll.meta +33 -33
- package/Runtime/Protobuf-Net/protobuf-net.dll.meta +33 -33
- package/Runtime/UI/LayeredImage.cs +364 -364
- package/Runtime/UI/LayeredImage.cs.meta +2 -2
- package/Runtime/UI.meta +2 -2
- package/Runtime/Utils/AnimationEventEqualityComparer.cs +161 -161
- package/Runtime/Utils/AnimatorEnumStateMachine.cs +88 -88
- package/Runtime/Utils/Buffers.cs +33 -33
- package/Runtime/Utils/CenterPointOffset.cs +30 -30
- package/Runtime/Utils/CenterPointOffset.cs.meta +2 -2
- package/Runtime/Utils/CircleLineRenderer.cs +134 -134
- package/Runtime/Utils/CoroutineHandler.cs +4 -4
- package/Runtime/Utils/CoroutineHandler.cs.meta +2 -2
- package/Runtime/Utils/DeferredDisposalResult.cs +23 -23
- package/Runtime/Utils/MatchColliderToSprite.cs +94 -94
- package/Runtime/Utils/MatchColliderToSprite.cs.meta +2 -2
- package/Runtime/Utils/Oscillator.cs +27 -27
- package/Runtime/Utils/RuntimeSingleton.cs +69 -69
- package/Runtime/Utils/RuntimeSingleton.cs.meta +11 -11
- package/Runtime/Utils/SetTextureImportData.cs +69 -69
- package/Runtime/Utils/SpriteRendererMetadata.cs +374 -374
- package/Runtime/Utils/SpriteRendererMetadata.cs.meta +2 -2
- package/Runtime/Utils/SpriteRendererSyncer.cs +100 -100
- package/Runtime/Utils/SpriteRendererSyncer.cs.meta +2 -2
- package/Runtime/Utils/TextureScale.cs +179 -179
- package/Runtime/Utils/TextureScale.cs.meta +2 -2
- package/Runtime/WallstopStudios.UnityHelpers.asmdef +13 -13
- package/Tests/Runtime/Attributes/ChildComponentTests.cs +81 -81
- package/Tests/Runtime/Attributes/Components/ExpectChildSpriteRenderers.cs +28 -28
- package/Tests/Runtime/Attributes/Components/ExpectParentSpriteRenderers.cs +28 -28
- package/Tests/Runtime/Attributes/ParentComponentTests.cs +68 -68
- package/Tests/Runtime/Components/RelationalComponentTesterComplex.cs +34 -34
- package/Tests/Runtime/Components/RelationalComponentTesterComplex.cs.meta +2 -2
- package/Tests/Runtime/Components/RelationalComponentsTesterSimple.cs +40 -40
- package/Tests/Runtime/Components.meta +2 -2
- package/Tests/Runtime/DataStructures/BalancedKDTreeTests.cs +14 -14
- package/Tests/Runtime/DataStructures/BalancedKDTreeTests.cs.meta +11 -11
- package/Tests/Runtime/DataStructures/CyclicBufferTests.cs +324 -324
- package/Tests/Runtime/DataStructures/QuadTreeTests.cs +14 -14
- package/Tests/Runtime/DataStructures/QuadTreeTests.cs.meta +11 -11
- package/Tests/Runtime/DataStructures/SpatialTreeTests.cs +130 -130
- package/Tests/Runtime/DataStructures/SpatialTreeTests.cs.meta +11 -11
- package/Tests/Runtime/DataStructures/UnbalancedKDTreeTests.cs +14 -14
- package/Tests/Runtime/DataStructures/UnbalancedKDTreeTests.cs.meta +11 -11
- package/Tests/Runtime/DataStructures.meta +8 -8
- package/Tests/Runtime/Extensions/DictionaryExtensionTests.cs +439 -439
- package/Tests/Runtime/Extensions/DictionaryExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/EnumExtensionTests.cs +128 -128
- package/Tests/Runtime/Extensions/EnumExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/IListExtensionTests.cs +104 -104
- package/Tests/Runtime/Extensions/RandomExtensionTests.cs +27 -27
- package/Tests/Runtime/Extensions/RandomExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions/StringExtensionTests.cs +31 -31
- package/Tests/Runtime/Extensions/StringExtensionTests.cs.meta +2 -2
- package/Tests/Runtime/Extensions.meta +2 -2
- package/Tests/Runtime/Helper/ArrayConverterTests.cs +19 -19
- package/Tests/Runtime/Helper/ArrayConverterTests.cs.meta +2 -2
- package/Tests/Runtime/Helper/FormattingHelperTests.cs +129 -129
- package/Tests/Runtime/Helper/FormattingHelperTests.cs.meta +2 -2
- package/Tests/Runtime/Helper/ObjectHelperTests.cs +402 -402
- package/Tests/Runtime/Helper/ObjectHelperTests.cs.meta +2 -2
- package/Tests/Runtime/Helper/ReflectionHelperTests.cs +536 -536
- package/Tests/Runtime/Helper/SceneHelperTests.cs +94 -94
- package/Tests/Runtime/Helper/WallMathTests.cs +233 -233
- package/Tests/Runtime/Helper/WallMathTests.cs.meta +2 -2
- package/Tests/Runtime/Helper.meta +2 -2
- package/Tests/Runtime/Performance/KDTreePerformanceTests.cs +14 -14
- package/Tests/Runtime/Performance/KDTreePerformanceTests.cs.meta +11 -11
- package/Tests/Runtime/Performance/QuadTreePerformanceTests.cs +14 -14
- package/Tests/Runtime/Performance/QuadTreePerformanceTests.cs.meta +11 -11
- package/Tests/Runtime/Performance/RandomPerformanceTests.cs +157 -157
- package/Tests/Runtime/Performance/RandomPerformanceTests.cs.meta +11 -11
- package/Tests/Runtime/Performance/RelationComponentPerformanceTests.cs +61 -61
- package/Tests/Runtime/Performance/RelationComponentPerformanceTests.cs.meta +2 -2
- package/Tests/Runtime/Performance/SpatialTreePerformanceTest.cs +154 -154
- package/Tests/Runtime/Performance/SpatialTreePerformanceTest.cs.meta +11 -11
- package/Tests/Runtime/Performance/UnbalancedKDTreeTests.cs +14 -14
- package/Tests/Runtime/Performance/UnbalancedKDTreeTests.cs.meta +11 -11
- package/Tests/Runtime/Performance.meta +8 -8
- package/Tests/Runtime/Random/DotNetRandomTests.cs +9 -9
- package/Tests/Runtime/Random/DotNetRandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random/LinearCongruentialGeneratorTests.cs +12 -12
- package/Tests/Runtime/Random/PcgRandomTests.cs +9 -9
- package/Tests/Runtime/Random/PcgRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/RandomTestBase.cs +787 -787
- package/Tests/Runtime/Random/RandomTestBase.cs.meta +11 -11
- package/Tests/Runtime/Random/RomuDuoRandomTests.cs +9 -9
- package/Tests/Runtime/Random/RomuDuoRandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random/SplitMix64RandomTests.cs +9 -9
- package/Tests/Runtime/Random/SplitMix64RandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random/SquirrelRandomTests.cs +14 -14
- package/Tests/Runtime/Random/SquirrelRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/SystemRandomTests.cs +10 -10
- package/Tests/Runtime/Random/SystemRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/UnityRandomTests.cs +9 -9
- package/Tests/Runtime/Random/UnityRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/WyRandomTests.cs +9 -9
- package/Tests/Runtime/Random/WyRandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random/XorShiftRandomTests.cs +9 -9
- package/Tests/Runtime/Random/XorShiftRandomTests.cs.meta +11 -11
- package/Tests/Runtime/Random/XorShiroRandomTests.cs +9 -9
- package/Tests/Runtime/Random/XorShiroRandomTests.cs.meta +2 -2
- package/Tests/Runtime/Random.meta +8 -8
- package/Tests/Runtime/Serialization/JsonSerializationTest.cs +156 -156
- package/Tests/Runtime/Serialization/JsonSerializationTest.cs.meta +2 -2
- package/Tests/Runtime/Serialization.meta +2 -2
- package/Tests/Runtime/Utils/SpriteRendererMetadataTests.cs +399 -399
- package/Tests/Runtime/Utils/SpriteRendererMetadataTests.cs.meta +2 -2
- package/Tests/Runtime/Utils.meta +2 -2
- package/Tests/Runtime/WallstopStudios.UnityHelpers.Tests.Runtime.asmdef +22 -22
- package/Tests/Runtime/WallstopStudios.UnityHelpers.Tests.Runtime.asmdef.meta +7 -7
- package/Tests/Runtime.meta +8 -8
- package/package.json +38 -38
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 321716db87b24857a466b1c6c895c72b
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 321716db87b24857a466b1c6c895c72b
|
|
3
3
|
timeCreated: 1732646645
|
|
@@ -1,189 +1,189 @@
|
|
|
1
|
-
namespace UnityHelpers.Core.Helper
|
|
2
|
-
{
|
|
3
|
-
using System.Collections.Generic;
|
|
4
|
-
using UnityEngine;
|
|
5
|
-
|
|
6
|
-
public static partial class Helpers
|
|
7
|
-
{
|
|
8
|
-
public static IEnumerable<GameObject> IterateOverChildGameObjects(
|
|
9
|
-
this GameObject gameObject
|
|
10
|
-
)
|
|
11
|
-
{
|
|
12
|
-
for (int i = 0; i < gameObject.transform.childCount; i++)
|
|
13
|
-
{
|
|
14
|
-
yield return gameObject.transform.GetChild(i).gameObject;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
public static IEnumerable<GameObject> IterateOverChildGameObjectsRecursively(
|
|
19
|
-
this GameObject gameObject
|
|
20
|
-
)
|
|
21
|
-
{
|
|
22
|
-
for (int i = 0; i < gameObject.transform.childCount; i++)
|
|
23
|
-
{
|
|
24
|
-
GameObject child = gameObject.transform.GetChild(i).gameObject;
|
|
25
|
-
yield return child;
|
|
26
|
-
foreach (GameObject go in child.IterateOverChildGameObjectsRecursively())
|
|
27
|
-
{
|
|
28
|
-
yield return go;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
public static IEnumerable<GameObject> IterateOverChildGameObjectsRecursivelyIncludingSelf(
|
|
34
|
-
this GameObject gameObject
|
|
35
|
-
)
|
|
36
|
-
{
|
|
37
|
-
yield return gameObject;
|
|
38
|
-
|
|
39
|
-
for (int i = 0; i < gameObject.transform.childCount; ++i)
|
|
40
|
-
{
|
|
41
|
-
GameObject child = gameObject.transform.GetChild(i).gameObject;
|
|
42
|
-
foreach (
|
|
43
|
-
GameObject c in child.IterateOverChildGameObjectsRecursivelyIncludingSelf()
|
|
44
|
-
)
|
|
45
|
-
{
|
|
46
|
-
yield return c;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
public static IEnumerable<GameObject> IterateOverParentGameObjects(
|
|
52
|
-
this GameObject gameObject
|
|
53
|
-
)
|
|
54
|
-
{
|
|
55
|
-
Transform currentTransform = gameObject.transform.parent;
|
|
56
|
-
while (currentTransform != null)
|
|
57
|
-
{
|
|
58
|
-
yield return currentTransform.gameObject;
|
|
59
|
-
currentTransform = currentTransform.parent;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
public static IEnumerable<GameObject> IterateOverParentGameObjectsRecursivelyIncludingSelf(
|
|
64
|
-
this GameObject gameObject
|
|
65
|
-
)
|
|
66
|
-
{
|
|
67
|
-
yield return gameObject;
|
|
68
|
-
|
|
69
|
-
foreach (GameObject parent in IterateOverParentGameObjects(gameObject))
|
|
70
|
-
{
|
|
71
|
-
yield return parent;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
public static IEnumerable<T> IterateOverAllChildComponentsRecursively<T>(
|
|
76
|
-
this Component component
|
|
77
|
-
)
|
|
78
|
-
{
|
|
79
|
-
if (component == null)
|
|
80
|
-
{
|
|
81
|
-
yield break;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
foreach (T c in component.gameObject.GetComponents<T>())
|
|
85
|
-
{
|
|
86
|
-
yield return c;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
for (int i = 0; i < component.transform.childCount; ++i)
|
|
90
|
-
{
|
|
91
|
-
Transform child = component.transform.GetChild(i);
|
|
92
|
-
|
|
93
|
-
foreach (T c in child.IterateOverAllChildComponentsRecursively<T>())
|
|
94
|
-
{
|
|
95
|
-
yield return c;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
public static IEnumerable<Transform> IterateOverAllChildren(this Component component)
|
|
101
|
-
{
|
|
102
|
-
if (component == null)
|
|
103
|
-
{
|
|
104
|
-
yield break;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
for (int i = 0; i < component.transform.childCount; ++i)
|
|
108
|
-
{
|
|
109
|
-
yield return component.transform.GetChild(i);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
public static IEnumerable<Transform> IterateOverAllParents(this Component component)
|
|
114
|
-
{
|
|
115
|
-
if (component == null)
|
|
116
|
-
{
|
|
117
|
-
yield break;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
Transform transform = component.transform;
|
|
121
|
-
while (transform.parent != null)
|
|
122
|
-
{
|
|
123
|
-
yield return transform.parent;
|
|
124
|
-
transform = transform.parent;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
public static IEnumerable<Transform> IterateOverAllParentsIncludingSelf(
|
|
129
|
-
this Component component
|
|
130
|
-
)
|
|
131
|
-
{
|
|
132
|
-
if (component == null)
|
|
133
|
-
{
|
|
134
|
-
yield break;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
Transform transform = component.transform;
|
|
138
|
-
while (transform != null)
|
|
139
|
-
{
|
|
140
|
-
yield return transform;
|
|
141
|
-
transform = transform.parent;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
public static IEnumerable<Transform> IterateOverAllChildrenRecursively(
|
|
146
|
-
this Component component
|
|
147
|
-
)
|
|
148
|
-
{
|
|
149
|
-
if (component == null)
|
|
150
|
-
{
|
|
151
|
-
yield break;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
for (int i = 0; i < component.transform.childCount; ++i)
|
|
155
|
-
{
|
|
156
|
-
Transform childTransform = component.transform.GetChild(i);
|
|
157
|
-
yield return childTransform;
|
|
158
|
-
foreach (
|
|
159
|
-
Transform childChildTransform in childTransform.IterateOverAllChildrenRecursively()
|
|
160
|
-
)
|
|
161
|
-
{
|
|
162
|
-
yield return childChildTransform;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
public static IEnumerable<Transform> IterateOverAllChildrenRecursivelyBreadthFirst(
|
|
168
|
-
this Component component
|
|
169
|
-
)
|
|
170
|
-
{
|
|
171
|
-
if (component == null)
|
|
172
|
-
{
|
|
173
|
-
yield break;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
Queue<Transform> iteration = new();
|
|
177
|
-
iteration.Enqueue(component.transform);
|
|
178
|
-
while (iteration.TryDequeue(out Transform current))
|
|
179
|
-
{
|
|
180
|
-
for (int i = 0; i < current.childCount; ++i)
|
|
181
|
-
{
|
|
182
|
-
Transform childTransform = current.GetChild(i);
|
|
183
|
-
iteration.Enqueue(childTransform);
|
|
184
|
-
yield return childTransform;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
1
|
+
namespace UnityHelpers.Core.Helper
|
|
2
|
+
{
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
public static partial class Helpers
|
|
7
|
+
{
|
|
8
|
+
public static IEnumerable<GameObject> IterateOverChildGameObjects(
|
|
9
|
+
this GameObject gameObject
|
|
10
|
+
)
|
|
11
|
+
{
|
|
12
|
+
for (int i = 0; i < gameObject.transform.childCount; i++)
|
|
13
|
+
{
|
|
14
|
+
yield return gameObject.transform.GetChild(i).gameObject;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public static IEnumerable<GameObject> IterateOverChildGameObjectsRecursively(
|
|
19
|
+
this GameObject gameObject
|
|
20
|
+
)
|
|
21
|
+
{
|
|
22
|
+
for (int i = 0; i < gameObject.transform.childCount; i++)
|
|
23
|
+
{
|
|
24
|
+
GameObject child = gameObject.transform.GetChild(i).gameObject;
|
|
25
|
+
yield return child;
|
|
26
|
+
foreach (GameObject go in child.IterateOverChildGameObjectsRecursively())
|
|
27
|
+
{
|
|
28
|
+
yield return go;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public static IEnumerable<GameObject> IterateOverChildGameObjectsRecursivelyIncludingSelf(
|
|
34
|
+
this GameObject gameObject
|
|
35
|
+
)
|
|
36
|
+
{
|
|
37
|
+
yield return gameObject;
|
|
38
|
+
|
|
39
|
+
for (int i = 0; i < gameObject.transform.childCount; ++i)
|
|
40
|
+
{
|
|
41
|
+
GameObject child = gameObject.transform.GetChild(i).gameObject;
|
|
42
|
+
foreach (
|
|
43
|
+
GameObject c in child.IterateOverChildGameObjectsRecursivelyIncludingSelf()
|
|
44
|
+
)
|
|
45
|
+
{
|
|
46
|
+
yield return c;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public static IEnumerable<GameObject> IterateOverParentGameObjects(
|
|
52
|
+
this GameObject gameObject
|
|
53
|
+
)
|
|
54
|
+
{
|
|
55
|
+
Transform currentTransform = gameObject.transform.parent;
|
|
56
|
+
while (currentTransform != null)
|
|
57
|
+
{
|
|
58
|
+
yield return currentTransform.gameObject;
|
|
59
|
+
currentTransform = currentTransform.parent;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public static IEnumerable<GameObject> IterateOverParentGameObjectsRecursivelyIncludingSelf(
|
|
64
|
+
this GameObject gameObject
|
|
65
|
+
)
|
|
66
|
+
{
|
|
67
|
+
yield return gameObject;
|
|
68
|
+
|
|
69
|
+
foreach (GameObject parent in IterateOverParentGameObjects(gameObject))
|
|
70
|
+
{
|
|
71
|
+
yield return parent;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
public static IEnumerable<T> IterateOverAllChildComponentsRecursively<T>(
|
|
76
|
+
this Component component
|
|
77
|
+
)
|
|
78
|
+
{
|
|
79
|
+
if (component == null)
|
|
80
|
+
{
|
|
81
|
+
yield break;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
foreach (T c in component.gameObject.GetComponents<T>())
|
|
85
|
+
{
|
|
86
|
+
yield return c;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
for (int i = 0; i < component.transform.childCount; ++i)
|
|
90
|
+
{
|
|
91
|
+
Transform child = component.transform.GetChild(i);
|
|
92
|
+
|
|
93
|
+
foreach (T c in child.IterateOverAllChildComponentsRecursively<T>())
|
|
94
|
+
{
|
|
95
|
+
yield return c;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
public static IEnumerable<Transform> IterateOverAllChildren(this Component component)
|
|
101
|
+
{
|
|
102
|
+
if (component == null)
|
|
103
|
+
{
|
|
104
|
+
yield break;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
for (int i = 0; i < component.transform.childCount; ++i)
|
|
108
|
+
{
|
|
109
|
+
yield return component.transform.GetChild(i);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
public static IEnumerable<Transform> IterateOverAllParents(this Component component)
|
|
114
|
+
{
|
|
115
|
+
if (component == null)
|
|
116
|
+
{
|
|
117
|
+
yield break;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
Transform transform = component.transform;
|
|
121
|
+
while (transform.parent != null)
|
|
122
|
+
{
|
|
123
|
+
yield return transform.parent;
|
|
124
|
+
transform = transform.parent;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
public static IEnumerable<Transform> IterateOverAllParentsIncludingSelf(
|
|
129
|
+
this Component component
|
|
130
|
+
)
|
|
131
|
+
{
|
|
132
|
+
if (component == null)
|
|
133
|
+
{
|
|
134
|
+
yield break;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
Transform transform = component.transform;
|
|
138
|
+
while (transform != null)
|
|
139
|
+
{
|
|
140
|
+
yield return transform;
|
|
141
|
+
transform = transform.parent;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
public static IEnumerable<Transform> IterateOverAllChildrenRecursively(
|
|
146
|
+
this Component component
|
|
147
|
+
)
|
|
148
|
+
{
|
|
149
|
+
if (component == null)
|
|
150
|
+
{
|
|
151
|
+
yield break;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
for (int i = 0; i < component.transform.childCount; ++i)
|
|
155
|
+
{
|
|
156
|
+
Transform childTransform = component.transform.GetChild(i);
|
|
157
|
+
yield return childTransform;
|
|
158
|
+
foreach (
|
|
159
|
+
Transform childChildTransform in childTransform.IterateOverAllChildrenRecursively()
|
|
160
|
+
)
|
|
161
|
+
{
|
|
162
|
+
yield return childChildTransform;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
public static IEnumerable<Transform> IterateOverAllChildrenRecursivelyBreadthFirst(
|
|
168
|
+
this Component component
|
|
169
|
+
)
|
|
170
|
+
{
|
|
171
|
+
if (component == null)
|
|
172
|
+
{
|
|
173
|
+
yield break;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
Queue<Transform> iteration = new();
|
|
177
|
+
iteration.Enqueue(component.transform);
|
|
178
|
+
while (iteration.TryDequeue(out Transform current))
|
|
179
|
+
{
|
|
180
|
+
for (int i = 0; i < current.childCount; ++i)
|
|
181
|
+
{
|
|
182
|
+
Transform childTransform = current.GetChild(i);
|
|
183
|
+
iteration.Enqueue(childTransform);
|
|
184
|
+
yield return childTransform;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 6fa254f39ddb413799e14fc26fccc6ea
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 6fa254f39ddb413799e14fc26fccc6ea
|
|
3
3
|
timeCreated: 1732647396
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 4316246bccd04b778b1bdeee96f54110
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 4316246bccd04b778b1bdeee96f54110
|
|
3
3
|
timeCreated: 1732646634
|