You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.MD
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,14 @@ All notable changes to this project will be documented in this file.
3
3
4
4
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
-
[Unreleased]
6
+
7
+
## [Unreleased]
8
+
### Changed
9
+
- Reverted `CollectionItemQuery.MatchType` enum values: `SomeNot` → `NotAny`, `None` → `NotAll`. The new names mirror `Any`/`All` and describe the actual semantics (target has *none* of the picker items / target is missing *at least one* of them). Integer values are preserved (2 and 3), so existing serialized `QuerySet` data deserializes unchanged.
10
+
- Added XML documentation on `MatchType` values and the `Matches` method to surface the semantics in IntelliSense.
11
+
12
+
### Fixed
13
+
-`CollectionItemQueryPropertyDrawer.IsCombinationImpossible` no longer reports false positives for `Any` + `NotAny` and `All` + `NotAll` rule pairs. Impossibility for these now requires the stricter *subset* relationship between pickers (not just any intersection), matching the real-world satisfiability. `All` + `NotAny` continues to be flagged on any intersection, which is correct.
Copy file name to clipboardExpand all lines: Scripts/Runtime/Core/CollectionItemQuery.cs
+18-7Lines changed: 18 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -11,10 +11,14 @@ public class CollectionItemQuery<T> where T : ScriptableObject, ISOCItem
11
11
{
12
12
publicenumMatchType
13
13
{
14
+
/// <summary>Target has at least one of the picker items.</summary>
14
15
Any=0,
16
+
/// <summary>Target has every one of the picker items.</summary>
15
17
All=1,
16
-
SomeNot=2,
17
-
None=3,
18
+
/// <summary>Target has none of the picker items (all picker items are absent).</summary>
19
+
NotAny=2,
20
+
/// <summary>Target is missing at least one of the picker items (not all are present).</summary>
21
+
NotAll=3,
18
22
}
19
23
20
24
[Serializable]
@@ -63,6 +67,13 @@ public override string ToString()
63
67
returnstringBuilder.ToString();
64
68
}
65
69
70
+
/// <summary>
71
+
/// Evaluates every <see cref="QuerySet"/> in the query against <paramref name="targetItems"/>.
72
+
/// Returns <c>true</c> only if every set passes its <see cref="MatchType"/> check;
73
+
/// an empty query returns <c>true</c>.
74
+
/// </summary>
75
+
/// <param name="targetItems">The items to test against (e.g., the tags on a rigidbody).</param>
76
+
/// <param name="resultMatchCount">Total number of individual picker items found across all query sets. Informational only; does not affect the return value.</param>
0 commit comments