com.wallstop-studios.unity-helpers 2.0.0-rc03 → 2.0.0-rc05
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/CHANGELOG.md.meta +7 -7
- package/Editor/AnimationEventEditor.cs.meta +11 -11
- package/Editor.meta +8 -8
- package/LICENSE.md.meta +7 -7
- package/README.md.meta +7 -7
- package/Runtime/Core/Attributes/AnimationEventAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/ChildComponentAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/KSerializableAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/NotNullAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/ParentComponent.cs.meta +11 -11
- package/Runtime/Core/Attributes/ReadOnlyAttribute.cs.meta +11 -11
- package/Runtime/Core/Attributes/RelationalComponentExtensions.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Adapters/FastVector2Int.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Adapters/FastVector3Int.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Adapters/KGuid.cs +31 -17
- package/Runtime/Core/DataStructure/Adapters/KGuid.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Adapters/KVector2.cs.meta +11 -11
- package/Runtime/Core/DataStructure/Adapters.meta +8 -8
- package/Runtime/Core/DataStructure/Circle.cs.meta +11 -11
- package/Runtime/Core/DataStructure/CyclicBuffer.cs.meta +11 -11
- package/Runtime/Core/DataStructure/QuadTree.cs.meta +11 -11
- package/Runtime/Core/DataStructure/StringWrapper.cs.meta +11 -11
- package/Runtime/Core/DataStructure/TimedCache.cs.meta +11 -11
- package/Runtime/Core/DataStructure.meta +8 -8
- package/Runtime/Core/Extension/AnimatorExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/CircleExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/ColorExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/DictionaryExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/DirectionExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/HashSetExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/IEnumerableExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/IListExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/LoggingExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/RandomExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/StringExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension/UnityExtensions.cs.meta +11 -11
- package/Runtime/Core/Extension.meta +8 -8
- package/Runtime/Core/Helper/Enumerables.cs.meta +11 -11
- package/Runtime/Core/Helper/Geometry.cs.meta +11 -11
- package/Runtime/Core/Helper/LifetimeHelpers.cs.meta +11 -11
- package/Runtime/Core/Helper/Objects.cs.meta +11 -11
- package/Runtime/Core/Helper/WallMath.cs.meta +11 -11
- package/Runtime/Core/Helper.meta +8 -8
- package/Runtime/Core/Math/Line.cs.meta +11 -11
- package/Runtime/Core/Math/Parabola.cs.meta +11 -11
- package/Runtime/Core/Math/Range.cs +6 -0
- package/Runtime/Core/Math/Range.cs.meta +11 -11
- package/Runtime/Core/Math.meta +8 -8
- package/Runtime/Core/Model/Direction.cs.meta +11 -11
- package/Runtime/Core/Model.meta +8 -8
- package/Runtime/Core/OneOf/FastOneOf.cs.meta +11 -11
- package/Runtime/Core/OneOf/None.cs.meta +11 -11
- package/Runtime/Core/OneOf.meta +8 -8
- package/Runtime/Core/Random/AbstractRandom.cs.meta +11 -11
- package/Runtime/Core/Random/DotNetRandom.cs +54 -0
- package/Runtime/Core/Random/DotNetRandom.cs.meta +3 -0
- package/Runtime/Core/Random/IRandom.cs.meta +11 -11
- package/Runtime/Core/Random/NativePcgRandom.cs.meta +11 -11
- package/Runtime/Core/Random/PcgRandom.cs +29 -20
- package/Runtime/Core/Random/PcgRandom.cs.meta +11 -11
- package/Runtime/Core/Random/RandomState.cs +13 -2
- package/Runtime/Core/Random/RandomState.cs.meta +11 -11
- package/Runtime/Core/Random/SquirrelRandom.cs +12 -7
- package/Runtime/Core/Random/SquirrelRandom.cs.meta +11 -11
- package/Runtime/Core/Random/SystemRandom.cs +15 -9
- package/Runtime/Core/Random/SystemRandom.cs.meta +11 -11
- package/Runtime/Core/Random/ThreadLocalRandom.cs.meta +11 -11
- package/Runtime/Core/Random/UnityRandom.cs +39 -4
- package/Runtime/Core/Random/WyRandom.cs +123 -0
- package/Runtime/Core/Random/WyRandom.cs.meta +3 -0
- package/Runtime/Core/Random/XorShiftRandom.cs +8 -4
- package/Runtime/Core/Random.meta +8 -8
- package/Runtime/Core/Serialization/JsonConverters/Vector2Converter.cs.meta +11 -11
- package/Runtime/Core/Serialization/JsonConverters/Vector3Converter.cs.meta +11 -11
- package/Runtime/Core/Serialization/JsonConverters.meta +8 -8
- package/Runtime/Core/Serialization/Serializer.cs.meta +11 -11
- package/Runtime/Core/Serialization.meta +8 -8
- package/Runtime/Core/Threading/SingleThreadedThreadPool.cs.meta +11 -11
- package/Runtime/Core/Threading.meta +8 -8
- package/Runtime/Core.meta +8 -8
- package/Runtime/Protobuf-Net.meta +8 -8
- package/Runtime/Utils/AnimationEventEqualityComparer.cs.meta +11 -11
- package/Runtime/Utils/AnimatorEnumStateMachine.cs +13 -4
- package/Runtime/Utils/AnimatorEnumStateMachine.cs.meta +11 -11
- package/Runtime/Utils/Buffers.cs.meta +11 -11
- package/Runtime/Utils/CircleLineRenderer.cs.meta +11 -11
- package/Runtime/Utils/Oscillator.cs.meta +11 -11
- package/Runtime/Utils/SetTextureImportData.cs.meta +11 -11
- package/Runtime/Utils.meta +8 -8
- package/Runtime/WallstopStudios.UnityHelpers.asmdef.meta +7 -7
- package/Runtime.meta +8 -8
- package/Tests/Runtime/Performance/RandomPerformanceTests.cs +18 -13
- package/Tests/Runtime/Random/DotNetRandomTests.cs +9 -0
- package/Tests/Runtime/Random/DotNetRandomTests.cs.meta +3 -0
- package/Tests/Runtime/Random/RandomTestBase.cs +69 -15
- package/Tests/Runtime/Random/WyRandomTests.cs +9 -0
- package/Tests/Runtime/Random/WyRandomTests.cs.meta +3 -0
- package/Tests.meta +8 -8
- package/Third Party Notices.md.meta +7 -7
- package/package.json +1 -1
- package/package.json.meta +7 -7
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
namespace UnityHelpers.Core.Random
|
|
2
|
+
{
|
|
3
|
+
using System;
|
|
4
|
+
using System.Diagnostics.CodeAnalysis;
|
|
5
|
+
using System.Runtime.CompilerServices;
|
|
6
|
+
using System.Runtime.Serialization;
|
|
7
|
+
using System.Text.Json.Serialization;
|
|
8
|
+
|
|
9
|
+
// https://github.com/cocowalla/wyhash-dotnet/blob/master/src/WyHash/WyRng.cs
|
|
10
|
+
[Serializable]
|
|
11
|
+
[DataContract]
|
|
12
|
+
public sealed class WyRandom : AbstractRandom
|
|
13
|
+
{
|
|
14
|
+
private const ulong Prime0 = 0xa0761d6478bd642f;
|
|
15
|
+
private const ulong Prime1 = 0xe7037ed1a0b428db;
|
|
16
|
+
|
|
17
|
+
public static IRandom Instance => ThreadLocalRandom<WyRandom>.Instance;
|
|
18
|
+
|
|
19
|
+
[JsonPropertyName("State")]
|
|
20
|
+
[DataMember(Name = "State")]
|
|
21
|
+
public override RandomState InternalState => new RandomState(_state);
|
|
22
|
+
|
|
23
|
+
private ulong _state;
|
|
24
|
+
|
|
25
|
+
public WyRandom()
|
|
26
|
+
: this(Guid.NewGuid()) { }
|
|
27
|
+
|
|
28
|
+
public WyRandom(Guid guid)
|
|
29
|
+
{
|
|
30
|
+
byte[] guidArray = guid.ToByteArray();
|
|
31
|
+
_state = BitConverter.ToUInt64(guidArray, 0);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[JsonConstructor]
|
|
35
|
+
public WyRandom(RandomState randomState)
|
|
36
|
+
{
|
|
37
|
+
_state = randomState.State1;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
public WyRandom(ulong state)
|
|
41
|
+
{
|
|
42
|
+
_state = state;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public override uint NextUint()
|
|
46
|
+
{
|
|
47
|
+
unchecked
|
|
48
|
+
{
|
|
49
|
+
_state += Prime0;
|
|
50
|
+
return (uint)Mum(_state ^ Prime1, _state);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/// <summary>
|
|
55
|
+
/// Perform a MUM (MUltiply and Mix) operation. Multiplies 2 unsigned 64-bit integers, then combines the
|
|
56
|
+
/// hi and lo bits of the resulting 128-bit integer using XOR
|
|
57
|
+
/// </summary>
|
|
58
|
+
/// <param name="x">First 64-bit integer</param>
|
|
59
|
+
/// <param name="y">Second 64-bit integer</param>
|
|
60
|
+
/// <returns>Result of the MUM (MUltiply and Mix) operation</returns>
|
|
61
|
+
private static ulong Mum(ulong x, ulong y)
|
|
62
|
+
{
|
|
63
|
+
(ulong hi, ulong lo) = Multiply64(x, y);
|
|
64
|
+
return hi ^ lo;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/// <summary>
|
|
68
|
+
/// Multiplies 2 unsigned 64-bit integers, returning the result in 2 ulongs representing the hi and lo bits
|
|
69
|
+
/// of the resulting 128-bit integer
|
|
70
|
+
///
|
|
71
|
+
/// Source: https://stackoverflow.com/a/51587262/25758, but with a faster lo calculation
|
|
72
|
+
/// </summary>
|
|
73
|
+
/// <remarks>
|
|
74
|
+
/// <seealso cref="System.Numerics.BigInteger"/> can perform multiplication on large integers, but it's
|
|
75
|
+
/// comparatively slow, and an equivalent method allocates around 360B/call
|
|
76
|
+
/// </remarks>
|
|
77
|
+
/// <param name="x">First 64-bit integer</param>
|
|
78
|
+
/// <param name="y">Second 64-bit integer</param>
|
|
79
|
+
/// <returns>Product of <paramref name="x"/> and <paramref name="y"/></returns>
|
|
80
|
+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
81
|
+
[SuppressMessage("ReSharper", "JoinDeclarationAndInitializer")]
|
|
82
|
+
private static unsafe (ulong Hi, ulong Lo) Multiply64(ulong x, ulong y)
|
|
83
|
+
{
|
|
84
|
+
ulong hi;
|
|
85
|
+
ulong lo;
|
|
86
|
+
|
|
87
|
+
// Use BMI2 intrinsics where available
|
|
88
|
+
#if NETCOREAPP3_0_OR_GREATER
|
|
89
|
+
if (System.Runtime.Intrinsics.X86.Bmi2.X64.IsSupported)
|
|
90
|
+
{
|
|
91
|
+
hi = System.Runtime.Intrinsics.X86.Bmi2.X64.MultiplyNoFlags(x, y, &lo);
|
|
92
|
+
return (hi, lo);
|
|
93
|
+
}
|
|
94
|
+
#endif
|
|
95
|
+
|
|
96
|
+
lo = x * y;
|
|
97
|
+
|
|
98
|
+
ulong x0 = (uint)x;
|
|
99
|
+
ulong x1 = x >> 32;
|
|
100
|
+
|
|
101
|
+
ulong y0 = (uint)y;
|
|
102
|
+
ulong y1 = y >> 32;
|
|
103
|
+
|
|
104
|
+
ulong p11 = x1 * y1;
|
|
105
|
+
ulong p01 = x0 * y1;
|
|
106
|
+
ulong p10 = x1 * y0;
|
|
107
|
+
ulong p00 = x0 * y0;
|
|
108
|
+
|
|
109
|
+
// 64-bit product + two 32-bit values
|
|
110
|
+
ulong middle = p10 + (p00 >> 32) + (uint)p01;
|
|
111
|
+
|
|
112
|
+
// 64-bit product + two 32-bit values
|
|
113
|
+
hi = p11 + (middle >> 32) + (p01 >> 32);
|
|
114
|
+
|
|
115
|
+
return (hi, lo);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
public override IRandom Copy()
|
|
119
|
+
{
|
|
120
|
+
return new WyRandom(_state);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -2,25 +2,29 @@
|
|
|
2
2
|
{
|
|
3
3
|
using System;
|
|
4
4
|
using System.Runtime.Serialization;
|
|
5
|
+
using System.Text.Json.Serialization;
|
|
5
6
|
|
|
6
7
|
[Serializable]
|
|
8
|
+
[DataContract]
|
|
7
9
|
public sealed class XorShiftRandom : AbstractRandom
|
|
8
10
|
{
|
|
9
11
|
public static IRandom Instance => ThreadLocalRandom<XorShiftRandom>.Instance;
|
|
10
|
-
public override RandomState InternalState => new(_state, 0, _cachedGaussian);
|
|
11
12
|
|
|
13
|
+
[JsonPropertyName("State")]
|
|
12
14
|
[DataMember(Name = "State")]
|
|
15
|
+
public override RandomState InternalState => new(_state, 0, _cachedGaussian);
|
|
16
|
+
|
|
13
17
|
private uint _state;
|
|
14
18
|
|
|
15
|
-
public XorShiftRandom()
|
|
16
|
-
|
|
17
|
-
}
|
|
19
|
+
public XorShiftRandom()
|
|
20
|
+
: this(Guid.NewGuid().GetHashCode()) { }
|
|
18
21
|
|
|
19
22
|
public XorShiftRandom(int state)
|
|
20
23
|
{
|
|
21
24
|
_state = unchecked((uint)state);
|
|
22
25
|
}
|
|
23
26
|
|
|
27
|
+
[JsonConstructor]
|
|
24
28
|
public XorShiftRandom(RandomState state)
|
|
25
29
|
{
|
|
26
30
|
_state = unchecked((uint)state.State1);
|
package/Runtime/Core/Random.meta
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 89615d17d6d576a4a9c877765fb8abdb
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 89615d17d6d576a4a9c877765fb8abdb
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 1e671babce85bff4a96cf95c1ed6e45a
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 1e671babce85bff4a96cf95c1ed6e45a
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: c54b5af6a3d3cb5488395c0aab58d0f1
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: c54b5af6a3d3cb5488395c0aab58d0f1
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: f587675350531c74d881f05c4ef25001
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: f587675350531c74d881f05c4ef25001
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: e3a5dbeacede7e84ba9bdd7a37267f8a
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: e3a5dbeacede7e84ba9bdd7a37267f8a
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: a5624b5006f75b146a68b87ffcbcb64e
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: a5624b5006f75b146a68b87ffcbcb64e
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 6091a7935c3d1df438224d058389dc39
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 6091a7935c3d1df438224d058389dc39
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 21fb761f52e33444ba9b56e6687093f5
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 21fb761f52e33444ba9b56e6687093f5
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|
package/Runtime/Core.meta
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 7198976a47786b24eb8df722066344b5
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 7198976a47786b24eb8df722066344b5
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 0073112e88bcac943986f84e475a287f
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 0073112e88bcac943986f84e475a287f
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 5723e1a7cd396dd46850faa4ba007aaf
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 5723e1a7cd396dd46850faa4ba007aaf
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
using System.Globalization;
|
|
7
7
|
using System.Linq;
|
|
8
8
|
using System.Runtime.Serialization;
|
|
9
|
+
using System.Text.Json.Serialization;
|
|
9
10
|
using UnityEngine;
|
|
10
11
|
|
|
11
12
|
/// <summary>
|
|
@@ -19,13 +20,20 @@
|
|
|
19
20
|
{
|
|
20
21
|
private static readonly T[] Values = Enum.GetValues(typeof(T)).OfType<T>().ToArray();
|
|
21
22
|
|
|
22
|
-
[
|
|
23
|
+
[JsonIgnore]
|
|
24
|
+
[IgnoreDataMember]
|
|
25
|
+
private readonly HashSet<string> _availableBools = new HashSet<string>();
|
|
23
26
|
|
|
24
|
-
[
|
|
27
|
+
[JsonIgnore]
|
|
28
|
+
[IgnoreDataMember]
|
|
29
|
+
public readonly Animator Animator;
|
|
25
30
|
|
|
26
|
-
[
|
|
31
|
+
[JsonIgnore]
|
|
32
|
+
[IgnoreDataMember]
|
|
33
|
+
private T _value;
|
|
27
34
|
|
|
28
35
|
[DataMember]
|
|
36
|
+
[JsonInclude]
|
|
29
37
|
public T Value
|
|
30
38
|
{
|
|
31
39
|
get { return _value; }
|
|
@@ -45,6 +53,7 @@
|
|
|
45
53
|
}
|
|
46
54
|
|
|
47
55
|
[DataMember]
|
|
56
|
+
[JsonInclude]
|
|
48
57
|
private string Type => typeof(T).Name;
|
|
49
58
|
|
|
50
59
|
public AnimatorEnumStateMachine(Animator animator, T defaultValue = default(T))
|
|
@@ -77,4 +86,4 @@
|
|
|
77
86
|
return this.ToJson();
|
|
78
87
|
}
|
|
79
88
|
}
|
|
80
|
-
}
|
|
89
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 79f211d11bdd01648804f772c64c9726
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 79f211d11bdd01648804f772c64c9726
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 0351cf6d1c040c84fa9cbe195ab5508e
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 0351cf6d1c040c84fa9cbe195ab5508e
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 1d0268c3b20fd1b4a90000e64b66a97b
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 1d0268c3b20fd1b4a90000e64b66a97b
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: f143adfc6e1409a429bba016d8f2bbe3
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: f143adfc6e1409a429bba016d8f2bbe3
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 88a78536726a47a438d250cb8206ce26
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 88a78536726a47a438d250cb8206ce26
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
package/Runtime/Utils.meta
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 21a94927e8953294aa5277276d6a7bfd
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 21a94927e8953294aa5277276d6a7bfd
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 63a0f107903545b4fae68b24d4dd4b41
|
|
3
|
-
AssemblyDefinitionImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
userData:
|
|
6
|
-
assetBundleName:
|
|
7
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 63a0f107903545b4fae68b24d4dd4b41
|
|
3
|
+
AssemblyDefinitionImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
userData:
|
|
6
|
+
assetBundleName:
|
|
7
|
+
assetBundleVariant:
|
package/Runtime.meta
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 4ab0b5c03f18e0845b8a5571f9704c0a
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 4ab0b5c03f18e0845b8a5571f9704c0a
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|