com.wallstop-studios.unity-helpers 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/Docs/DATA_STRUCTURES.md +7 -7
  2. package/Docs/EFFECTS_SYSTEM.md +836 -8
  3. package/Docs/EFFECTS_SYSTEM_TUTORIAL.md +77 -18
  4. package/Docs/HULLS.md +2 -2
  5. package/Docs/RANDOM_PERFORMANCE.md +1 -1
  6. package/Docs/REFLECTION_HELPERS.md +1 -1
  7. package/Docs/RELATIONAL_COMPONENTS.md +51 -6
  8. package/Docs/SERIALIZATION.md +1 -1
  9. package/Docs/SINGLETONS.md +2 -2
  10. package/Docs/SPATIAL_TREES_2D_GUIDE.md +3 -3
  11. package/Docs/SPATIAL_TREES_3D_GUIDE.md +3 -3
  12. package/Docs/SPATIAL_TREE_SEMANTICS.md +7 -7
  13. package/Editor/CustomDrawers/WShowIfPropertyDrawer.cs +131 -41
  14. package/Editor/Utils/ScriptableObjectSingletonCreator.cs +175 -18
  15. package/README.md +17 -3
  16. package/Runtime/Core/Helper/UnityMainThreadDispatcher.cs +4 -2
  17. package/Runtime/Tags/Attribute.cs +144 -24
  18. package/Runtime/Tags/AttributeEffect.cs +278 -11
  19. package/Runtime/Tags/AttributeModification.cs +59 -29
  20. package/Runtime/Tags/AttributeUtilities.cs +465 -0
  21. package/Runtime/Tags/AttributesComponent.cs +20 -0
  22. package/Runtime/Tags/EffectBehavior.cs +171 -0
  23. package/Runtime/Tags/EffectBehavior.cs.meta +4 -0
  24. package/Runtime/Tags/EffectHandle.cs +5 -0
  25. package/Runtime/Tags/EffectHandler.cs +564 -39
  26. package/Runtime/Tags/EffectStackKey.cs +79 -0
  27. package/Runtime/Tags/EffectStackKey.cs.meta +4 -0
  28. package/Runtime/Tags/PeriodicEffectDefinition.cs +102 -0
  29. package/Runtime/Tags/PeriodicEffectDefinition.cs.meta +4 -0
  30. package/Runtime/Tags/PeriodicEffectRuntimeState.cs +40 -0
  31. package/Runtime/Tags/PeriodicEffectRuntimeState.cs.meta +4 -0
  32. package/Runtime/Tags/TagHandler.cs +375 -21
  33. package/Samples~/DI - Zenject/README.md +0 -2
  34. package/Tests/Editor/Attributes/WShowIfPropertyDrawerTests.cs +285 -0
  35. package/Tests/Editor/Attributes/WShowIfPropertyDrawerTests.cs.meta +11 -0
  36. package/Tests/Editor/Core/Attributes/RelationalComponentAssignerTests.cs +2 -2
  37. package/Tests/Editor/Utils/ScriptableObjectSingletonTests.cs +41 -0
  38. package/Tests/Runtime/Serialization/JsonSerializationTest.cs +4 -3
  39. package/Tests/Runtime/Tags/AttributeEffectTests.cs +135 -0
  40. package/Tests/Runtime/Tags/AttributeEffectTests.cs.meta +3 -0
  41. package/Tests/Runtime/Tags/AttributeModificationTests.cs +137 -0
  42. package/Tests/Runtime/Tags/AttributeTests.cs +192 -0
  43. package/Tests/Runtime/Tags/AttributeTests.cs.meta +3 -0
  44. package/Tests/Runtime/Tags/AttributeUtilitiesTests.cs +245 -0
  45. package/Tests/Runtime/Tags/CosmeticAndCollisionTests.cs +1 -1
  46. package/Tests/Runtime/Tags/EffectBehaviorTests.cs +184 -0
  47. package/Tests/Runtime/Tags/EffectBehaviorTests.cs.meta +3 -0
  48. package/Tests/Runtime/Tags/EffectHandlerTests.cs +809 -0
  49. package/Tests/Runtime/Tags/Helpers/RecordingEffectBehavior.cs +89 -0
  50. package/Tests/Runtime/Tags/Helpers/RecordingEffectBehavior.cs.meta +4 -0
  51. package/Tests/Runtime/Tags/PeriodicEffectDefinitionSerializationTests.cs +92 -0
  52. package/Tests/Runtime/Tags/PeriodicEffectDefinitionSerializationTests.cs.meta +3 -0
  53. package/Tests/Runtime/Tags/TagHandlerTests.cs +130 -6
  54. package/package.json +1 -1
  55. package/scripts/lint-doc-links.ps1 +156 -11
  56. package/Tests/Runtime/Tags/AttributeDataTests.cs +0 -312
  57. package/node_modules.meta +0 -8
  58. /package/Tests/Runtime/Tags/{AttributeDataTests.cs.meta → AttributeModificationTests.cs.meta} +0 -0
