com.wallstop-studios.unity-helpers 2.0.0-rc12 → 2.0.0-rc14

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.
Files changed (37) hide show
  1. package/Editor/EnsureTextureSizeWizard.cs +110 -0
  2. package/Editor/EnsureTextureSizeWizard.cs.meta +3 -0
  3. package/Runtime/Core/Attributes/ChildComponentAttribute.cs +124 -31
  4. package/Runtime/Core/Attributes/ParentComponent.cs +119 -29
  5. package/Runtime/Core/Attributes/SiblingComponentAttribute.cs +31 -12
  6. package/Runtime/Core/Extension/ColorExtensions.cs +260 -1
  7. package/Runtime/Core/Extension/UnityExtensions.cs +10 -0
  8. package/Runtime/Core/Helper/Geometry.cs +17 -0
  9. package/Runtime/Core/Helper/SpriteHelpers.cs +36 -3
  10. package/Runtime/Core/Random/PcgRandom.cs +2 -2
  11. package/Runtime/Core/Random/RomuDuo.cs +116 -0
  12. package/Runtime/Core/Random/RomuDuo.cs.meta +3 -0
  13. package/Runtime/Core/Random/SplitMix64.cs +94 -0
  14. package/Runtime/Core/Random/SplitMix64.cs.meta +3 -0
  15. package/Runtime/Core/Random/XorShiroRandom.cs +117 -0
  16. package/Runtime/Core/Random/XorShiroRandom.cs.meta +3 -0
  17. package/Runtime/UI/LayeredImage.cs +364 -0
  18. package/Runtime/UI/LayeredImage.cs.meta +3 -0
  19. package/Runtime/UI.meta +3 -0
  20. package/Tests/Runtime/Attributes/ChildComponentTests.cs +81 -0
  21. package/Tests/Runtime/Attributes/ChildComponentTests.cs.meta +3 -0
  22. package/Tests/Runtime/Attributes/Components/ExpectChildSpriteRenderers.cs +28 -0
  23. package/Tests/Runtime/Attributes/Components/ExpectChildSpriteRenderers.cs.meta +3 -0
  24. package/Tests/Runtime/Attributes/Components/ExpectParentSpriteRenderers.cs +28 -0
  25. package/Tests/Runtime/Attributes/Components/ExpectParentSpriteRenderers.cs.meta +3 -0
  26. package/Tests/Runtime/Attributes/Components.meta +3 -0
  27. package/Tests/Runtime/Attributes/ParentComponentTests.cs +68 -0
  28. package/Tests/Runtime/Attributes/ParentComponentTests.cs.meta +3 -0
  29. package/Tests/Runtime/Attributes.meta +3 -0
  30. package/Tests/Runtime/Performance/RandomPerformanceTests.cs +3 -0
  31. package/Tests/Runtime/Random/RomuDuoRandomTests.cs +9 -0
  32. package/Tests/Runtime/Random/RomuDuoRandomTests.cs.meta +3 -0
  33. package/Tests/Runtime/Random/SplitMix64RandomTests.cs +9 -0
  34. package/Tests/Runtime/Random/SplitMix64RandomTests.cs.meta +3 -0
  35. package/Tests/Runtime/Random/XorShiroRandomTests.cs +9 -0
  36. package/Tests/Runtime/Random/XorShiroRandomTests.cs.meta +3 -0
  37. package/package.json +1 -1
