com.wallstop-studios.dxmessaging 2.1.4 → 2.1.5

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 (1219) hide show
  1. package/.artifacts/SourceGenerators.Tests/TestResults/0e800bba-2376-4062-bb19-cf916d3083a1/coverage.cobertura.xml +2624 -0
  2. package/.artifacts/SourceGenerators.Tests/TestResults/260ab294-e640-4674-9ae9-29b5344c0540/coverage.cobertura.xml +2624 -0
  3. package/.artifacts/SourceGenerators.Tests/TestResults/31c02772-7d85-4466-a2c4-93742725076e/coverage.cobertura.xml +2624 -0
  4. package/.artifacts/SourceGenerators.Tests/TestResults/ca4d2ef2-0c53-49dc-91b5-039938571ed8/coverage.cobertura.xml +2624 -0
  5. package/.artifacts/SourceGenerators.Tests/TestResults/f6cadd7e-1bf5-44b0-9351-47426600fc69/coverage.cobertura.xml +2624 -0
  6. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  7. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  8. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.ApplicationInsights.dll +0 -0
  9. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  10. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.CodeAnalysis.dll +0 -0
  11. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
  12. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  13. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  14. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  15. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  16. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
  17. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
  18. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
  19. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
  20. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
  21. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Platform.dll +0 -0
  22. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  23. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  24. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  25. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/NUnit3.TestAdapter.dll +0 -0
  26. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Newtonsoft.Json.dll +0 -0
  27. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +872 -0
  28. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  29. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +13 -0
  30. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  31. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  32. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  33. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  34. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  35. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  36. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  37. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  38. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  39. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  40. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
  41. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  42. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  43. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  44. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  45. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  46. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  47. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  48. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  49. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  50. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  51. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  52. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
  53. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  54. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  55. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  56. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  57. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  58. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  59. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  60. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  61. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  62. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  63. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  64. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
  65. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  66. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  67. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  68. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  69. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  70. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  71. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  72. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  73. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  74. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  75. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  76. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
  77. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  78. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  79. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  80. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  81. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  82. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  83. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  84. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  85. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  86. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  87. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  88. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
  89. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  90. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  91. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  92. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  93. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  94. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  95. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  96. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  97. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  98. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  99. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  100. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
  101. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  102. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  103. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  104. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  105. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  106. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  107. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  108. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  109. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  110. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  111. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  112. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
  113. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  114. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  115. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.api.dll +0 -0
  116. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.core.dll +0 -0
  117. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.dll +0 -0
  118. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.framework.dll +0 -0
  119. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.framework.legacy.dll +0 -0
  120. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  121. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  122. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  123. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  124. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  125. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  126. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  127. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  128. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  129. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
  130. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  131. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  132. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  133. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  134. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  135. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  136. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  137. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  138. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  139. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  140. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  141. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
  142. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  143. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  144. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  145. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  146. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  147. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  148. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  149. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  150. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  151. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  152. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  153. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
  154. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  155. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  156. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testcentric.engine.metadata.dll +0 -0
  157. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testhost.dll +0 -0
  158. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testhost.exe +0 -0
  159. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  160. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  161. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  162. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  163. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  164. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  165. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  166. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  167. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  168. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
  169. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  170. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  171. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  172. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  173. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  174. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  175. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  176. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  177. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  178. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  179. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  180. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
  181. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  182. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  183. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  184. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  185. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  186. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  187. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  188. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  189. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  190. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  191. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  192. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
  193. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  194. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  195. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  196. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  197. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.ApplicationInsights.dll +0 -0
  198. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  199. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.CodeAnalysis.dll +0 -0
  200. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Extensions.DependencyModel.dll +0 -0
  201. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
  202. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  203. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  204. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  205. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  206. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
  207. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
  208. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
  209. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
  210. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
  211. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Platform.dll +0 -0
  212. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  213. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  214. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  215. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/NUnit3.TestAdapter.dll +0 -0
  216. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Newtonsoft.Json.dll +0 -0
  217. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +817 -0
  218. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  219. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +14 -0
  220. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  221. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  222. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  223. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  224. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  225. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  226. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  227. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  228. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  229. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  230. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
  231. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  232. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  233. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  234. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  235. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  236. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  237. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  238. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  239. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  240. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  241. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  242. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
  243. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  244. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  245. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  246. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  247. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  248. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  249. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  250. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  251. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  252. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  253. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  254. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
  255. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  256. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  257. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  258. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  259. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  260. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  261. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  262. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  263. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  264. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  265. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  266. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
  267. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  268. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  269. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  270. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  271. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  272. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  273. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  274. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  275. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  276. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  277. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  278. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
  279. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  280. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  281. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  282. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  283. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  284. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  285. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  286. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  287. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  288. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  289. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  290. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
  291. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  292. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  293. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  294. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  295. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  296. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  297. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  298. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  299. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  300. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  301. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  302. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
  303. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  304. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  305. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.api.dll +0 -0
  306. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.core.dll +0 -0
  307. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.dll +0 -0
  308. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.framework.dll +0 -0
  309. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.framework.legacy.dll +0 -0
  310. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  311. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  312. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  313. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  314. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  315. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  316. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  317. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  318. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  319. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
  320. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  321. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  322. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  323. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  324. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  325. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  326. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  327. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  328. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  329. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  330. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  331. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
  332. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  333. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  334. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  335. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  336. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  337. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  338. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  339. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  340. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  341. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  342. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  343. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
  344. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  345. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  346. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testcentric.engine.metadata.dll +0 -0
  347. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testhost.dll +0 -0
  348. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testhost.exe +0 -0
  349. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  350. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  351. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  352. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  353. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  354. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  355. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  356. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  357. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  358. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
  359. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  360. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  361. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  362. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  363. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  364. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  365. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  366. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  367. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  368. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  369. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  370. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
  371. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  372. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  373. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  374. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  375. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  376. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  377. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  378. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  379. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  380. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  381. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  382. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
  383. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  384. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  385. package/.artifacts/SourceGenerators.Tests/bin/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  386. package/.artifacts/SourceGenerators.Tests/bin/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  387. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.ApplicationInsights.dll +0 -0
  388. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  389. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.CodeAnalysis.dll +0 -0
  390. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Extensions.DependencyModel.dll +0 -0
  391. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
  392. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  393. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  394. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  395. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  396. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
  397. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
  398. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
  399. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
  400. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
  401. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Platform.dll +0 -0
  402. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  403. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  404. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  405. package/.artifacts/SourceGenerators.Tests/bin/net9.0/NUnit3.TestAdapter.dll +0 -0
  406. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Newtonsoft.Json.dll +0 -0
  407. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +872 -0
  408. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  409. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +13 -0
  410. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  411. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  412. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  413. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  414. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  415. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  416. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  417. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  418. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  419. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  420. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
  421. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  422. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  423. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  424. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  425. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  426. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  427. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  428. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  429. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  430. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  431. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  432. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
  433. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  434. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  435. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  436. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  437. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  438. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  439. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  440. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  441. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  442. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  443. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  444. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
  445. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  446. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  447. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  448. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  449. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  450. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  451. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  452. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  453. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  454. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  455. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  456. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
  457. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  458. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  459. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  460. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  461. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  462. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  463. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  464. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  465. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  466. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  467. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  468. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
  469. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  470. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  471. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  472. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  473. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  474. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  475. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  476. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  477. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  478. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  479. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  480. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
  481. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  482. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  483. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  484. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  485. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  486. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  487. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  488. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  489. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  490. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  491. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  492. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
  493. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  494. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  495. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.api.dll +0 -0
  496. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.core.dll +0 -0
  497. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.dll +0 -0
  498. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.framework.dll +0 -0
  499. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.framework.legacy.dll +0 -0
  500. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  501. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  502. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  503. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  504. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  505. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  506. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  507. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  508. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  509. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
  510. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  511. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  512. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  513. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  514. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  515. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  516. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  517. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  518. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  519. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  520. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  521. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
  522. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  523. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  524. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  525. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  526. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  527. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  528. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  529. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  530. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  531. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  532. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  533. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
  534. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  535. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  536. package/.artifacts/SourceGenerators.Tests/bin/net9.0/testcentric.engine.metadata.dll +0 -0
  537. package/.artifacts/SourceGenerators.Tests/bin/net9.0/testhost.dll +0 -0
  538. package/.artifacts/SourceGenerators.Tests/bin/net9.0/testhost.exe +0 -0
  539. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  540. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  541. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  542. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  543. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  544. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  545. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  546. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  547. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  548. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
  549. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  550. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  551. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  552. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  553. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  554. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  555. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  556. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  557. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  558. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  559. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  560. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
  561. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  562. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  563. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  564. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  565. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  566. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  567. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  568. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  569. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  570. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  571. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  572. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
  573. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  574. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  575. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
  576. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
  577. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +22 -0
  578. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +25 -0
  579. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +8 -0
  580. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +28 -0
  581. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  582. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +1 -0
  583. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  584. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  585. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
  586. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
  587. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +23 -0
  588. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +17 -0
  589. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +8 -0
  590. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.BuildWithSkipAnalyzers +0 -0
  591. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +84 -0
  592. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  593. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +1 -0
  594. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  595. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  596. package/.artifacts/SourceGenerators.Tests/obj/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
  597. package/.artifacts/SourceGenerators.Tests/obj/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
  598. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +22 -0
  599. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +23 -0
  600. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +8 -0
  601. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +55 -0
  602. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  603. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +1 -0
  604. package/.artifacts/SourceGenerators.Tests/obj/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  605. package/.artifacts/SourceGenerators.Tests/obj/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  606. package/.config/dotnet-tools.json +1 -1
  607. package/.csharpierignore +1 -1
  608. package/.cspell.json +219 -0
  609. package/.cursorrules +3 -0
  610. package/.devcontainer/.dockerignore +92 -0
  611. package/.devcontainer/Dockerfile +475 -0
  612. package/.devcontainer/devcontainer.json +54 -0
  613. package/.devcontainer/verify-tools.sh +183 -0
  614. package/.editorconfig +6 -0
  615. package/.gitattributes +12 -0
  616. package/.github/ISSUE_TEMPLATE/bug_report.yml +95 -0
  617. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  618. package/.github/ISSUE_TEMPLATE/feature_request.yml +46 -0
  619. package/.github/copilot-instructions.md +3 -0
  620. package/.github/dependabot.yml +36 -2
  621. package/.github/pull_request_template.md +30 -0
  622. package/.github/release-drafter.yml +92 -0
  623. package/.github/scripts/check-markdown-links.ps1 +27 -3
  624. package/.github/scripts/check_markdown_links.py +132 -34
  625. package/.github/scripts/test_check_markdown_links.py +545 -0
  626. package/.github/workflows/actionlint.yml +37 -0
  627. package/.github/workflows/csharpier-autofix.yml +15 -6
  628. package/.github/workflows/deploy-docs.yml +118 -0
  629. package/.github/workflows/dotnet-tests.yml +2 -2
  630. package/.github/workflows/format-on-demand.yml +28 -18
  631. package/.github/workflows/json-format-check.yml +2 -1
  632. package/.github/workflows/lint-doc-links.yml +2 -1
  633. package/.github/workflows/markdown-json.yml +2 -1
  634. package/.github/workflows/markdown-link-text-check.yml +2 -1
  635. package/.github/workflows/markdown-link-validity.yml +2 -1
  636. package/.github/workflows/markdownlint.yml +25 -1
  637. package/.github/workflows/prettier-autofix.yml +23 -8
  638. package/.github/workflows/release-drafter.yml +135 -0
  639. package/.github/workflows/spellcheck.yml +56 -0
  640. package/.github/workflows/sync-wiki.yml +139 -0
  641. package/.github/workflows/update-dotnet-tools.yml +7 -3
  642. package/.github/workflows/validate-docs.yml +196 -0
  643. package/.github/workflows/validate-skills.yml +46 -0
  644. package/.github/workflows/yaml-format-lint.yml +2 -1
  645. package/.llm/context.md +269 -0
  646. package/.llm/skills/documentation/changelog-entry-writing.md +277 -0
  647. package/.llm/skills/documentation/changelog-management.md +190 -0
  648. package/.llm/skills/documentation/changelog-release-workflow.md +249 -0
  649. package/.llm/skills/documentation/documentation-code-samples.md +262 -0
  650. package/.llm/skills/documentation/documentation-style-guide.md +185 -0
  651. package/.llm/skills/documentation/documentation-update-workflow.md +146 -0
  652. package/.llm/skills/documentation/documentation-updates.md +146 -0
  653. package/.llm/skills/documentation/documentation-xml-docs.md +190 -0
  654. package/.llm/skills/documentation/external-url-fragment-validation.md +181 -0
  655. package/.llm/skills/documentation/github-actions-version-consistency.md +203 -0
  656. package/.llm/skills/documentation/link-quality-guidelines.md +267 -0
  657. package/.llm/skills/documentation/skill-file-sizing.md +260 -0
  658. package/.llm/skills/index.md +231 -0
  659. package/.llm/skills/performance/aggressive-inlining-performance-notes.md +94 -0
  660. package/.llm/skills/performance/aggressive-inlining.md +342 -0
  661. package/.llm/skills/performance/array-pooling-usage-examples.md +145 -0
  662. package/.llm/skills/performance/array-pooling.md +315 -0
  663. package/.llm/skills/performance/cache-eviction-builder.md +203 -0
  664. package/.llm/skills/performance/cache-eviction-implementation.md +340 -0
  665. package/.llm/skills/performance/cache-eviction-policies.md +176 -0
  666. package/.llm/skills/performance/collection-pooling.md +313 -0
  667. package/.llm/skills/performance/object-pooling-anti-patterns.md +144 -0
  668. package/.llm/skills/performance/object-pooling-usage-examples.md +114 -0
  669. package/.llm/skills/performance/object-pooling-variations.md +147 -0
  670. package/.llm/skills/performance/object-pooling.md +319 -0
  671. package/.llm/skills/performance/readonly-struct-cached-hash-performance-notes.md +91 -0
  672. package/.llm/skills/performance/readonly-struct-cached-hash.md +337 -0
  673. package/.llm/skills/performance/serializable-dictionary-property-drawer.md +147 -0
  674. package/.llm/skills/performance/serializable-dictionary-usage-examples.md +135 -0
  675. package/.llm/skills/performance/serializable-dictionary.md +281 -0
  676. package/.llm/skills/performance/singleton-autoload.md +111 -0
  677. package/.llm/skills/performance/singleton-patterns.md +165 -0
  678. package/.llm/skills/performance/singleton-runtime.md +187 -0
  679. package/.llm/skills/performance/singleton-scriptableobject.md +177 -0
  680. package/.llm/skills/performance/singleton-usage-examples.md +139 -0
  681. package/.llm/skills/performance/stringbuilder-pooling.md +319 -0
  682. package/.llm/skills/performance/yield-instruction-pooling.md +347 -0
  683. package/.llm/skills/scripting/cross-platform-compatibility.md +224 -0
  684. package/{Docs/Comparisons.md.meta → .llm/skills/scripting/cross-platform-compatibility.md.meta} +1 -1
  685. package/.llm/skills/scripting/powershell-best-practices.md +386 -0
  686. package/.llm/skills/scripting/shell-best-practices.md +335 -0
  687. package/.llm/skills/solid/collection-extensions-accessors.md +229 -0
  688. package/.llm/skills/solid/collection-extensions-shuffle.md +144 -0
  689. package/.llm/skills/solid/collection-extensions-type-specialization.md +168 -0
  690. package/.llm/skills/solid/collection-extensions.md +144 -0
  691. package/.llm/skills/solid/fluent-builder-pattern-templates.md +117 -0
  692. package/.llm/skills/solid/fluent-builder-pattern-usage-examples.md +128 -0
  693. package/.llm/skills/solid/fluent-builder-pattern.md +322 -0
  694. package/.llm/skills/solid/iequatable-implementation-usage.md +111 -0
  695. package/.llm/skills/solid/iequatable-implementation-variants.md +201 -0
  696. package/.llm/skills/solid/iequatable-implementation.md +239 -0
  697. package/.llm/skills/solid/try-pattern-apis-usage.md +136 -0
  698. package/.llm/skills/solid/try-pattern-apis-variants.md +233 -0
  699. package/.llm/skills/solid/try-pattern-apis.md +220 -0
  700. package/.llm/skills/specification.md +465 -0
  701. package/.llm/skills/templates/skill-template.md +143 -0
  702. package/.llm/skills/testing/comprehensive-test-coverage.md +141 -0
  703. package/.llm/skills/testing/data-driven-tests-sources.md +255 -0
  704. package/.llm/skills/testing/data-driven-tests-usage.md +107 -0
  705. package/.llm/skills/testing/data-driven-tests.md +197 -0
  706. package/.llm/skills/testing/git-workflow-robustness.md +369 -0
  707. package/.llm/skills/testing/script-test-coverage.md +259 -0
  708. package/{Docs/DesignAndArchitecture.md.meta → .llm/skills/testing/script-test-coverage.md.meta} +1 -1
  709. package/.llm/skills/testing/shared-test-fixtures-generic-base.md +185 -0
  710. package/.llm/skills/testing/shared-test-fixtures-reference-counting.md +252 -0
  711. package/.llm/skills/testing/shared-test-fixtures.md +165 -0
  712. package/.llm/skills/testing/test-base-class-cleanup-usage.md +218 -0
  713. package/.llm/skills/testing/test-base-class-cleanup.md +323 -0
  714. package/.llm/skills/testing/test-categories-execution.md +142 -0
  715. package/.llm/skills/testing/test-categories.md +287 -0
  716. package/.llm/skills/testing/test-coverage-data-driven.md +172 -0
  717. package/.llm/skills/testing/test-coverage-organization-assertions.md +171 -0
  718. package/.llm/skills/testing/test-coverage-scenario-categories.md +223 -0
  719. package/.llm/skills/testing/test-coverage-unity-anti-patterns.md +232 -0
  720. package/.llm/skills/testing/test-diagnostics-patterns.md +189 -0
  721. package/.llm/skills/testing/test-diagnostics-usage.md +196 -0
  722. package/.llm/skills/testing/test-diagnostics.md +247 -0
  723. package/.llm/skills/testing/test-failure-investigation-procedure.md +216 -0
  724. package/.llm/skills/testing/test-failure-investigation-root-causes.md +186 -0
  725. package/.llm/skills/testing/test-failure-investigation.md +119 -0
  726. package/.llm/skills/testing/test-invalid-skill.md +26 -0
  727. package/.lychee.toml +3 -1
  728. package/.markdownlint.json +2 -0
  729. package/.markdownlint.jsonc +2 -0
  730. package/.markdownlintignore +7 -7
  731. package/.pre-commit-config.yaml +80 -3
  732. package/.prettierignore +21 -21
  733. package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.metadata.v10.bin +0 -0
  734. package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.projects.v10.bin +0 -0
  735. package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.strings.v10.bin +0 -0
  736. package/.vs/ProjectSettings.json +3 -0
  737. package/.vs/VSWorkspaceState.json +9 -0
  738. package/.vs/com.wallstop-studios.dxmessaging/CopilotIndices/17.14.1347.20289/CodeChunks.db +0 -0
  739. package/.vs/com.wallstop-studios.dxmessaging/CopilotIndices/17.14.1347.20289/SemanticSymbols.db +0 -0
  740. package/.vs/com.wallstop-studios.dxmessaging/DesignTimeBuild/.dtbcache.v2 +0 -0
  741. package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/41b4588f-fa0f-484b-a29b-733b6ce84c26.vsidx +0 -0
  742. package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/9a73875f-5693-4296-95fd-0672bf61c5ac.vsidx +0 -0
  743. package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/fd44ab3e-7015-4c20-918a-a0a916be8934.vsidx +0 -0
  744. package/.vs/com.wallstop-studios.dxmessaging/v17/.futdcache.v2 +0 -0
  745. package/.vs/com.wallstop-studios.dxmessaging/v17/.wsuo +0 -0
  746. package/.vs/com.wallstop-studios.dxmessaging/v17/DocumentLayout.backup.json +82 -0
  747. package/.vs/com.wallstop-studios.dxmessaging/v17/DocumentLayout.json +82 -0
  748. package/.vs/com.wallstop-studios.dxmessaging/v17/TestStore/0/000.testlog +0 -0
  749. package/.vs/com.wallstop-studios.dxmessaging/v17/TestStore/0/testlog.manifest +0 -0
  750. package/.vs/com.wallstop-studios.dxmessaging/v17/csharpier.json +1 -0
  751. package/.vs/com.wallstop-studios.dxmessaging/v18/.futdcache.v2 +0 -0
  752. package/.vs/com.wallstop-studios.dxmessaging/v18/DocumentLayout.backup.json +86 -0
  753. package/.vs/com.wallstop-studios.dxmessaging/v18/DocumentLayout.json +86 -0
  754. package/.vs/slnx.sqlite +0 -0
  755. package/AGENTS.md +1 -50
  756. package/CHANGELOG.md +31 -0
  757. package/CLAUDE.md +3 -0
  758. package/{Docs/Compatibility.md.meta → CLAUDE.md.meta} +1 -1
  759. package/CONTRIBUTING.md +8 -4
  760. package/Editor/Analyzers/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  761. package/Editor/Settings/DxMessagingSettings.cs +2 -3
  762. package/README.md +144 -109
  763. package/Runtime/Core/MessageBus/IMessageBus.cs +20 -1
  764. package/Runtime/Core/MessageBus/MessageBus.cs +2267 -1061
  765. package/Runtime/Core/MessageBus/MessageRegistrationBuilder.cs +4 -2
  766. package/Runtime/Core/MessageHandler.cs +519 -6
  767. package/Samples~/DI/README.md +2 -2
  768. package/Samples~/Mini Combat/README.md +7 -7
  769. package/Samples~/Mini Combat/Walkthrough.md +12 -12
  770. package/Samples~/UI Buttons + Inspector/README.md +8 -8
  771. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/CopilotIndices/17.14.1231.31060/CodeChunks.db +0 -0
  772. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/CopilotIndices/17.14.1231.31060/SemanticSymbols.db +0 -0
  773. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/DesignTimeBuild/.dtbcache.v2 +0 -0
  774. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/FileContentIndex/c90afd9b-d899-4546-bd92-ab874e448437.vsidx +0 -0
  775. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/v17/.futdcache.v2 +0 -0
  776. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DocsSnippetCompilationTests.cs +355 -4
  777. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj +2 -2
  778. package/Tests/Runtime/Benchmarks/BenchmarkSession.cs +6 -3
  779. package/Tests/Runtime/Core/BroadcastTests.cs +80 -66
  780. package/Tests/Runtime/Core/CyclicBufferTests.cs +284 -14
  781. package/Tests/Runtime/Core/DiagnosticsTests.cs +72 -0
  782. package/Tests/Runtime/Core/DxMessagingStaticStateTests.cs +1 -1
  783. package/Tests/Runtime/Core/GlobalAcceptAllTests.cs +26 -26
  784. package/Tests/Runtime/Core/MutationDedupeTests.cs +24 -24
  785. package/Tests/Runtime/Core/MutationDuringEmissionTests.cs +126 -9
  786. package/Tests/Runtime/Core/MutationHighVolumeStressTests.cs +512 -0
  787. package/Tests/Runtime/Core/MutationHighVolumeStressTests.cs.meta +11 -0
  788. package/Tests/Runtime/Core/NominalTests.cs +82 -81
  789. package/Tests/Runtime/Core/PostProcessorTests.cs +108 -99
  790. package/Tests/Runtime/Core/RegistrationTests.cs +159 -159
  791. package/Tests/Runtime/Core/TargetedTests.cs +80 -66
  792. package/Tests/Runtime/Core/UntargetedTests.cs +25 -20
  793. package/Tests/Runtime/Integrations/Zenject/ZenjectIntegrationTests.cs +0 -1
  794. package/coverage/clover.xml +6 -0
  795. package/{Docs/Advanced.md.meta → coverage/clover.xml.meta} +7 -7
  796. package/coverage/coverage-final.json +1 -0
  797. package/coverage/coverage-final.json.meta +7 -0
  798. package/coverage/lcov-report/base.css +224 -0
  799. package/coverage/lcov-report/base.css.meta +7 -0
  800. package/coverage/lcov-report/block-navigation.js +87 -0
  801. package/coverage/lcov-report/block-navigation.js.meta +7 -0
  802. package/coverage/lcov-report/favicon.png +0 -0
  803. package/coverage/lcov-report/favicon.png.meta +127 -0
  804. package/coverage/lcov-report/index.html +101 -0
  805. package/coverage/lcov-report/index.html.meta +7 -0
  806. package/coverage/lcov-report/prettify.css +1 -0
  807. package/coverage/lcov-report/prettify.css.meta +7 -0
  808. package/coverage/lcov-report/prettify.js +2 -0
  809. package/coverage/lcov-report/prettify.js.meta +7 -0
  810. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  811. package/coverage/lcov-report/sort-arrow-sprite.png.meta +127 -0
  812. package/coverage/lcov-report/sorter.js +210 -0
  813. package/coverage/lcov-report/sorter.js.meta +7 -0
  814. package/coverage/lcov-report/transform-docs-to-wiki.js.html +1312 -0
  815. package/coverage/lcov-report/transform-docs-to-wiki.js.html.meta +7 -0
  816. package/coverage/lcov-report/vendor.meta +8 -0
  817. package/coverage/lcov-report.meta +8 -0
  818. package/coverage/lcov.info +0 -0
  819. package/coverage/lcov.info.meta +7 -0
  820. package/{Docs/EmitShorthands.md → docs/advanced/emit-shorthands.md} +17 -17
  821. package/docs/advanced/emit-shorthands.md.meta +7 -0
  822. package/{Docs/MessageBusProviders.md → docs/advanced/message-bus-providers.md} +5 -4
  823. package/docs/advanced/message-bus-providers.md.meta +7 -0
  824. package/docs/advanced/registration-builders.md +444 -0
  825. package/docs/advanced/registration-builders.md.meta +7 -0
  826. package/{Docs/RuntimeConfiguration.md → docs/advanced/runtime-configuration.md} +5 -4
  827. package/docs/advanced/runtime-configuration.md.meta +7 -0
  828. package/{Docs/StringMessages.md → docs/advanced/string-messages.md} +2 -2
  829. package/docs/advanced/string-messages.md.meta +7 -0
  830. package/docs/advanced.meta +8 -0
  831. package/{Docs/Comparisons.md → docs/architecture/comparisons.md} +71 -66
  832. package/docs/architecture/comparisons.md.meta +7 -0
  833. package/{Docs/DesignAndArchitecture.md → docs/architecture/design-and-architecture.md} +17 -16
  834. package/docs/architecture/design-and-architecture.md.meta +7 -0
  835. package/docs/architecture/performance.md +53 -0
  836. package/docs/architecture/performance.md.meta +7 -0
  837. package/docs/architecture.meta +8 -0
  838. package/{Docs/InterceptorsAndOrdering.md → docs/concepts/interceptors-and-ordering.md} +58 -55
  839. package/docs/concepts/interceptors-and-ordering.md.meta +7 -0
  840. package/{Docs/ListeningPatterns.md → docs/concepts/listening-patterns.md} +17 -15
  841. package/docs/concepts/listening-patterns.md.meta +7 -0
  842. package/{Docs/MessageTypes.md → docs/concepts/message-types.md} +19 -13
  843. package/docs/concepts/message-types.md.meta +7 -0
  844. package/{Docs/TargetingAndContext.md → docs/concepts/targeting-and-context.md} +10 -10
  845. package/docs/concepts/targeting-and-context.md.meta +7 -0
  846. package/docs/concepts.meta +8 -0
  847. package/docs/examples/end-to-end-scene-transitions.md.meta +7 -0
  848. package/{Docs/EndToEnd.md → docs/examples/end-to-end.md} +1 -1
  849. package/docs/examples/end-to-end.md.meta +7 -0
  850. package/docs/examples.meta +8 -0
  851. package/{Docs/GettingStarted.md → docs/getting-started/getting-started.md} +30 -28
  852. package/docs/getting-started/getting-started.md.meta +7 -0
  853. package/docs/getting-started/index.md +316 -0
  854. package/docs/getting-started/index.md.meta +7 -0
  855. package/docs/getting-started/install.md +89 -0
  856. package/docs/getting-started/install.md.meta +7 -0
  857. package/{Docs/Overview.md → docs/getting-started/overview.md} +36 -35
  858. package/docs/getting-started/overview.md.meta +7 -0
  859. package/{Docs/QuickStart.md → docs/getting-started/quick-start.md} +42 -47
  860. package/docs/getting-started/quick-start.md.meta +7 -0
  861. package/{Docs/VisualGuide.md → docs/getting-started/visual-guide.md} +117 -108
  862. package/docs/getting-started/visual-guide.md.meta +7 -0
  863. package/docs/getting-started.meta +8 -0
  864. package/{Docs/Advanced.md → docs/guides/advanced.md} +4 -4
  865. package/docs/guides/advanced.md.meta +7 -0
  866. package/docs/guides/diagnostics.md +300 -0
  867. package/docs/guides/diagnostics.md.meta +7 -0
  868. package/{Docs/MigrationGuide.md → docs/guides/migration-guide.md} +3 -3
  869. package/docs/guides/migration-guide.md.meta +7 -0
  870. package/{Docs/Patterns.md → docs/guides/patterns.md} +22 -22
  871. package/docs/guides/patterns.md.meta +7 -0
  872. package/docs/guides/testing.md +243 -0
  873. package/docs/guides/testing.md.meta +7 -0
  874. package/{Docs/UnityIntegration.md → docs/guides/unity-integration.md} +13 -13
  875. package/docs/guides/unity-integration.md.meta +7 -0
  876. package/docs/guides.meta +8 -0
  877. package/docs/hooks.py +168 -0
  878. package/docs/hooks.py.meta +7 -0
  879. package/docs/images/DxMessaging-banner.svg +119 -0
  880. package/docs/images/DxMessaging-banner.svg.meta +7 -0
  881. package/docs/images.meta +8 -0
  882. package/docs/index.md +61 -0
  883. package/docs/integrations/index.md +66 -0
  884. package/docs/integrations/index.md.meta +7 -0
  885. package/{Docs/Integrations/Reflex.md → docs/integrations/reflex.md} +43 -18
  886. package/{Docs/Integrations/VContainer.md → docs/integrations/vcontainer.md} +18 -9
  887. package/{Docs/Integrations/Zenject.md → docs/integrations/zenject.md} +6 -6
  888. package/docs/javascripts/csharp-highlight.js +246 -0
  889. package/docs/javascripts/csharp-highlight.js.meta +7 -0
  890. package/docs/javascripts/mermaid-config.js +347 -0
  891. package/docs/javascripts/mermaid-config.js.meta +7 -0
  892. package/docs/javascripts.meta +8 -0
  893. package/{Docs/Compatibility.md → docs/reference/compatibility.md} +7 -7
  894. package/docs/reference/compatibility.md.meta +7 -0
  895. package/{Docs/FAQ.md → docs/reference/faq.md} +21 -26
  896. package/docs/reference/faq.md.meta +7 -0
  897. package/{Docs/Glossary.md → docs/reference/glossary.md} +18 -13
  898. package/docs/reference/glossary.md.meta +7 -0
  899. package/{Docs/Helpers.md → docs/reference/helpers.md} +409 -81
  900. package/docs/reference/helpers.md.meta +7 -0
  901. package/{Docs/QuickReference.md → docs/reference/quick-reference.md} +128 -58
  902. package/docs/reference/quick-reference.md.meta +7 -0
  903. package/docs/reference/reference.md +371 -0
  904. package/docs/reference/reference.md.meta +7 -0
  905. package/{Docs/Troubleshooting.md → docs/reference/troubleshooting.md} +12 -17
  906. package/docs/reference/troubleshooting.md.meta +7 -0
  907. package/docs/reference.meta +8 -0
  908. package/docs/stylesheets/extra.css +485 -0
  909. package/docs/stylesheets/extra.css.meta +7 -0
  910. package/docs/stylesheets.meta +8 -0
  911. package/mkdocs.yml +198 -0
  912. package/mkdocs.yml.meta +7 -0
  913. package/package.json +8 -6
  914. package/requirements-docs.txt +23 -0
  915. package/requirements-docs.txt.meta +7 -0
  916. package/scripts/__tests__/sync-banner-version.test.js +606 -0
  917. package/scripts/__tests__/sync-banner-version.test.js.meta +7 -0
  918. package/scripts/__tests__.meta +8 -0
  919. package/scripts/check-eol.js +290 -19
  920. package/scripts/check-eol.ps1 +103 -15
  921. package/scripts/fix-eol.js +40 -8
  922. package/scripts/generate-skills-index.js +512 -0
  923. package/scripts/generate-skills-index.js.meta +7 -0
  924. package/scripts/generate-skills-index.ps1 +38 -0
  925. package/scripts/generate-skills-index.ps1.meta +7 -0
  926. package/scripts/hooks/pre-commit +59 -0
  927. package/scripts/hooks/pre-commit.meta +7 -0
  928. package/scripts/hooks.meta +8 -0
  929. package/scripts/sync-banner-version.ps1 +133 -0
  930. package/scripts/sync-banner-version.ps1.meta +7 -0
  931. package/scripts/sync-banner-version.sh +16 -0
  932. package/scripts/sync-banner-version.sh.meta +7 -0
  933. package/scripts/validate-skills.js +557 -0
  934. package/scripts/validate-skills.js.meta +7 -0
  935. package/scripts/wiki/__tests__/transform.test.js +380 -0
  936. package/scripts/wiki/__tests__/transform.test.js.meta +7 -0
  937. package/scripts/wiki/__tests__.meta +7 -0
  938. package/scripts/wiki/generate-wiki-sidebar.js +122 -0
  939. package/{Docs/EmitShorthands.md.meta → scripts/wiki/generate-wiki-sidebar.js.meta} +8 -2
  940. package/scripts/wiki/transform-docs-to-wiki.js +409 -0
  941. package/scripts/wiki/transform-docs-to-wiki.js.meta +7 -0
  942. package/scripts/wiki.meta +8 -0
  943. package/site/404.html +1 -0
  944. package/site/404.html.meta +7 -0
  945. package/site/advanced/emit-shorthands/index.html +212 -0
  946. package/site/advanced/emit-shorthands/index.html.meta +7 -0
  947. package/site/advanced/emit-shorthands.meta +8 -0
  948. package/site/advanced/message-bus-providers/index.html +241 -0
  949. package/site/advanced/message-bus-providers/index.html.meta +7 -0
  950. package/site/advanced/message-bus-providers.meta +8 -0
  951. package/site/advanced/registration-builders/index.html +228 -0
  952. package/site/advanced/registration-builders/index.html.meta +7 -0
  953. package/site/advanced/registration-builders.meta +8 -0
  954. package/site/advanced/runtime-configuration/index.html +196 -0
  955. package/site/advanced/runtime-configuration/index.html.meta +7 -0
  956. package/site/advanced/runtime-configuration.meta +8 -0
  957. package/site/advanced/string-messages/index.html +29 -0
  958. package/site/advanced/string-messages/index.html.meta +7 -0
  959. package/site/advanced/string-messages.meta +8 -0
  960. package/site/advanced.meta +8 -0
  961. package/site/architecture/comparisons/index.html +356 -0
  962. package/site/architecture/comparisons/index.html.meta +7 -0
  963. package/site/architecture/comparisons.meta +8 -0
  964. package/site/architecture/design-and-architecture/index.html +34 -0
  965. package/site/architecture/design-and-architecture/index.html.meta +7 -0
  966. package/site/architecture/design-and-architecture.meta +8 -0
  967. package/site/architecture/performance/index.html +1 -0
  968. package/site/architecture/performance/index.html.meta +7 -0
  969. package/site/architecture/performance.meta +8 -0
  970. package/site/architecture.meta +8 -0
  971. package/site/assets/images/favicon.png +0 -0
  972. package/site/assets/images/favicon.png.meta +127 -0
  973. package/site/assets/images.meta +8 -0
  974. package/site/assets/javascripts/bundle.79ae519e.min.js +16 -0
  975. package/site/assets/javascripts/bundle.79ae519e.min.js.map +7 -0
  976. package/site/assets/javascripts/bundle.79ae519e.min.js.map.meta +7 -0
  977. package/site/assets/javascripts/bundle.79ae519e.min.js.meta +7 -0
  978. package/site/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  979. package/site/assets/javascripts/lunr/min/lunr.ar.min.js.meta +7 -0
  980. package/site/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  981. package/site/assets/javascripts/lunr/min/lunr.da.min.js.meta +7 -0
  982. package/site/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  983. package/site/assets/javascripts/lunr/min/lunr.de.min.js.meta +7 -0
  984. package/site/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  985. package/site/assets/javascripts/lunr/min/lunr.du.min.js.meta +7 -0
  986. package/site/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  987. package/site/assets/javascripts/lunr/min/lunr.el.min.js.meta +7 -0
  988. package/site/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  989. package/site/assets/javascripts/lunr/min/lunr.es.min.js.meta +7 -0
  990. package/site/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  991. package/site/assets/javascripts/lunr/min/lunr.fi.min.js.meta +7 -0
  992. package/site/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  993. package/site/assets/javascripts/lunr/min/lunr.fr.min.js.meta +7 -0
  994. package/site/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  995. package/site/assets/javascripts/lunr/min/lunr.he.min.js.meta +7 -0
  996. package/site/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  997. package/site/assets/javascripts/lunr/min/lunr.hi.min.js.meta +7 -0
  998. package/site/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  999. package/site/assets/javascripts/lunr/min/lunr.hu.min.js.meta +7 -0
  1000. package/site/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  1001. package/site/assets/javascripts/lunr/min/lunr.hy.min.js.meta +7 -0
  1002. package/site/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  1003. package/site/assets/javascripts/lunr/min/lunr.it.min.js.meta +7 -0
  1004. package/site/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  1005. package/site/assets/javascripts/lunr/min/lunr.ja.min.js.meta +7 -0
  1006. package/site/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  1007. package/site/assets/javascripts/lunr/min/lunr.jp.min.js.meta +7 -0
  1008. package/site/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  1009. package/site/assets/javascripts/lunr/min/lunr.kn.min.js.meta +7 -0
  1010. package/site/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  1011. package/site/assets/javascripts/lunr/min/lunr.ko.min.js.meta +7 -0
  1012. package/site/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  1013. package/site/assets/javascripts/lunr/min/lunr.multi.min.js.meta +7 -0
  1014. package/site/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  1015. package/site/assets/javascripts/lunr/min/lunr.nl.min.js.meta +7 -0
  1016. package/site/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  1017. package/site/assets/javascripts/lunr/min/lunr.no.min.js.meta +7 -0
  1018. package/site/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  1019. package/site/assets/javascripts/lunr/min/lunr.pt.min.js.meta +7 -0
  1020. package/site/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  1021. package/site/assets/javascripts/lunr/min/lunr.ro.min.js.meta +7 -0
  1022. package/site/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  1023. package/site/assets/javascripts/lunr/min/lunr.ru.min.js.meta +7 -0
  1024. package/site/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  1025. package/site/assets/javascripts/lunr/min/lunr.sa.min.js.meta +7 -0
  1026. package/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  1027. package/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js.meta +7 -0
  1028. package/site/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  1029. package/site/assets/javascripts/lunr/min/lunr.sv.min.js.meta +7 -0
  1030. package/site/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  1031. package/site/assets/javascripts/lunr/min/lunr.ta.min.js.meta +7 -0
  1032. package/site/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  1033. package/site/assets/javascripts/lunr/min/lunr.te.min.js.meta +7 -0
  1034. package/site/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  1035. package/site/assets/javascripts/lunr/min/lunr.th.min.js.meta +7 -0
  1036. package/site/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  1037. package/site/assets/javascripts/lunr/min/lunr.tr.min.js.meta +7 -0
  1038. package/site/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  1039. package/site/assets/javascripts/lunr/min/lunr.vi.min.js.meta +7 -0
  1040. package/site/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  1041. package/site/assets/javascripts/lunr/min/lunr.zh.min.js.meta +7 -0
  1042. package/site/assets/javascripts/lunr/min.meta +8 -0
  1043. package/site/assets/javascripts/lunr/tinyseg.js +206 -0
  1044. package/site/assets/javascripts/lunr/tinyseg.js.meta +7 -0
  1045. package/site/assets/javascripts/lunr/wordcut.js +6708 -0
  1046. package/site/assets/javascripts/lunr/wordcut.js.meta +7 -0
  1047. package/site/assets/javascripts/lunr.meta +8 -0
  1048. package/site/assets/javascripts/workers/search.2c215733.min.js +42 -0
  1049. package/site/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
  1050. package/site/assets/javascripts/workers/search.2c215733.min.js.map.meta +7 -0
  1051. package/site/assets/javascripts/workers/search.2c215733.min.js.meta +7 -0
  1052. package/site/assets/javascripts/workers.meta +8 -0
  1053. package/site/assets/javascripts.meta +8 -0
  1054. package/site/assets/stylesheets/main.484c7ddc.min.css +1 -0
  1055. package/site/assets/stylesheets/main.484c7ddc.min.css.map +1 -0
  1056. package/site/assets/stylesheets/main.484c7ddc.min.css.map.meta +7 -0
  1057. package/site/assets/stylesheets/main.484c7ddc.min.css.meta +7 -0
  1058. package/site/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
  1059. package/site/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
  1060. package/site/assets/stylesheets/palette.ab4e12ef.min.css.map.meta +7 -0
  1061. package/site/assets/stylesheets/palette.ab4e12ef.min.css.meta +7 -0
  1062. package/site/assets/stylesheets.meta +8 -0
  1063. package/site/assets.meta +8 -0
  1064. package/site/concepts/interceptors-and-ordering/index.html +352 -0
  1065. package/site/concepts/interceptors-and-ordering/index.html.meta +7 -0
  1066. package/site/concepts/interceptors-and-ordering.meta +8 -0
  1067. package/site/concepts/listening-patterns/index.html +193 -0
  1068. package/site/concepts/listening-patterns/index.html.meta +7 -0
  1069. package/site/concepts/listening-patterns.meta +8 -0
  1070. package/site/concepts/message-types/index.html +111 -0
  1071. package/site/concepts/message-types/index.html.meta +7 -0
  1072. package/site/concepts/message-types.meta +8 -0
  1073. package/site/concepts/targeting-and-context/index.html +201 -0
  1074. package/site/concepts/targeting-and-context/index.html.meta +7 -0
  1075. package/site/concepts/targeting-and-context.meta +8 -0
  1076. package/site/concepts.meta +8 -0
  1077. package/site/css/timeago.css +15 -0
  1078. package/site/css/timeago.css.meta +7 -0
  1079. package/site/css.meta +8 -0
  1080. package/site/examples/end-to-end/index.html +85 -0
  1081. package/site/examples/end-to-end/index.html.meta +7 -0
  1082. package/site/examples/end-to-end-scene-transitions/index.html +84 -0
  1083. package/site/examples/end-to-end-scene-transitions/index.html.meta +7 -0
  1084. package/site/examples/end-to-end-scene-transitions.meta +8 -0
  1085. package/site/examples/end-to-end.meta +8 -0
  1086. package/site/examples.meta +8 -0
  1087. package/site/getting-started/getting-started/index.html +66 -0
  1088. package/site/getting-started/getting-started/index.html.meta +7 -0
  1089. package/site/getting-started/getting-started.meta +8 -0
  1090. package/site/getting-started/index.html +29 -0
  1091. package/site/getting-started/index.html.meta +7 -0
  1092. package/site/getting-started/install/index.html +8 -0
  1093. package/site/getting-started/install/index.html.meta +7 -0
  1094. package/site/getting-started/install.meta +8 -0
  1095. package/site/getting-started/overview/index.html +33 -0
  1096. package/site/getting-started/overview/index.html.meta +7 -0
  1097. package/site/getting-started/overview.meta +8 -0
  1098. package/site/getting-started/quick-start/index.html +81 -0
  1099. package/site/getting-started/quick-start/index.html.meta +7 -0
  1100. package/site/getting-started/quick-start.meta +8 -0
  1101. package/site/getting-started/visual-guide/index.html +256 -0
  1102. package/site/getting-started/visual-guide/index.html.meta +7 -0
  1103. package/site/getting-started/visual-guide.meta +8 -0
  1104. package/site/getting-started.meta +8 -0
  1105. package/site/guides/advanced/index.html +119 -0
  1106. package/site/guides/advanced/index.html.meta +7 -0
  1107. package/site/guides/advanced.meta +8 -0
  1108. package/site/guides/diagnostics/index.html +110 -0
  1109. package/site/guides/diagnostics/index.html.meta +7 -0
  1110. package/site/guides/diagnostics.meta +8 -0
  1111. package/site/guides/migration-guide/index.html +199 -0
  1112. package/site/guides/migration-guide/index.html.meta +7 -0
  1113. package/site/guides/migration-guide.meta +8 -0
  1114. package/site/guides/patterns/index.html +545 -0
  1115. package/site/guides/patterns/index.html.meta +7 -0
  1116. package/site/guides/patterns.meta +8 -0
  1117. package/site/guides/testing/index.html +153 -0
  1118. package/site/guides/testing/index.html.meta +7 -0
  1119. package/site/guides/testing.meta +8 -0
  1120. package/site/guides/unity-integration/index.html +67 -0
  1121. package/site/guides/unity-integration/index.html.meta +7 -0
  1122. package/site/guides/unity-integration.meta +8 -0
  1123. package/site/guides.meta +8 -0
  1124. package/site/hooks.py +168 -0
  1125. package/site/hooks.py.meta +7 -0
  1126. package/site/index.html +17 -0
  1127. package/site/index.html.meta +7 -0
  1128. package/site/integrations/index.html +8 -0
  1129. package/site/integrations/index.html.meta +7 -0
  1130. package/site/integrations/reflex/index.html +186 -0
  1131. package/site/integrations/reflex/index.html.meta +7 -0
  1132. package/site/integrations/reflex.meta +8 -0
  1133. package/site/integrations/vcontainer/index.html +192 -0
  1134. package/site/integrations/vcontainer/index.html.meta +7 -0
  1135. package/site/integrations/vcontainer.meta +8 -0
  1136. package/site/integrations/zenject/index.html +197 -0
  1137. package/site/integrations/zenject/index.html.meta +7 -0
  1138. package/site/integrations/zenject.meta +8 -0
  1139. package/site/integrations.meta +8 -0
  1140. package/site/javascripts/csharp-highlight.js +246 -0
  1141. package/site/javascripts/csharp-highlight.js.meta +7 -0
  1142. package/site/javascripts/mermaid-config.js +347 -0
  1143. package/site/javascripts/mermaid-config.js.meta +7 -0
  1144. package/site/javascripts.meta +8 -0
  1145. package/site/js/timeago.min.js +2 -0
  1146. package/site/js/timeago.min.js.meta +7 -0
  1147. package/site/js/timeago_mkdocs_material.js +33 -0
  1148. package/site/js/timeago_mkdocs_material.js.meta +7 -0
  1149. package/site/js.meta +8 -0
  1150. package/site/reference/compatibility/index.html +1 -0
  1151. package/site/reference/compatibility/index.html.meta +7 -0
  1152. package/site/reference/compatibility.meta +8 -0
  1153. package/site/reference/faq/index.html +1 -0
  1154. package/site/reference/faq/index.html.meta +7 -0
  1155. package/site/reference/faq.meta +8 -0
  1156. package/site/reference/glossary/index.html +55 -0
  1157. package/site/reference/glossary/index.html.meta +7 -0
  1158. package/site/reference/glossary.meta +8 -0
  1159. package/site/reference/helpers/index.html +475 -0
  1160. package/site/reference/helpers/index.html.meta +7 -0
  1161. package/site/reference/helpers.meta +8 -0
  1162. package/site/reference/quick-reference/index.html +138 -0
  1163. package/site/reference/quick-reference/index.html.meta +7 -0
  1164. package/site/reference/quick-reference.meta +8 -0
  1165. package/site/reference/reference/index.html +194 -0
  1166. package/site/reference/reference/index.html.meta +7 -0
  1167. package/site/reference/reference.meta +8 -0
  1168. package/site/reference/troubleshooting/index.html +1 -0
  1169. package/site/reference/troubleshooting/index.html.meta +7 -0
  1170. package/site/reference/troubleshooting.meta +8 -0
  1171. package/site/reference.meta +8 -0
  1172. package/site/search/search_index.json +1 -0
  1173. package/site/search/search_index.json.meta +7 -0
  1174. package/site/search.meta +8 -0
  1175. package/site/sitemap.xml +155 -0
  1176. package/site/sitemap.xml.gz +0 -0
  1177. package/site/sitemap.xml.gz.meta +7 -0
  1178. package/site/sitemap.xml.meta +7 -0
  1179. package/site/stylesheets/extra.css +485 -0
  1180. package/site/stylesheets/extra.css.meta +7 -0
  1181. package/site/stylesheets.meta +8 -0
  1182. package/.github/workflows/npm-publish.yml +0 -75
  1183. package/Docs/Diagnostics.md +0 -61
  1184. package/Docs/Diagnostics.md.meta +0 -7
  1185. package/Docs/EndToEnd.md.meta +0 -7
  1186. package/Docs/EndToEndSceneTransitions.md.meta +0 -7
  1187. package/Docs/FAQ.md.meta +0 -7
  1188. package/Docs/GettingStarted.md.meta +0 -7
  1189. package/Docs/Glossary.md.meta +0 -7
  1190. package/Docs/Helpers.md.meta +0 -7
  1191. package/Docs/Index.md +0 -305
  1192. package/Docs/Install.md +0 -60
  1193. package/Docs/Install.md.meta +0 -7
  1194. package/Docs/InterceptorsAndOrdering.md.meta +0 -7
  1195. package/Docs/ListeningPatterns.md.meta +0 -7
  1196. package/Docs/MessageBusProviders.md.meta +0 -7
  1197. package/Docs/MessageTypes.md.meta +0 -7
  1198. package/Docs/MigrationGuide.md.meta +0 -7
  1199. package/Docs/Overview.md.meta +0 -7
  1200. package/Docs/Patterns.md.meta +0 -7
  1201. package/Docs/Performance.md +0 -35
  1202. package/Docs/Performance.md.meta +0 -7
  1203. package/Docs/QuickReference.md.meta +0 -7
  1204. package/Docs/QuickStart.md.meta +0 -7
  1205. package/Docs/Reference.md +0 -88
  1206. package/Docs/Reference.md.meta +0 -7
  1207. package/Docs/RuntimeConfiguration.md.meta +0 -7
  1208. package/Docs/StringMessages.md.meta +0 -7
  1209. package/Docs/TargetingAndContext.md.meta +0 -7
  1210. package/Docs/Troubleshooting.md.meta +0 -7
  1211. package/Docs/UnityIntegration.md.meta +0 -7
  1212. package/Docs/VisualGuide.md.meta +0 -7
  1213. /package/{Docs/EndToEndSceneTransitions.md → docs/examples/end-to-end-scene-transitions.md} +0 -0
  1214. /package/{Docs/Index.md.meta → docs/index.md.meta} +0 -0
  1215. /package/{Docs/Integrations/Reflex.md.meta → docs/integrations/reflex.md.meta} +0 -0
  1216. /package/{Docs/Integrations/VContainer.md.meta → docs/integrations/vcontainer.md.meta} +0 -0
  1217. /package/{Docs/Integrations/Zenject.md.meta → docs/integrations/zenject.md.meta} +0 -0
  1218. /package/{Docs/Integrations.meta → docs/integrations.meta} +0 -0
  1219. /package/{Docs.meta → docs.meta} +0 -0