@@ -16,7 +16,7 @@ This guide covers several foundational data structures used across the library a
16
16
  - Pros: Constant-time, cache-friendly, no reallocations at steady size.
17
17
  - Cons: Fixed capacity unless resized; must handle wrap-around.
18
18
 
19
- ![Cyclic Buffer](Docs/Images/cyclic_buffer.svg)
19
+ ![Cyclic Buffer](Images/cyclic_buffer.svg)
20
20
 
21
21
  When to use vs .NET queues
22
22
 
@@ -58,7 +58,7 @@ Tips and pitfalls
58
58
  - Pros: Flexible ends; generalizes queue and stack behavior.
59
59
  - Cons: Implementation complexity for block-based layouts.
60
60
 
61
- ![Deque](Docs/Images/deque.svg)
61
+ ![Deque](Images/deque.svg)
62
62
 
63
63
  When to use vs `Queue<T>` / `Stack<T>`
64
64
 
@@ -95,7 +95,7 @@ Tips
95
95
  - Pros: Simple; great constant factors; contiguous memory.
96
96
  - Cons: Not ideal for decrease-key unless augmented.
97
97
 
98
- ![Heap](Docs/Images/heap.svg)
98
+ ![Heap](Images/heap.svg)
99
99
 
100
100
  When to use vs `SortedSet<T>`
101
101
 
@@ -140,7 +140,7 @@ Tips
140
140
  - Pros: Extremely fast for bulk unions/finds; minimal memory.
141
141
  - Cons: Not suited for deletions or enumerating members without extra indexes.
142
142
 
143
- ![Disjoint Set](Docs/Images/disjoint_set.svg)
143
+ ![Disjoint Set](Images/disjoint_set.svg)
144
144
 
145
145
  When to use
146
146
 
@@ -183,7 +183,7 @@ Tips
183
183
  - Pros: Very fast, cache-friendly on dense array; stable indices optional.
184
184
  - Cons: Requires ID space for indices; sparse array sized by max ID.
185
185
 
186
- ![Sparse Set](Docs/Images/sparse_set.svg)
186
+ ![Sparse Set](Images/sparse_set.svg)
187
187
 
188
188
  When to use vs `HashSet<T>`
189
189
 
@@ -225,7 +225,7 @@ Tips
225
225
  - Pros: Predictable per-character traversal; supports prefix enumeration.
226
226
  - Cons: Memory overhead vs hash tables; compact with radix/compressed tries.
227
227
 
228
- ![Trie](Docs/Images/trie.svg)
228
+ ![Trie](Images/trie.svg)
229
229
 
230
230
  When to use vs dictionaries
231
231
 
@@ -264,7 +264,7 @@ Tips
264
264
  - Pros: Extremely compact; very fast bitwise operations.
265
265
  - Cons: Fixed maximum size unless dynamically extended; needs index mapping.
266
266
 
267
- ![Bitset](Docs/Images/bitset.svg)
267
+ ![Bitset](Images/bitset.svg)
268
268
 
269
269
  When to use vs `bool[]` / `HashSet<int>`
270
270