@@ -0,0 +1,68 @@
1
+ namespace UnityHelpers.Tests.Attributes
2
+ {
3
+ using System.Collections;
4
+ using System.Linq;
5
+ using Components;
6
+ using Core.Attributes;
7
+ using UnityEngine;
8
+ using UnityEngine.Assertions;
9
+ using UnityEngine.TestTools;
10
+
11
+ public sealed class ParentComponentTests
12
+ {
13
+ [UnityTest]
14
+ public IEnumerator Nominal()
15
+ {
16
+ GameObject root = new("PartComponentTest - Root", typeof(SpriteRenderer));
17
+ GameObject parentLevel1 = new("ParentLevel1", typeof(SpriteRenderer));
18
+ parentLevel1.transform.SetParent(root.transform);
19
+ GameObject parentLevel2 = new("ParentLevel2", typeof(SpriteRenderer));
20
+ parentLevel2.transform.SetParent(parentLevel1.transform);
21
+ GameObject parentLevel3 = new(
22
+ "ParentLevel3",
23
+ typeof(SpriteRenderer),
24
+ typeof(ExpectParentSpriteRenderers)
25
+ );
26
+ parentLevel3.transform.SetParent(parentLevel2.transform);
27
+
28
+ ExpectParentSpriteRenderers expect =
29
+ parentLevel3.GetComponent<ExpectParentSpriteRenderers>();
30
+ expect.AssignParentComponents();
31
+
32
+ Assert.AreEqual(4, expect.exclusiveParentList.Count);
33
+ Assert.IsTrue(
34
+ expect.exclusiveParentList.Contains(parentLevel3.GetComponent<SpriteRenderer>())
35
+ );
36
+ Assert.IsTrue(
37
+ expect.exclusiveParentList.Contains(parentLevel2.GetComponent<SpriteRenderer>())
38
+ );
39
+ Assert.IsTrue(
40
+ expect.exclusiveParentList.Contains(parentLevel1.GetComponent<SpriteRenderer>())
41
+ );
42
+ Assert.IsTrue(expect.exclusiveParentList.Contains(root.GetComponent<SpriteRenderer>()));
43
+ Assert.IsTrue(
44
+ expect.exclusiveParentList.ToHashSet().SetEquals(expect.exclusiveParentArray)
45
+ );
46
+
47
+ Assert.AreEqual(3, expect.inclusiveParentList.Count);
48
+ Assert.IsTrue(
49
+ expect.inclusiveParentList.Contains(parentLevel2.GetComponent<SpriteRenderer>())
50
+ );
51
+ Assert.IsTrue(
52
+ expect.inclusiveParentList.Contains(parentLevel1.GetComponent<SpriteRenderer>())
53
+ );
54
+ Assert.IsTrue(expect.inclusiveParentList.Contains(root.GetComponent<SpriteRenderer>()));
55
+ Assert.IsTrue(
56
+ expect.inclusiveParentList.ToHashSet().SetEquals(expect.inclusiveParentArray)
57
+ );
58
+
59
+ Assert.IsTrue(expect.exclusiveParent != null);
60
+ Assert.AreEqual(expect.GetComponent<SpriteRenderer>(), expect.exclusiveParent);
61
+
62
+ Assert.IsTrue(expect.inclusiveParent != null);
63
+ Assert.AreEqual(parentLevel2.GetComponent<SpriteRenderer>(), expect.inclusiveParent);
64
+
65
+ yield break;
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 592701784a5e47dfafe7bee6c5dafde1
3
+ timeCreated: 1735257998
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: e997d0d1612a44e18a4c1e2a8b0e2650
3
+ timeCreated: 1735257989
@@ -25,6 +25,9 @@
25
25
  RunTest(new XorShiftRandom(), timeout);
26
26
  RunTest(new DotNetRandom(), timeout);
27
27
  RunTest(new WyRandom(), timeout);
28
+ RunTest(new SplitMix64(), timeout);
29
+ RunTest(new RomuDuo(), timeout);
30
+ RunTest(new XorShiroRandom(), timeout);
28
31
  }
29
32
 
30
33
  private static void RunTest<T>(T random, TimeSpan timeout)
@@ -0,0 +1,9 @@
1
+ namespace UnityHelpers.Tests.Random
2
+ {
3
+ using Core.Random;
4
+
5
+ public sealed class RomuDuoRandomTests : RandomTestBase
6
+ {
7
+ protected override IRandom NewRandom() => new RomuDuo();
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 6998ef56b2d04d58977cd95f226c6f50
3
+ timeCreated: 1735610612
@@ -0,0 +1,9 @@
1
+ namespace UnityHelpers.Tests.Random
2
+ {
3
+ using Core.Random;
4
+
5
+ public sealed class SplitMix64RandomTests : RandomTestBase
6
+ {
7
+ protected override IRandom NewRandom() => new SplitMix64();
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 9c07a25c515041908a3920ff7d2c2607
3
+ timeCreated: 1735606130
@@ -0,0 +1,9 @@
1
+ namespace UnityHelpers.Tests.Random
2
+ {
3
+ using Core.Random;
4
+
5
+ public sealed class XorShiroRandomTests : RandomTestBase
6
+ {
7
+ protected override IRandom NewRandom() => new XorShiroRandom();
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 533b6ecf4c3d4115ad733f59afa8618f
3
+ timeCreated: 1735610645
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "com.wallstop-studios.unity-helpers",
3
- "version": "2.0.0-rc12",
3
+ "version": "2.0.0-rc14",
4
4
  "displayName": "Unity Helpers",
5
5
  "description": "Various Unity Helper Library",
6
6
  "dependencies": {},