@@ -0,0 +1,201 @@
1
+ <!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="High-performance type-safe messaging library for Unity"><meta name=author content="Wallstop Studios"><link href=https://wallstop.github.io/DxMessaging/concepts/targeting-and-context/ rel=canonical><link href=../listening-patterns/ rel=prev><link href=../interceptors-and-ordering/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.1"><title>Targeting & Context - DxMessaging Documentation</title><link rel=stylesheet href=../../assets/stylesheets/main.484c7ddc.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><link rel=stylesheet href=../../stylesheets/extra.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#targeting-and-context-component-vs-gameobject class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="DxMessaging Documentation" class="md-header__button md-logo" aria-label="DxMessaging Documentation" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> DxMessaging Documentation </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Targeting & Context </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <a href=javascript:void(0) class="md-search__icon md-icon" title=Share aria-label=Share data-clipboard data-clipboard-text data-md-component=search-share tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg> </a> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/wallstop/DxMessaging title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> wallstop/DxMessaging </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../getting-started/ class=md-tabs__link> Getting Started </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../message-types/ class=md-tabs__link> Concepts </a> </li> <li class=md-tabs__item> <a href=../../guides/patterns/ class=md-tabs__link> Guides </a> </li> <li class=md-tabs__item> <a href=../../architecture/design-and-architecture/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../advanced/emit-shorthands/ class=md-tabs__link> Advanced </a> </li> <li class=md-tabs__item> <a href=../../integrations/ class=md-tabs__link> Integrations </a> </li> <li class=md-tabs__item> <a href=../../examples/end-to-end/ class=md-tabs__link> Examples </a> </li> <li class=md-tabs__item> <a href=../../reference/reference/ class=md-tabs__link> Reference </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="DxMessaging Documentation" class="md-nav__button md-logo" aria-label="DxMessaging Documentation" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> DxMessaging Documentation </label> <div class=md-nav__source> <a href=https://github.com/wallstop/DxMessaging title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> wallstop/DxMessaging </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../getting-started/ class="md-nav__link "> <span class=md-ellipsis> Getting Started </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/overview/ class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/install/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/getting-started/ class=md-nav__link> <span class=md-ellipsis> Getting Started Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/visual-guide/ class=md-nav__link> <span class=md-ellipsis> Visual Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> Concepts </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Concepts </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../message-types/ class=md-nav__link> <span class=md-ellipsis> Message Types </span> </a> </li> <li class=md-nav__item> <a href=../listening-patterns/ class=md-nav__link> <span class=md-ellipsis> Listening Patterns </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Targeting & Context </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Targeting & Context </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#overview class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=#key-concepts class=md-nav__link> <span class=md-ellipsis> Key Concepts </span> </a> <nav class=md-nav aria-label="Key Concepts"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#instanceid class=md-nav__link> <span class=md-ellipsis> InstanceId </span> </a> </li> <li class=md-nav__item> <a href=#matching-rules class=md-nav__link> <span class=md-ellipsis> Matching Rules </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#understanding-gameobject-vs-component-targeting class=md-nav__link> <span class=md-ellipsis> Understanding GameObject vs Component Targeting </span> </a> <nav class=md-nav aria-label="Understanding GameObject vs Component Targeting"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-gameobject-targeting-means class=md-nav__link> <span class=md-ellipsis> What GameObject Targeting Means </span> </a> <nav class=md-nav aria-label="What GameObject Targeting Means"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#who-receives-it class=md-nav__link> <span class=md-ellipsis> Who receives it? </span> </a> <nav class=md-nav aria-label="Who receives it?"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-when class=md-nav__link> <span class=md-ellipsis> Use when </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#what-component-targeting-means class=md-nav__link> <span class=md-ellipsis> What Component Targeting Means </span> </a> <nav class=md-nav aria-label="What Component Targeting Means"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#who-receives-it_1 class=md-nav__link> <span class=md-ellipsis> Who receives it? </span> </a> <nav class=md-nav aria-label="Who receives it?"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-when_1 class=md-nav__link> <span class=md-ellipsis> Use when </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#visual-comparison-targeted-messages class=md-nav__link> <span class=md-ellipsis> Visual Comparison: Targeted Messages </span> </a> </li> <li class=md-nav__item> <a href=#broadcast-messages-same-rules-apply class=md-nav__link> <span class=md-ellipsis> Broadcast Messages: Same Rules Apply </span> </a> </li> <li class=md-nav__item> <a href=#the-this-trap class=md-nav__link> <span class=md-ellipsis> The this Trap </span> </a> </li> <li class=md-nav__item> <a href=#listening-to-all-events-global-observers class=md-nav__link> <span class=md-ellipsis> Listening to ALL Events (Global Observers) </span> </a> <nav class=md-nav aria-label="Listening to ALL Events (Global Observers)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#why-this-is-different-from-classic-event-buses class=md-nav__link> <span class=md-ellipsis> Why this is different from classic event buses </span> </a> </li> <li class=md-nav__item> <a href=#classic-event-bus-anti-pattern class=md-nav__link> <span class=md-ellipsis> Classic Event Bus Anti-Pattern </span> </a> </li> <li class=md-nav__item> <a href=#dxmessaging-global-observer-pattern class=md-nav__link> <span class=md-ellipsis> DxMessaging Global Observer Pattern </span> </a> </li> <li class=md-nav__item> <a href=#listening-to-all-targeted-messages class=md-nav__link> <span class=md-ellipsis> Listening to All Targeted Messages </span> </a> <nav class=md-nav aria-label="Listening to All Targeted Messages"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-cases class=md-nav__link> <span class=md-ellipsis> Use cases </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#listening-to-all-broadcast-messages class=md-nav__link> <span class=md-ellipsis> Listening to All Broadcast Messages </span> </a> <nav class=md-nav aria-label="Listening to All Broadcast Messages"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-cases_1 class=md-nav__link> <span class=md-ellipsis> Use cases </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#specific-vs-global-listeners-both-can-coexist class=md-nav__link> <span class=md-ellipsis> Specific vs Global Listeners: Both Can Coexist </span> </a> </li> <li class=md-nav__item> <a href=#real-world-example-combat-system class=md-nav__link> <span class=md-ellipsis> Real-World Example: Combat System </span> </a> </li> <li class=md-nav__item> <a href=#performance-note class=md-nav__link> <span class=md-ellipsis> Performance Note </span> </a> <nav class=md-nav aria-label="Performance Note"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#rule-of-thumb class=md-nav__link> <span class=md-ellipsis> Rule of thumb </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#when-to-use-which class=md-nav__link> <span class=md-ellipsis> When to Use Which </span> </a> <nav class=md-nav aria-label="When to Use Which"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#gameobject-context class=md-nav__link> <span class=md-ellipsis> GameObject Context </span> </a> <nav class=md-nav aria-label="GameObject Context"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-when_2 class=md-nav__link> <span class=md-ellipsis> Use when </span> </a> <nav class=md-nav aria-label="Use when"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#examples class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#component-context class=md-nav__link> <span class=md-ellipsis> Component Context </span> </a> <nav class=md-nav aria-label="Component Context"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-when_3 class=md-nav__link> <span class=md-ellipsis> Use when </span> </a> <nav class=md-nav aria-label="Use when"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#examples_1 class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#best-practices class=md-nav__link> <span class=md-ellipsis> Best Practices </span> </a> <nav class=md-nav aria-label="Best Practices"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dos class=md-nav__link> <span class=md-ellipsis> Do's </span> </a> </li> <li class=md-nav__item> <a href=#donts class=md-nav__link> <span class=md-ellipsis> Don'ts </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#troubleshooting class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> <nav class=md-nav aria-label=Troubleshooting> <ul class=md-nav__list> <li class=md-nav__item> <a href=#my-handler-isnt-firing class=md-nav__link> <span class=md-ellipsis> "My handler isn't firing!" </span> </a> <nav class=md-nav aria-label='"My handler isn&#39;t firing!"'> <ul class=md-nav__list> <li class=md-nav__item> <a href=#other-causes class=md-nav__link> <span class=md-ellipsis> Other causes </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#quick-reference class=md-nav__link> <span class=md-ellipsis> Quick Reference </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../interceptors-and-ordering/ class=md-nav__link> <span class=md-ellipsis> Interceptors & Ordering </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Guides </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Guides </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../guides/patterns/ class=md-nav__link> <span class=md-ellipsis> Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../guides/unity-integration/ class=md-nav__link> <span class=md-ellipsis> Unity Integration </span> </a> </li> <li class=md-nav__item> <a href=../../guides/testing/ class=md-nav__link> <span class=md-ellipsis> Testing </span> </a> </li> <li class=md-nav__item> <a href=../../guides/diagnostics/ class=md-nav__link> <span class=md-ellipsis> Diagnostics </span> </a> </li> <li class=md-nav__item> <a href=../../guides/advanced/ class=md-nav__link> <span class=md-ellipsis> Advanced Topics </span> </a> </li> <li class=md-nav__item> <a href=../../guides/migration-guide/ class=md-nav__link> <span class=md-ellipsis> Migration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/design-and-architecture/ class=md-nav__link> <span class=md-ellipsis> Design & Architecture </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/comparisons/ class=md-nav__link> <span class=md-ellipsis> Comparisons </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/performance/ class=md-nav__link> <span class=md-ellipsis> Performance </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced/emit-shorthands/ class=md-nav__link> <span class=md-ellipsis> Emit Shorthands </span> </a> </li> <li class=md-nav__item> <a href=../../advanced/message-bus-providers/ class=md-nav__link> <span class=md-ellipsis> Message Bus Providers </span> </a> </li> <li class=md-nav__item> <a href=../../advanced/registration-builders/ class=md-nav__link> <span class=md-ellipsis> Registration Builders </span> </a> </li> <li class=md-nav__item> <a href=../../advanced/runtime-configuration/ class=md-nav__link> <span class=md-ellipsis> Runtime Configuration </span> </a> </li> <li class=md-nav__item> <a href=../../advanced/string-messages/ class=md-nav__link> <span class=md-ellipsis> String Messages </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../integrations/ class="md-nav__link "> <span class=md-ellipsis> Integrations </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Integrations </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../integrations/vcontainer/ class=md-nav__link> <span class=md-ellipsis> VContainer </span> </a> </li> <li class=md-nav__item> <a href=../../integrations/zenject/ class=md-nav__link> <span class=md-ellipsis> Zenject </span> </a> </li> <li class=md-nav__item> <a href=../../integrations/reflex/ class=md-nav__link> <span class=md-ellipsis> Reflex </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_8> <label class=md-nav__link for=__nav_8 id=__nav_8_label tabindex=0> <span class=md-ellipsis> Examples </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_8_label aria-expanded=false> <label class=md-nav__title for=__nav_8> <span class="md-nav__icon md-icon"></span> Examples </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../examples/end-to-end/ class=md-nav__link> <span class=md-ellipsis> End-to-End </span> </a> </li> <li class=md-nav__item> <a href=../../examples/end-to-end-scene-transitions/ class=md-nav__link> <span class=md-ellipsis> Scene Transitions </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_9> <label class=md-nav__link for=__nav_9 id=__nav_9_label tabindex=0> <span class=md-ellipsis> Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_9_label aria-expanded=false> <label class=md-nav__title for=__nav_9> <span class="md-nav__icon md-icon"></span> Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/reference/ class=md-nav__link> <span class=md-ellipsis> API Reference (Practical) </span> </a> </li> <li class=md-nav__item> <a href=../../reference/quick-reference/ class=md-nav__link> <span class=md-ellipsis> Quick Reference </span> </a> </li> <li class=md-nav__item> <a href=../../reference/helpers/ class=md-nav__link> <span class=md-ellipsis> Helpers </span> </a> </li> <li class=md-nav__item> <a href=../../reference/faq/ class=md-nav__link> <span class=md-ellipsis> FAQ </span> </a> </li> <li class=md-nav__item> <a href=../../reference/glossary/ class=md-nav__link> <span class=md-ellipsis> Glossary </span> </a> </li> <li class=md-nav__item> <a href=../../reference/troubleshooting/ class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> </li> <li class=md-nav__item> <a href=../../reference/compatibility/ class=md-nav__link> <span class=md-ellipsis> Compatibility </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#overview class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=#key-concepts class=md-nav__link> <span class=md-ellipsis> Key Concepts </span> </a> <nav class=md-nav aria-label="Key Concepts"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#instanceid class=md-nav__link> <span class=md-ellipsis> InstanceId </span> </a> </li> <li class=md-nav__item> <a href=#matching-rules class=md-nav__link> <span class=md-ellipsis> Matching Rules </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#understanding-gameobject-vs-component-targeting class=md-nav__link> <span class=md-ellipsis> Understanding GameObject vs Component Targeting </span> </a> <nav class=md-nav aria-label="Understanding GameObject vs Component Targeting"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-gameobject-targeting-means class=md-nav__link> <span class=md-ellipsis> What GameObject Targeting Means </span> </a> <nav class=md-nav aria-label="What GameObject Targeting Means"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#who-receives-it class=md-nav__link> <span class=md-ellipsis> Who receives it? </span> </a> <nav class=md-nav aria-label="Who receives it?"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-when class=md-nav__link> <span class=md-ellipsis> Use when </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#what-component-targeting-means class=md-nav__link> <span class=md-ellipsis> What Component Targeting Means </span> </a> <nav class=md-nav aria-label="What Component Targeting Means"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#who-receives-it_1 class=md-nav__link> <span class=md-ellipsis> Who receives it? </span> </a> <nav class=md-nav aria-label="Who receives it?"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-when_1 class=md-nav__link> <span class=md-ellipsis> Use when </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#visual-comparison-targeted-messages class=md-nav__link> <span class=md-ellipsis> Visual Comparison: Targeted Messages </span> </a> </li> <li class=md-nav__item> <a href=#broadcast-messages-same-rules-apply class=md-nav__link> <span class=md-ellipsis> Broadcast Messages: Same Rules Apply </span> </a> </li> <li class=md-nav__item> <a href=#the-this-trap class=md-nav__link> <span class=md-ellipsis> The this Trap </span> </a> </li> <li class=md-nav__item> <a href=#listening-to-all-events-global-observers class=md-nav__link> <span class=md-ellipsis> Listening to ALL Events (Global Observers) </span> </a> <nav class=md-nav aria-label="Listening to ALL Events (Global Observers)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#why-this-is-different-from-classic-event-buses class=md-nav__link> <span class=md-ellipsis> Why this is different from classic event buses </span> </a> </li> <li class=md-nav__item> <a href=#classic-event-bus-anti-pattern class=md-nav__link> <span class=md-ellipsis> Classic Event Bus Anti-Pattern </span> </a> </li> <li class=md-nav__item> <a href=#dxmessaging-global-observer-pattern class=md-nav__link> <span class=md-ellipsis> DxMessaging Global Observer Pattern </span> </a> </li> <li class=md-nav__item> <a href=#listening-to-all-targeted-messages class=md-nav__link> <span class=md-ellipsis> Listening to All Targeted Messages </span> </a> <nav class=md-nav aria-label="Listening to All Targeted Messages"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-cases class=md-nav__link> <span class=md-ellipsis> Use cases </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#listening-to-all-broadcast-messages class=md-nav__link> <span class=md-ellipsis> Listening to All Broadcast Messages </span> </a> <nav class=md-nav aria-label="Listening to All Broadcast Messages"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-cases_1 class=md-nav__link> <span class=md-ellipsis> Use cases </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#specific-vs-global-listeners-both-can-coexist class=md-nav__link> <span class=md-ellipsis> Specific vs Global Listeners: Both Can Coexist </span> </a> </li> <li class=md-nav__item> <a href=#real-world-example-combat-system class=md-nav__link> <span class=md-ellipsis> Real-World Example: Combat System </span> </a> </li> <li class=md-nav__item> <a href=#performance-note class=md-nav__link> <span class=md-ellipsis> Performance Note </span> </a> <nav class=md-nav aria-label="Performance Note"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#rule-of-thumb class=md-nav__link> <span class=md-ellipsis> Rule of thumb </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#when-to-use-which class=md-nav__link> <span class=md-ellipsis> When to Use Which </span> </a> <nav class=md-nav aria-label="When to Use Which"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#gameobject-context class=md-nav__link> <span class=md-ellipsis> GameObject Context </span> </a> <nav class=md-nav aria-label="GameObject Context"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-when_2 class=md-nav__link> <span class=md-ellipsis> Use when </span> </a> <nav class=md-nav aria-label="Use when"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#examples class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#component-context class=md-nav__link> <span class=md-ellipsis> Component Context </span> </a> <nav class=md-nav aria-label="Component Context"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-when_3 class=md-nav__link> <span class=md-ellipsis> Use when </span> </a> <nav class=md-nav aria-label="Use when"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#examples_1 class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#best-practices class=md-nav__link> <span class=md-ellipsis> Best Practices </span> </a> <nav class=md-nav aria-label="Best Practices"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dos class=md-nav__link> <span class=md-ellipsis> Do's </span> </a> </li> <li class=md-nav__item> <a href=#donts class=md-nav__link> <span class=md-ellipsis> Don'ts </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#troubleshooting class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> <nav class=md-nav aria-label=Troubleshooting> <ul class=md-nav__list> <li class=md-nav__item> <a href=#my-handler-isnt-firing class=md-nav__link> <span class=md-ellipsis> "My handler isn't firing!" </span> </a> <nav class=md-nav aria-label='"My handler isn&#39;t firing!"'> <ul class=md-nav__list> <li class=md-nav__item> <a href=#other-causes class=md-nav__link> <span class=md-ellipsis> Other causes </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#quick-reference class=md-nav__link> <span class=md-ellipsis> Quick Reference </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <nav class=md-path aria-label=Navigation> <ol class=md-path__list> <li class=md-path__item> <a href=../.. class=md-path__link> <span class=md-ellipsis> Home </span> </a> </li> <li class=md-path__item> <a href=../message-types/ class=md-path__link> <span class=md-ellipsis> Concepts </span> </a> </li> </ol> </nav> <article class="md-content__inner md-typeset"> <a href=https://github.com/wallstop/DxMessaging/edit/master/docs/concepts/targeting-and-context.md title="Edit this page" class="md-content__button md-icon" rel=edit> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg> </a> <a href=https://github.com/wallstop/DxMessaging/raw/master/docs/concepts/targeting-and-context.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg> </a> <h1 id=targeting-and-context-component-vs-gameobject>Targeting and Context (Component vs GameObject)<a class=headerlink href=#targeting-and-context-component-vs-gameobject title="Anchor link to this section">&para;</a></h1> <p><strong>Critical Unity concept:</strong> Understanding GameObject vs Component targeting is essential for using DxMessaging effectively.</p> <h2 id=overview>Overview<a class=headerlink href=#overview title="Anchor link to this section">&para;</a></h2> <p>Targeted and broadcast messages carry context: an <code>InstanceId</code> for the target (targeted) or source (broadcast). In Unity, <code>InstanceId</code> can represent either a <code>GameObject</code> or a specific <code>Component</code>. <strong>These are completely separate channels</strong> — mixing them is the <a class="magiclink magiclink-github magiclink-issue" href=https://github.com/wallstop/DxMessaging/issues/1 title="GitHub Issue: wallstop/DxMessaging #1">#1</a> cause of "why isn't my handler firing?" bugs.</p> <h2 id=key-concepts>Key Concepts<a class=headerlink href=#key-concepts title="Anchor link to this section">&para;</a></h2> <h3 id=instanceid>InstanceId<a class=headerlink href=#instanceid title="Anchor link to this section">&para;</a></h3> <ul> <li><strong>Implicit conversion:</strong> Automatically converts from both <code>GameObject</code> and <code>Component</code></li> <li><strong>Equality:</strong> Based on Unity's instance ID (internally stored as an <code>int</code>)</li> <li><strong>Matching:</strong> The bus compares <code>InstanceId</code> values for exact matches</li> <li><strong>Separate channels:</strong> GameObject and Component are distinct addresses</li> </ul> <h3 id=matching-rules>Matching Rules<a class=headerlink href=#matching-rules title="Anchor link to this section">&para;</a></h3> <ul> <li>A handler registered for a <code>GameObject</code> <strong>only</strong> receives messages emitted to that <code>GameObject</code></li> <li>A handler registered for a <code>Component</code> <strong>only</strong> receives messages emitted to that <code>Component</code></li> <li>Emitting to a <code>GameObject</code> does <strong>not</strong> reach Component-registered handlers (and vice versa)</li> <li>This applies to <strong>both</strong> targeted and broadcast messages</li> </ul> <h2 id=understanding-gameobject-vs-component-targeting>Understanding GameObject vs Component Targeting<a class=headerlink href=#understanding-gameobject-vs-component-targeting title="Anchor link to this section">&para;</a></h2> <h3 id=what-gameobject-targeting-means>What GameObject Targeting Means<a class=headerlink href=#what-gameobject-targeting-means title="Anchor link to this section">&para;</a></h3> <p>When you emit to a <strong>GameObject</strong>, you're saying: "This message is for whatever is attached to this GameObject."</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=na>[DxTargetedMessage]</span>
2
+ </span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=na>[DxAutoConstructor]</span>
3
+ </span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=k>partial</span><span class=w> </span><span class=k>struct</span><span class=w> </span><span class=nc>Heal</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>;</span><span class=w> </span><span class=p>}</span>
4
+ </span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
5
+ </span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a><span class=c1>// Emit to GameObject</span>
6
+ </span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a><span class=kt>var</span><span class=w> </span><span class=n>heal</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=k>new</span><span class=w> </span><span class=n>Heal</span><span class=p>(</span><span class=mi>10</span><span class=p>);</span>
7
+ </span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitGameObjectTargeted</span><span class=p>(</span><span class=n>playerGameObject</span><span class=p>);</span>
8
+ </span></code></pre></div> <h4 id=who-receives-it>Who receives it?<a class=headerlink href=#who-receives-it title="Anchor link to this section">&para;</a></h4> <ul> <li>Any Component on that GameObject that registered with <code>RegisterGameObjectTargeted</code></li> <li>Multiple components on the same GameObject can all receive it</li> <li>Components on child/parent GameObjects will NOT receive it</li> </ul> <h5 id=use-when>Use when<a class=headerlink href=#use-when title="Anchor link to this section">&para;</a></h5> <ul> <li>You don't care which specific component handles it</li> <li>You want flexibility (multiple components can respond)</li> <li>You're commanding "the player" or "the enemy" as a conceptual unit</li> </ul> <h3 id=what-component-targeting-means>What Component Targeting Means<a class=headerlink href=#what-component-targeting-means title="Anchor link to this section">&para;</a></h3> <p>When you emit to a <strong>Component</strong>, you're saying: "This message is specifically for this one Component instance."</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=c1>// Emit to specific Component</span>
9
+ </span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a><span class=kt>var</span><span class=w> </span><span class=n>heal</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=k>new</span><span class=w> </span><span class=n>Heal</span><span class=p>(</span><span class=mi>10</span><span class=p>);</span>
10
+ </span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitComponentTargeted</span><span class=p>(</span><span class=n>playerHealthComponent</span><span class=p>);</span>
11
+ </span></code></pre></div> <h4 id=who-receives-it_1>Who receives it?<a class=headerlink href=#who-receives-it_1 title="Anchor link to this section">&para;</a></h4> <ul> <li>ONLY that specific Component instance</li> <li>Other components on the same GameObject will NOT receive it</li> <li>This is a direct, pinpoint message</li> </ul> <h5 id=use-when_1>Use when<a class=headerlink href=#use-when_1 title="Anchor link to this section">&para;</a></h5> <ul> <li>You have a reference to the exact component you want to message</li> <li>You need precise control (only this component, not its siblings)</li> <li>You're working with component-specific logic</li> </ul> <h2 id=visual-comparison-targeted-messages>Visual Comparison: Targeted Messages<a class=headerlink href=#visual-comparison-targeted-messages title="Anchor link to this section">&para;</a></h2> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=c1>// Setup: Player GameObject with multiple components</span>
12
+ </span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a><span class=n>GameObject</span><span class=w> </span><span class=n>player</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=cm>/* ... */</span><span class=p>;</span>
13
+ </span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=n>HealthComponent</span><span class=w> </span><span class=n>health</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>player</span><span class=p>.</span><span class=n>GetComponent</span><span class=o>&lt;</span><span class=n>HealthComponent</span><span class=o>&gt;</span><span class=p>();</span>
14
+ </span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a><span class=n>UIComponent</span><span class=w> </span><span class=n>ui</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>player</span><span class=p>.</span><span class=n>GetComponent</span><span class=o>&lt;</span><span class=n>UIComponent</span><span class=o>&gt;</span><span class=p>();</span>
15
+ </span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a>
16
+ </span><span id=__span-2-6><a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a><span class=c1>// Both components register for Heal on the GameObject</span>
17
+ </span><span id=__span-2-7><a id=__codelineno-2-7 name=__codelineno-2-7 href=#__codelineno-2-7></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>healthToken</span><span class=p>.</span><span class=n>RegisterGameObjectTargeted</span><span class=o>&lt;</span><span class=n>Heal</span><span class=o>&gt;</span><span class=p>(</span><span class=n>player</span><span class=p>,</span><span class=w> </span><span class=n>health</span><span class=p>.</span><span class=n>OnHeal</span><span class=p>);</span>
18
+ </span><span id=__span-2-8><a id=__codelineno-2-8 name=__codelineno-2-8 href=#__codelineno-2-8></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>uiToken</span><span class=p>.</span><span class=n>RegisterGameObjectTargeted</span><span class=o>&lt;</span><span class=n>Heal</span><span class=o>&gt;</span><span class=p>(</span><span class=n>player</span><span class=p>,</span><span class=w> </span><span class=n>ui</span><span class=p>.</span><span class=n>OnHeal</span><span class=p>);</span>
19
+ </span><span id=__span-2-9><a id=__codelineno-2-9 name=__codelineno-2-9 href=#__codelineno-2-9></a>
20
+ </span><span id=__span-2-10><a id=__codelineno-2-10 name=__codelineno-2-10 href=#__codelineno-2-10></a><span class=c1>// Scenario 1: Target the GameObject</span>
21
+ </span><span id=__span-2-11><a id=__codelineno-2-11 name=__codelineno-2-11 href=#__codelineno-2-11></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitGameObjectTargeted</span><span class=p>(</span><span class=n>player</span><span class=p>);</span>
22
+ </span><span id=__span-2-12><a id=__codelineno-2-12 name=__codelineno-2-12 href=#__codelineno-2-12></a><span class=c1>// ✅ health.OnHeal() fires</span>
23
+ </span><span id=__span-2-13><a id=__codelineno-2-13 name=__codelineno-2-13 href=#__codelineno-2-13></a><span class=c1>// ✅ ui.OnHeal() fires</span>
24
+ </span><span id=__span-2-14><a id=__codelineno-2-14 name=__codelineno-2-14 href=#__codelineno-2-14></a><span class=c1>// Both components receive it!</span>
25
+ </span><span id=__span-2-15><a id=__codelineno-2-15 name=__codelineno-2-15 href=#__codelineno-2-15></a>
26
+ </span><span id=__span-2-16><a id=__codelineno-2-16 name=__codelineno-2-16 href=#__codelineno-2-16></a><span class=c1>// Scenario 2: Target a Component (but registered for GameObject)</span>
27
+ </span><span id=__span-2-17><a id=__codelineno-2-17 name=__codelineno-2-17 href=#__codelineno-2-17></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitComponentTargeted</span><span class=p>(</span><span class=n>health</span><span class=p>);</span>
28
+ </span><span id=__span-2-18><a id=__codelineno-2-18 name=__codelineno-2-18 href=#__codelineno-2-18></a><span class=c1>// ❌ health.OnHeal() does NOT fire (registered for GameObject, not Component)</span>
29
+ </span><span id=__span-2-19><a id=__codelineno-2-19 name=__codelineno-2-19 href=#__codelineno-2-19></a><span class=c1>// ❌ ui.OnHeal() does NOT fire</span>
30
+ </span><span id=__span-2-20><a id=__codelineno-2-20 name=__codelineno-2-20 href=#__codelineno-2-20></a><span class=c1>// Nothing happens! Wrong channel!</span>
31
+ </span><span id=__span-2-21><a id=__codelineno-2-21 name=__codelineno-2-21 href=#__codelineno-2-21></a>
32
+ </span><span id=__span-2-22><a id=__codelineno-2-22 name=__codelineno-2-22 href=#__codelineno-2-22></a><span class=c1>// Scenario 3: Register for Component, emit to Component</span>
33
+ </span><span id=__span-2-23><a id=__codelineno-2-23 name=__codelineno-2-23 href=#__codelineno-2-23></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>healthToken</span><span class=p>.</span><span class=n>RegisterComponentTargeted</span><span class=o>&lt;</span><span class=n>Heal</span><span class=o>&gt;</span><span class=p>(</span><span class=n>health</span><span class=p>,</span><span class=w> </span><span class=n>health</span><span class=p>.</span><span class=n>OnHeal</span><span class=p>);</span>
34
+ </span><span id=__span-2-24><a id=__codelineno-2-24 name=__codelineno-2-24 href=#__codelineno-2-24></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitComponentTargeted</span><span class=p>(</span><span class=n>health</span><span class=p>);</span>
35
+ </span><span id=__span-2-25><a id=__codelineno-2-25 name=__codelineno-2-25 href=#__codelineno-2-25></a><span class=c1>// ✅ health.OnHeal() fires</span>
36
+ </span><span id=__span-2-26><a id=__codelineno-2-26 name=__codelineno-2-26 href=#__codelineno-2-26></a><span class=c1>// ❌ ui.OnHeal() does NOT fire (different component)</span>
37
+ </span></code></pre></div> <h2 id=broadcast-messages-same-rules-apply>Broadcast Messages: Same Rules Apply<a class=headerlink href=#broadcast-messages-same-rules-apply title="Anchor link to this section">&para;</a></h2> <p>Broadcast messages follow the exact same GameObject vs Component rules:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a><span class=na>[DxBroadcastMessage]</span>
38
+ </span><span id=__span-3-2><a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a><span class=na>[DxAutoConstructor]</span>
39
+ </span><span id=__span-3-3><a id=__codelineno-3-3 name=__codelineno-3-3 href=#__codelineno-3-3></a><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=k>partial</span><span class=w> </span><span class=k>struct</span><span class=w> </span><span class=nc>TookDamage</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>;</span><span class=w> </span><span class=p>}</span>
40
+ </span><span id=__span-3-4><a id=__codelineno-3-4 name=__codelineno-3-4 href=#__codelineno-3-4></a>
41
+ </span><span id=__span-3-5><a id=__codelineno-3-5 name=__codelineno-3-5 href=#__codelineno-3-5></a><span class=c1>// Broadcast from GameObject</span>
42
+ </span><span id=__span-3-6><a id=__codelineno-3-6 name=__codelineno-3-6 href=#__codelineno-3-6></a><span class=kt>var</span><span class=w> </span><span class=n>damage</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=k>new</span><span class=w> </span><span class=n>TookDamage</span><span class=p>(</span><span class=mi>5</span><span class=p>);</span>
43
+ </span><span id=__span-3-7><a id=__codelineno-3-7 name=__codelineno-3-7 href=#__codelineno-3-7></a><span class=n>damage</span><span class=p>.</span><span class=n>EmitGameObjectBroadcast</span><span class=p>(</span><span class=n>enemyGameObject</span><span class=p>);</span>
44
+ </span><span id=__span-3-8><a id=__codelineno-3-8 name=__codelineno-3-8 href=#__codelineno-3-8></a>
45
+ </span><span id=__span-3-9><a id=__codelineno-3-9 name=__codelineno-3-9 href=#__codelineno-3-9></a><span class=c1>// Register for broadcasts from this GameObject</span>
46
+ </span><span id=__span-3-10><a id=__codelineno-3-10 name=__codelineno-3-10 href=#__codelineno-3-10></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterGameObjectBroadcast</span><span class=o>&lt;</span><span class=n>TookDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>enemyGameObject</span><span class=p>,</span><span class=w> </span><span class=n>OnEnemyDamage</span><span class=p>);</span>
47
+ </span><span id=__span-3-11><a id=__codelineno-3-11 name=__codelineno-3-11 href=#__codelineno-3-11></a><span class=c1>// ✅ OnEnemyDamage fires when damage.EmitGameObjectBroadcast(enemyGameObject) is called</span>
48
+ </span><span id=__span-3-12><a id=__codelineno-3-12 name=__codelineno-3-12 href=#__codelineno-3-12></a>
49
+ </span><span id=__span-3-13><a id=__codelineno-3-13 name=__codelineno-3-13 href=#__codelineno-3-13></a><span class=c1>// Register for broadcasts from this Component</span>
50
+ </span><span id=__span-3-14><a id=__codelineno-3-14 name=__codelineno-3-14 href=#__codelineno-3-14></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterComponentBroadcast</span><span class=o>&lt;</span><span class=n>TookDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>enemyComponent</span><span class=p>,</span><span class=w> </span><span class=n>OnComponentDamage</span><span class=p>);</span>
51
+ </span><span id=__span-3-15><a id=__codelineno-3-15 name=__codelineno-3-15 href=#__codelineno-3-15></a><span class=c1>// ❌ OnComponentDamage does NOT fire (registered for Component, but emitted from GameObject)</span>
52
+ </span></code></pre></div> <h2 id=the-this-trap>The <code>this</code> Trap<a class=headerlink href=#the-this-trap title="Anchor link to this section">&para;</a></h2> <p><strong>Most common mistake:</strong> Using <code>this</code> in a MonoBehaviour and forgetting it's a Component, not a GameObject.</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a><span class=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>Enemy</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MonoBehaviour</span>
53
+ </span><span id=__span-4-2><a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a><span class=p>{</span>
54
+ </span><span id=__span-4-3><a id=__codelineno-4-3 name=__codelineno-4-3 href=#__codelineno-4-3></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>Start</span><span class=p>()</span>
55
+ </span><span id=__span-4-4><a id=__codelineno-4-4 name=__codelineno-4-4 href=#__codelineno-4-4></a><span class=w> </span><span class=p>{</span>
56
+ </span><span id=__span-4-5><a id=__codelineno-4-5 name=__codelineno-4-5 href=#__codelineno-4-5></a><span class=w> </span><span class=c1>// ❌ WRONG: Registered for GameObject</span>
57
+ </span><span id=__span-4-6><a id=__codelineno-4-6 name=__codelineno-4-6 href=#__codelineno-4-6></a><span class=w> </span><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterGameObjectTargeted</span><span class=o>&lt;</span><span class=n>TakeDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>gameObject</span><span class=p>,</span><span class=w> </span><span class=n>OnDamage</span><span class=p>);</span>
58
+ </span><span id=__span-4-7><a id=__codelineno-4-7 name=__codelineno-4-7 href=#__codelineno-4-7></a><span class=w> </span><span class=p>}</span>
59
+ </span><span id=__span-4-8><a id=__codelineno-4-8 name=__codelineno-4-8 href=#__codelineno-4-8></a>
60
+ </span><span id=__span-4-9><a id=__codelineno-4-9 name=__codelineno-4-9 href=#__codelineno-4-9></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>TakeDamageFrom</span><span class=p>(</span><span class=n>GameObject</span><span class=w> </span><span class=n>attacker</span><span class=p>)</span>
61
+ </span><span id=__span-4-10><a id=__codelineno-4-10 name=__codelineno-4-10 href=#__codelineno-4-10></a><span class=w> </span><span class=p>{</span>
62
+ </span><span id=__span-4-11><a id=__codelineno-4-11 name=__codelineno-4-11 href=#__codelineno-4-11></a><span class=w> </span><span class=kt>var</span><span class=w> </span><span class=n>damage</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=k>new</span><span class=w> </span><span class=n>TakeDamage</span><span class=p>(</span><span class=mi>10</span><span class=p>);</span>
63
+ </span><span id=__span-4-12><a id=__codelineno-4-12 name=__codelineno-4-12 href=#__codelineno-4-12></a><span class=w> </span><span class=c1>// ❌ WRONG: Emitting to Component (this)</span>
64
+ </span><span id=__span-4-13><a id=__codelineno-4-13 name=__codelineno-4-13 href=#__codelineno-4-13></a><span class=w> </span><span class=n>damage</span><span class=p>.</span><span class=n>EmitAt</span><span class=p>(</span><span class=k>this</span><span class=p>);</span><span class=w> </span><span class=c1>// WON&#39;T BE RECEIVED!</span>
65
+ </span><span id=__span-4-14><a id=__codelineno-4-14 name=__codelineno-4-14 href=#__codelineno-4-14></a><span class=w> </span><span class=p>}</span>
66
+ </span><span id=__span-4-15><a id=__codelineno-4-15 name=__codelineno-4-15 href=#__codelineno-4-15></a>
67
+ </span><span id=__span-4-16><a id=__codelineno-4-16 name=__codelineno-4-16 href=#__codelineno-4-16></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>OnDamage</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>TakeDamage</span><span class=w> </span><span class=n>msg</span><span class=p>)</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
68
+ </span><span id=__span-4-17><a id=__codelineno-4-17 name=__codelineno-4-17 href=#__codelineno-4-17></a><span class=p>}</span>
69
+ </span><span id=__span-4-18><a id=__codelineno-4-18 name=__codelineno-4-18 href=#__codelineno-4-18></a>
70
+ </span><span id=__span-4-19><a id=__codelineno-4-19 name=__codelineno-4-19 href=#__codelineno-4-19></a><span class=c1>// FIX 1: Both use GameObject</span>
71
+ </span><span id=__span-4-20><a id=__codelineno-4-20 name=__codelineno-4-20 href=#__codelineno-4-20></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterGameObjectTargeted</span><span class=o>&lt;</span><span class=n>TakeDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>gameObject</span><span class=p>,</span><span class=w> </span><span class=n>OnDamage</span><span class=p>);</span>
72
+ </span><span id=__span-4-21><a id=__codelineno-4-21 name=__codelineno-4-21 href=#__codelineno-4-21></a><span class=n>damage</span><span class=p>.</span><span class=n>EmitAt</span><span class=p>(</span><span class=n>gameObject</span><span class=p>);</span><span class=w> </span><span class=c1>// ✅ Works!</span>
73
+ </span><span id=__span-4-22><a id=__codelineno-4-22 name=__codelineno-4-22 href=#__codelineno-4-22></a>
74
+ </span><span id=__span-4-23><a id=__codelineno-4-23 name=__codelineno-4-23 href=#__codelineno-4-23></a><span class=c1>// FIX 2: Both use Component</span>
75
+ </span><span id=__span-4-24><a id=__codelineno-4-24 name=__codelineno-4-24 href=#__codelineno-4-24></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterComponentTargeted</span><span class=o>&lt;</span><span class=n>TakeDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=k>this</span><span class=p>,</span><span class=w> </span><span class=n>OnDamage</span><span class=p>);</span>
76
+ </span><span id=__span-4-25><a id=__codelineno-4-25 name=__codelineno-4-25 href=#__codelineno-4-25></a><span class=n>damage</span><span class=p>.</span><span class=n>EmitAt</span><span class=p>(</span><span class=k>this</span><span class=p>);</span><span class=w> </span><span class=c1>// ✅ Works!</span>
77
+ </span></code></pre></div> <p><strong>Remember:</strong> In Unity, <code>this</code> inside a <code>MonoBehaviour</code> is <strong>always</strong> a Component, never a GameObject!</p> <h2 id=listening-to-all-events-global-observers>Listening to ALL Events (Global Observers)<a class=headerlink href=#listening-to-all-events-global-observers title="Anchor link to this section">&para;</a></h2> <p><strong>Feature:</strong> DxMessaging allows listening to all targeted or broadcast messages <strong>without knowing the specific target or source</strong>.</p> <p>This is useful for:</p> <ul> <li><strong>Analytics</strong> — Track every action in your game without coupling to individual objects</li> <li><strong>Debugging</strong> — See all events of a type in one place</li> <li><strong>Cross-cutting concerns</strong> — Achievements, logging, VFX that respond to any entity's events</li> </ul> <h3 id=why-this-is-different-from-classic-event-buses>Why this is different from classic event buses<a class=headerlink href=#why-this-is-different-from-classic-event-buses title="Anchor link to this section">&para;</a></h3> <table> <thead> <tr> <th>Approach</th> <th>Classic Event Bus</th> <th>DxMessaging Global Observers</th> </tr> </thead> <tbody> <tr> <td><strong>Subscriptions needed</strong></td> <td>One per entity type</td> <td>One for ALL entities</td> </tr> <tr> <td><strong>Coupling</strong></td> <td>Tight (know all entity types)</td> <td>Zero (no knowledge needed)</td> </tr> <tr> <td><strong>New entity types</strong></td> <td>Update all subscribers</td> <td>Zero changes needed</td> </tr> <tr> <td><strong>Context</strong></td> <td>Lost (who was damaged?)</td> <td>Provided (source/target parameter)</td> </tr> </tbody> </table> <h3 id=classic-event-bus-anti-pattern>Classic Event Bus Anti-Pattern<a class=headerlink href=#classic-event-bus-anti-pattern title="Anchor link to this section">&para;</a></h3> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a><span class=c1>// ❌ Traditional approach: Tight coupling, multiple subscriptions</span>
78
+ </span><span id=__span-5-2><a id=__codelineno-5-2 name=__codelineno-5-2 href=#__codelineno-5-2></a><span class=n>EventBus</span><span class=p>.</span><span class=n>PlayerDamaged</span><span class=w> </span><span class=o>+=</span><span class=w> </span><span class=n>OnPlayerDamaged</span><span class=p>;</span>
79
+ </span><span id=__span-5-3><a id=__codelineno-5-3 name=__codelineno-5-3 href=#__codelineno-5-3></a><span class=n>EventBus</span><span class=p>.</span><span class=n>EnemyDamaged</span><span class=w> </span><span class=o>+=</span><span class=w> </span><span class=n>OnEnemyDamaged</span><span class=p>;</span>
80
+ </span><span id=__span-5-4><a id=__codelineno-5-4 name=__codelineno-5-4 href=#__codelineno-5-4></a><span class=n>EventBus</span><span class=p>.</span><span class=n>NPCDamaged</span><span class=w> </span><span class=o>+=</span><span class=w> </span><span class=n>OnNPCDamaged</span><span class=p>;</span>
81
+ </span><span id=__span-5-5><a id=__codelineno-5-5 name=__codelineno-5-5 href=#__codelineno-5-5></a><span class=n>EventBus</span><span class=p>.</span><span class=n>BossDamaged</span><span class=w> </span><span class=o>+=</span><span class=w> </span><span class=n>OnBossDamaged</span><span class=p>;</span>
82
+ </span><span id=__span-5-6><a id=__codelineno-5-6 name=__codelineno-5-6 href=#__codelineno-5-6></a><span class=c1>// Add new entity? Update EVERY analytics/logging system!</span>
83
+ </span><span id=__span-5-7><a id=__codelineno-5-7 name=__codelineno-5-7 href=#__codelineno-5-7></a>
84
+ </span><span id=__span-5-8><a id=__codelineno-5-8 name=__codelineno-5-8 href=#__codelineno-5-8></a><span class=k>void</span><span class=w> </span><span class=nf>OnPlayerDamaged</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>)</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=n>RecordDamage</span><span class=p>(</span><span class=s>&quot;Player&quot;</span><span class=p>,</span><span class=w> </span><span class=n>amount</span><span class=p>);</span><span class=w> </span><span class=p>}</span>
85
+ </span><span id=__span-5-9><a id=__codelineno-5-9 name=__codelineno-5-9 href=#__codelineno-5-9></a><span class=k>void</span><span class=w> </span><span class=nf>OnEnemyDamaged</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>)</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=n>RecordDamage</span><span class=p>(</span><span class=s>&quot;Enemy&quot;</span><span class=p>,</span><span class=w> </span><span class=n>amount</span><span class=p>);</span><span class=w> </span><span class=p>}</span>
86
+ </span><span id=__span-5-10><a id=__codelineno-5-10 name=__codelineno-5-10 href=#__codelineno-5-10></a><span class=k>void</span><span class=w> </span><span class=nf>OnNPCDamaged</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>)</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=n>RecordDamage</span><span class=p>(</span><span class=s>&quot;NPC&quot;</span><span class=p>,</span><span class=w> </span><span class=n>amount</span><span class=p>);</span><span class=w> </span><span class=p>}</span>
87
+ </span><span id=__span-5-11><a id=__codelineno-5-11 name=__codelineno-5-11 href=#__codelineno-5-11></a><span class=k>void</span><span class=w> </span><span class=nf>OnBossDamaged</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>)</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=n>RecordDamage</span><span class=p>(</span><span class=s>&quot;Boss&quot;</span><span class=p>,</span><span class=w> </span><span class=n>amount</span><span class=p>);</span><span class=w> </span><span class=p>}</span>
88
+ </span></code></pre></div> <h3 id=dxmessaging-global-observer-pattern>DxMessaging Global Observer Pattern<a class=headerlink href=#dxmessaging-global-observer-pattern title="Anchor link to this section">&para;</a></h3> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a><span class=c1>// ✅ DxMessaging: One subscription, zero coupling</span>
89
+ </span><span id=__span-6-2><a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterBroadcastWithoutSource</span><span class=o>&lt;</span><span class=n>TookDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>OnAnyDamage</span><span class=p>);</span>
90
+ </span><span id=__span-6-3><a id=__codelineno-6-3 name=__codelineno-6-3 href=#__codelineno-6-3></a>
91
+ </span><span id=__span-6-4><a id=__codelineno-6-4 name=__codelineno-6-4 href=#__codelineno-6-4></a><span class=k>void</span><span class=w> </span><span class=nf>OnAnyDamage</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>InstanceId</span><span class=w> </span><span class=n>source</span><span class=p>,</span><span class=w> </span><span class=k>ref</span><span class=w> </span><span class=n>TookDamage</span><span class=w> </span><span class=n>msg</span><span class=p>)</span>
92
+ </span><span id=__span-6-5><a id=__codelineno-6-5 name=__codelineno-6-5 href=#__codelineno-6-5></a><span class=p>{</span>
93
+ </span><span id=__span-6-6><a id=__codelineno-6-6 name=__codelineno-6-6 href=#__codelineno-6-6></a><span class=w> </span><span class=c1>// Works for Player, Enemy, NPC, Boss, and any future entity type!</span>
94
+ </span><span id=__span-6-7><a id=__codelineno-6-7 name=__codelineno-6-7 href=#__codelineno-6-7></a><span class=w> </span><span class=n>RecordDamage</span><span class=p>(</span><span class=n>source</span><span class=p>,</span><span class=w> </span><span class=n>msg</span><span class=p>.</span><span class=n>amount</span><span class=p>);</span>
95
+ </span><span id=__span-6-8><a id=__codelineno-6-8 name=__codelineno-6-8 href=#__codelineno-6-8></a><span class=p>}</span>
96
+ </span><span id=__span-6-9><a id=__codelineno-6-9 name=__codelineno-6-9 href=#__codelineno-6-9></a><span class=c1>// Add new entity? Zero changes needed.</span>
97
+ </span></code></pre></div> <h3 id=listening-to-all-targeted-messages>Listening to All Targeted Messages<a class=headerlink href=#listening-to-all-targeted-messages title="Anchor link to this section">&para;</a></h3> <p>Use <code>RegisterTargetedWithoutTargeting</code> to receive ALL targeted messages of a type, regardless of target:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-7-1><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a><span class=na>[DxTargetedMessage]</span>
98
+ </span><span id=__span-7-2><a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a><span class=na>[DxAutoConstructor]</span>
99
+ </span><span id=__span-7-3><a id=__codelineno-7-3 name=__codelineno-7-3 href=#__codelineno-7-3></a><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=k>partial</span><span class=w> </span><span class=k>struct</span><span class=w> </span><span class=nc>Heal</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>;</span><span class=w> </span><span class=p>}</span>
100
+ </span><span id=__span-7-4><a id=__codelineno-7-4 name=__codelineno-7-4 href=#__codelineno-7-4></a>
101
+ </span><span id=__span-7-5><a id=__codelineno-7-5 name=__codelineno-7-5 href=#__codelineno-7-5></a><span class=c1>// Listen to ALL heal messages, no matter who they&#39;re targeted at</span>
102
+ </span><span id=__span-7-6><a id=__codelineno-7-6 name=__codelineno-7-6 href=#__codelineno-7-6></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterTargetedWithoutTargeting</span><span class=o>&lt;</span><span class=n>Heal</span><span class=o>&gt;</span><span class=p>(</span><span class=n>OnAnyHeal</span><span class=p>);</span>
103
+ </span><span id=__span-7-7><a id=__codelineno-7-7 name=__codelineno-7-7 href=#__codelineno-7-7></a>
104
+ </span><span id=__span-7-8><a id=__codelineno-7-8 name=__codelineno-7-8 href=#__codelineno-7-8></a><span class=k>void</span><span class=w> </span><span class=nf>OnAnyHeal</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>InstanceId</span><span class=w> </span><span class=n>target</span><span class=p>,</span><span class=w> </span><span class=k>ref</span><span class=w> </span><span class=n>Heal</span><span class=w> </span><span class=n>msg</span><span class=p>)</span>
105
+ </span><span id=__span-7-9><a id=__codelineno-7-9 name=__codelineno-7-9 href=#__codelineno-7-9></a><span class=p>{</span>
106
+ </span><span id=__span-7-10><a id=__codelineno-7-10 name=__codelineno-7-10 href=#__codelineno-7-10></a><span class=w> </span><span class=n>Debug</span><span class=p>.</span><span class=n>Log</span><span class=p>(</span><span class=s>$&quot;Someone healed {target} for {msg.amount}&quot;</span><span class=p>);</span>
107
+ </span><span id=__span-7-11><a id=__codelineno-7-11 name=__codelineno-7-11 href=#__codelineno-7-11></a><span class=w> </span><span class=c1>// You get the target as a parameter so you know WHO was healed</span>
108
+ </span><span id=__span-7-12><a id=__codelineno-7-12 name=__codelineno-7-12 href=#__codelineno-7-12></a><span class=p>}</span>
109
+ </span><span id=__span-7-13><a id=__codelineno-7-13 name=__codelineno-7-13 href=#__codelineno-7-13></a>
110
+ </span><span id=__span-7-14><a id=__codelineno-7-14 name=__codelineno-7-14 href=#__codelineno-7-14></a><span class=c1>// Now when ANYONE emits a heal...</span>
111
+ </span><span id=__span-7-15><a id=__codelineno-7-15 name=__codelineno-7-15 href=#__codelineno-7-15></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitAt</span><span class=p>(</span><span class=n>player</span><span class=p>);</span><span class=w> </span><span class=c1>// OnAnyHeal fires with target = player</span>
112
+ </span><span id=__span-7-16><a id=__codelineno-7-16 name=__codelineno-7-16 href=#__codelineno-7-16></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitAt</span><span class=p>(</span><span class=n>enemy</span><span class=p>);</span><span class=w> </span><span class=c1>// OnAnyHeal fires with target = enemy</span>
113
+ </span><span id=__span-7-17><a id=__codelineno-7-17 name=__codelineno-7-17 href=#__codelineno-7-17></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitAt</span><span class=p>(</span><span class=n>npc</span><span class=p>);</span><span class=w> </span><span class=c1>// OnAnyHeal fires with target = npc</span>
114
+ </span></code></pre></div> <h4 id=use-cases>Use cases<a class=headerlink href=#use-cases title="Anchor link to this section">&para;</a></h4> <ul> <li>Analytics ("track all damage dealt")</li> <li>Debugging ("log every heal in the game")</li> <li>Achievements ("count total kills")</li> <li>Global UI updates ("show floating damage numbers for any entity")</li> </ul> <h3 id=listening-to-all-broadcast-messages>Listening to All Broadcast Messages<a class=headerlink href=#listening-to-all-broadcast-messages title="Anchor link to this section">&para;</a></h3> <p>Use <code>RegisterBroadcastWithoutSource</code> to receive ALL broadcast messages of a type, regardless of source:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-8-1><a id=__codelineno-8-1 name=__codelineno-8-1 href=#__codelineno-8-1></a><span class=na>[DxBroadcastMessage]</span>
115
+ </span><span id=__span-8-2><a id=__codelineno-8-2 name=__codelineno-8-2 href=#__codelineno-8-2></a><span class=na>[DxAutoConstructor]</span>
116
+ </span><span id=__span-8-3><a id=__codelineno-8-3 name=__codelineno-8-3 href=#__codelineno-8-3></a><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=k>partial</span><span class=w> </span><span class=k>struct</span><span class=w> </span><span class=nc>TookDamage</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>;</span><span class=w> </span><span class=p>}</span>
117
+ </span><span id=__span-8-4><a id=__codelineno-8-4 name=__codelineno-8-4 href=#__codelineno-8-4></a>
118
+ </span><span id=__span-8-5><a id=__codelineno-8-5 name=__codelineno-8-5 href=#__codelineno-8-5></a><span class=c1>// Listen to ALL damage events from any source</span>
119
+ </span><span id=__span-8-6><a id=__codelineno-8-6 name=__codelineno-8-6 href=#__codelineno-8-6></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterBroadcastWithoutSource</span><span class=o>&lt;</span><span class=n>TookDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>OnAnyDamage</span><span class=p>);</span>
120
+ </span><span id=__span-8-7><a id=__codelineno-8-7 name=__codelineno-8-7 href=#__codelineno-8-7></a>
121
+ </span><span id=__span-8-8><a id=__codelineno-8-8 name=__codelineno-8-8 href=#__codelineno-8-8></a><span class=k>void</span><span class=w> </span><span class=nf>OnAnyDamage</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>InstanceId</span><span class=w> </span><span class=n>source</span><span class=p>,</span><span class=w> </span><span class=k>ref</span><span class=w> </span><span class=n>TookDamage</span><span class=w> </span><span class=n>msg</span><span class=p>)</span>
122
+ </span><span id=__span-8-9><a id=__codelineno-8-9 name=__codelineno-8-9 href=#__codelineno-8-9></a><span class=p>{</span>
123
+ </span><span id=__span-8-10><a id=__codelineno-8-10 name=__codelineno-8-10 href=#__codelineno-8-10></a><span class=w> </span><span class=n>Debug</span><span class=p>.</span><span class=n>Log</span><span class=p>(</span><span class=s>$&quot;{source} took {msg.amount} damage&quot;</span><span class=p>);</span>
124
+ </span><span id=__span-8-11><a id=__codelineno-8-11 name=__codelineno-8-11 href=#__codelineno-8-11></a><span class=w> </span><span class=c1>// You get the source as a parameter so you know WHO took damage</span>
125
+ </span><span id=__span-8-12><a id=__codelineno-8-12 name=__codelineno-8-12 href=#__codelineno-8-12></a><span class=p>}</span>
126
+ </span><span id=__span-8-13><a id=__codelineno-8-13 name=__codelineno-8-13 href=#__codelineno-8-13></a>
127
+ </span><span id=__span-8-14><a id=__codelineno-8-14 name=__codelineno-8-14 href=#__codelineno-8-14></a><span class=c1>// Now when ANYONE broadcasts damage...</span>
128
+ </span><span id=__span-8-15><a id=__codelineno-8-15 name=__codelineno-8-15 href=#__codelineno-8-15></a><span class=n>damage</span><span class=p>.</span><span class=n>EmitFrom</span><span class=p>(</span><span class=n>enemy</span><span class=p>);</span><span class=w> </span><span class=c1>// OnAnyDamage fires with source = enemy</span>
129
+ </span><span id=__span-8-16><a id=__codelineno-8-16 name=__codelineno-8-16 href=#__codelineno-8-16></a><span class=n>damage</span><span class=p>.</span><span class=n>EmitFrom</span><span class=p>(</span><span class=n>player</span><span class=p>);</span><span class=w> </span><span class=c1>// OnAnyDamage fires with source = player</span>
130
+ </span><span id=__span-8-17><a id=__codelineno-8-17 name=__codelineno-8-17 href=#__codelineno-8-17></a><span class=n>damage</span><span class=p>.</span><span class=n>EmitFrom</span><span class=p>(</span><span class=n>boss</span><span class=p>);</span><span class=w> </span><span class=c1>// OnAnyDamage fires with source = boss</span>
131
+ </span></code></pre></div> <h4 id=use-cases_1>Use cases<a class=headerlink href=#use-cases_1 title="Anchor link to this section">&para;</a></h4> <ul> <li>Combat logs ("record all damage in the scene")</li> <li>Particle effects ("spawn blood VFX for any damage")</li> <li>Achievement tracking ("count enemy deaths")</li> <li>Analytics dashboards ("total damage per second")</li> </ul> <h3 id=specific-vs-global-listeners-both-can-coexist>Specific vs Global Listeners: Both Can Coexist<a class=headerlink href=#specific-vs-global-listeners-both-can-coexist title="Anchor link to this section">&para;</a></h3> <p>You can have BOTH specific listeners AND global listeners for the same message:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-9-1><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a><span class=c1>// Specific listener: only cares about player damage</span>
132
+ </span><span id=__span-9-2><a id=__codelineno-9-2 name=__codelineno-9-2 href=#__codelineno-9-2></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>playerToken</span><span class=p>.</span><span class=n>RegisterGameObjectBroadcast</span><span class=o>&lt;</span><span class=n>TookDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>playerGameObject</span><span class=p>,</span><span class=w> </span><span class=n>OnPlayerDamage</span><span class=p>);</span>
133
+ </span><span id=__span-9-3><a id=__codelineno-9-3 name=__codelineno-9-3 href=#__codelineno-9-3></a>
134
+ </span><span id=__span-9-4><a id=__codelineno-9-4 name=__codelineno-9-4 href=#__codelineno-9-4></a><span class=c1>// Global listener: cares about ALL damage</span>
135
+ </span><span id=__span-9-5><a id=__codelineno-9-5 name=__codelineno-9-5 href=#__codelineno-9-5></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>analyticsToken</span><span class=p>.</span><span class=n>RegisterBroadcastWithoutSource</span><span class=o>&lt;</span><span class=n>TookDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>OnAnyDamage</span><span class=p>);</span>
136
+ </span><span id=__span-9-6><a id=__codelineno-9-6 name=__codelineno-9-6 href=#__codelineno-9-6></a>
137
+ </span><span id=__span-9-7><a id=__codelineno-9-7 name=__codelineno-9-7 href=#__codelineno-9-7></a><span class=c1>// When player takes damage</span>
138
+ </span><span id=__span-9-8><a id=__codelineno-9-8 name=__codelineno-9-8 href=#__codelineno-9-8></a><span class=n>damage</span><span class=p>.</span><span class=n>EmitFrom</span><span class=p>(</span><span class=n>playerGameObject</span><span class=p>);</span>
139
+ </span><span id=__span-9-9><a id=__codelineno-9-9 name=__codelineno-9-9 href=#__codelineno-9-9></a><span class=c1>// ✅ OnPlayerDamage fires (specific listener)</span>
140
+ </span><span id=__span-9-10><a id=__codelineno-9-10 name=__codelineno-9-10 href=#__codelineno-9-10></a><span class=c1>// ✅ OnAnyDamage fires (global listener)</span>
141
+ </span><span id=__span-9-11><a id=__codelineno-9-11 name=__codelineno-9-11 href=#__codelineno-9-11></a><span class=c1>// Both fire!</span>
142
+ </span><span id=__span-9-12><a id=__codelineno-9-12 name=__codelineno-9-12 href=#__codelineno-9-12></a>
143
+ </span><span id=__span-9-13><a id=__codelineno-9-13 name=__codelineno-9-13 href=#__codelineno-9-13></a><span class=c1>// When enemy takes damage</span>
144
+ </span><span id=__span-9-14><a id=__codelineno-9-14 name=__codelineno-9-14 href=#__codelineno-9-14></a><span class=n>damage</span><span class=p>.</span><span class=n>EmitFrom</span><span class=p>(</span><span class=n>enemyGameObject</span><span class=p>);</span>
145
+ </span><span id=__span-9-15><a id=__codelineno-9-15 name=__codelineno-9-15 href=#__codelineno-9-15></a><span class=c1>// ❌ OnPlayerDamage does NOT fire (wrong source)</span>
146
+ </span><span id=__span-9-16><a id=__codelineno-9-16 name=__codelineno-9-16 href=#__codelineno-9-16></a><span class=c1>// ✅ OnAnyDamage fires (global listener catches everything)</span>
147
+ </span></code></pre></div> <h3 id=real-world-example-combat-system>Real-World Example: Combat System<a class=headerlink href=#real-world-example-combat-system title="Anchor link to this section">&para;</a></h3> <p>Here's how to combine specific and global listeners in a combat system:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-10-1><a id=__codelineno-10-1 name=__codelineno-10-1 href=#__codelineno-10-1></a><span class=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>Player</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MessageAwareComponent</span>
148
+ </span><span id=__span-10-2><a id=__codelineno-10-2 name=__codelineno-10-2 href=#__codelineno-10-2></a><span class=p>{</span>
149
+ </span><span id=__span-10-3><a id=__codelineno-10-3 name=__codelineno-10-3 href=#__codelineno-10-3></a><span class=w> </span><span class=k>protected</span><span class=w> </span><span class=k>override</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>RegisterMessageHandlers</span><span class=p>()</span>
150
+ </span><span id=__span-10-4><a id=__codelineno-10-4 name=__codelineno-10-4 href=#__codelineno-10-4></a><span class=w> </span><span class=p>{</span>
151
+ </span><span id=__span-10-5><a id=__codelineno-10-5 name=__codelineno-10-5 href=#__codelineno-10-5></a><span class=w> </span><span class=c1>// Listen only to damage targeting THIS player</span>
152
+ </span><span id=__span-10-6><a id=__codelineno-10-6 name=__codelineno-10-6 href=#__codelineno-10-6></a><span class=w> </span><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>Token</span><span class=p>.</span><span class=n>RegisterGameObjectBroadcast</span><span class=o>&lt;</span><span class=n>TookDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>gameObject</span><span class=p>,</span><span class=w> </span><span class=n>OnPlayerTookDamage</span><span class=p>);</span>
153
+ </span><span id=__span-10-7><a id=__codelineno-10-7 name=__codelineno-10-7 href=#__codelineno-10-7></a><span class=w> </span><span class=p>}</span>
154
+ </span><span id=__span-10-8><a id=__codelineno-10-8 name=__codelineno-10-8 href=#__codelineno-10-8></a>
155
+ </span><span id=__span-10-9><a id=__codelineno-10-9 name=__codelineno-10-9 href=#__codelineno-10-9></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>OnPlayerTookDamage</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>TookDamage</span><span class=w> </span><span class=n>msg</span><span class=p>)</span>
156
+ </span><span id=__span-10-10><a id=__codelineno-10-10 name=__codelineno-10-10 href=#__codelineno-10-10></a><span class=w> </span><span class=p>{</span>
157
+ </span><span id=__span-10-11><a id=__codelineno-10-11 name=__codelineno-10-11 href=#__codelineno-10-11></a><span class=w> </span><span class=c1>// Player-specific logic: update health bar, play hurt sound</span>
158
+ </span><span id=__span-10-12><a id=__codelineno-10-12 name=__codelineno-10-12 href=#__codelineno-10-12></a><span class=w> </span><span class=n>health</span><span class=w> </span><span class=o>-=</span><span class=w> </span><span class=n>msg</span><span class=p>.</span><span class=n>amount</span><span class=p>;</span>
159
+ </span><span id=__span-10-13><a id=__codelineno-10-13 name=__codelineno-10-13 href=#__codelineno-10-13></a><span class=w> </span><span class=n>PlayHurtSound</span><span class=p>();</span>
160
+ </span><span id=__span-10-14><a id=__codelineno-10-14 name=__codelineno-10-14 href=#__codelineno-10-14></a><span class=w> </span><span class=p>}</span>
161
+ </span><span id=__span-10-15><a id=__codelineno-10-15 name=__codelineno-10-15 href=#__codelineno-10-15></a><span class=p>}</span>
162
+ </span><span id=__span-10-16><a id=__codelineno-10-16 name=__codelineno-10-16 href=#__codelineno-10-16></a>
163
+ </span><span id=__span-10-17><a id=__codelineno-10-17 name=__codelineno-10-17 href=#__codelineno-10-17></a><span class=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>CombatLog</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MessageAwareComponent</span>
164
+ </span><span id=__span-10-18><a id=__codelineno-10-18 name=__codelineno-10-18 href=#__codelineno-10-18></a><span class=p>{</span>
165
+ </span><span id=__span-10-19><a id=__codelineno-10-19 name=__codelineno-10-19 href=#__codelineno-10-19></a><span class=w> </span><span class=k>protected</span><span class=w> </span><span class=k>override</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>RegisterMessageHandlers</span><span class=p>()</span>
166
+ </span><span id=__span-10-20><a id=__codelineno-10-20 name=__codelineno-10-20 href=#__codelineno-10-20></a><span class=w> </span><span class=p>{</span>
167
+ </span><span id=__span-10-21><a id=__codelineno-10-21 name=__codelineno-10-21 href=#__codelineno-10-21></a><span class=w> </span><span class=c1>// Listen to ALL damage from ANY source (global observer)</span>
168
+ </span><span id=__span-10-22><a id=__codelineno-10-22 name=__codelineno-10-22 href=#__codelineno-10-22></a><span class=w> </span><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>Token</span><span class=p>.</span><span class=n>RegisterBroadcastWithoutSource</span><span class=o>&lt;</span><span class=n>TookDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>OnAnyDamage</span><span class=p>);</span>
169
+ </span><span id=__span-10-23><a id=__codelineno-10-23 name=__codelineno-10-23 href=#__codelineno-10-23></a><span class=w> </span><span class=p>}</span>
170
+ </span><span id=__span-10-24><a id=__codelineno-10-24 name=__codelineno-10-24 href=#__codelineno-10-24></a>
171
+ </span><span id=__span-10-25><a id=__codelineno-10-25 name=__codelineno-10-25 href=#__codelineno-10-25></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>OnAnyDamage</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>InstanceId</span><span class=w> </span><span class=n>source</span><span class=p>,</span><span class=w> </span><span class=k>ref</span><span class=w> </span><span class=n>TookDamage</span><span class=w> </span><span class=n>msg</span><span class=p>)</span>
172
+ </span><span id=__span-10-26><a id=__codelineno-10-26 name=__codelineno-10-26 href=#__codelineno-10-26></a><span class=w> </span><span class=p>{</span>
173
+ </span><span id=__span-10-27><a id=__codelineno-10-27 name=__codelineno-10-27 href=#__codelineno-10-27></a><span class=w> </span><span class=c1>// Global combat logging</span>
174
+ </span><span id=__span-10-28><a id=__codelineno-10-28 name=__codelineno-10-28 href=#__codelineno-10-28></a><span class=w> </span><span class=n>LogToFile</span><span class=p>(</span><span class=s>$&quot;{Time.time}: {source} took {msg.amount} damage&quot;</span><span class=p>);</span>
175
+ </span><span id=__span-10-29><a id=__codelineno-10-29 name=__codelineno-10-29 href=#__codelineno-10-29></a><span class=w> </span><span class=p>}</span>
176
+ </span><span id=__span-10-30><a id=__codelineno-10-30 name=__codelineno-10-30 href=#__codelineno-10-30></a><span class=p>}</span>
177
+ </span><span id=__span-10-31><a id=__codelineno-10-31 name=__codelineno-10-31 href=#__codelineno-10-31></a>
178
+ </span><span id=__span-10-32><a id=__codelineno-10-32 name=__codelineno-10-32 href=#__codelineno-10-32></a><span class=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>AchievementSystem</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MessageAwareComponent</span>
179
+ </span><span id=__span-10-33><a id=__codelineno-10-33 name=__codelineno-10-33 href=#__codelineno-10-33></a><span class=p>{</span>
180
+ </span><span id=__span-10-34><a id=__codelineno-10-34 name=__codelineno-10-34 href=#__codelineno-10-34></a><span class=w> </span><span class=k>protected</span><span class=w> </span><span class=k>override</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>RegisterMessageHandlers</span><span class=p>()</span>
181
+ </span><span id=__span-10-35><a id=__codelineno-10-35 name=__codelineno-10-35 href=#__codelineno-10-35></a><span class=w> </span><span class=p>{</span>
182
+ </span><span id=__span-10-36><a id=__codelineno-10-36 name=__codelineno-10-36 href=#__codelineno-10-36></a><span class=w> </span><span class=c1>// Listen to ALL damage targeting ANY entity (global observer)</span>
183
+ </span><span id=__span-10-37><a id=__codelineno-10-37 name=__codelineno-10-37 href=#__codelineno-10-37></a><span class=w> </span><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>Token</span><span class=p>.</span><span class=n>RegisterTargetedWithoutTargeting</span><span class=o>&lt;</span><span class=n>DealDamage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>OnAnyDamageDealt</span><span class=p>);</span>
184
+ </span><span id=__span-10-38><a id=__codelineno-10-38 name=__codelineno-10-38 href=#__codelineno-10-38></a><span class=w> </span><span class=p>}</span>
185
+ </span><span id=__span-10-39><a id=__codelineno-10-39 name=__codelineno-10-39 href=#__codelineno-10-39></a>
186
+ </span><span id=__span-10-40><a id=__codelineno-10-40 name=__codelineno-10-40 href=#__codelineno-10-40></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>OnAnyDamageDealt</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>InstanceId</span><span class=w> </span><span class=n>target</span><span class=p>,</span><span class=w> </span><span class=k>ref</span><span class=w> </span><span class=n>DealDamage</span><span class=w> </span><span class=n>msg</span><span class=p>)</span>
187
+ </span><span id=__span-10-41><a id=__codelineno-10-41 name=__codelineno-10-41 href=#__codelineno-10-41></a><span class=w> </span><span class=p>{</span>
188
+ </span><span id=__span-10-42><a id=__codelineno-10-42 name=__codelineno-10-42 href=#__codelineno-10-42></a><span class=w> </span><span class=c1>// Track total damage dealt for achievements</span>
189
+ </span><span id=__span-10-43><a id=__codelineno-10-43 name=__codelineno-10-43 href=#__codelineno-10-43></a><span class=w> </span><span class=n>totalDamageDealt</span><span class=w> </span><span class=o>+=</span><span class=w> </span><span class=n>msg</span><span class=p>.</span><span class=n>amount</span><span class=p>;</span>
190
+ </span><span id=__span-10-44><a id=__codelineno-10-44 name=__codelineno-10-44 href=#__codelineno-10-44></a><span class=w> </span><span class=n>CheckDamageAchievements</span><span class=p>();</span>
191
+ </span><span id=__span-10-45><a id=__codelineno-10-45 name=__codelineno-10-45 href=#__codelineno-10-45></a><span class=w> </span><span class=p>}</span>
192
+ </span><span id=__span-10-46><a id=__codelineno-10-46 name=__codelineno-10-46 href=#__codelineno-10-46></a><span class=p>}</span>
193
+ </span></code></pre></div> <h3 id=performance-note>Performance Note<a class=headerlink href=#performance-note title="Anchor link to this section">&para;</a></h3> <p>Global listeners (<code>RegisterTargetedWithoutTargeting</code> / <code>RegisterBroadcastWithoutSource</code>) are <strong>slightly slower</strong> than specific listeners because they receive every message of that type. This is usually negligible, but avoid them in hot paths if you're emitting thousands of messages per frame.</p> <h4 id=rule-of-thumb>Rule of thumb<a class=headerlink href=#rule-of-thumb title="Anchor link to this section">&para;</a></h4> <ul> <li>For gameplay (&lt; 100 messages/frame): Use freely</li> <li>For analytics/debugging: Perfect use case</li> <li>For tight loops (&gt; 1000 messages/frame): Prefer specific listeners</li> </ul> <h2 id=when-to-use-which>When to Use Which<a class=headerlink href=#when-to-use-which title="Anchor link to this section">&para;</a></h2> <h3 id=gameobject-context>GameObject Context<a class=headerlink href=#gameobject-context title="Anchor link to this section">&para;</a></h3> <h4 id=use-when_2>Use when<a class=headerlink href=#use-when_2 title="Anchor link to this section">&para;</a></h4> <ul> <li>The whole object is the logical target/source (e.g., "Player was healed", "Enemy took damage")</li> <li>Multiple components should coordinate under the same address</li> <li>You don't care which specific component handles it</li> <li>You want flexibility for future refactoring (adding/removing components)</li> </ul> <h5 id=examples>Examples<a class=headerlink href=#examples title="Anchor link to this section">&para;</a></h5> <ul> <li>Combat: "Deal damage to this enemy"</li> <li>UI: "Update all panels related to this character"</li> <li>State: "Notify all systems that this entity died"</li> </ul> <h3 id=component-context>Component Context<a class=headerlink href=#component-context title="Anchor link to this section">&para;</a></h3> <h4 id=use-when_3>Use when<a class=headerlink href=#use-when_3 title="Anchor link to this section">&para;</a></h4> <ul> <li>The message is explicitly for one component's responsibility (e.g., "open JUST this DoorController")</li> <li>Multiple components on the same GameObject must be independently addressable</li> <li>You need pinpoint precision</li> <li>You have a direct reference to the target component</li> </ul> <h5 id=examples_1>Examples<a class=headerlink href=#examples_1 title="Anchor link to this section">&para;</a></h5> <ul> <li>UI: "Update this specific health bar, not the mana bar"</li> <li>Animation: "Tell this animator to play a clip"</li> <li>Physics: "Toggle this specific collider"</li> </ul> <h2 id=best-practices>Best Practices<a class=headerlink href=#best-practices title="Anchor link to this section">&para;</a></h2> <h3 id=dos>Do's<a class=headerlink href=#dos title="Anchor link to this section">&para;</a></h3> <p>✅ <strong>Pick a context and be consistent</strong> across emitters and listeners for that message type ✅ <strong>Prefer GameObject when in doubt</strong> — easier coordination among components on the same object ✅ <strong>Use explicit helpers</strong> (<code>EmitGameObjectTargeted</code>, <code>RegisterGameObjectTargeted</code>) to make intent clear ✅ <strong>Document</strong> which context your message types use (add it to your message comments) ✅ <strong>Use global listeners</strong> for analytics, debugging, and cross-cutting concerns</p> <h3 id=donts>Don'ts<a class=headerlink href=#donts title="Anchor link to this section">&para;</a></h3> <p>❌ <strong>Don't emit to GameObject</strong> and expect Component-registered handlers to receive it (and vice versa) ❌ <strong>Don't assume <code>this</code> means GameObject</strong> — it's always a Component in Unity ❌ <strong>Don't mix GameObject/Component</strong> for the same message type across your codebase ❌ <strong>Don't register the same handler under both</strong> unless you intend to handle both contexts ❌ <strong>Don't use global listeners</strong> in performance-critical tight loops (thousands of messages/frame)</p> <h2 id=troubleshooting>Troubleshooting<a class=headerlink href=#troubleshooting title="Anchor link to this section">&para;</a></h2> <h3 id=my-handler-isnt-firing>"My handler isn't firing!"<a class=headerlink href=#my-handler-isnt-firing title="Anchor link to this section">&para;</a></h3> <p><strong>Most likely cause:</strong> GameObject/Component mismatch</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-11-1><a id=__codelineno-11-1 name=__codelineno-11-1 href=#__codelineno-11-1></a><span class=c1>// Check 1: Are you emitting and registering on the same type?</span>
194
+ </span><span id=__span-11-2><a id=__codelineno-11-2 name=__codelineno-11-2 href=#__codelineno-11-2></a><span class=c1>// ❌ WRONG</span>
195
+ </span><span id=__span-11-3><a id=__codelineno-11-3 name=__codelineno-11-3 href=#__codelineno-11-3></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterGameObjectTargeted</span><span class=o>&lt;</span><span class=n>Heal</span><span class=o>&gt;</span><span class=p>(</span><span class=n>gameObject</span><span class=p>,</span><span class=w> </span><span class=n>OnHeal</span><span class=p>);</span>
196
+ </span><span id=__span-11-4><a id=__codelineno-11-4 name=__codelineno-11-4 href=#__codelineno-11-4></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitAt</span><span class=p>(</span><span class=k>this</span><span class=p>);</span><span class=w> </span><span class=c1>// Component, not GameObject!</span>
197
+ </span><span id=__span-11-5><a id=__codelineno-11-5 name=__codelineno-11-5 href=#__codelineno-11-5></a>
198
+ </span><span id=__span-11-6><a id=__codelineno-11-6 name=__codelineno-11-6 href=#__codelineno-11-6></a><span class=c1>// ✅ CORRECT</span>
199
+ </span><span id=__span-11-7><a id=__codelineno-11-7 name=__codelineno-11-7 href=#__codelineno-11-7></a><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=p>.</span><span class=n>RegisterGameObjectTargeted</span><span class=o>&lt;</span><span class=n>Heal</span><span class=o>&gt;</span><span class=p>(</span><span class=n>gameObject</span><span class=p>,</span><span class=w> </span><span class=n>OnHeal</span><span class=p>);</span>
200
+ </span><span id=__span-11-8><a id=__codelineno-11-8 name=__codelineno-11-8 href=#__codelineno-11-8></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitAt</span><span class=p>(</span><span class=n>gameObject</span><span class=p>);</span><span class=w> </span><span class=c1>// Both GameObject</span>
201
+ </span></code></pre></div> <h4 id=other-causes>Other causes<a class=headerlink href=#other-causes title="Anchor link to this section">&para;</a></h4> <ol> <li>Handler not enabled (call <code>token.Enable()</code> in <code>OnEnable</code>)</li> <li>Registration happened after emission</li> <li>Using wrong bus (local vs global)</li> </ol> <p>See <a href=../../reference/troubleshooting/ >Troubleshooting</a> for more debugging tips.</p> <h2 id=quick-reference>Quick Reference<a class=headerlink href=#quick-reference title="Anchor link to this section">&para;</a></h2> <table> <thead> <tr> <th>Operation</th> <th>GameObject Variant</th> <th>Component Variant</th> </tr> </thead> <tbody> <tr> <td><strong>Emit Targeted</strong></td> <td><code>msg.EmitGameObjectTargeted(go)</code></td> <td><code>msg.EmitComponentTargeted(comp)</code></td> </tr> <tr> <td><strong>Emit Broadcast</strong></td> <td><code>msg.EmitGameObjectBroadcast(go)</code></td> <td><code>msg.EmitComponentBroadcast(comp)</code></td> </tr> <tr> <td><strong>Register Targeted</strong></td> <td><code>RegisterGameObjectTargeted&lt;T&gt;(go, handler)</code></td> <td><code>RegisterComponentTargeted&lt;T&gt;(comp, handler)</code></td> </tr> <tr> <td><strong>Register Broadcast</strong></td> <td><code>RegisterGameObjectBroadcast&lt;T&gt;(go, handler)</code></td> <td><code>RegisterComponentBroadcast&lt;T&gt;(comp, handler)</code></td> </tr> <tr> <td><strong>Global Targeted</strong></td> <td><code>RegisterTargetedWithoutTargeting&lt;T&gt;(handler)</code></td> <td>(Same — no distinction)</td> </tr> <tr> <td><strong>Global Broadcast</strong></td> <td><code>RegisterBroadcastWithoutSource&lt;T&gt;(handler)</code></td> <td>(Same — no distinction)</td> </tr> </tbody> </table> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">&para;</a></h2> <ul> <li><strong><a href=../../advanced/emit-shorthands/ >Emit Shorthands</a></strong> — Concise ways to emit messages</li> <li><strong><a href=../message-types/ >Message Types</a></strong> — Understanding Untargeted, Targeted, and Broadcast</li> <li><strong><a href=../../guides/unity-integration/ >Unity Integration</a></strong> — MessageAwareComponent and lifecycle</li> <li><strong><a href=../../reference/quick-reference/ >Quick Reference</a></strong> — API cheat sheet</li> <li><strong><a href=../../reference/troubleshooting/ >Troubleshooting</a></strong> — Solving common issues</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="January 26, 2026 18:15:02 UTC"><span class=timeago datetime=2026-01-26T18:15:02+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="January 26, 2026 18:15:02 UTC">2026-01-26</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="January 26, 2026 18:15:02 UTC"><span class=timeago datetime=2026-01-26T18:15:02+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="January 26, 2026 18:15:02 UTC">2026-01-26</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../listening-patterns/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Listening Patterns"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Listening Patterns </div> </div> </a> <a href=../interceptors-and-ordering/ class="md-footer__link md-footer__link--next" aria-label="Next: Interceptors & Ordering"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Interceptors & Ordering </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright &copy; 2017-2026 Wallstop Studios </div> </div> <div class=md-social> <a href=https://github.com/wallstop target=_blank rel=noopener title="Wallstop Studios on GitHub" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <div class=md-progress data-md-component=progress role=progressbar></div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.expand", "navigation.footer", "navigation.indexes", "navigation.instant", "navigation.instant.prefetch", "navigation.instant.progress", "navigation.path", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "navigation.tracking", "search.highlight", "search.share", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.79ae519e.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> <script src=https://unpkg.com/mermaid@11/dist/mermaid.min.js></script> <script src=../../javascripts/mermaid-config.js></script> <script src=../../javascripts/csharp-highlight.js></script> </body> </html>
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 134a61f0f476a944db601b9fa2762f2c
3
+ TextScriptImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 87de8bd5b2fa6974992e8c10faabd4cb
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 65304179e7975264b9c79c7705e07565
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,15 @@
1
+ /*
2
+ timeago output is dynamic, which breaks when you print a page.
3
+
4
+ This CSS is only included when type: timeago
5
+ and ensures fallback to type "iso_date" when printing.
6
+
7
+ */
8
+
9
+ .git-revision-date-localized-plugin-iso_date { display: none }
10
+
11
+ @media print {
12
+ .git-revision-date-localized-plugin-iso_date { display: inline }
13
+ .git-revision-date-localized-plugin-timeago { display: none }
14
+ }
15
+
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 8d4f91833ac316840aa82739e6480b36
3
+ DefaultImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
package/site/css.meta ADDED
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 89676c90e742b26479963a1c6ed55ddc
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant: