com.wallstop-studios.dxmessaging 2.1.5 → 2.1.6
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/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +1 -1
- package/.cspell.json +4 -1
- package/.github/workflows/actionlint.yml +11 -1
- package/.github/workflows/csharpier-autofix.yml +34 -3
- package/.github/workflows/dotnet-tests.yml +13 -0
- package/.github/workflows/format-on-demand.yml +38 -44
- package/.github/workflows/json-format-check.yml +24 -0
- package/.github/workflows/lint-doc-links.yml +13 -0
- package/.github/workflows/markdown-json.yml +21 -4
- package/.github/workflows/markdown-link-text-check.yml +10 -0
- package/.github/workflows/markdown-link-validity.yml +10 -0
- package/.github/workflows/markdownlint.yml +7 -5
- package/.github/workflows/prettier-autofix.yml +67 -11
- package/.github/workflows/release-drafter.yml +2 -2
- package/.github/workflows/sync-wiki.yml +3 -3
- package/.github/workflows/yaml-format-lint.yml +26 -0
- package/.llm/context.md +113 -3
- package/.llm/skills/documentation/changelog-management.md +38 -0
- package/.llm/skills/documentation/documentation-style-guide.md +18 -0
- package/.llm/skills/documentation/documentation-update-workflow.md +2 -0
- package/.llm/skills/documentation/documentation-updates.md +2 -0
- package/.llm/skills/documentation/markdown-compatibility.md +476 -0
- package/.llm/skills/documentation/mermaid-theming.md +326 -0
- package/.llm/skills/documentation/mkdocs-navigation.md +290 -0
- package/.llm/skills/github-actions/git-renormalize-patterns.md +231 -0
- package/.llm/skills/github-actions/workflow-consistency.md +346 -0
- package/.llm/skills/index.md +53 -27
- package/.llm/skills/scripting/javascript-code-quality.md +417 -0
- package/.llm/skills/scripting/regex-documentation.md +461 -0
- package/.llm/skills/scripting/shell-best-practices.md +55 -4
- package/.llm/skills/scripting/validation-patterns.md +418 -0
- package/.llm/skills/specification.md +4 -1
- package/.llm/skills/testing/test-code-quality.md +243 -0
- package/.llm/skills/testing/test-production-code.md +348 -0
- package/CHANGELOG.md +11 -0
- package/README.md +0 -11
- package/Tests/Runtime/Benchmarks/WallstopStudios.DxMessaging.Tests.Runtime.Benchmarks.asmdef +1 -6
- package/Tests/Runtime/Integrations/Reflex/WallstopStudios.DxMessaging.Tests.Runtime.Reflex.asmdef +1 -1
- package/Tests/Runtime/Integrations/VContainer/WallstopStudios.DxMessaging.Tests.Runtime.VContainer.asmdef +1 -1
- package/Tests/Runtime/Integrations/Zenject/WallstopStudios.DxMessaging.Tests.Runtime.Zenject.asmdef +1 -1
- package/coverage/clover.xml +216 -3
- package/coverage/clover.xml.meta +7 -7
- package/coverage/coverage-final.json +2 -1
- package/coverage/coverage-final.json.meta +7 -7
- package/coverage/lcov-report/base.css.meta +1 -1
- package/coverage/lcov-report/block-navigation.js.meta +1 -1
- package/coverage/lcov-report/favicon.png.meta +1 -1
- package/coverage/lcov-report/index.html +25 -10
- package/coverage/lcov-report/index.html.meta +7 -7
- package/coverage/lcov-report/prettify.css.meta +1 -1
- package/coverage/lcov-report/prettify.js.meta +1 -1
- package/coverage/lcov-report/sort-arrow-sprite.png.meta +1 -1
- package/coverage/lcov-report/sorter.js.meta +1 -1
- package/coverage/lcov-report/transform-docs-to-wiki.js.html +1 -1
- package/coverage/lcov-report/transform-docs-to-wiki.js.html.meta +7 -7
- package/coverage/lcov-report/vendor.meta +1 -1
- package/coverage/lcov-report.meta +8 -8
- package/coverage/lcov.info +365 -0
- package/coverage/lcov.info.meta +7 -7
- package/docs/architecture/design-and-architecture.md +0 -1
- package/docs/concepts/index.md +37 -0
- package/docs/concepts/index.md.meta +7 -0
- package/docs/concepts/interceptors-and-ordering.md +0 -2
- package/docs/concepts/mental-model.md +390 -0
- package/docs/concepts/mental-model.md.meta +7 -0
- package/docs/concepts/message-types.md +0 -1
- package/docs/getting-started/getting-started.md +1 -0
- package/docs/getting-started/index.md +6 -5
- package/docs/getting-started/overview.md +1 -0
- package/docs/getting-started/quick-start.md +2 -1
- package/docs/getting-started/visual-guide.md +4 -10
- package/docs/hooks.py +10 -1
- package/docs/images/DxMessaging-banner.svg +1 -1
- package/docs/index.md +7 -7
- package/docs/javascripts/mermaid-config.js +44 -4
- package/docs/reference/helpers.md +130 -154
- package/docs/reference/quick-reference.md +5 -1
- package/docs/reference/reference.md +124 -130
- package/mkdocs.yml +2 -0
- package/package.json +1 -1
- package/scripts/__tests__/generate-skills-index.test.js +397 -0
- package/scripts/__tests__/generate-skills-index.test.js.meta +7 -0
- package/scripts/__tests__/mermaid-config.test.js +467 -0
- package/scripts/__tests__/mermaid-config.test.js.meta +7 -0
- package/scripts/__tests__/validate-skills-optional-fields.test.js +1474 -0
- package/scripts/__tests__/validate-skills-optional-fields.test.js.meta +7 -0
- package/scripts/__tests__/validate-skills-required-fields.test.js +188 -0
- package/scripts/__tests__/validate-skills-required-fields.test.js.meta +7 -0
- package/scripts/__tests__/validate-skills-tags.test.js +353 -0
- package/scripts/__tests__/validate-skills-tags.test.js.meta +7 -0
- package/scripts/__tests__/validate-workflows.test.js +188 -0
- package/scripts/__tests__/validate-workflows.test.js.meta +7 -0
- package/scripts/generate-skills-index.js +88 -3
- package/scripts/validate-skills.js +230 -30
- package/scripts/validate-workflows.js +272 -0
- package/scripts/validate-workflows.js.meta +7 -0
- package/site/404.html +1 -1
- package/site/advanced/emit-shorthands/index.html +2 -2
- package/site/advanced/message-bus-providers/index.html +2 -2
- package/site/advanced/registration-builders/index.html +2 -2
- package/site/advanced/runtime-configuration/index.html +2 -2
- package/site/advanced/string-messages/index.html +2 -2
- package/site/advanced.meta +1 -1
- package/site/architecture/comparisons/index.html +2 -2
- package/site/architecture/design-and-architecture/index.html +2 -2
- package/site/architecture/performance/index.html +1 -1
- package/site/architecture.meta +1 -1
- package/site/concepts/index.html +1 -0
- package/site/concepts/index.html.meta +7 -0
- package/site/concepts/interceptors-and-ordering/index.html +4 -4
- package/site/concepts/listening-patterns/index.html +2 -2
- package/site/concepts/mental-model/index.html +146 -0
- package/site/concepts/mental-model/index.html.meta +7 -0
- package/site/concepts/mental-model.meta +8 -0
- package/site/concepts/message-types/index.html +2 -2
- package/site/concepts/targeting-and-context/index.html +2 -2
- package/site/concepts.meta +1 -1
- package/site/examples/end-to-end/index.html +2 -2
- package/site/examples/end-to-end-scene-transitions/index.html +2 -2
- package/site/examples.meta +1 -1
- package/site/getting-started/getting-started/index.html +3 -3
- package/site/getting-started/index.html +4 -4
- package/site/getting-started/install/index.html +3 -3
- package/site/getting-started/overview/index.html +2 -2
- package/site/getting-started/quick-start/index.html +2 -2
- package/site/getting-started/visual-guide/index.html +11 -11
- package/site/getting-started.meta +1 -1
- package/site/guides/advanced/index.html +2 -2
- package/site/guides/diagnostics/index.html +2 -2
- package/site/guides/migration-guide/index.html +2 -2
- package/site/guides/patterns/index.html +2 -2
- package/site/guides/testing/index.html +2 -2
- package/site/guides/unity-integration/index.html +2 -2
- package/site/guides.meta +1 -1
- package/site/hooks.py.meta +1 -1
- package/site/images/DxMessaging-banner.svg +119 -0
- package/site/images/DxMessaging-banner.svg.meta +7 -0
- package/site/images.meta +8 -0
- package/site/index.html +2 -2
- package/site/integrations/index.html +2 -2
- package/site/integrations/reflex/index.html +2 -2
- package/site/integrations/vcontainer/index.html +2 -2
- package/site/integrations/zenject/index.html +2 -2
- package/site/integrations.meta +1 -1
- package/site/javascripts/csharp-highlight.js.meta +7 -7
- package/site/javascripts/mermaid-config.js +4 -1
- package/site/javascripts/mermaid-config.js.meta +1 -1
- package/site/javascripts.meta +1 -1
- package/site/reference/compatibility/index.html +1 -1
- package/site/reference/faq/index.html +1 -1
- package/site/reference/glossary/index.html +2 -2
- package/site/reference/helpers/index.html +15 -15
- package/site/reference/quick-reference/index.html +3 -3
- package/site/reference/reference/index.html +37 -37
- package/site/reference/troubleshooting/index.html +1 -1
- package/site/reference.meta +1 -1
- package/site/search/search_index.json +1 -1
- package/site/sitemap.xml +46 -38
- package/site/sitemap.xml.gz +0 -0
- package/site/stylesheets/extra.css.meta +1 -1
- package/site/stylesheets.meta +1 -1
|
@@ -50,117 +50,113 @@ MessageRegistrationHandle RegisterUntargetedPostProcessor<T>(
|
|
|
50
50
|
|
|
51
51
|
Register handlers for messages directed at specific GameObjects, Components, or InstanceIds.
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
)
|
|
105
|
-
```
|
|
53
|
+
#### Specific Target
|
|
54
|
+
|
|
55
|
+
```csharp
|
|
56
|
+
// GameObject target
|
|
57
|
+
MessageRegistrationHandle RegisterGameObjectTargeted<T>(
|
|
58
|
+
GameObject target,
|
|
59
|
+
Action<T> handler,
|
|
60
|
+
int priority = 0
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
// Component target
|
|
64
|
+
MessageRegistrationHandle RegisterComponentTargeted<T>(
|
|
65
|
+
Component target,
|
|
66
|
+
Action<T> handler,
|
|
67
|
+
int priority = 0
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
// InstanceId target (low-level)
|
|
71
|
+
MessageRegistrationHandle RegisterTargeted<T>(
|
|
72
|
+
InstanceId target,
|
|
73
|
+
Action<T> handler,
|
|
74
|
+
int priority = 0
|
|
75
|
+
)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### All Targets
|
|
79
|
+
|
|
80
|
+
```csharp
|
|
81
|
+
// Receive all targeted messages regardless of target
|
|
82
|
+
MessageRegistrationHandle RegisterTargetedWithoutTargeting<T>(
|
|
83
|
+
FastHandlerWithContext<T> handler,
|
|
84
|
+
int priority = 0
|
|
85
|
+
)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
#### Post-Processors
|
|
89
|
+
|
|
90
|
+
```csharp
|
|
91
|
+
// Post-process for specific target
|
|
92
|
+
MessageRegistrationHandle RegisterTargetedPostProcessor<T>(
|
|
93
|
+
InstanceId target,
|
|
94
|
+
FastHandler<T> handler,
|
|
95
|
+
int priority = 0
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
// Post-process all targeted messages
|
|
99
|
+
MessageRegistrationHandle RegisterTargetedWithoutTargetingPostProcessor<T>(
|
|
100
|
+
FastHandlerWithContext<T> handler,
|
|
101
|
+
int priority = 0
|
|
102
|
+
)
|
|
103
|
+
```
|
|
106
104
|
|
|
107
105
|
### Broadcast Message Registration
|
|
108
106
|
|
|
109
107
|
Register handlers for messages broadcast from specific sources.
|
|
110
108
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
<!-- markdownlint-enable MD046 -->
|
|
109
|
+
#### Specific Source
|
|
110
|
+
|
|
111
|
+
```csharp
|
|
112
|
+
// From specific GameObject
|
|
113
|
+
MessageRegistrationHandle RegisterGameObjectBroadcast<T>(
|
|
114
|
+
GameObject source,
|
|
115
|
+
Action<T> handler,
|
|
116
|
+
int priority = 0
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
// From specific Component
|
|
120
|
+
MessageRegistrationHandle RegisterComponentBroadcast<T>(
|
|
121
|
+
Component source,
|
|
122
|
+
Action<T> handler,
|
|
123
|
+
int priority = 0
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
// From specific InstanceId
|
|
127
|
+
MessageRegistrationHandle RegisterBroadcast<T>(
|
|
128
|
+
InstanceId source,
|
|
129
|
+
Action<T> handler,
|
|
130
|
+
int priority = 0
|
|
131
|
+
)
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
#### All Sources
|
|
135
|
+
|
|
136
|
+
```csharp
|
|
137
|
+
// Receive broadcasts from any source
|
|
138
|
+
MessageRegistrationHandle RegisterBroadcastWithoutSource<T>(
|
|
139
|
+
FastHandlerWithContext<T> handler,
|
|
140
|
+
int priority = 0
|
|
141
|
+
)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### Post-Processors
|
|
145
|
+
|
|
146
|
+
```csharp
|
|
147
|
+
// Post-process for specific source
|
|
148
|
+
MessageRegistrationHandle RegisterBroadcastPostProcessor<T>(
|
|
149
|
+
InstanceId source,
|
|
150
|
+
FastHandler<T> handler,
|
|
151
|
+
int priority = 0
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
// Post-process all broadcasts
|
|
155
|
+
MessageRegistrationHandle RegisterBroadcastWithoutSourcePostProcessor<T>(
|
|
156
|
+
FastHandlerWithContext<T> handler,
|
|
157
|
+
int priority = 0
|
|
158
|
+
)
|
|
159
|
+
```
|
|
164
160
|
|
|
165
161
|
---
|
|
166
162
|
|
|
@@ -286,8 +282,9 @@ string logOutput = bus.Log.ToString();
|
|
|
286
282
|
| `DxMessaging.Core.MessageBus.MessageBus` | Instanced bus; global instance at `MessageHandler.MessageBus` |
|
|
287
283
|
| `DxMessaging.Core.Messages.*` | Untargeted/Targeted/Broadcast interfaces and built-in string messages |
|
|
288
284
|
|
|
289
|
-
|
|
290
|
-
|
|
285
|
+
> 💡 **Tip: String Messages**
|
|
286
|
+
>
|
|
287
|
+
> For lightweight string-based messaging, see [String Messages](../advanced/string-messages.md).
|
|
291
288
|
|
|
292
289
|
---
|
|
293
290
|
|
|
@@ -332,28 +329,25 @@ public abstract class MessageAwareComponent : MessagingComponent
|
|
|
332
329
|
}
|
|
333
330
|
```
|
|
334
331
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
Skipping base calls may prevent token setup and default string-message registrations.
|
|
355
|
-
|
|
356
|
-
<!-- markdownlint-enable MD046 -->
|
|
332
|
+
> ⚠️ **Warning: Inheritance Tip**
|
|
333
|
+
>
|
|
334
|
+
> If you override any lifecycle hooks (`Awake`, `OnDestroy`, `OnEnable`, `OnDisable`) or `RegisterMessageHandlers`, always call the base method:
|
|
335
|
+
>
|
|
336
|
+
> ```csharp
|
|
337
|
+
> protected override void RegisterMessageHandlers()
|
|
338
|
+
> {
|
|
339
|
+
> base.RegisterMessageHandlers();
|
|
340
|
+
> // Your registrations here
|
|
341
|
+
> }
|
|
342
|
+
>
|
|
343
|
+
> protected override void OnEnable()
|
|
344
|
+
> {
|
|
345
|
+
> base.OnEnable();
|
|
346
|
+
> // Your logic here
|
|
347
|
+
> }
|
|
348
|
+
> ```
|
|
349
|
+
>
|
|
350
|
+
> Skipping base calls may prevent token setup and default string-message registrations.
|
|
357
351
|
|
|
358
352
|
---
|
|
359
353
|
|
package/mkdocs.yml
CHANGED
|
@@ -159,6 +159,8 @@ nav:
|
|
|
159
159
|
- Getting Started Guide: getting-started/getting-started.md
|
|
160
160
|
- Visual Guide: getting-started/visual-guide.md
|
|
161
161
|
- Concepts:
|
|
162
|
+
- concepts/index.md
|
|
163
|
+
- Mental Model: concepts/mental-model.md
|
|
162
164
|
- Message Types: concepts/message-types.md
|
|
163
165
|
- Listening Patterns: concepts/listening-patterns.md
|
|
164
166
|
- Targeting & Context: concepts/targeting-and-context.md
|