com.wallstop-studios.unity-helpers 2.0.0-rc58 → 2.0.0-rc60
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 +75 -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 +213 -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 +193 -153
- package/Runtime/Core/DataStructure/ISpatialTree.cs +60 -60
- package/Runtime/Core/DataStructure/ISpatialTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/KDTree.cs +292 -292
- package/Runtime/Core/DataStructure/KDTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/QuadTree.cs +287 -287
- package/Runtime/Core/DataStructure/RTree.cs +346 -346
- package/Runtime/Core/DataStructure/RTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/StringWrapper.cs +91 -91
- package/Runtime/Core/DataStructure/TimedCache.cs +66 -66
- package/Runtime/Core/Extension/AnimatorExtensions.cs +25 -25
- package/Runtime/Core/Extension/AsyncOperationExtensions.cs +110 -110
- package/Runtime/Core/Extension/CircleExtensions.cs +25 -25
- package/Runtime/Core/Extension/ColorExtensions.cs +629 -629
- package/Runtime/Core/Extension/DictionaryExtensions.cs +279 -279
- package/Runtime/Core/Extension/DirectionExtensions.cs +213 -213
- package/Runtime/Core/Extension/EnumExtensions.cs +37 -37
- package/Runtime/Core/Extension/EnumExtensions.cs.meta +2 -2
- package/Runtime/Core/Extension/HashSetExtensions.cs +12 -12
- package/Runtime/Core/Extension/IEnumerableExtensions.cs +122 -122
- package/Runtime/Core/Extension/IListExtensions.cs +146 -106
- package/Runtime/Core/Extension/LoggingExtensions.cs +264 -258
- package/Runtime/Core/Extension/RandomExtensions.cs +109 -109
- package/Runtime/Core/Extension/SerializedPropertyExtensions.cs +157 -157
- package/Runtime/Core/Extension/StringExtensions.cs +180 -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/DirectoryHelper.cs +132 -0
- package/Runtime/Core/Helper/DirectoryHelper.cs.meta +3 -0
- 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 -209
- package/Runtime/Core/Helper/SpriteHelpers.cs +41 -41
- package/Runtime/Core/Helper/SpriteHelpers.cs.meta +11 -11
- package/Runtime/Core/Helper/StringInList.cs +31 -31
- package/Runtime/Core/Helper/StringInList.cs.meta +11 -11
- package/Runtime/Core/Helper/UnityMainThreadDispatcher.cs +82 -82
- package/Runtime/Core/Helper/WallMath.cs +166 -166
- package/Runtime/Core/Math/Line.cs +55 -55
- package/Runtime/Core/Math/Parabola.cs +47 -47
- package/Runtime/Core/Math/PointPolygonCheck.cs +36 -36
- package/Runtime/Core/Math/PointPolygonCheck.cs.meta +11 -11
- package/Runtime/Core/Math/Range.cs +92 -92
- package/Runtime/Core/Math/XXHash.cs +310 -310
- package/Runtime/Core/Math/XXHash.cs.meta +11 -11
- package/Runtime/Core/Model/Direction.cs +43 -43
- package/Runtime/Core/OneOf/FastOneOf.cs +152 -152
- package/Runtime/Core/OneOf/None.cs +4 -4
- package/Runtime/Core/Random/AbstractRandom.cs +585 -585
- package/Runtime/Core/Random/DotNetRandom.cs +54 -54
- package/Runtime/Core/Random/DotNetRandom.cs.meta +2 -2
- package/Runtime/Core/Random/IRandom.cs +161 -161
- package/Runtime/Core/Random/LinearCongruentialGenerator.cs +49 -49
- package/Runtime/Core/Random/NativePcgRandom.cs +97 -97
- package/Runtime/Core/Random/PRNG.cs +7 -7
- package/Runtime/Core/Random/PRNG.cs.meta +2 -2
- package/Runtime/Core/Random/PcgRandom.cs +149 -149
- package/Runtime/Core/Random/PerlinNoise.cs +369 -369
- package/Runtime/Core/Random/PerlinNoise.cs.meta +2 -2
- package/Runtime/Core/Random/RandomState.cs +131 -131
- package/Runtime/Core/Random/RandomUtilities.cs +26 -26
- package/Runtime/Core/Random/RandomUtilities.cs.meta +11 -11
- package/Runtime/Core/Random/RomuDuo.cs +116 -116
- package/Runtime/Core/Random/RomuDuo.cs.meta +2 -2
- package/Runtime/Core/Random/SplitMix64.cs +94 -94
- package/Runtime/Core/Random/SplitMix64.cs.meta +2 -2
- package/Runtime/Core/Random/SquirrelRandom.cs +84 -84
- package/Runtime/Core/Random/SystemRandom.cs +162 -162
- package/Runtime/Core/Random/ThreadLocalRandom.cs +12 -12
- package/Runtime/Core/Random/UnityRandom.cs +57 -57
- package/Runtime/Core/Random/UnityRandom.cs.meta +11 -11
- package/Runtime/Core/Random/WyRandom.cs +121 -121
- package/Runtime/Core/Random/WyRandom.cs.meta +2 -2
- package/Runtime/Core/Random/XorShiftRandom.cs +52 -52
- package/Runtime/Core/Random/XorShiftRandom.cs.meta +11 -11
- package/Runtime/Core/Random/XorShiroRandom.cs +119 -119
- package/Runtime/Core/Random/XorShiroRandom.cs.meta +2 -2
- package/Runtime/Core/Serialization/JsonConverters/ColorConverter.cs +88 -88
- package/Runtime/Core/Serialization/JsonConverters/GameObjectConverter.cs +37 -37
- package/Runtime/Core/Serialization/JsonConverters/Matrix4x4Converter.cs +218 -218
- package/Runtime/Core/Serialization/JsonConverters/TypeConverter.cs +28 -28
- package/Runtime/Core/Serialization/JsonConverters/Vector2Converter.cs +74 -74
- package/Runtime/Core/Serialization/JsonConverters/Vector3Converter.cs +81 -81
- package/Runtime/Core/Serialization/JsonConverters/Vector4Converter.cs +88 -88
- package/Runtime/Core/Serialization/Serializer.cs +195 -195
- package/Runtime/Core/Threading/SingleThreadedThreadPool.cs +113 -113
- package/Runtime/Protobuf-Net/System.Buffers.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Collections.Immutable.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Collections.Immutable.xml +5379 -5379
- package/Runtime/Protobuf-Net/System.Collections.Immutable.xml.meta +7 -7
- package/Runtime/Protobuf-Net/System.Numerics.Vectors.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.dll.meta +33 -33
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.xml +290 -290
- package/Runtime/Protobuf-Net/System.Runtime.CompilerServices.Unsafe.xml.meta +7 -7
- package/Runtime/Protobuf-Net/protobuf-net.Core.dll.meta +33 -33
- package/Runtime/Protobuf-Net/protobuf-net.dll.meta +33 -33
- package/Runtime/UI/LayeredImage.cs +364 -364
- package/Runtime/UI/LayeredImage.cs.meta +2 -2
- package/Runtime/UI.meta +2 -2
- package/Runtime/Utils/AnimationEventEqualityComparer.cs +161 -161
- package/Runtime/Utils/AnimatorEnumStateMachine.cs +88 -88
- package/Runtime/Utils/Buffers.cs +33 -33
- package/Runtime/Utils/CenterPointOffset.cs +30 -30
- package/Runtime/Utils/CenterPointOffset.cs.meta +2 -2
- package/Runtime/Utils/CircleLineRenderer.cs +134 -134
- package/Runtime/Utils/CoroutineHandler.cs +4 -4
- package/Runtime/Utils/CoroutineHandler.cs.meta +2 -2
- package/Runtime/Utils/DeferredDisposalResult.cs +23 -23
- package/Runtime/Utils/MatchColliderToSprite.cs +94 -94
- package/Runtime/Utils/MatchColliderToSprite.cs.meta +2 -2
- package/Runtime/Utils/Oscillator.cs +27 -27
- package/Runtime/Utils/RuntimeSingleton.cs +71 -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/StartTracker.cs +15 -0
- package/Runtime/Utils/StartTracker.cs.meta +3 -0
- package/Runtime/Utils/TextureScale.cs +179 -179
- package/Runtime/Utils/TextureScale.cs.meta +2 -2
- package/Runtime/Utils/UnityObjectNameComparer.cs +33 -0
- package/Runtime/Utils/UnityObjectNameComparer.cs.meta +3 -0
- 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 +180 -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: d4af7f20a66c40e686d59e4253d72156
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: d4af7f20a66c40e686d59e4253d72156
|
|
3
3
|
timeCreated: 1735605169
|
package/Runtime/UI.meta
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: dd17cad9fb2348fa8249a668bc458174
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: dd17cad9fb2348fa8249a668bc458174
|
|
3
3
|
timeCreated: 1735605163
|
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
namespace UnityHelpers.Utils
|
|
2
|
-
{
|
|
3
|
-
using System;
|
|
4
|
-
using System.Collections.Generic;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
|
|
7
|
-
public sealed class AnimationEventEqualityComparer
|
|
8
|
-
: EqualityComparer<AnimationEvent>,
|
|
9
|
-
IComparer<AnimationEvent>
|
|
10
|
-
{
|
|
11
|
-
public static readonly AnimationEventEqualityComparer Instance = new();
|
|
12
|
-
|
|
13
|
-
private AnimationEventEqualityComparer() { }
|
|
14
|
-
|
|
15
|
-
// Returns a shallow copy with equatable values propagated
|
|
16
|
-
public AnimationEvent Copy(AnimationEvent instance)
|
|
17
|
-
{
|
|
18
|
-
if (instance == null)
|
|
19
|
-
{
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
AnimationEvent copy = new();
|
|
24
|
-
CopyInto(copy, instance);
|
|
25
|
-
return copy;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public void CopyInto(AnimationEvent into, AnimationEvent parameters)
|
|
29
|
-
{
|
|
30
|
-
if (into == null || parameters == null)
|
|
31
|
-
{
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
into.time = parameters.time;
|
|
36
|
-
into.functionName = parameters.functionName;
|
|
37
|
-
into.intParameter = parameters.intParameter;
|
|
38
|
-
into.floatParameter = parameters.floatParameter;
|
|
39
|
-
into.stringParameter = parameters.stringParameter;
|
|
40
|
-
into.objectReferenceParameter = parameters.objectReferenceParameter;
|
|
41
|
-
into.messageOptions = parameters.messageOptions;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
public override bool Equals(AnimationEvent lhs, AnimationEvent rhs)
|
|
45
|
-
{
|
|
46
|
-
if (ReferenceEquals(lhs, rhs))
|
|
47
|
-
{
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (lhs == null || rhs == null)
|
|
52
|
-
{
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// ReSharper disable once CompareOfFloatsByEqualityOperator
|
|
57
|
-
if (lhs.time != rhs.time)
|
|
58
|
-
{
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (lhs.functionName != rhs.functionName)
|
|
63
|
-
{
|
|
64
|
-
return false;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (lhs.intParameter != rhs.intParameter)
|
|
68
|
-
{
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// ReSharper disable once CompareOfFloatsByEqualityOperator
|
|
73
|
-
if (lhs.floatParameter != rhs.floatParameter)
|
|
74
|
-
{
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (lhs.stringParameter != rhs.stringParameter)
|
|
79
|
-
{
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (lhs.objectReferenceParameter != rhs.objectReferenceParameter)
|
|
84
|
-
{
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
if (lhs.messageOptions != rhs.messageOptions)
|
|
89
|
-
{
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
public override int GetHashCode(AnimationEvent instance)
|
|
97
|
-
{
|
|
98
|
-
return HashCode.Combine(
|
|
99
|
-
instance.time,
|
|
100
|
-
instance.functionName,
|
|
101
|
-
instance.intParameter,
|
|
102
|
-
instance.floatParameter,
|
|
103
|
-
instance.stringParameter,
|
|
104
|
-
instance.objectReferenceParameter,
|
|
105
|
-
instance.messageOptions
|
|
106
|
-
);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
public int Compare(AnimationEvent lhs, AnimationEvent rhs)
|
|
110
|
-
{
|
|
111
|
-
if (ReferenceEquals(lhs, rhs))
|
|
112
|
-
{
|
|
113
|
-
return 0;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (ReferenceEquals(null, rhs))
|
|
117
|
-
{
|
|
118
|
-
return 1;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
if (ReferenceEquals(null, lhs))
|
|
122
|
-
{
|
|
123
|
-
return -1;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
int timeComparison = lhs.time.CompareTo(rhs.time);
|
|
127
|
-
if (timeComparison != 0)
|
|
128
|
-
{
|
|
129
|
-
return timeComparison;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
int functionNameComparison = string.Compare(
|
|
133
|
-
lhs.functionName,
|
|
134
|
-
rhs.functionName,
|
|
135
|
-
StringComparison.Ordinal
|
|
136
|
-
);
|
|
137
|
-
if (functionNameComparison != 0)
|
|
138
|
-
{
|
|
139
|
-
return functionNameComparison;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
int intParameterComparison = lhs.intParameter.CompareTo(rhs.intParameter);
|
|
143
|
-
if (intParameterComparison != 0)
|
|
144
|
-
{
|
|
145
|
-
return intParameterComparison;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
int stringParameterComparison = string.Compare(
|
|
149
|
-
lhs.stringParameter,
|
|
150
|
-
rhs.stringParameter,
|
|
151
|
-
StringComparison.Ordinal
|
|
152
|
-
);
|
|
153
|
-
if (stringParameterComparison != 0)
|
|
154
|
-
{
|
|
155
|
-
return stringParameterComparison;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
return lhs.floatParameter.CompareTo(rhs.floatParameter);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
1
|
+
namespace UnityHelpers.Utils
|
|
2
|
+
{
|
|
3
|
+
using System;
|
|
4
|
+
using System.Collections.Generic;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
public sealed class AnimationEventEqualityComparer
|
|
8
|
+
: EqualityComparer<AnimationEvent>,
|
|
9
|
+
IComparer<AnimationEvent>
|
|
10
|
+
{
|
|
11
|
+
public static readonly AnimationEventEqualityComparer Instance = new();
|
|
12
|
+
|
|
13
|
+
private AnimationEventEqualityComparer() { }
|
|
14
|
+
|
|
15
|
+
// Returns a shallow copy with equatable values propagated
|
|
16
|
+
public AnimationEvent Copy(AnimationEvent instance)
|
|
17
|
+
{
|
|
18
|
+
if (instance == null)
|
|
19
|
+
{
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
AnimationEvent copy = new();
|
|
24
|
+
CopyInto(copy, instance);
|
|
25
|
+
return copy;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public void CopyInto(AnimationEvent into, AnimationEvent parameters)
|
|
29
|
+
{
|
|
30
|
+
if (into == null || parameters == null)
|
|
31
|
+
{
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
into.time = parameters.time;
|
|
36
|
+
into.functionName = parameters.functionName;
|
|
37
|
+
into.intParameter = parameters.intParameter;
|
|
38
|
+
into.floatParameter = parameters.floatParameter;
|
|
39
|
+
into.stringParameter = parameters.stringParameter;
|
|
40
|
+
into.objectReferenceParameter = parameters.objectReferenceParameter;
|
|
41
|
+
into.messageOptions = parameters.messageOptions;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public override bool Equals(AnimationEvent lhs, AnimationEvent rhs)
|
|
45
|
+
{
|
|
46
|
+
if (ReferenceEquals(lhs, rhs))
|
|
47
|
+
{
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (lhs == null || rhs == null)
|
|
52
|
+
{
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// ReSharper disable once CompareOfFloatsByEqualityOperator
|
|
57
|
+
if (lhs.time != rhs.time)
|
|
58
|
+
{
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (lhs.functionName != rhs.functionName)
|
|
63
|
+
{
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (lhs.intParameter != rhs.intParameter)
|
|
68
|
+
{
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// ReSharper disable once CompareOfFloatsByEqualityOperator
|
|
73
|
+
if (lhs.floatParameter != rhs.floatParameter)
|
|
74
|
+
{
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (lhs.stringParameter != rhs.stringParameter)
|
|
79
|
+
{
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (lhs.objectReferenceParameter != rhs.objectReferenceParameter)
|
|
84
|
+
{
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (lhs.messageOptions != rhs.messageOptions)
|
|
89
|
+
{
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
public override int GetHashCode(AnimationEvent instance)
|
|
97
|
+
{
|
|
98
|
+
return HashCode.Combine(
|
|
99
|
+
instance.time,
|
|
100
|
+
instance.functionName,
|
|
101
|
+
instance.intParameter,
|
|
102
|
+
instance.floatParameter,
|
|
103
|
+
instance.stringParameter,
|
|
104
|
+
instance.objectReferenceParameter,
|
|
105
|
+
instance.messageOptions
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
public int Compare(AnimationEvent lhs, AnimationEvent rhs)
|
|
110
|
+
{
|
|
111
|
+
if (ReferenceEquals(lhs, rhs))
|
|
112
|
+
{
|
|
113
|
+
return 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (ReferenceEquals(null, rhs))
|
|
117
|
+
{
|
|
118
|
+
return 1;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
if (ReferenceEquals(null, lhs))
|
|
122
|
+
{
|
|
123
|
+
return -1;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
int timeComparison = lhs.time.CompareTo(rhs.time);
|
|
127
|
+
if (timeComparison != 0)
|
|
128
|
+
{
|
|
129
|
+
return timeComparison;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
int functionNameComparison = string.Compare(
|
|
133
|
+
lhs.functionName,
|
|
134
|
+
rhs.functionName,
|
|
135
|
+
StringComparison.Ordinal
|
|
136
|
+
);
|
|
137
|
+
if (functionNameComparison != 0)
|
|
138
|
+
{
|
|
139
|
+
return functionNameComparison;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
int intParameterComparison = lhs.intParameter.CompareTo(rhs.intParameter);
|
|
143
|
+
if (intParameterComparison != 0)
|
|
144
|
+
{
|
|
145
|
+
return intParameterComparison;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
int stringParameterComparison = string.Compare(
|
|
149
|
+
lhs.stringParameter,
|
|
150
|
+
rhs.stringParameter,
|
|
151
|
+
StringComparison.Ordinal
|
|
152
|
+
);
|
|
153
|
+
if (stringParameterComparison != 0)
|
|
154
|
+
{
|
|
155
|
+
return stringParameterComparison;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return lhs.floatParameter.CompareTo(rhs.floatParameter);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
namespace UnityHelpers.Utils
|
|
2
|
-
{
|
|
3
|
-
using System;
|
|
4
|
-
using System.Collections.Generic;
|
|
5
|
-
using System.Globalization;
|
|
6
|
-
using System.Linq;
|
|
7
|
-
using System.Runtime.Serialization;
|
|
8
|
-
using System.Text.Json.Serialization;
|
|
9
|
-
using Core.Extension;
|
|
10
|
-
using UnityEngine;
|
|
11
|
-
|
|
12
|
-
/// <summary>
|
|
13
|
-
/// Maps & manages an enum parameter to bool Animator parameters.
|
|
14
|
-
/// </summary>
|
|
15
|
-
/// <typeparam name="T">Specific Enum being managed.</typeparam>
|
|
16
|
-
[DataContract]
|
|
17
|
-
public sealed class AnimatorEnumStateMachine<T>
|
|
18
|
-
where T : struct, IConvertible, IComparable, IFormattable // This is as close as we can get to saying where T : Enum (https://stackoverflow.com/questions/79126/create-generic-method-constraining-t-to-an-enum)
|
|
19
|
-
{
|
|
20
|
-
private static readonly T[] Values = Enum.GetValues(typeof(T)).OfType<T>().ToArray();
|
|
21
|
-
|
|
22
|
-
[JsonIgnore]
|
|
23
|
-
[IgnoreDataMember]
|
|
24
|
-
private readonly HashSet<string> _availableBools = new HashSet<string>();
|
|
25
|
-
|
|
26
|
-
[JsonIgnore]
|
|
27
|
-
[IgnoreDataMember]
|
|
28
|
-
public readonly Animator Animator;
|
|
29
|
-
|
|
30
|
-
[JsonIgnore]
|
|
31
|
-
[IgnoreDataMember]
|
|
32
|
-
private T _value;
|
|
33
|
-
|
|
34
|
-
[DataMember]
|
|
35
|
-
[JsonInclude]
|
|
36
|
-
public T Value
|
|
37
|
-
{
|
|
38
|
-
get { return _value; }
|
|
39
|
-
set
|
|
40
|
-
{
|
|
41
|
-
foreach (T possibleValue in Values)
|
|
42
|
-
{
|
|
43
|
-
string valueName = possibleValue.ToString(CultureInfo.InvariantCulture);
|
|
44
|
-
if (_availableBools.Contains(valueName))
|
|
45
|
-
{
|
|
46
|
-
Animator.SetBool(valueName, Equals(value, possibleValue));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
_value = value;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
[DataMember]
|
|
55
|
-
[JsonInclude]
|
|
56
|
-
private string Type => typeof(T).Name;
|
|
57
|
-
|
|
58
|
-
public AnimatorEnumStateMachine(Animator animator, T defaultValue = default(T))
|
|
59
|
-
{
|
|
60
|
-
if (animator == null)
|
|
61
|
-
{
|
|
62
|
-
throw new ArgumentNullException(nameof(animator));
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
Animator = animator;
|
|
66
|
-
|
|
67
|
-
foreach (AnimatorControllerParameter parameter in Animator.parameters)
|
|
68
|
-
{
|
|
69
|
-
switch (parameter.type)
|
|
70
|
-
{
|
|
71
|
-
case AnimatorControllerParameterType.Bool:
|
|
72
|
-
case AnimatorControllerParameterType.Trigger:
|
|
73
|
-
_availableBools.Add(parameter.name);
|
|
74
|
-
continue;
|
|
75
|
-
default:
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
_value = defaultValue;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
public override string ToString()
|
|
84
|
-
{
|
|
85
|
-
return this.ToJson();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
1
|
+
namespace UnityHelpers.Utils
|
|
2
|
+
{
|
|
3
|
+
using System;
|
|
4
|
+
using System.Collections.Generic;
|
|
5
|
+
using System.Globalization;
|
|
6
|
+
using System.Linq;
|
|
7
|
+
using System.Runtime.Serialization;
|
|
8
|
+
using System.Text.Json.Serialization;
|
|
9
|
+
using Core.Extension;
|
|
10
|
+
using UnityEngine;
|
|
11
|
+
|
|
12
|
+
/// <summary>
|
|
13
|
+
/// Maps & manages an enum parameter to bool Animator parameters.
|
|
14
|
+
/// </summary>
|
|
15
|
+
/// <typeparam name="T">Specific Enum being managed.</typeparam>
|
|
16
|
+
[DataContract]
|
|
17
|
+
public sealed class AnimatorEnumStateMachine<T>
|
|
18
|
+
where T : struct, IConvertible, IComparable, IFormattable // This is as close as we can get to saying where T : Enum (https://stackoverflow.com/questions/79126/create-generic-method-constraining-t-to-an-enum)
|
|
19
|
+
{
|
|
20
|
+
private static readonly T[] Values = Enum.GetValues(typeof(T)).OfType<T>().ToArray();
|
|
21
|
+
|
|
22
|
+
[JsonIgnore]
|
|
23
|
+
[IgnoreDataMember]
|
|
24
|
+
private readonly HashSet<string> _availableBools = new HashSet<string>();
|
|
25
|
+
|
|
26
|
+
[JsonIgnore]
|
|
27
|
+
[IgnoreDataMember]
|
|
28
|
+
public readonly Animator Animator;
|
|
29
|
+
|
|
30
|
+
[JsonIgnore]
|
|
31
|
+
[IgnoreDataMember]
|
|
32
|
+
private T _value;
|
|
33
|
+
|
|
34
|
+
[DataMember]
|
|
35
|
+
[JsonInclude]
|
|
36
|
+
public T Value
|
|
37
|
+
{
|
|
38
|
+
get { return _value; }
|
|
39
|
+
set
|
|
40
|
+
{
|
|
41
|
+
foreach (T possibleValue in Values)
|
|
42
|
+
{
|
|
43
|
+
string valueName = possibleValue.ToString(CultureInfo.InvariantCulture);
|
|
44
|
+
if (_availableBools.Contains(valueName))
|
|
45
|
+
{
|
|
46
|
+
Animator.SetBool(valueName, Equals(value, possibleValue));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
_value = value;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[DataMember]
|
|
55
|
+
[JsonInclude]
|
|
56
|
+
private string Type => typeof(T).Name;
|
|
57
|
+
|
|
58
|
+
public AnimatorEnumStateMachine(Animator animator, T defaultValue = default(T))
|
|
59
|
+
{
|
|
60
|
+
if (animator == null)
|
|
61
|
+
{
|
|
62
|
+
throw new ArgumentNullException(nameof(animator));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
Animator = animator;
|
|
66
|
+
|
|
67
|
+
foreach (AnimatorControllerParameter parameter in Animator.parameters)
|
|
68
|
+
{
|
|
69
|
+
switch (parameter.type)
|
|
70
|
+
{
|
|
71
|
+
case AnimatorControllerParameterType.Bool:
|
|
72
|
+
case AnimatorControllerParameterType.Trigger:
|
|
73
|
+
_availableBools.Add(parameter.name);
|
|
74
|
+
continue;
|
|
75
|
+
default:
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
_value = defaultValue;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public override string ToString()
|
|
84
|
+
{
|
|
85
|
+
return this.ToJson();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
package/Runtime/Utils/Buffers.cs
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
namespace UnityHelpers.Utils
|
|
2
|
-
{
|
|
3
|
-
using System.Collections.Generic;
|
|
4
|
-
using UnityEngine;
|
|
5
|
-
|
|
6
|
-
public static class Buffers
|
|
7
|
-
{
|
|
8
|
-
public const int BufferSize = 10_000;
|
|
9
|
-
|
|
10
|
-
public static readonly Collider2D[] Colliders = new Collider2D[BufferSize];
|
|
11
|
-
public static readonly RaycastHit2D[] RaycastHits = new RaycastHit2D[BufferSize];
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
Note: Only use with CONSTANT time values, otherwise this is a memory leak.
|
|
15
|
-
DO NOT USE with random values.
|
|
16
|
-
*/
|
|
17
|
-
public static readonly Dictionary<float, WaitForSeconds> WaitForSeconds = new();
|
|
18
|
-
public static readonly Dictionary<float, WaitForSecondsRealtime> WaitForSecondsRealtime =
|
|
19
|
-
new();
|
|
20
|
-
public static readonly System.Random Random = new();
|
|
21
|
-
public static readonly WaitForFixedUpdate WaitForFixedUpdate = new();
|
|
22
|
-
public static readonly WaitForEndOfFrame WaitForEndOfFrame = new();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
public static class Buffers<T>
|
|
26
|
-
{
|
|
27
|
-
public static readonly List<T> List = new();
|
|
28
|
-
public static readonly HashSet<T> HashSet = new();
|
|
29
|
-
public static readonly Queue<T> Queue = new();
|
|
30
|
-
public static readonly Stack<T> Stack = new();
|
|
31
|
-
public static readonly LinkedList<T> LinkedList = new();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
1
|
+
namespace UnityHelpers.Utils
|
|
2
|
+
{
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
public static class Buffers
|
|
7
|
+
{
|
|
8
|
+
public const int BufferSize = 10_000;
|
|
9
|
+
|
|
10
|
+
public static readonly Collider2D[] Colliders = new Collider2D[BufferSize];
|
|
11
|
+
public static readonly RaycastHit2D[] RaycastHits = new RaycastHit2D[BufferSize];
|
|
12
|
+
|
|
13
|
+
/*
|
|
14
|
+
Note: Only use with CONSTANT time values, otherwise this is a memory leak.
|
|
15
|
+
DO NOT USE with random values.
|
|
16
|
+
*/
|
|
17
|
+
public static readonly Dictionary<float, WaitForSeconds> WaitForSeconds = new();
|
|
18
|
+
public static readonly Dictionary<float, WaitForSecondsRealtime> WaitForSecondsRealtime =
|
|
19
|
+
new();
|
|
20
|
+
public static readonly System.Random Random = new();
|
|
21
|
+
public static readonly WaitForFixedUpdate WaitForFixedUpdate = new();
|
|
22
|
+
public static readonly WaitForEndOfFrame WaitForEndOfFrame = new();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public static class Buffers<T>
|
|
26
|
+
{
|
|
27
|
+
public static readonly List<T> List = new();
|
|
28
|
+
public static readonly HashSet<T> HashSet = new();
|
|
29
|
+
public static readonly Queue<T> Queue = new();
|
|
30
|
+
public static readonly Stack<T> Stack = new();
|
|
31
|
+
public static readonly LinkedList<T> LinkedList = new();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
namespace UnityHelpers.Utils
|
|
2
|
-
{
|
|
3
|
-
using Core.Attributes;
|
|
4
|
-
using UnityEngine;
|
|
5
|
-
|
|
6
|
-
[DisallowMultipleComponent]
|
|
7
|
-
public sealed class CenterPointOffset : MonoBehaviour
|
|
8
|
-
{
|
|
9
|
-
public Vector2 offset = Vector2.zero;
|
|
10
|
-
|
|
11
|
-
public bool spriteUsesOffset = true;
|
|
12
|
-
|
|
13
|
-
[SiblingComponent]
|
|
14
|
-
private Transform _transform;
|
|
15
|
-
|
|
16
|
-
private void Awake()
|
|
17
|
-
{
|
|
18
|
-
this.AssignSiblingComponents();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
public Vector2 CenterPoint
|
|
22
|
-
{
|
|
23
|
-
get
|
|
24
|
-
{
|
|
25
|
-
Vector2 scaledOffset = offset * _transform.localScale;
|
|
26
|
-
return (Vector2)_transform.position + scaledOffset;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
1
|
+
namespace UnityHelpers.Utils
|
|
2
|
+
{
|
|
3
|
+
using Core.Attributes;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
[DisallowMultipleComponent]
|
|
7
|
+
public sealed class CenterPointOffset : MonoBehaviour
|
|
8
|
+
{
|
|
9
|
+
public Vector2 offset = Vector2.zero;
|
|
10
|
+
|
|
11
|
+
public bool spriteUsesOffset = true;
|
|
12
|
+
|
|
13
|
+
[SiblingComponent]
|
|
14
|
+
private Transform _transform;
|
|
15
|
+
|
|
16
|
+
private void Awake()
|
|
17
|
+
{
|
|
18
|
+
this.AssignSiblingComponents();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public Vector2 CenterPoint
|
|
22
|
+
{
|
|
23
|
+
get
|
|
24
|
+
{
|
|
25
|
+
Vector2 scaledOffset = offset * _transform.localScale;
|
|
26
|
+
return (Vector2)_transform.position + scaledOffset;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: f1e1dfbe10214f8b8f30acd34d67aa7f
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: f1e1dfbe10214f8b8f30acd34d67aa7f
|
|
3
3
|
timeCreated: 1720737954
|