com.wallstop-studios.dxmessaging 2.1.7 → 2.1.9

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 (1408) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/Runtime/Core/DxMessagingStaticState.cs +19 -13
  3. package/Runtime/Core/Helper/MessageHelperIndexer.cs +14 -77
  4. package/Runtime/Core/MessageBus/MessageRegistrationBuilder.cs +0 -5
  5. package/Runtime/Core/MessageRegistrationHandle.cs +0 -5
  6. package/package.json +25 -1
  7. package/.artifacts/SourceGenerators.Tests/TestResults/0e800bba-2376-4062-bb19-cf916d3083a1/coverage.cobertura.xml +0 -2624
  8. package/.artifacts/SourceGenerators.Tests/TestResults/260ab294-e640-4674-9ae9-29b5344c0540/coverage.cobertura.xml +0 -2624
  9. package/.artifacts/SourceGenerators.Tests/TestResults/31c02772-7d85-4466-a2c4-93742725076e/coverage.cobertura.xml +0 -2624
  10. package/.artifacts/SourceGenerators.Tests/TestResults/ca4d2ef2-0c53-49dc-91b5-039938571ed8/coverage.cobertura.xml +0 -2624
  11. package/.artifacts/SourceGenerators.Tests/TestResults/f6cadd7e-1bf5-44b0-9351-47426600fc69/coverage.cobertura.xml +0 -2624
  12. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  13. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  14. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.ApplicationInsights.dll +0 -0
  15. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  16. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.CodeAnalysis.dll +0 -0
  17. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
  18. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  19. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  20. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  21. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  22. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
  23. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
  24. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
  25. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
  26. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
  27. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Platform.dll +0 -0
  28. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  29. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  30. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  31. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/NUnit3.TestAdapter.dll +0 -0
  32. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Newtonsoft.Json.dll +0 -0
  33. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +0 -872
  34. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  35. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +0 -13
  36. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  37. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  38. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  39. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  40. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  41. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  42. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  43. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  44. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  45. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  46. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
  47. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  48. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  49. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  50. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  51. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  52. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  53. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  54. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  55. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  56. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  57. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  58. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
  59. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  60. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  61. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  62. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  63. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  64. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  65. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  66. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  67. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  68. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  69. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  70. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
  71. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  72. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  73. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  74. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  75. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  76. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  77. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  78. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  79. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  80. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  81. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  82. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
  83. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  84. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  85. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  86. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  87. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  88. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  89. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  90. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  91. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  92. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  93. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  94. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
  95. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  96. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  97. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  98. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  99. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  100. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  101. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  102. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  103. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  104. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  105. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  106. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
  107. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  108. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  109. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  110. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  111. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  112. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  113. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  114. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  115. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  116. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  117. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  118. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
  119. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  120. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  121. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.api.dll +0 -0
  122. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.core.dll +0 -0
  123. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.dll +0 -0
  124. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.framework.dll +0 -0
  125. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.framework.legacy.dll +0 -0
  126. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  127. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  128. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  129. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  130. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  131. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  132. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  133. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  134. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  135. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
  136. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  137. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  138. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  139. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  140. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  141. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  142. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  143. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  144. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  145. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  146. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  147. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
  148. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  149. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  150. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  151. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  152. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  153. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  154. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  155. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  156. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  157. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  158. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  159. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
  160. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  161. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  162. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testcentric.engine.metadata.dll +0 -0
  163. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testhost.dll +0 -0
  164. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testhost.exe +0 -0
  165. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  166. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  167. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  168. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  169. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  170. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  171. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  172. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  173. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  174. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
  175. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  176. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  177. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  178. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  179. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  180. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  181. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  182. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  183. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  184. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  185. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  186. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
  187. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  188. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  189. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  190. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  191. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  192. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  193. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  194. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  195. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  196. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  197. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  198. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
  199. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  200. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  201. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  202. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  203. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.ApplicationInsights.dll +0 -0
  204. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  205. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.CodeAnalysis.dll +0 -0
  206. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Extensions.DependencyModel.dll +0 -0
  207. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
  208. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  209. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  210. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  211. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  212. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
  213. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
  214. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
  215. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
  216. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
  217. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Platform.dll +0 -0
  218. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  219. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  220. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  221. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/NUnit3.TestAdapter.dll +0 -0
  222. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Newtonsoft.Json.dll +0 -0
  223. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +0 -817
  224. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  225. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +0 -14
  226. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  227. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  228. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  229. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  230. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  231. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  232. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  233. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  234. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  235. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  236. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
  237. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  238. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  239. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  240. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  241. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  242. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  243. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  244. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  245. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  246. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  247. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  248. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
  249. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  250. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  251. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  252. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  253. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  254. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  255. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  256. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  257. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  258. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  259. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  260. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
  261. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  262. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  263. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  264. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  265. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  266. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  267. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  268. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  269. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  270. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  271. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  272. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
  273. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  274. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  275. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  276. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  277. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  278. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  279. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  280. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  281. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  282. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  283. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  284. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
  285. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  286. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  287. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  288. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  289. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  290. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  291. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  292. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  293. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  294. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  295. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  296. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
  297. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  298. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  299. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  300. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  301. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  302. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  303. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  304. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  305. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  306. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  307. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  308. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
  309. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  310. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  311. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.api.dll +0 -0
  312. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.core.dll +0 -0
  313. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.dll +0 -0
  314. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.framework.dll +0 -0
  315. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.framework.legacy.dll +0 -0
  316. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  317. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  318. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  319. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  320. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  321. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  322. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  323. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  324. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  325. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
  326. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  327. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  328. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  329. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  330. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  331. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  332. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  333. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  334. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  335. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  336. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  337. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
  338. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  339. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  340. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  341. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  342. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  343. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  344. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  345. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  346. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  347. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  348. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  349. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
  350. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  351. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  352. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testcentric.engine.metadata.dll +0 -0
  353. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testhost.dll +0 -0
  354. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testhost.exe +0 -0
  355. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  356. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  357. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  358. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  359. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  360. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  361. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  362. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  363. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  364. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
  365. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  366. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  367. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  368. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  369. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  370. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  371. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  372. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  373. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  374. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  375. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  376. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
  377. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  378. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  379. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  380. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  381. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  382. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  383. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  384. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  385. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  386. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  387. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  388. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
  389. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  390. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  391. package/.artifacts/SourceGenerators.Tests/bin/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  392. package/.artifacts/SourceGenerators.Tests/bin/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  393. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.ApplicationInsights.dll +0 -0
  394. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  395. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.CodeAnalysis.dll +0 -0
  396. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Extensions.DependencyModel.dll +0 -0
  397. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
  398. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  399. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  400. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  401. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  402. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
  403. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
  404. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
  405. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
  406. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
  407. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Platform.dll +0 -0
  408. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  409. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  410. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  411. package/.artifacts/SourceGenerators.Tests/bin/net9.0/NUnit3.TestAdapter.dll +0 -0
  412. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Newtonsoft.Json.dll +0 -0
  413. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +0 -872
  414. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  415. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +0 -13
  416. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  417. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  418. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  419. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  420. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  421. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  422. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  423. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  424. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  425. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  426. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
  427. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  428. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  429. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  430. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  431. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  432. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  433. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  434. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  435. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  436. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  437. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  438. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
  439. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  440. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  441. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  442. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  443. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  444. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  445. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  446. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  447. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  448. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  449. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  450. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
  451. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  452. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  453. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  454. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  455. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  456. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  457. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  458. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  459. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  460. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  461. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  462. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
  463. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  464. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  465. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  466. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  467. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  468. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  469. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  470. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  471. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  472. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  473. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  474. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
  475. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  476. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  477. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  478. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  479. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  480. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  481. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  482. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  483. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  484. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  485. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  486. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
  487. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  488. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  489. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  490. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  491. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  492. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  493. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  494. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  495. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  496. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  497. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  498. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
  499. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  500. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  501. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.api.dll +0 -0
  502. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.core.dll +0 -0
  503. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.dll +0 -0
  504. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.framework.dll +0 -0
  505. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.framework.legacy.dll +0 -0
  506. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  507. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  508. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  509. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  510. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  511. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  512. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  513. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  514. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  515. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
  516. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  517. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  518. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  519. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  520. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  521. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  522. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  523. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  524. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  525. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  526. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  527. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
  528. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  529. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  530. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  531. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  532. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  533. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  534. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  535. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  536. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  537. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  538. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  539. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
  540. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  541. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  542. package/.artifacts/SourceGenerators.Tests/bin/net9.0/testcentric.engine.metadata.dll +0 -0
  543. package/.artifacts/SourceGenerators.Tests/bin/net9.0/testhost.dll +0 -0
  544. package/.artifacts/SourceGenerators.Tests/bin/net9.0/testhost.exe +0 -0
  545. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  546. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  547. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  548. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  549. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  550. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  551. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  552. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  553. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  554. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
  555. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  556. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  557. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  558. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  559. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  560. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  561. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  562. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  563. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  564. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  565. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  566. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
  567. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  568. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  569. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  570. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  571. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  572. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  573. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  574. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  575. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  576. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  577. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  578. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
  579. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  580. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  581. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  582. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
  583. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +0 -22
  584. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +0 -25
  585. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +0 -8
  586. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +0 -28
  587. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  588. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +0 -1
  589. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  590. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  591. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  592. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
  593. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +0 -23
  594. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +0 -17
  595. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +0 -8
  596. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.BuildWithSkipAnalyzers +0 -0
  597. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +0 -84
  598. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  599. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +0 -1
  600. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  601. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  602. package/.artifacts/SourceGenerators.Tests/obj/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  603. package/.artifacts/SourceGenerators.Tests/obj/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
  604. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +0 -22
  605. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +0 -23
  606. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +0 -8
  607. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +0 -55
  608. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  609. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +0 -1
  610. package/.artifacts/SourceGenerators.Tests/obj/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  611. package/.artifacts/SourceGenerators.Tests/obj/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  612. package/.config/dotnet-tools.json +0 -10
  613. package/.csharpierignore +0 -1
  614. package/.csharpierrc.json +0 -3
  615. package/.cspell.json +0 -222
  616. package/.cursorrules +0 -3
  617. package/.devcontainer/.dockerignore +0 -92
  618. package/.devcontainer/Dockerfile +0 -475
  619. package/.devcontainer/devcontainer.json +0 -54
  620. package/.devcontainer/verify-tools.sh +0 -183
  621. package/.editorconfig +0 -190
  622. package/.gitattributes +0 -99
  623. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -95
  624. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  625. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -46
  626. package/.github/copilot-instructions.md +0 -3
  627. package/.github/dependabot.yml +0 -66
  628. package/.github/pull_request_template.md +0 -30
  629. package/.github/release-drafter.yml +0 -92
  630. package/.github/scripts/check-markdown-links.ps1 +0 -101
  631. package/.github/scripts/check_markdown_links.py +0 -187
  632. package/.github/scripts/check_markdown_url_encoding.py +0 -74
  633. package/.github/scripts/test_check_markdown_links.py +0 -545
  634. package/.github/scripts/validate_markdown_links.py +0 -194
  635. package/.github/workflows/actionlint.yml +0 -47
  636. package/.github/workflows/csharpier-autofix.yml +0 -192
  637. package/.github/workflows/deploy-docs.yml +0 -118
  638. package/.github/workflows/dotnet-tests.yml +0 -85
  639. package/.github/workflows/format-on-demand.yml +0 -309
  640. package/.github/workflows/json-format-check.yml +0 -59
  641. package/.github/workflows/lint-doc-links.yml +0 -44
  642. package/.github/workflows/markdown-json.yml +0 -63
  643. package/.github/workflows/markdown-link-text-check.yml +0 -32
  644. package/.github/workflows/markdown-link-validity.yml +0 -43
  645. package/.github/workflows/markdownlint.yml +0 -57
  646. package/.github/workflows/prettier-autofix.yml +0 -266
  647. package/.github/workflows/release-drafter.yml +0 -135
  648. package/.github/workflows/spellcheck.yml +0 -56
  649. package/.github/workflows/sync-wiki.yml +0 -139
  650. package/.github/workflows/update-dotnet-tools.yml +0 -84
  651. package/.github/workflows/validate-docs.yml +0 -196
  652. package/.github/workflows/validate-skills.yml +0 -46
  653. package/.github/workflows/yaml-format-lint.yml +0 -68
  654. package/.llm/context.md +0 -379
  655. package/.llm/skills/documentation/changelog-entry-writing.md +0 -277
  656. package/.llm/skills/documentation/changelog-management.md +0 -228
  657. package/.llm/skills/documentation/changelog-release-workflow.md +0 -249
  658. package/.llm/skills/documentation/documentation-code-samples.md +0 -262
  659. package/.llm/skills/documentation/documentation-style-guide.md +0 -203
  660. package/.llm/skills/documentation/documentation-update-workflow.md +0 -148
  661. package/.llm/skills/documentation/documentation-updates.md +0 -148
  662. package/.llm/skills/documentation/documentation-xml-docs.md +0 -190
  663. package/.llm/skills/documentation/external-url-fragment-validation.md +0 -181
  664. package/.llm/skills/documentation/github-actions-version-consistency.md +0 -203
  665. package/.llm/skills/documentation/link-quality-guidelines.md +0 -267
  666. package/.llm/skills/documentation/markdown-compatibility.md +0 -476
  667. package/.llm/skills/documentation/mermaid-theming.md +0 -326
  668. package/.llm/skills/documentation/mkdocs-navigation.md +0 -290
  669. package/.llm/skills/documentation/skill-file-sizing.md +0 -260
  670. package/.llm/skills/github-actions/git-renormalize-patterns.md +0 -231
  671. package/.llm/skills/github-actions/workflow-consistency.md +0 -346
  672. package/.llm/skills/index.md +0 -257
  673. package/.llm/skills/performance/aggressive-inlining-performance-notes.md +0 -94
  674. package/.llm/skills/performance/aggressive-inlining.md +0 -342
  675. package/.llm/skills/performance/array-pooling-usage-examples.md +0 -145
  676. package/.llm/skills/performance/array-pooling.md +0 -315
  677. package/.llm/skills/performance/cache-eviction-builder.md +0 -203
  678. package/.llm/skills/performance/cache-eviction-implementation.md +0 -340
  679. package/.llm/skills/performance/cache-eviction-policies.md +0 -176
  680. package/.llm/skills/performance/collection-pooling.md +0 -313
  681. package/.llm/skills/performance/object-pooling-anti-patterns.md +0 -144
  682. package/.llm/skills/performance/object-pooling-usage-examples.md +0 -114
  683. package/.llm/skills/performance/object-pooling-variations.md +0 -147
  684. package/.llm/skills/performance/object-pooling.md +0 -319
  685. package/.llm/skills/performance/readonly-struct-cached-hash-performance-notes.md +0 -91
  686. package/.llm/skills/performance/readonly-struct-cached-hash.md +0 -337
  687. package/.llm/skills/performance/serializable-dictionary-property-drawer.md +0 -147
  688. package/.llm/skills/performance/serializable-dictionary-usage-examples.md +0 -135
  689. package/.llm/skills/performance/serializable-dictionary.md +0 -281
  690. package/.llm/skills/performance/singleton-autoload.md +0 -111
  691. package/.llm/skills/performance/singleton-patterns.md +0 -165
  692. package/.llm/skills/performance/singleton-runtime.md +0 -187
  693. package/.llm/skills/performance/singleton-scriptableobject.md +0 -177
  694. package/.llm/skills/performance/singleton-usage-examples.md +0 -139
  695. package/.llm/skills/performance/stringbuilder-pooling.md +0 -319
  696. package/.llm/skills/performance/yield-instruction-pooling.md +0 -347
  697. package/.llm/skills/scripting/cross-platform-compatibility.md +0 -224
  698. package/.llm/skills/scripting/cross-platform-compatibility.md.meta +0 -7
  699. package/.llm/skills/scripting/javascript-code-quality.md +0 -417
  700. package/.llm/skills/scripting/powershell-best-practices.md +0 -386
  701. package/.llm/skills/scripting/regex-documentation.md +0 -461
  702. package/.llm/skills/scripting/shell-best-practices.md +0 -386
  703. package/.llm/skills/scripting/validation-patterns.md +0 -418
  704. package/.llm/skills/solid/collection-extensions-accessors.md +0 -229
  705. package/.llm/skills/solid/collection-extensions-shuffle.md +0 -144
  706. package/.llm/skills/solid/collection-extensions-type-specialization.md +0 -168
  707. package/.llm/skills/solid/collection-extensions.md +0 -144
  708. package/.llm/skills/solid/fluent-builder-pattern-templates.md +0 -117
  709. package/.llm/skills/solid/fluent-builder-pattern-usage-examples.md +0 -128
  710. package/.llm/skills/solid/fluent-builder-pattern.md +0 -322
  711. package/.llm/skills/solid/iequatable-implementation-usage.md +0 -111
  712. package/.llm/skills/solid/iequatable-implementation-variants.md +0 -201
  713. package/.llm/skills/solid/iequatable-implementation.md +0 -239
  714. package/.llm/skills/solid/try-pattern-apis-usage.md +0 -136
  715. package/.llm/skills/solid/try-pattern-apis-variants.md +0 -233
  716. package/.llm/skills/solid/try-pattern-apis.md +0 -220
  717. package/.llm/skills/specification.md +0 -468
  718. package/.llm/skills/templates/skill-template.md +0 -143
  719. package/.llm/skills/testing/comprehensive-test-coverage.md +0 -141
  720. package/.llm/skills/testing/data-driven-tests-sources.md +0 -255
  721. package/.llm/skills/testing/data-driven-tests-usage.md +0 -107
  722. package/.llm/skills/testing/data-driven-tests.md +0 -197
  723. package/.llm/skills/testing/git-workflow-robustness.md +0 -369
  724. package/.llm/skills/testing/script-test-coverage.md +0 -259
  725. package/.llm/skills/testing/script-test-coverage.md.meta +0 -7
  726. package/.llm/skills/testing/shared-test-fixtures-generic-base.md +0 -185
  727. package/.llm/skills/testing/shared-test-fixtures-reference-counting.md +0 -252
  728. package/.llm/skills/testing/shared-test-fixtures.md +0 -165
  729. package/.llm/skills/testing/test-base-class-cleanup-usage.md +0 -218
  730. package/.llm/skills/testing/test-base-class-cleanup.md +0 -323
  731. package/.llm/skills/testing/test-categories-execution.md +0 -142
  732. package/.llm/skills/testing/test-categories.md +0 -287
  733. package/.llm/skills/testing/test-code-quality.md +0 -243
  734. package/.llm/skills/testing/test-coverage-data-driven.md +0 -172
  735. package/.llm/skills/testing/test-coverage-organization-assertions.md +0 -171
  736. package/.llm/skills/testing/test-coverage-scenario-categories.md +0 -223
  737. package/.llm/skills/testing/test-coverage-unity-anti-patterns.md +0 -232
  738. package/.llm/skills/testing/test-diagnostics-patterns.md +0 -189
  739. package/.llm/skills/testing/test-diagnostics-usage.md +0 -196
  740. package/.llm/skills/testing/test-diagnostics.md +0 -247
  741. package/.llm/skills/testing/test-failure-investigation-procedure.md +0 -216
  742. package/.llm/skills/testing/test-failure-investigation-root-causes.md +0 -186
  743. package/.llm/skills/testing/test-failure-investigation.md +0 -119
  744. package/.llm/skills/testing/test-invalid-skill.md +0 -26
  745. package/.llm/skills/testing/test-production-code.md +0 -348
  746. package/.lychee.toml +0 -30
  747. package/.markdownlint-cli2.jsonc +0 -17
  748. package/.markdownlint.json +0 -23
  749. package/.markdownlint.jsonc +0 -23
  750. package/.markdownlintignore +0 -7
  751. package/.pre-commit-config.yaml +0 -165
  752. package/.prettierignore +0 -21
  753. package/.prettierrc.json +0 -20
  754. package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.metadata.v10.bin +0 -0
  755. package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.projects.v10.bin +0 -0
  756. package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.strings.v10.bin +0 -0
  757. package/.vs/ProjectSettings.json +0 -3
  758. package/.vs/VSWorkspaceState.json +0 -9
  759. package/.vs/com.wallstop-studios.dxmessaging/CopilotIndices/17.14.1347.20289/CodeChunks.db +0 -0
  760. package/.vs/com.wallstop-studios.dxmessaging/CopilotIndices/17.14.1347.20289/SemanticSymbols.db +0 -0
  761. package/.vs/com.wallstop-studios.dxmessaging/DesignTimeBuild/.dtbcache.v2 +0 -0
  762. package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/41b4588f-fa0f-484b-a29b-733b6ce84c26.vsidx +0 -0
  763. package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/9a73875f-5693-4296-95fd-0672bf61c5ac.vsidx +0 -0
  764. package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/fd44ab3e-7015-4c20-918a-a0a916be8934.vsidx +0 -0
  765. package/.vs/com.wallstop-studios.dxmessaging/v17/.futdcache.v2 +0 -0
  766. package/.vs/com.wallstop-studios.dxmessaging/v17/.wsuo +0 -0
  767. package/.vs/com.wallstop-studios.dxmessaging/v17/DocumentLayout.backup.json +0 -82
  768. package/.vs/com.wallstop-studios.dxmessaging/v17/DocumentLayout.json +0 -82
  769. package/.vs/com.wallstop-studios.dxmessaging/v17/TestStore/0/000.testlog +0 -0
  770. package/.vs/com.wallstop-studios.dxmessaging/v17/TestStore/0/testlog.manifest +0 -0
  771. package/.vs/com.wallstop-studios.dxmessaging/v17/csharpier.json +0 -1
  772. package/.vs/com.wallstop-studios.dxmessaging/v18/.futdcache.v2 +0 -0
  773. package/.vs/com.wallstop-studios.dxmessaging/v18/DocumentLayout.backup.json +0 -86
  774. package/.vs/com.wallstop-studios.dxmessaging/v18/DocumentLayout.json +0 -86
  775. package/.vs/slnx.sqlite +0 -0
  776. package/.yamllint.yaml +0 -31
  777. package/AGENTS.md +0 -3
  778. package/AGENTS.md.meta +0 -7
  779. package/CLAUDE.md +0 -3
  780. package/CLAUDE.md.meta +0 -7
  781. package/CONTRIBUTING.md +0 -43
  782. package/CONTRIBUTING.md.meta +0 -7
  783. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/CopilotIndices/17.14.1231.31060/CodeChunks.db +0 -0
  784. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/CopilotIndices/17.14.1231.31060/SemanticSymbols.db +0 -0
  785. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/DesignTimeBuild/.dtbcache.v2 +0 -0
  786. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/FileContentIndex/c90afd9b-d899-4546-bd92-ab874e448437.vsidx +0 -0
  787. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/v17/.futdcache.v2 +0 -0
  788. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DocsSnippetCompilationTests.cs +0 -544
  789. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DocsSnippetCompilationTests.cs.meta +0 -11
  790. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DxAutoConstructorGeneratorDiagnosticsTests.cs +0 -69
  791. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DxAutoConstructorGeneratorDiagnosticsTests.cs.meta +0 -11
  792. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DxMessageIdGeneratorDiagnosticsTests.cs +0 -66
  793. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DxMessageIdGeneratorDiagnosticsTests.cs.meta +0 -11
  794. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/GeneratorTestUtilities.cs +0 -155
  795. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/GeneratorTestUtilities.cs.meta +0 -11
  796. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj +0 -20
  797. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.meta +0 -7
  798. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests.meta +0 -8
  799. package/Tests/Editor/MessagingComponentEditorHarnessTests.cs +0 -243
  800. package/Tests/Editor/MessagingComponentEditorHarnessTests.cs.meta +0 -3
  801. package/Tests/Editor/MessagingComponentSerializationTests.cs +0 -129
  802. package/Tests/Editor/MessagingComponentSerializationTests.cs.meta +0 -3
  803. package/Tests/Editor/WallstopStudios.DxMessaging.Tests.Editor.asmdef +0 -19
  804. package/Tests/Editor/WallstopStudios.DxMessaging.Tests.Editor.asmdef.meta +0 -3
  805. package/Tests/Editor.meta +0 -3
  806. package/Tests/Runtime/Benchmarks/BenchmarkSession.cs +0 -450
  807. package/Tests/Runtime/Benchmarks/BenchmarkSession.cs.meta +0 -11
  808. package/Tests/Runtime/Benchmarks/BenchmarkTestBase.cs +0 -97
  809. package/Tests/Runtime/Benchmarks/BenchmarkTestBase.cs.meta +0 -11
  810. package/Tests/Runtime/Benchmarks/ComparisonPerformanceTests.cs +0 -398
  811. package/Tests/Runtime/Benchmarks/ComparisonPerformanceTests.cs.meta +0 -11
  812. package/Tests/Runtime/Benchmarks/PerformanceTests.cs +0 -623
  813. package/Tests/Runtime/Benchmarks/PerformanceTests.cs.meta +0 -11
  814. package/Tests/Runtime/Benchmarks/ProviderResolutionBenchmarks.cs +0 -142
  815. package/Tests/Runtime/Benchmarks/ProviderResolutionBenchmarks.cs.meta +0 -12
  816. package/Tests/Runtime/Benchmarks/WallstopStudios.DxMessaging.Tests.Runtime.Benchmarks.asmdef +0 -45
  817. package/Tests/Runtime/Benchmarks/WallstopStudios.DxMessaging.Tests.Runtime.Benchmarks.asmdef.meta +0 -7
  818. package/Tests/Runtime/Benchmarks.meta +0 -8
  819. package/Tests/Runtime/Core/AlternateBusTests.cs +0 -85
  820. package/Tests/Runtime/Core/AlternateBusTests.cs.meta +0 -11
  821. package/Tests/Runtime/Core/BroadcastTests.cs +0 -914
  822. package/Tests/Runtime/Core/BroadcastTests.cs.meta +0 -11
  823. package/Tests/Runtime/Core/CyclicBufferTests.cs +0 -343
  824. package/Tests/Runtime/Core/CyclicBufferTests.cs.meta +0 -11
  825. package/Tests/Runtime/Core/DefaultBusFallbackTests.cs +0 -336
  826. package/Tests/Runtime/Core/DefaultBusFallbackTests.cs.meta +0 -11
  827. package/Tests/Runtime/Core/DiagnosticsTests.cs +0 -193
  828. package/Tests/Runtime/Core/DiagnosticsTests.cs.meta +0 -11
  829. package/Tests/Runtime/Core/DxMessagingStaticStateTests.cs +0 -69
  830. package/Tests/Runtime/Core/DxMessagingStaticStateTests.cs.meta +0 -11
  831. package/Tests/Runtime/Core/EdgeCaseTests.cs +0 -582
  832. package/Tests/Runtime/Core/EdgeCaseTests.cs.meta +0 -11
  833. package/Tests/Runtime/Core/EnablementTests.cs +0 -72
  834. package/Tests/Runtime/Core/EnablementTests.cs.meta +0 -3
  835. package/Tests/Runtime/Core/Extensions/MessageBusExtensionsTests.cs +0 -259
  836. package/Tests/Runtime/Core/Extensions/MessageBusExtensionsTests.cs.meta +0 -11
  837. package/Tests/Runtime/Core/Extensions/MessageExtensionsProviderTests.cs +0 -289
  838. package/Tests/Runtime/Core/Extensions/MessageExtensionsProviderTests.cs.meta +0 -11
  839. package/Tests/Runtime/Core/Extensions.meta +0 -8
  840. package/Tests/Runtime/Core/GenericMessageTests.cs +0 -50
  841. package/Tests/Runtime/Core/GenericMessageTests.cs.meta +0 -3
  842. package/Tests/Runtime/Core/GlobalAcceptAllTests.cs +0 -193
  843. package/Tests/Runtime/Core/GlobalAcceptAllTests.cs.meta +0 -11
  844. package/Tests/Runtime/Core/IntegrationShimSmokeTests.cs +0 -57
  845. package/Tests/Runtime/Core/IntegrationShimSmokeTests.cs.meta +0 -11
  846. package/Tests/Runtime/Core/InterceptorCancellationTests.cs +0 -173
  847. package/Tests/Runtime/Core/InterceptorCancellationTests.cs.meta +0 -11
  848. package/Tests/Runtime/Core/LifecycleTests.cs +0 -75
  849. package/Tests/Runtime/Core/LifecycleTests.cs.meta +0 -11
  850. package/Tests/Runtime/Core/MessageEmissionDataTests.cs +0 -70
  851. package/Tests/Runtime/Core/MessageEmissionDataTests.cs.meta +0 -11
  852. package/Tests/Runtime/Core/MessageHandlerGlobalBusTests.cs +0 -219
  853. package/Tests/Runtime/Core/MessageHandlerGlobalBusTests.cs.meta +0 -11
  854. package/Tests/Runtime/Core/MessageRegistrationBuilderTests.cs +0 -204
  855. package/Tests/Runtime/Core/MessageRegistrationBuilderTests.cs.meta +0 -11
  856. package/Tests/Runtime/Core/MessagingComponentLifecycleTests.cs +0 -92
  857. package/Tests/Runtime/Core/MessagingComponentLifecycleTests.cs.meta +0 -11
  858. package/Tests/Runtime/Core/MessagingTestBase.cs +0 -211
  859. package/Tests/Runtime/Core/MessagingTestBase.cs.meta +0 -11
  860. package/Tests/Runtime/Core/MutationDedupeTests.cs +0 -101
  861. package/Tests/Runtime/Core/MutationDedupeTests.cs.meta +0 -11
  862. package/Tests/Runtime/Core/MutationDestructionTests.cs +0 -437
  863. package/Tests/Runtime/Core/MutationDestructionTests.cs.meta +0 -11
  864. package/Tests/Runtime/Core/MutationDuringEmissionTests.cs +0 -2141
  865. package/Tests/Runtime/Core/MutationDuringEmissionTests.cs.meta +0 -11
  866. package/Tests/Runtime/Core/MutationGlobalAddTests.cs +0 -102
  867. package/Tests/Runtime/Core/MutationGlobalAddTests.cs.meta +0 -11
  868. package/Tests/Runtime/Core/MutationHighVolumeStressTests.cs +0 -512
  869. package/Tests/Runtime/Core/MutationHighVolumeStressTests.cs.meta +0 -11
  870. package/Tests/Runtime/Core/MutationInterceptorTests.cs +0 -190
  871. package/Tests/Runtime/Core/MutationInterceptorTests.cs.meta +0 -11
  872. package/Tests/Runtime/Core/MutationPostProcessorAcrossHandlersTests.cs +0 -109
  873. package/Tests/Runtime/Core/MutationPostProcessorAcrossHandlersTests.cs.meta +0 -11
  874. package/Tests/Runtime/Core/MutationPostProcessorMoreTests.cs +0 -117
  875. package/Tests/Runtime/Core/MutationPostProcessorMoreTests.cs.meta +0 -11
  876. package/Tests/Runtime/Core/MutationPriorityTests.cs +0 -119
  877. package/Tests/Runtime/Core/MutationPriorityTests.cs.meta +0 -11
  878. package/Tests/Runtime/Core/NominalTests.cs +0 -1738
  879. package/Tests/Runtime/Core/NominalTests.cs.meta +0 -11
  880. package/Tests/Runtime/Core/OrderingManyRegistrationsTests.cs +0 -683
  881. package/Tests/Runtime/Core/OrderingManyRegistrationsTests.cs.meta +0 -11
  882. package/Tests/Runtime/Core/OrderingTests.cs +0 -1932
  883. package/Tests/Runtime/Core/OrderingTests.cs.meta +0 -11
  884. package/Tests/Runtime/Core/OverDeregistrationTests.cs +0 -128
  885. package/Tests/Runtime/Core/OverDeregistrationTests.cs.meta +0 -11
  886. package/Tests/Runtime/Core/PostProcessorTests.cs +0 -1248
  887. package/Tests/Runtime/Core/PostProcessorTests.cs.meta +0 -11
  888. package/Tests/Runtime/Core/ReflexiveErrorTests.cs +0 -43
  889. package/Tests/Runtime/Core/ReflexiveErrorTests.cs.meta +0 -11
  890. package/Tests/Runtime/Core/ReflexiveMessageWarningTests.cs +0 -89
  891. package/Tests/Runtime/Core/ReflexiveMessageWarningTests.cs.meta +0 -11
  892. package/Tests/Runtime/Core/ReflexiveTests.cs +0 -173
  893. package/Tests/Runtime/Core/ReflexiveTests.cs.meta +0 -11
  894. package/Tests/Runtime/Core/RegistrationTests.cs +0 -1269
  895. package/Tests/Runtime/Core/RegistrationTests.cs.meta +0 -11
  896. package/Tests/Runtime/Core/SourceGeneratorNestedTests.cs +0 -116
  897. package/Tests/Runtime/Core/SourceGeneratorNestedTests.cs.meta +0 -11
  898. package/Tests/Runtime/Core/StringShorthandTests.cs +0 -101
  899. package/Tests/Runtime/Core/StringShorthandTests.cs.meta +0 -12
  900. package/Tests/Runtime/Core/TargetedTests.cs +0 -905
  901. package/Tests/Runtime/Core/TargetedTests.cs.meta +0 -11
  902. package/Tests/Runtime/Core/TypedShorthandTests.cs +0 -233
  903. package/Tests/Runtime/Core/TypedShorthandTests.cs.meta +0 -12
  904. package/Tests/Runtime/Core/UntargetedEquivalenceTests.cs +0 -173
  905. package/Tests/Runtime/Core/UntargetedEquivalenceTests.cs.meta +0 -12
  906. package/Tests/Runtime/Core/UntargetedPrefreezeTests.cs +0 -50
  907. package/Tests/Runtime/Core/UntargetedPrefreezeTests.cs.meta +0 -11
  908. package/Tests/Runtime/Core/UntargetedTests.cs +0 -280
  909. package/Tests/Runtime/Core/UntargetedTests.cs.meta +0 -11
  910. package/Tests/Runtime/Core.meta +0 -8
  911. package/Tests/Runtime/Integrations/Reflex/ReflexIntegrationTests.cs +0 -165
  912. package/Tests/Runtime/Integrations/Reflex/ReflexIntegrationTests.cs.meta +0 -11
  913. package/Tests/Runtime/Integrations/Reflex/Resources/ReflexSettings.asset +0 -16
  914. package/Tests/Runtime/Integrations/Reflex/Resources/ReflexSettings.asset.meta +0 -8
  915. package/Tests/Runtime/Integrations/Reflex/Resources.meta +0 -8
  916. package/Tests/Runtime/Integrations/Reflex/WallstopStudios.DxMessaging.Tests.Runtime.Reflex.asmdef +0 -27
  917. package/Tests/Runtime/Integrations/Reflex/WallstopStudios.DxMessaging.Tests.Runtime.Reflex.asmdef.meta +0 -7
  918. package/Tests/Runtime/Integrations/Reflex.meta +0 -8
  919. package/Tests/Runtime/Integrations/VContainer/VContainerIntegrationTests.cs +0 -143
  920. package/Tests/Runtime/Integrations/VContainer/VContainerIntegrationTests.cs.meta +0 -11
  921. package/Tests/Runtime/Integrations/VContainer/WallstopStudios.DxMessaging.Tests.Runtime.VContainer.asmdef +0 -37
  922. package/Tests/Runtime/Integrations/VContainer/WallstopStudios.DxMessaging.Tests.Runtime.VContainer.asmdef.meta +0 -7
  923. package/Tests/Runtime/Integrations/VContainer.meta +0 -8
  924. package/Tests/Runtime/Integrations/Zenject/WallstopStudios.DxMessaging.Tests.Runtime.Zenject.asmdef +0 -37
  925. package/Tests/Runtime/Integrations/Zenject/WallstopStudios.DxMessaging.Tests.Runtime.Zenject.asmdef.meta +0 -7
  926. package/Tests/Runtime/Integrations/Zenject/ZenjectIntegrationTests.cs +0 -142
  927. package/Tests/Runtime/Integrations/Zenject/ZenjectIntegrationTests.cs.meta +0 -11
  928. package/Tests/Runtime/Integrations/Zenject.meta +0 -8
  929. package/Tests/Runtime/Integrations.meta +0 -8
  930. package/Tests/Runtime/Scripts/Components/EmptyMessageAwareComponent.cs +0 -9
  931. package/Tests/Runtime/Scripts/Components/EmptyMessageAwareComponent.cs.meta +0 -11
  932. package/Tests/Runtime/Scripts/Components/GenericMessageAwareComponent.cs +0 -21
  933. package/Tests/Runtime/Scripts/Components/GenericMessageAwareComponent.cs.meta +0 -3
  934. package/Tests/Runtime/Scripts/Components/ManualListenerComponent.cs +0 -25
  935. package/Tests/Runtime/Scripts/Components/ManualListenerComponent.cs.meta +0 -11
  936. package/Tests/Runtime/Scripts/Components/ReflexiveReceiverComponent.cs +0 -17
  937. package/Tests/Runtime/Scripts/Components/ReflexiveReceiverComponent.cs.meta +0 -11
  938. package/Tests/Runtime/Scripts/Components/ShorthandTargetedBroadcastComponent.cs +0 -46
  939. package/Tests/Runtime/Scripts/Components/ShorthandTargetedBroadcastComponent.cs.meta +0 -12
  940. package/Tests/Runtime/Scripts/Components/SimpleMessageAwareComponent.cs +0 -198
  941. package/Tests/Runtime/Scripts/Components/SimpleMessageAwareComponent.cs.meta +0 -11
  942. package/Tests/Runtime/Scripts/Components/StringMessageAwareComponent.cs +0 -75
  943. package/Tests/Runtime/Scripts/Components/StringMessageAwareComponent.cs.meta +0 -12
  944. package/Tests/Runtime/Scripts/Components/UntargetedClassReceiverComponent.cs +0 -16
  945. package/Tests/Runtime/Scripts/Components/UntargetedClassReceiverComponent.cs.meta +0 -12
  946. package/Tests/Runtime/Scripts/Components/UntargetedReceiverComponent.cs +0 -16
  947. package/Tests/Runtime/Scripts/Components/UntargetedReceiverComponent.cs.meta +0 -12
  948. package/Tests/Runtime/Scripts/Components.meta +0 -8
  949. package/Tests/Runtime/Scripts/Messages/ClassUntargetedMessage.cs +0 -17
  950. package/Tests/Runtime/Scripts/Messages/ClassUntargetedMessage.cs.meta +0 -12
  951. package/Tests/Runtime/Scripts/Messages/ComplexTargetedMessage.cs +0 -29
  952. package/Tests/Runtime/Scripts/Messages/ComplexTargetedMessage.cs.meta +0 -11
  953. package/Tests/Runtime/Scripts/Messages/GenericUntargetedMessage.cs +0 -7
  954. package/Tests/Runtime/Scripts/Messages/GenericUntargetedMessage.cs.meta +0 -3
  955. package/Tests/Runtime/Scripts/Messages/SimpleBroadcastMessage.cs +0 -7
  956. package/Tests/Runtime/Scripts/Messages/SimpleBroadcastMessage.cs.meta +0 -11
  957. package/Tests/Runtime/Scripts/Messages/SimpleTargetedMessage.cs +0 -7
  958. package/Tests/Runtime/Scripts/Messages/SimpleTargetedMessage.cs.meta +0 -11
  959. package/Tests/Runtime/Scripts/Messages/SimpleUntargetedMessage.cs +0 -7
  960. package/Tests/Runtime/Scripts/Messages/SimpleUntargetedMessage.cs.meta +0 -11
  961. package/Tests/Runtime/Scripts/Messages.meta +0 -8
  962. package/Tests/Runtime/Scripts.meta +0 -8
  963. package/Tests/Runtime/TestUtilities/UnityFixtureBase.cs +0 -67
  964. package/Tests/Runtime/TestUtilities/UnityFixtureBase.cs.meta +0 -12
  965. package/Tests/Runtime/TestUtilities.meta +0 -9
  966. package/Tests/Runtime/Unity/MessageBusProviderAssetTests.cs +0 -60
  967. package/Tests/Runtime/Unity/MessageBusProviderAssetTests.cs.meta +0 -11
  968. package/Tests/Runtime/Unity/MessageBusProviderHandleTests.cs +0 -191
  969. package/Tests/Runtime/Unity/MessageBusProviderHandleTests.cs.meta +0 -12
  970. package/Tests/Runtime/Unity/MessagingComponentInstallerSceneTests.cs +0 -109
  971. package/Tests/Runtime/Unity/MessagingComponentInstallerSceneTests.cs.meta +0 -11
  972. package/Tests/Runtime/Unity/MessagingComponentProviderIntegrationTests.cs +0 -352
  973. package/Tests/Runtime/Unity/MessagingComponentProviderIntegrationTests.cs.meta +0 -12
  974. package/Tests/Runtime/Unity.meta +0 -9
  975. package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.asmdef +0 -21
  976. package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.asmdef.meta +0 -7
  977. package/Tests/Runtime.meta +0 -8
  978. package/Tests.meta +0 -8
  979. package/coverage/clover.xml +0 -219
  980. package/coverage/clover.xml.meta +0 -7
  981. package/coverage/coverage-final.json +0 -2
  982. package/coverage/coverage-final.json.meta +0 -7
  983. package/coverage/lcov-report/base.css +0 -224
  984. package/coverage/lcov-report/base.css.meta +0 -7
  985. package/coverage/lcov-report/block-navigation.js +0 -87
  986. package/coverage/lcov-report/block-navigation.js.meta +0 -7
  987. package/coverage/lcov-report/favicon.png +0 -0
  988. package/coverage/lcov-report/favicon.png.meta +0 -127
  989. package/coverage/lcov-report/index.html +0 -116
  990. package/coverage/lcov-report/index.html.meta +0 -7
  991. package/coverage/lcov-report/prettify.css +0 -1
  992. package/coverage/lcov-report/prettify.css.meta +0 -7
  993. package/coverage/lcov-report/prettify.js +0 -2
  994. package/coverage/lcov-report/prettify.js.meta +0 -7
  995. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  996. package/coverage/lcov-report/sort-arrow-sprite.png.meta +0 -127
  997. package/coverage/lcov-report/sorter.js +0 -210
  998. package/coverage/lcov-report/sorter.js.meta +0 -7
  999. package/coverage/lcov-report/transform-docs-to-wiki.js.html +0 -1312
  1000. package/coverage/lcov-report/transform-docs-to-wiki.js.html.meta +0 -7
  1001. package/coverage/lcov-report/vendor.meta +0 -8
  1002. package/coverage/lcov-report.meta +0 -8
  1003. package/coverage/lcov.info +0 -365
  1004. package/coverage/lcov.info.meta +0 -7
  1005. package/docs/advanced/emit-shorthands.md +0 -468
  1006. package/docs/advanced/emit-shorthands.md.meta +0 -7
  1007. package/docs/advanced/message-bus-providers.md +0 -497
  1008. package/docs/advanced/message-bus-providers.md.meta +0 -7
  1009. package/docs/advanced/registration-builders.md +0 -444
  1010. package/docs/advanced/registration-builders.md.meta +0 -7
  1011. package/docs/advanced/runtime-configuration.md +0 -408
  1012. package/docs/advanced/runtime-configuration.md.meta +0 -7
  1013. package/docs/advanced/string-messages.md +0 -71
  1014. package/docs/advanced/string-messages.md.meta +0 -7
  1015. package/docs/advanced.meta +0 -8
  1016. package/docs/architecture/comparisons.md +0 -1684
  1017. package/docs/architecture/comparisons.md.meta +0 -7
  1018. package/docs/architecture/design-and-architecture.md +0 -142
  1019. package/docs/architecture/design-and-architecture.md.meta +0 -7
  1020. package/docs/architecture/performance.md +0 -53
  1021. package/docs/architecture/performance.md.meta +0 -7
  1022. package/docs/architecture.meta +0 -8
  1023. package/docs/concepts/index.md +0 -37
  1024. package/docs/concepts/index.md.meta +0 -7
  1025. package/docs/concepts/interceptors-and-ordering.md +0 -522
  1026. package/docs/concepts/interceptors-and-ordering.md.meta +0 -7
  1027. package/docs/concepts/listening-patterns.md +0 -266
  1028. package/docs/concepts/listening-patterns.md.meta +0 -7
  1029. package/docs/concepts/mental-model.md +0 -390
  1030. package/docs/concepts/mental-model.md.meta +0 -7
  1031. package/docs/concepts/message-types.md +0 -218
  1032. package/docs/concepts/message-types.md.meta +0 -7
  1033. package/docs/concepts/targeting-and-context.md +0 -451
  1034. package/docs/concepts/targeting-and-context.md.meta +0 -7
  1035. package/docs/concepts.meta +0 -8
  1036. package/docs/examples/end-to-end-scene-transitions.md +0 -130
  1037. package/docs/examples/end-to-end-scene-transitions.md.meta +0 -7
  1038. package/docs/examples/end-to-end.md +0 -139
  1039. package/docs/examples/end-to-end.md.meta +0 -7
  1040. package/docs/examples.meta +0 -8
  1041. package/docs/getting-started/getting-started.md +0 -203
  1042. package/docs/getting-started/getting-started.md.meta +0 -7
  1043. package/docs/getting-started/index.md +0 -317
  1044. package/docs/getting-started/index.md.meta +0 -7
  1045. package/docs/getting-started/install.md +0 -89
  1046. package/docs/getting-started/install.md.meta +0 -7
  1047. package/docs/getting-started/overview.md +0 -159
  1048. package/docs/getting-started/overview.md.meta +0 -7
  1049. package/docs/getting-started/quick-start.md +0 -175
  1050. package/docs/getting-started/quick-start.md.meta +0 -7
  1051. package/docs/getting-started/visual-guide.md +0 -605
  1052. package/docs/getting-started/visual-guide.md.meta +0 -7
  1053. package/docs/getting-started.meta +0 -8
  1054. package/docs/guides/advanced.md +0 -261
  1055. package/docs/guides/advanced.md.meta +0 -7
  1056. package/docs/guides/diagnostics.md +0 -300
  1057. package/docs/guides/diagnostics.md.meta +0 -7
  1058. package/docs/guides/migration-guide.md +0 -513
  1059. package/docs/guides/migration-guide.md.meta +0 -7
  1060. package/docs/guides/patterns.md +0 -1080
  1061. package/docs/guides/patterns.md.meta +0 -7
  1062. package/docs/guides/testing.md +0 -243
  1063. package/docs/guides/testing.md.meta +0 -7
  1064. package/docs/guides/unity-integration.md +0 -139
  1065. package/docs/guides/unity-integration.md.meta +0 -7
  1066. package/docs/guides.meta +0 -8
  1067. package/docs/hooks.py +0 -177
  1068. package/docs/hooks.py.meta +0 -7
  1069. package/docs/images/DxMessaging-banner.svg +0 -119
  1070. package/docs/images/DxMessaging-banner.svg.meta +0 -7
  1071. package/docs/images.meta +0 -8
  1072. package/docs/index.md +0 -61
  1073. package/docs/index.md.meta +0 -7
  1074. package/docs/integrations/index.md +0 -66
  1075. package/docs/integrations/index.md.meta +0 -7
  1076. package/docs/integrations/reflex.md +0 -317
  1077. package/docs/integrations/reflex.md.meta +0 -7
  1078. package/docs/integrations/vcontainer.md +0 -333
  1079. package/docs/integrations/vcontainer.md.meta +0 -7
  1080. package/docs/integrations/zenject.md +0 -333
  1081. package/docs/integrations/zenject.md.meta +0 -7
  1082. package/docs/integrations.meta +0 -8
  1083. package/docs/javascripts/csharp-highlight.js +0 -246
  1084. package/docs/javascripts/csharp-highlight.js.meta +0 -7
  1085. package/docs/javascripts/mermaid-config.js +0 -387
  1086. package/docs/javascripts/mermaid-config.js.meta +0 -7
  1087. package/docs/javascripts.meta +0 -8
  1088. package/docs/reference/compatibility.md +0 -44
  1089. package/docs/reference/compatibility.md.meta +0 -7
  1090. package/docs/reference/faq.md +0 -57
  1091. package/docs/reference/faq.md.meta +0 -7
  1092. package/docs/reference/glossary.md +0 -267
  1093. package/docs/reference/glossary.md.meta +0 -7
  1094. package/docs/reference/helpers.md +0 -989
  1095. package/docs/reference/helpers.md.meta +0 -7
  1096. package/docs/reference/quick-reference.md +0 -269
  1097. package/docs/reference/quick-reference.md.meta +0 -7
  1098. package/docs/reference/reference.md +0 -365
  1099. package/docs/reference/reference.md.meta +0 -7
  1100. package/docs/reference/troubleshooting.md +0 -63
  1101. package/docs/reference/troubleshooting.md.meta +0 -7
  1102. package/docs/reference.meta +0 -8
  1103. package/docs/stylesheets/extra.css +0 -485
  1104. package/docs/stylesheets/extra.css.meta +0 -7
  1105. package/docs/stylesheets.meta +0 -8
  1106. package/docs.meta +0 -8
  1107. package/mkdocs.yml +0 -200
  1108. package/mkdocs.yml.meta +0 -7
  1109. package/requirements-docs.txt +0 -23
  1110. package/requirements-docs.txt.meta +0 -7
  1111. package/scripts/__tests__/generate-skills-index.test.js +0 -397
  1112. package/scripts/__tests__/generate-skills-index.test.js.meta +0 -7
  1113. package/scripts/__tests__/mermaid-config.test.js +0 -467
  1114. package/scripts/__tests__/mermaid-config.test.js.meta +0 -7
  1115. package/scripts/__tests__/sync-banner-version.test.js +0 -606
  1116. package/scripts/__tests__/sync-banner-version.test.js.meta +0 -7
  1117. package/scripts/__tests__/validate-skills-optional-fields.test.js +0 -1474
  1118. package/scripts/__tests__/validate-skills-optional-fields.test.js.meta +0 -7
  1119. package/scripts/__tests__/validate-skills-required-fields.test.js +0 -188
  1120. package/scripts/__tests__/validate-skills-required-fields.test.js.meta +0 -7
  1121. package/scripts/__tests__/validate-skills-tags.test.js +0 -353
  1122. package/scripts/__tests__/validate-skills-tags.test.js.meta +0 -7
  1123. package/scripts/__tests__/validate-workflows.test.js +0 -188
  1124. package/scripts/__tests__/validate-workflows.test.js.meta +0 -7
  1125. package/scripts/__tests__.meta +0 -8
  1126. package/scripts/check-eol.js +0 -365
  1127. package/scripts/check-eol.js.meta +0 -7
  1128. package/scripts/check-eol.ps1 +0 -179
  1129. package/scripts/check-eol.ps1.meta +0 -8
  1130. package/scripts/fix-eol.js +0 -164
  1131. package/scripts/fix-eol.js.meta +0 -7
  1132. package/scripts/fix-markdown-file.js +0 -64
  1133. package/scripts/fix-markdown-file.js.meta +0 -7
  1134. package/scripts/fix-md036-headings.js +0 -71
  1135. package/scripts/fix-md036-headings.js.meta +0 -7
  1136. package/scripts/generate-skills-index.js +0 -597
  1137. package/scripts/generate-skills-index.js.meta +0 -7
  1138. package/scripts/generate-skills-index.ps1 +0 -38
  1139. package/scripts/generate-skills-index.ps1.meta +0 -7
  1140. package/scripts/hooks/pre-commit +0 -59
  1141. package/scripts/hooks/pre-commit.meta +0 -7
  1142. package/scripts/hooks.meta +0 -8
  1143. package/scripts/lint-doc-links.ps1 +0 -25
  1144. package/scripts/lint-doc-links.ps1.meta +0 -7
  1145. package/scripts/sync-banner-version.ps1 +0 -133
  1146. package/scripts/sync-banner-version.ps1.meta +0 -7
  1147. package/scripts/sync-banner-version.sh +0 -16
  1148. package/scripts/sync-banner-version.sh.meta +0 -7
  1149. package/scripts/validate-skills.js +0 -757
  1150. package/scripts/validate-skills.js.meta +0 -7
  1151. package/scripts/validate-workflows.js +0 -272
  1152. package/scripts/validate-workflows.js.meta +0 -7
  1153. package/scripts/wiki/__tests__/transform.test.js +0 -380
  1154. package/scripts/wiki/__tests__/transform.test.js.meta +0 -7
  1155. package/scripts/wiki/__tests__.meta +0 -7
  1156. package/scripts/wiki/generate-wiki-sidebar.js +0 -122
  1157. package/scripts/wiki/generate-wiki-sidebar.js.meta +0 -7
  1158. package/scripts/wiki/transform-docs-to-wiki.js +0 -409
  1159. package/scripts/wiki/transform-docs-to-wiki.js.meta +0 -7
  1160. package/scripts/wiki.meta +0 -8
  1161. package/scripts.meta +0 -8
  1162. package/site/404.html +0 -1
  1163. package/site/404.html.meta +0 -7
  1164. package/site/advanced/emit-shorthands/index.html +0 -212
  1165. package/site/advanced/emit-shorthands/index.html.meta +0 -7
  1166. package/site/advanced/emit-shorthands.meta +0 -8
  1167. package/site/advanced/message-bus-providers/index.html +0 -241
  1168. package/site/advanced/message-bus-providers/index.html.meta +0 -7
  1169. package/site/advanced/message-bus-providers.meta +0 -8
  1170. package/site/advanced/registration-builders/index.html +0 -228
  1171. package/site/advanced/registration-builders/index.html.meta +0 -7
  1172. package/site/advanced/registration-builders.meta +0 -8
  1173. package/site/advanced/runtime-configuration/index.html +0 -196
  1174. package/site/advanced/runtime-configuration/index.html.meta +0 -7
  1175. package/site/advanced/runtime-configuration.meta +0 -8
  1176. package/site/advanced/string-messages/index.html +0 -29
  1177. package/site/advanced/string-messages/index.html.meta +0 -7
  1178. package/site/advanced/string-messages.meta +0 -8
  1179. package/site/advanced.meta +0 -8
  1180. package/site/architecture/comparisons/index.html +0 -356
  1181. package/site/architecture/comparisons/index.html.meta +0 -7
  1182. package/site/architecture/comparisons.meta +0 -8
  1183. package/site/architecture/design-and-architecture/index.html +0 -34
  1184. package/site/architecture/design-and-architecture/index.html.meta +0 -7
  1185. package/site/architecture/design-and-architecture.meta +0 -8
  1186. package/site/architecture/performance/index.html +0 -1
  1187. package/site/architecture/performance/index.html.meta +0 -7
  1188. package/site/architecture/performance.meta +0 -8
  1189. package/site/architecture.meta +0 -8
  1190. package/site/assets/images/favicon.png +0 -0
  1191. package/site/assets/images/favicon.png.meta +0 -127
  1192. package/site/assets/images.meta +0 -8
  1193. package/site/assets/javascripts/bundle.79ae519e.min.js +0 -16
  1194. package/site/assets/javascripts/bundle.79ae519e.min.js.map +0 -7
  1195. package/site/assets/javascripts/bundle.79ae519e.min.js.map.meta +0 -7
  1196. package/site/assets/javascripts/bundle.79ae519e.min.js.meta +0 -7
  1197. package/site/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
  1198. package/site/assets/javascripts/lunr/min/lunr.ar.min.js.meta +0 -7
  1199. package/site/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
  1200. package/site/assets/javascripts/lunr/min/lunr.da.min.js.meta +0 -7
  1201. package/site/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
  1202. package/site/assets/javascripts/lunr/min/lunr.de.min.js.meta +0 -7
  1203. package/site/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
  1204. package/site/assets/javascripts/lunr/min/lunr.du.min.js.meta +0 -7
  1205. package/site/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
  1206. package/site/assets/javascripts/lunr/min/lunr.el.min.js.meta +0 -7
  1207. package/site/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
  1208. package/site/assets/javascripts/lunr/min/lunr.es.min.js.meta +0 -7
  1209. package/site/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
  1210. package/site/assets/javascripts/lunr/min/lunr.fi.min.js.meta +0 -7
  1211. package/site/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
  1212. package/site/assets/javascripts/lunr/min/lunr.fr.min.js.meta +0 -7
  1213. package/site/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
  1214. package/site/assets/javascripts/lunr/min/lunr.he.min.js.meta +0 -7
  1215. package/site/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
  1216. package/site/assets/javascripts/lunr/min/lunr.hi.min.js.meta +0 -7
  1217. package/site/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
  1218. package/site/assets/javascripts/lunr/min/lunr.hu.min.js.meta +0 -7
  1219. package/site/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
  1220. package/site/assets/javascripts/lunr/min/lunr.hy.min.js.meta +0 -7
  1221. package/site/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
  1222. package/site/assets/javascripts/lunr/min/lunr.it.min.js.meta +0 -7
  1223. package/site/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
  1224. package/site/assets/javascripts/lunr/min/lunr.ja.min.js.meta +0 -7
  1225. package/site/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
  1226. package/site/assets/javascripts/lunr/min/lunr.jp.min.js.meta +0 -7
  1227. package/site/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
  1228. package/site/assets/javascripts/lunr/min/lunr.kn.min.js.meta +0 -7
  1229. package/site/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
  1230. package/site/assets/javascripts/lunr/min/lunr.ko.min.js.meta +0 -7
  1231. package/site/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
  1232. package/site/assets/javascripts/lunr/min/lunr.multi.min.js.meta +0 -7
  1233. package/site/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
  1234. package/site/assets/javascripts/lunr/min/lunr.nl.min.js.meta +0 -7
  1235. package/site/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
  1236. package/site/assets/javascripts/lunr/min/lunr.no.min.js.meta +0 -7
  1237. package/site/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
  1238. package/site/assets/javascripts/lunr/min/lunr.pt.min.js.meta +0 -7
  1239. package/site/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
  1240. package/site/assets/javascripts/lunr/min/lunr.ro.min.js.meta +0 -7
  1241. package/site/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
  1242. package/site/assets/javascripts/lunr/min/lunr.ru.min.js.meta +0 -7
  1243. package/site/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
  1244. package/site/assets/javascripts/lunr/min/lunr.sa.min.js.meta +0 -7
  1245. package/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
  1246. package/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js.meta +0 -7
  1247. package/site/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
  1248. package/site/assets/javascripts/lunr/min/lunr.sv.min.js.meta +0 -7
  1249. package/site/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
  1250. package/site/assets/javascripts/lunr/min/lunr.ta.min.js.meta +0 -7
  1251. package/site/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
  1252. package/site/assets/javascripts/lunr/min/lunr.te.min.js.meta +0 -7
  1253. package/site/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
  1254. package/site/assets/javascripts/lunr/min/lunr.th.min.js.meta +0 -7
  1255. package/site/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
  1256. package/site/assets/javascripts/lunr/min/lunr.tr.min.js.meta +0 -7
  1257. package/site/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
  1258. package/site/assets/javascripts/lunr/min/lunr.vi.min.js.meta +0 -7
  1259. package/site/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
  1260. package/site/assets/javascripts/lunr/min/lunr.zh.min.js.meta +0 -7
  1261. package/site/assets/javascripts/lunr/min.meta +0 -8
  1262. package/site/assets/javascripts/lunr/tinyseg.js +0 -206
  1263. package/site/assets/javascripts/lunr/tinyseg.js.meta +0 -7
  1264. package/site/assets/javascripts/lunr/wordcut.js +0 -6708
  1265. package/site/assets/javascripts/lunr/wordcut.js.meta +0 -7
  1266. package/site/assets/javascripts/lunr.meta +0 -8
  1267. package/site/assets/javascripts/workers/search.2c215733.min.js +0 -42
  1268. package/site/assets/javascripts/workers/search.2c215733.min.js.map +0 -7
  1269. package/site/assets/javascripts/workers/search.2c215733.min.js.map.meta +0 -7
  1270. package/site/assets/javascripts/workers/search.2c215733.min.js.meta +0 -7
  1271. package/site/assets/javascripts/workers.meta +0 -8
  1272. package/site/assets/javascripts.meta +0 -8
  1273. package/site/assets/stylesheets/main.484c7ddc.min.css +0 -1
  1274. package/site/assets/stylesheets/main.484c7ddc.min.css.map +0 -1
  1275. package/site/assets/stylesheets/main.484c7ddc.min.css.map.meta +0 -7
  1276. package/site/assets/stylesheets/main.484c7ddc.min.css.meta +0 -7
  1277. package/site/assets/stylesheets/palette.ab4e12ef.min.css +0 -1
  1278. package/site/assets/stylesheets/palette.ab4e12ef.min.css.map +0 -1
  1279. package/site/assets/stylesheets/palette.ab4e12ef.min.css.map.meta +0 -7
  1280. package/site/assets/stylesheets/palette.ab4e12ef.min.css.meta +0 -7
  1281. package/site/assets/stylesheets.meta +0 -8
  1282. package/site/assets.meta +0 -8
  1283. package/site/concepts/index.html +0 -1
  1284. package/site/concepts/index.html.meta +0 -7
  1285. package/site/concepts/interceptors-and-ordering/index.html +0 -352
  1286. package/site/concepts/interceptors-and-ordering/index.html.meta +0 -7
  1287. package/site/concepts/interceptors-and-ordering.meta +0 -8
  1288. package/site/concepts/listening-patterns/index.html +0 -193
  1289. package/site/concepts/listening-patterns/index.html.meta +0 -7
  1290. package/site/concepts/listening-patterns.meta +0 -8
  1291. package/site/concepts/mental-model/index.html +0 -146
  1292. package/site/concepts/mental-model/index.html.meta +0 -7
  1293. package/site/concepts/mental-model.meta +0 -8
  1294. package/site/concepts/message-types/index.html +0 -111
  1295. package/site/concepts/message-types/index.html.meta +0 -7
  1296. package/site/concepts/message-types.meta +0 -8
  1297. package/site/concepts/targeting-and-context/index.html +0 -201
  1298. package/site/concepts/targeting-and-context/index.html.meta +0 -7
  1299. package/site/concepts/targeting-and-context.meta +0 -8
  1300. package/site/concepts.meta +0 -8
  1301. package/site/css/timeago.css +0 -15
  1302. package/site/css/timeago.css.meta +0 -7
  1303. package/site/css.meta +0 -8
  1304. package/site/examples/end-to-end/index.html +0 -85
  1305. package/site/examples/end-to-end/index.html.meta +0 -7
  1306. package/site/examples/end-to-end-scene-transitions/index.html +0 -84
  1307. package/site/examples/end-to-end-scene-transitions/index.html.meta +0 -7
  1308. package/site/examples/end-to-end-scene-transitions.meta +0 -8
  1309. package/site/examples/end-to-end.meta +0 -8
  1310. package/site/examples.meta +0 -8
  1311. package/site/getting-started/getting-started/index.html +0 -66
  1312. package/site/getting-started/getting-started/index.html.meta +0 -7
  1313. package/site/getting-started/getting-started.meta +0 -8
  1314. package/site/getting-started/index.html +0 -29
  1315. package/site/getting-started/index.html.meta +0 -7
  1316. package/site/getting-started/install/index.html +0 -8
  1317. package/site/getting-started/install/index.html.meta +0 -7
  1318. package/site/getting-started/install.meta +0 -8
  1319. package/site/getting-started/overview/index.html +0 -33
  1320. package/site/getting-started/overview/index.html.meta +0 -7
  1321. package/site/getting-started/overview.meta +0 -8
  1322. package/site/getting-started/quick-start/index.html +0 -81
  1323. package/site/getting-started/quick-start/index.html.meta +0 -7
  1324. package/site/getting-started/quick-start.meta +0 -8
  1325. package/site/getting-started/visual-guide/index.html +0 -256
  1326. package/site/getting-started/visual-guide/index.html.meta +0 -7
  1327. package/site/getting-started/visual-guide.meta +0 -8
  1328. package/site/getting-started.meta +0 -8
  1329. package/site/guides/advanced/index.html +0 -119
  1330. package/site/guides/advanced/index.html.meta +0 -7
  1331. package/site/guides/advanced.meta +0 -8
  1332. package/site/guides/diagnostics/index.html +0 -110
  1333. package/site/guides/diagnostics/index.html.meta +0 -7
  1334. package/site/guides/diagnostics.meta +0 -8
  1335. package/site/guides/migration-guide/index.html +0 -199
  1336. package/site/guides/migration-guide/index.html.meta +0 -7
  1337. package/site/guides/migration-guide.meta +0 -8
  1338. package/site/guides/patterns/index.html +0 -545
  1339. package/site/guides/patterns/index.html.meta +0 -7
  1340. package/site/guides/patterns.meta +0 -8
  1341. package/site/guides/testing/index.html +0 -153
  1342. package/site/guides/testing/index.html.meta +0 -7
  1343. package/site/guides/testing.meta +0 -8
  1344. package/site/guides/unity-integration/index.html +0 -67
  1345. package/site/guides/unity-integration/index.html.meta +0 -7
  1346. package/site/guides/unity-integration.meta +0 -8
  1347. package/site/guides.meta +0 -8
  1348. package/site/hooks.py +0 -168
  1349. package/site/hooks.py.meta +0 -7
  1350. package/site/images/DxMessaging-banner.svg +0 -119
  1351. package/site/images/DxMessaging-banner.svg.meta +0 -7
  1352. package/site/images.meta +0 -8
  1353. package/site/index.html +0 -17
  1354. package/site/index.html.meta +0 -7
  1355. package/site/integrations/index.html +0 -8
  1356. package/site/integrations/index.html.meta +0 -7
  1357. package/site/integrations/reflex/index.html +0 -186
  1358. package/site/integrations/reflex/index.html.meta +0 -7
  1359. package/site/integrations/reflex.meta +0 -8
  1360. package/site/integrations/vcontainer/index.html +0 -192
  1361. package/site/integrations/vcontainer/index.html.meta +0 -7
  1362. package/site/integrations/vcontainer.meta +0 -8
  1363. package/site/integrations/zenject/index.html +0 -197
  1364. package/site/integrations/zenject/index.html.meta +0 -7
  1365. package/site/integrations/zenject.meta +0 -8
  1366. package/site/integrations.meta +0 -8
  1367. package/site/javascripts/csharp-highlight.js +0 -246
  1368. package/site/javascripts/csharp-highlight.js.meta +0 -7
  1369. package/site/javascripts/mermaid-config.js +0 -350
  1370. package/site/javascripts/mermaid-config.js.meta +0 -7
  1371. package/site/javascripts.meta +0 -8
  1372. package/site/js/timeago.min.js +0 -2
  1373. package/site/js/timeago.min.js.meta +0 -7
  1374. package/site/js/timeago_mkdocs_material.js +0 -33
  1375. package/site/js/timeago_mkdocs_material.js.meta +0 -7
  1376. package/site/js.meta +0 -8
  1377. package/site/reference/compatibility/index.html +0 -1
  1378. package/site/reference/compatibility/index.html.meta +0 -7
  1379. package/site/reference/compatibility.meta +0 -8
  1380. package/site/reference/faq/index.html +0 -1
  1381. package/site/reference/faq/index.html.meta +0 -7
  1382. package/site/reference/faq.meta +0 -8
  1383. package/site/reference/glossary/index.html +0 -55
  1384. package/site/reference/glossary/index.html.meta +0 -7
  1385. package/site/reference/glossary.meta +0 -8
  1386. package/site/reference/helpers/index.html +0 -475
  1387. package/site/reference/helpers/index.html.meta +0 -7
  1388. package/site/reference/helpers.meta +0 -8
  1389. package/site/reference/quick-reference/index.html +0 -138
  1390. package/site/reference/quick-reference/index.html.meta +0 -7
  1391. package/site/reference/quick-reference.meta +0 -8
  1392. package/site/reference/reference/index.html +0 -194
  1393. package/site/reference/reference/index.html.meta +0 -7
  1394. package/site/reference/reference.meta +0 -8
  1395. package/site/reference/troubleshooting/index.html +0 -1
  1396. package/site/reference/troubleshooting/index.html.meta +0 -7
  1397. package/site/reference/troubleshooting.meta +0 -8
  1398. package/site/reference.meta +0 -8
  1399. package/site/search/search_index.json +0 -1
  1400. package/site/search/search_index.json.meta +0 -7
  1401. package/site/search.meta +0 -8
  1402. package/site/sitemap.xml +0 -163
  1403. package/site/sitemap.xml.gz +0 -0
  1404. package/site/sitemap.xml.gz.meta +0 -7
  1405. package/site/sitemap.xml.meta +0 -7
  1406. package/site/stylesheets/extra.css +0 -485
  1407. package/site/stylesheets/extra.css.meta +0 -7
  1408. package/site/stylesheets.meta +0 -8
@@ -1,475 +0,0 @@
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/reference/helpers/ rel=canonical><link href=../quick-reference/ rel=prev><link href=../faq/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.1"><title>Helpers - 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=#helpers-and-source-generation 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> Helpers </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> <a href=../../concepts/ 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 md-tabs__item--active"> <a href=../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--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <div class="md-nav__link md-nav__container"> <a href=../../concepts/ class="md-nav__link "> <span class=md-ellipsis> Concepts </span> </a> <label class="md-nav__link " for=__nav_3 id=__nav_3_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <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=../../concepts/mental-model/ class=md-nav__link> <span class=md-ellipsis> Mental Model </span> </a> </li> <li class=md-nav__item> <a href=../../concepts/message-types/ class=md-nav__link> <span class=md-ellipsis> Message Types </span> </a> </li> <li class=md-nav__item> <a href=../../concepts/listening-patterns/ class=md-nav__link> <span class=md-ellipsis> Listening Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../concepts/targeting-and-context/ class=md-nav__link> <span class=md-ellipsis> Targeting & Context </span> </a> </li> <li class=md-nav__item> <a href=../../concepts/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--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_9 checked> <label class=md-nav__link for=__nav_9 id=__nav_9_label tabindex> <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=true> <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/ class=md-nav__link> <span class=md-ellipsis> API Reference (Practical) </span> </a> </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 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> Helpers </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Helpers </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=#what-are-source-generators class=md-nav__link> <span class=md-ellipsis> What Are Source Generators </span> </a> <nav class=md-nav aria-label="What Are Source Generators"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#in-plain-english class=md-nav__link> <span class=md-ellipsis> In plain English </span> </a> <nav class=md-nav aria-label="In plain English"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#learn-more-about-source-generators class=md-nav__link> <span class=md-ellipsis> Learn more about source generators </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#dxmessaging-attributes-your-code-wizards class=md-nav__link> <span class=md-ellipsis> DxMessaging Attributes (Your Code Wizards) </span> </a> <nav class=md-nav aria-label="DxMessaging Attributes (Your Code Wizards)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-message-type-attributes-pick-your-message-category class=md-nav__link> <span class=md-ellipsis> 1. Message Type Attributes (Pick Your Message Category) </span> </a> <nav class=md-nav aria-label="1. Message Type Attributes (Pick Your Message Category)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dxuntargetedmessage---global-messages class=md-nav__link> <span class=md-ellipsis> [DxUntargetedMessage] - Global Messages </span> </a> <nav class=md-nav aria-label="[DxUntargetedMessage] - Global Messages"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-it-generates class=md-nav__link> <span class=md-ellipsis> What it generates </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#dxtargetedmessage---messages-to-specific-targets class=md-nav__link> <span class=md-ellipsis> [DxTargetedMessage] - Messages to Specific Targets </span> </a> <nav class=md-nav aria-label="[DxTargetedMessage] - Messages to Specific Targets"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-it-generates_1 class=md-nav__link> <span class=md-ellipsis> What it generates </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#dxbroadcastmessage---messages-from-a-source class=md-nav__link> <span class=md-ellipsis> [DxBroadcastMessage] - Messages from a Source </span> </a> <nav class=md-nav aria-label="[DxBroadcastMessage] - Messages from a Source"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-it-generates_2 class=md-nav__link> <span class=md-ellipsis> What it generates </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#2-dxautoconstructor---automatic-constructors class=md-nav__link> <span class=md-ellipsis> 2. [DxAutoConstructor] - Automatic Constructors </span> </a> <nav class=md-nav aria-label="2. [DxAutoConstructor] - Automatic Constructors"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-you-get-auto-generated class=md-nav__link> <span class=md-ellipsis> What you get (auto-generated) </span> </a> <nav class=md-nav aria-label="What you get (auto-generated)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#rules class=md-nav__link> <span class=md-ellipsis> Rules </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#3-dxoptionalparameter---optional-constructor-parameters class=md-nav__link> <span class=md-ellipsis> 3. [DxOptionalParameter] - Optional Constructor Parameters </span> </a> <nav class=md-nav aria-label="3. [DxOptionalParameter] - Optional Constructor Parameters"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#how-it-works-with-dxautoconstructor class=md-nav__link> <span class=md-ellipsis> How It Works with DxAutoConstructor </span> </a> </li> <li class=md-nav__item> <a href=#generated-constructor class=md-nav__link> <span class=md-ellipsis> Generated constructor </span> </a> </li> <li class=md-nav__item> <a href=#calling-the-constructor class=md-nav__link> <span class=md-ellipsis> Calling the Constructor </span> </a> </li> <li class=md-nav__item> <a href=#supported-default-value-types class=md-nav__link> <span class=md-ellipsis> Supported Default Value Types </span> </a> <nav class=md-nav aria-label="Supported Default Value Types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#examples-by-type class=md-nav__link> <span class=md-ellipsis> Examples by type </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#using-type-defaults class=md-nav__link> <span class=md-ellipsis> Using Type Defaults </span> </a> </li> <li class=md-nav__item> <a href=#advanced-custom-expressions-for-any-type class=md-nav__link> <span class=md-ellipsis> Advanced: Custom Expressions for Any Type </span> </a> </li> <li class=md-nav__item> <a href=#code-examples class=md-nav__link> <span class=md-ellipsis> Code Examples </span> </a> </li> <li class=md-nav__item> <a href=#example-1-basic-optional-parameter-with-default-value class=md-nav__link> <span class=md-ellipsis> Example 1: Basic Optional Parameter with Default Value </span> </a> </li> <li class=md-nav__item> <a href=#example-2-multiple-optional-parameters class=md-nav__link> <span class=md-ellipsis> Example 2: Multiple Optional Parameters </span> </a> </li> <li class=md-nav__item> <a href=#example-3-mix-of-required-and-optional-fields class=md-nav__link> <span class=md-ellipsis> Example 3: Mix of Required and Optional Fields </span> </a> </li> <li class=md-nav__item> <a href=#example-4-game-settings-message class=md-nav__link> <span class=md-ellipsis> Example 4: Game Settings Message </span> </a> </li> <li class=md-nav__item> <a href=#best-practices class=md-nav__link> <span class=md-ellipsis> Best Practices </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#why-use-attributes-instead-of-manual-implementation class=md-nav__link> <span class=md-ellipsis> Why Use Attributes Instead of Manual Implementation </span> </a> <nav class=md-nav aria-label="Why Use Attributes Instead of Manual Implementation"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#-attribute-definition-clean-automatic class=md-nav__link> <span class=md-ellipsis> ✅ Attribute Definition (Clean, Automatic) </span> </a> </li> <li class=md-nav__item> <a href=#what-the-generator-emits-for-reference class=md-nav__link> <span class=md-ellipsis> What the generator emits (for reference) </span> </a> <nav class=md-nav aria-label="What the generator emits (for reference)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#benefits class=md-nav__link> <span class=md-ellipsis> Benefits </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#complete-example-attribute-definition-vs-generated-output class=md-nav__link> <span class=md-ellipsis> Complete Example: Attribute Definition vs Generated Output </span> </a> <nav class=md-nav aria-label="Complete Example: Attribute Definition vs Generated Output"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#attribute-definition-8-lines class=md-nav__link> <span class=md-ellipsis> Attribute Definition (8 lines) </span> </a> </li> <li class=md-nav__item> <a href=#generated-output-20-lines-you-never-write class=md-nav__link> <span class=md-ellipsis> Generated Output (20 lines you never write) </span> </a> </li> <li class=md-nav__item> <a href=#result class=md-nav__link> <span class=md-ellipsis> Result </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-manual-implementation-when-attributes-arent-enough class=md-nav__link> <span class=md-ellipsis> Advanced: Manual Implementation (When Attributes Aren't Enough) </span> </a> <nav class=md-nav aria-label="Advanced: Manual Implementation (When Attributes Aren't Enough)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#generic-message-interfaces-zero-boxing-for-structs class=md-nav__link> <span class=md-ellipsis> Generic Message Interfaces (Zero-Boxing for Structs) </span> </a> </li> <li class=md-nav__item> <a href=#do-i-have-to-use-attributes class=md-nav__link> <span class=md-ellipsis> "Do I HAVE to use attributes?" </span> </a> </li> <li class=md-nav__item> <a href=#what-if-i-want-custom-constructor-logic class=md-nav__link> <span class=md-ellipsis> "What if I want custom constructor logic?" </span> </a> </li> <li class=md-nav__item> <a href=#can-i-mix-attribute-based-and-manual-messages class=md-nav__link> <span class=md-ellipsis> "Can I mix attribute-based and manual messages?" </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#extension-methods-emit-helpers class=md-nav__link> <span class=md-ellipsis> Extension Methods (Emit Helpers) </span> </a> <nav class=md-nav aria-label="Extension Methods (Emit Helpers)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#automatic-overload-selection class=md-nav__link> <span class=md-ellipsis> Automatic overload selection </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#local-bus-islands-isolated-testing class=md-nav__link> <span class=md-ellipsis> Local Bus Islands (Isolated Testing) </span> </a> <nav class=md-nav aria-label="Local Bus Islands (Isolated Testing)"> <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=#attributes-quick-reference class=md-nav__link> <span class=md-ellipsis> Attributes Quick Reference </span> </a> <nav class=md-nav aria-label="Attributes Quick Reference"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#message-type-attributes class=md-nav__link> <span class=md-ellipsis> Message Type Attributes </span> </a> <nav class=md-nav aria-label="Message Type Attributes"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#untargeted class=md-nav__link> <span class=md-ellipsis> Untargeted </span> </a> </li> <li class=md-nav__item> <a href=#targeted class=md-nav__link> <span class=md-ellipsis> Targeted </span> </a> </li> <li class=md-nav__item> <a href=#broadcast class=md-nav__link> <span class=md-ellipsis> Broadcast </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#constructor-generation-attributes class=md-nav__link> <span class=md-ellipsis> Constructor Generation Attributes </span> </a> <nav class=md-nav aria-label="Constructor Generation Attributes"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dxautoconstructor class=md-nav__link> <span class=md-ellipsis> [DxAutoConstructor] </span> </a> </li> <li class=md-nav__item> <a href=#dxoptionalparameter class=md-nav__link> <span class=md-ellipsis> [DxOptionalParameter] </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#supported-types class=md-nav__link> <span class=md-ellipsis> Supported Types </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#common-patterns-with-attributes class=md-nav__link> <span class=md-ellipsis> Common Patterns with Attributes </span> </a> <nav class=md-nav aria-label="Common Patterns with Attributes"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#pattern-1-simple-message-no-data class=md-nav__link> <span class=md-ellipsis> Pattern 1: Simple Message (No Data) </span> </a> </li> <li class=md-nav__item> <a href=#pattern-2-message-with-data class=md-nav__link> <span class=md-ellipsis> Pattern 2: Message with Data </span> </a> </li> <li class=md-nav__item> <a href=#pattern-3-message-with-optional-fields class=md-nav__link> <span class=md-ellipsis> Pattern 3: Message with Optional Fields </span> </a> </li> <li class=md-nav__item> <a href=#pattern-4-complex-message class=md-nav__link> <span class=md-ellipsis> Pattern 4: Complex Message </span> </a> </li> <li class=md-nav__item> <a href=#pattern-5-nested-types class=md-nav__link> <span class=md-ellipsis> Pattern 5: Nested Types </span> </a> <nav class=md-nav aria-label="Pattern 5: Nested Types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#benefits_1 class=md-nav__link> <span class=md-ellipsis> Benefits </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#pattern-6-internal-types-assembly-private-messages class=md-nav__link> <span class=md-ellipsis> Pattern 6: Internal Types (Assembly-Private Messages) </span> </a> <nav class=md-nav aria-label="Pattern 6: Internal Types (Assembly-Private 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> </ul> </nav> </li> <li class=md-nav__item> <a href=#faq-source-generators--attributes class=md-nav__link> <span class=md-ellipsis> FAQ: Source Generators &amp; Attributes </span> </a> <nav class=md-nav aria-label="FAQ: Source Generators & Attributes"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#do-i-have-to-use-attributes_1 class=md-nav__link> <span class=md-ellipsis> "Do I HAVE to use attributes?" </span> </a> </li> <li class=md-nav__item> <a href=#why-partial-when-using-attributes class=md-nav__link> <span class=md-ellipsis> "Why partial when using attributes?" </span> </a> </li> <li class=md-nav__item> <a href=#can-i-see-the-generated-code class=md-nav__link> <span class=md-ellipsis> "Can I see the generated code?" </span> </a> </li> <li class=md-nav__item> <a href=#what-if-i-want-custom-constructor-logic_1 class=md-nav__link> <span class=md-ellipsis> "What if I want custom constructor logic?" </span> </a> </li> <li class=md-nav__item> <a href=#do-attributes-affect-runtime-performance class=md-nav__link> <span class=md-ellipsis> "Do attributes affect runtime performance?" </span> </a> </li> <li class=md-nav__item> <a href=#can-i-mix-attributes-and-manual-implementation class=md-nav__link> <span class=md-ellipsis> "Can I mix attributes and manual implementation?" </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#troubleshooting-source-generators class=md-nav__link> <span class=md-ellipsis> Troubleshooting Source Generators </span> </a> <nav class=md-nav aria-label="Troubleshooting Source Generators"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#checklist class=md-nav__link> <span class=md-ellipsis> Checklist </span> </a> <nav class=md-nav aria-label=Checklist> <ul class=md-nav__list> <li class=md-nav__item> <a href=#fix class=md-nav__link> <span class=md-ellipsis> Fix </span> </a> <nav class=md-nav aria-label=Fix> <ul class=md-nav__list> <li class=md-nav__item> <a href=#solution class=md-nav__link> <span class=md-ellipsis> Solution </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#related-documentation class=md-nav__link> <span class=md-ellipsis> Related Documentation </span> </a> </li> <li class=md-nav__item> <a href=#summary class=md-nav__link> <span class=md-ellipsis> Summary </span> </a> <nav class=md-nav aria-label=Summary> <ul class=md-nav__list> <li class=md-nav__item> <a href=#source-generators--code-wizards-that-write-boilerplate-for-you class=md-nav__link> <span class=md-ellipsis> Source generators = Code wizards that write boilerplate for you </span> </a> <nav class=md-nav aria-label="Source generators = Code wizards that write boilerplate for you"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-attributes-for class=md-nav__link> <span class=md-ellipsis> Use attributes for </span> </a> <nav class=md-nav aria-label="Use attributes for"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-manual-implementation-for class=md-nav__link> <span class=md-ellipsis> Use manual implementation for </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../faq/ class=md-nav__link> <span class=md-ellipsis> FAQ </span> </a> </li> <li class=md-nav__item> <a href=../glossary/ class=md-nav__link> <span class=md-ellipsis> Glossary </span> </a> </li> <li class=md-nav__item> <a href=../troubleshooting/ class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> </li> <li class=md-nav__item> <a href=../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=#what-are-source-generators class=md-nav__link> <span class=md-ellipsis> What Are Source Generators </span> </a> <nav class=md-nav aria-label="What Are Source Generators"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#in-plain-english class=md-nav__link> <span class=md-ellipsis> In plain English </span> </a> <nav class=md-nav aria-label="In plain English"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#learn-more-about-source-generators class=md-nav__link> <span class=md-ellipsis> Learn more about source generators </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#dxmessaging-attributes-your-code-wizards class=md-nav__link> <span class=md-ellipsis> DxMessaging Attributes (Your Code Wizards) </span> </a> <nav class=md-nav aria-label="DxMessaging Attributes (Your Code Wizards)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-message-type-attributes-pick-your-message-category class=md-nav__link> <span class=md-ellipsis> 1. Message Type Attributes (Pick Your Message Category) </span> </a> <nav class=md-nav aria-label="1. Message Type Attributes (Pick Your Message Category)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dxuntargetedmessage---global-messages class=md-nav__link> <span class=md-ellipsis> [DxUntargetedMessage] - Global Messages </span> </a> <nav class=md-nav aria-label="[DxUntargetedMessage] - Global Messages"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-it-generates class=md-nav__link> <span class=md-ellipsis> What it generates </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#dxtargetedmessage---messages-to-specific-targets class=md-nav__link> <span class=md-ellipsis> [DxTargetedMessage] - Messages to Specific Targets </span> </a> <nav class=md-nav aria-label="[DxTargetedMessage] - Messages to Specific Targets"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-it-generates_1 class=md-nav__link> <span class=md-ellipsis> What it generates </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#dxbroadcastmessage---messages-from-a-source class=md-nav__link> <span class=md-ellipsis> [DxBroadcastMessage] - Messages from a Source </span> </a> <nav class=md-nav aria-label="[DxBroadcastMessage] - Messages from a Source"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-it-generates_2 class=md-nav__link> <span class=md-ellipsis> What it generates </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#2-dxautoconstructor---automatic-constructors class=md-nav__link> <span class=md-ellipsis> 2. [DxAutoConstructor] - Automatic Constructors </span> </a> <nav class=md-nav aria-label="2. [DxAutoConstructor] - Automatic Constructors"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#what-you-get-auto-generated class=md-nav__link> <span class=md-ellipsis> What you get (auto-generated) </span> </a> <nav class=md-nav aria-label="What you get (auto-generated)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#rules class=md-nav__link> <span class=md-ellipsis> Rules </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#3-dxoptionalparameter---optional-constructor-parameters class=md-nav__link> <span class=md-ellipsis> 3. [DxOptionalParameter] - Optional Constructor Parameters </span> </a> <nav class=md-nav aria-label="3. [DxOptionalParameter] - Optional Constructor Parameters"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#how-it-works-with-dxautoconstructor class=md-nav__link> <span class=md-ellipsis> How It Works with DxAutoConstructor </span> </a> </li> <li class=md-nav__item> <a href=#generated-constructor class=md-nav__link> <span class=md-ellipsis> Generated constructor </span> </a> </li> <li class=md-nav__item> <a href=#calling-the-constructor class=md-nav__link> <span class=md-ellipsis> Calling the Constructor </span> </a> </li> <li class=md-nav__item> <a href=#supported-default-value-types class=md-nav__link> <span class=md-ellipsis> Supported Default Value Types </span> </a> <nav class=md-nav aria-label="Supported Default Value Types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#examples-by-type class=md-nav__link> <span class=md-ellipsis> Examples by type </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#using-type-defaults class=md-nav__link> <span class=md-ellipsis> Using Type Defaults </span> </a> </li> <li class=md-nav__item> <a href=#advanced-custom-expressions-for-any-type class=md-nav__link> <span class=md-ellipsis> Advanced: Custom Expressions for Any Type </span> </a> </li> <li class=md-nav__item> <a href=#code-examples class=md-nav__link> <span class=md-ellipsis> Code Examples </span> </a> </li> <li class=md-nav__item> <a href=#example-1-basic-optional-parameter-with-default-value class=md-nav__link> <span class=md-ellipsis> Example 1: Basic Optional Parameter with Default Value </span> </a> </li> <li class=md-nav__item> <a href=#example-2-multiple-optional-parameters class=md-nav__link> <span class=md-ellipsis> Example 2: Multiple Optional Parameters </span> </a> </li> <li class=md-nav__item> <a href=#example-3-mix-of-required-and-optional-fields class=md-nav__link> <span class=md-ellipsis> Example 3: Mix of Required and Optional Fields </span> </a> </li> <li class=md-nav__item> <a href=#example-4-game-settings-message class=md-nav__link> <span class=md-ellipsis> Example 4: Game Settings Message </span> </a> </li> <li class=md-nav__item> <a href=#best-practices class=md-nav__link> <span class=md-ellipsis> Best Practices </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#why-use-attributes-instead-of-manual-implementation class=md-nav__link> <span class=md-ellipsis> Why Use Attributes Instead of Manual Implementation </span> </a> <nav class=md-nav aria-label="Why Use Attributes Instead of Manual Implementation"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#-attribute-definition-clean-automatic class=md-nav__link> <span class=md-ellipsis> ✅ Attribute Definition (Clean, Automatic) </span> </a> </li> <li class=md-nav__item> <a href=#what-the-generator-emits-for-reference class=md-nav__link> <span class=md-ellipsis> What the generator emits (for reference) </span> </a> <nav class=md-nav aria-label="What the generator emits (for reference)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#benefits class=md-nav__link> <span class=md-ellipsis> Benefits </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#complete-example-attribute-definition-vs-generated-output class=md-nav__link> <span class=md-ellipsis> Complete Example: Attribute Definition vs Generated Output </span> </a> <nav class=md-nav aria-label="Complete Example: Attribute Definition vs Generated Output"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#attribute-definition-8-lines class=md-nav__link> <span class=md-ellipsis> Attribute Definition (8 lines) </span> </a> </li> <li class=md-nav__item> <a href=#generated-output-20-lines-you-never-write class=md-nav__link> <span class=md-ellipsis> Generated Output (20 lines you never write) </span> </a> </li> <li class=md-nav__item> <a href=#result class=md-nav__link> <span class=md-ellipsis> Result </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-manual-implementation-when-attributes-arent-enough class=md-nav__link> <span class=md-ellipsis> Advanced: Manual Implementation (When Attributes Aren't Enough) </span> </a> <nav class=md-nav aria-label="Advanced: Manual Implementation (When Attributes Aren't Enough)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#generic-message-interfaces-zero-boxing-for-structs class=md-nav__link> <span class=md-ellipsis> Generic Message Interfaces (Zero-Boxing for Structs) </span> </a> </li> <li class=md-nav__item> <a href=#do-i-have-to-use-attributes class=md-nav__link> <span class=md-ellipsis> "Do I HAVE to use attributes?" </span> </a> </li> <li class=md-nav__item> <a href=#what-if-i-want-custom-constructor-logic class=md-nav__link> <span class=md-ellipsis> "What if I want custom constructor logic?" </span> </a> </li> <li class=md-nav__item> <a href=#can-i-mix-attribute-based-and-manual-messages class=md-nav__link> <span class=md-ellipsis> "Can I mix attribute-based and manual messages?" </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#extension-methods-emit-helpers class=md-nav__link> <span class=md-ellipsis> Extension Methods (Emit Helpers) </span> </a> <nav class=md-nav aria-label="Extension Methods (Emit Helpers)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#automatic-overload-selection class=md-nav__link> <span class=md-ellipsis> Automatic overload selection </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#local-bus-islands-isolated-testing class=md-nav__link> <span class=md-ellipsis> Local Bus Islands (Isolated Testing) </span> </a> <nav class=md-nav aria-label="Local Bus Islands (Isolated Testing)"> <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=#attributes-quick-reference class=md-nav__link> <span class=md-ellipsis> Attributes Quick Reference </span> </a> <nav class=md-nav aria-label="Attributes Quick Reference"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#message-type-attributes class=md-nav__link> <span class=md-ellipsis> Message Type Attributes </span> </a> <nav class=md-nav aria-label="Message Type Attributes"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#untargeted class=md-nav__link> <span class=md-ellipsis> Untargeted </span> </a> </li> <li class=md-nav__item> <a href=#targeted class=md-nav__link> <span class=md-ellipsis> Targeted </span> </a> </li> <li class=md-nav__item> <a href=#broadcast class=md-nav__link> <span class=md-ellipsis> Broadcast </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#constructor-generation-attributes class=md-nav__link> <span class=md-ellipsis> Constructor Generation Attributes </span> </a> <nav class=md-nav aria-label="Constructor Generation Attributes"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dxautoconstructor class=md-nav__link> <span class=md-ellipsis> [DxAutoConstructor] </span> </a> </li> <li class=md-nav__item> <a href=#dxoptionalparameter class=md-nav__link> <span class=md-ellipsis> [DxOptionalParameter] </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#supported-types class=md-nav__link> <span class=md-ellipsis> Supported Types </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#common-patterns-with-attributes class=md-nav__link> <span class=md-ellipsis> Common Patterns with Attributes </span> </a> <nav class=md-nav aria-label="Common Patterns with Attributes"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#pattern-1-simple-message-no-data class=md-nav__link> <span class=md-ellipsis> Pattern 1: Simple Message (No Data) </span> </a> </li> <li class=md-nav__item> <a href=#pattern-2-message-with-data class=md-nav__link> <span class=md-ellipsis> Pattern 2: Message with Data </span> </a> </li> <li class=md-nav__item> <a href=#pattern-3-message-with-optional-fields class=md-nav__link> <span class=md-ellipsis> Pattern 3: Message with Optional Fields </span> </a> </li> <li class=md-nav__item> <a href=#pattern-4-complex-message class=md-nav__link> <span class=md-ellipsis> Pattern 4: Complex Message </span> </a> </li> <li class=md-nav__item> <a href=#pattern-5-nested-types class=md-nav__link> <span class=md-ellipsis> Pattern 5: Nested Types </span> </a> <nav class=md-nav aria-label="Pattern 5: Nested Types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#benefits_1 class=md-nav__link> <span class=md-ellipsis> Benefits </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#pattern-6-internal-types-assembly-private-messages class=md-nav__link> <span class=md-ellipsis> Pattern 6: Internal Types (Assembly-Private Messages) </span> </a> <nav class=md-nav aria-label="Pattern 6: Internal Types (Assembly-Private 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> </ul> </nav> </li> <li class=md-nav__item> <a href=#faq-source-generators--attributes class=md-nav__link> <span class=md-ellipsis> FAQ: Source Generators &amp; Attributes </span> </a> <nav class=md-nav aria-label="FAQ: Source Generators & Attributes"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#do-i-have-to-use-attributes_1 class=md-nav__link> <span class=md-ellipsis> "Do I HAVE to use attributes?" </span> </a> </li> <li class=md-nav__item> <a href=#why-partial-when-using-attributes class=md-nav__link> <span class=md-ellipsis> "Why partial when using attributes?" </span> </a> </li> <li class=md-nav__item> <a href=#can-i-see-the-generated-code class=md-nav__link> <span class=md-ellipsis> "Can I see the generated code?" </span> </a> </li> <li class=md-nav__item> <a href=#what-if-i-want-custom-constructor-logic_1 class=md-nav__link> <span class=md-ellipsis> "What if I want custom constructor logic?" </span> </a> </li> <li class=md-nav__item> <a href=#do-attributes-affect-runtime-performance class=md-nav__link> <span class=md-ellipsis> "Do attributes affect runtime performance?" </span> </a> </li> <li class=md-nav__item> <a href=#can-i-mix-attributes-and-manual-implementation class=md-nav__link> <span class=md-ellipsis> "Can I mix attributes and manual implementation?" </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#troubleshooting-source-generators class=md-nav__link> <span class=md-ellipsis> Troubleshooting Source Generators </span> </a> <nav class=md-nav aria-label="Troubleshooting Source Generators"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#checklist class=md-nav__link> <span class=md-ellipsis> Checklist </span> </a> <nav class=md-nav aria-label=Checklist> <ul class=md-nav__list> <li class=md-nav__item> <a href=#fix class=md-nav__link> <span class=md-ellipsis> Fix </span> </a> <nav class=md-nav aria-label=Fix> <ul class=md-nav__list> <li class=md-nav__item> <a href=#solution class=md-nav__link> <span class=md-ellipsis> Solution </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#related-documentation class=md-nav__link> <span class=md-ellipsis> Related Documentation </span> </a> </li> <li class=md-nav__item> <a href=#summary class=md-nav__link> <span class=md-ellipsis> Summary </span> </a> <nav class=md-nav aria-label=Summary> <ul class=md-nav__list> <li class=md-nav__item> <a href=#source-generators--code-wizards-that-write-boilerplate-for-you class=md-nav__link> <span class=md-ellipsis> Source generators = Code wizards that write boilerplate for you </span> </a> <nav class=md-nav aria-label="Source generators = Code wizards that write boilerplate for you"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-attributes-for class=md-nav__link> <span class=md-ellipsis> Use attributes for </span> </a> <nav class=md-nav aria-label="Use attributes for"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#use-manual-implementation-for class=md-nav__link> <span class=md-ellipsis> Use manual implementation for </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </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=../reference/ class=md-path__link> <span class=md-ellipsis> Reference </span> </a> </li> </ol> </nav> <article class="md-content__inner md-typeset"> <a href=https://github.com/wallstop/DxMessaging/edit/master/docs/reference/helpers.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/reference/helpers.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=helpers-and-source-generation>Helpers and Source Generation<a class=headerlink href=#helpers-and-source-generation title="Anchor link to this section">&para;</a></h1> <h2 id=what-are-source-generators>What Are Source Generators<a class=headerlink href=#what-are-source-generators title="Anchor link to this section">&para;</a></h2> <p><strong>Source generators</strong> are a C# feature (introduced in C# 9.0) that <strong>automatically write code for you at compile time</strong>. Think of them as smart code wizards that look at your code, see what you need, and generate the boilerplate automatically.</p> <h3 id=in-plain-english>In plain English<a class=headerlink href=#in-plain-english title="Anchor link to this section">&para;</a></h3> <ul> <li>You write: <code>[DxAutoConstructor]</code> on a struct</li> <li>Source generator sees: "Oh, they want a constructor!"</li> <li>Source generator creates: A constructor with all the fields as parameters</li> <li>You get: Less typing, fewer bugs, more consistent code</li> </ul> <h4 id=learn-more-about-source-generators>Learn more about source generators<a class=headerlink href=#learn-more-about-source-generators title="Anchor link to this section">&para;</a></h4> <ul> <li><a href=https://learn.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/source-generators-overview>Microsoft Docs: Source Generators</a></li> <li><a href=https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/ >Introduction to C# Source Generators</a></li> </ul> <h2 id=dxmessaging-attributes-your-code-wizards>DxMessaging Attributes (Your Code Wizards)<a class=headerlink href=#dxmessaging-attributes-your-code-wizards title="Anchor link to this section">&para;</a></h2> <p>DxMessaging provides <strong>3 main attributes</strong> that use source generators to eliminate boilerplate:</p> <h3 id=1-message-type-attributes-pick-your-message-category>1. Message Type Attributes (Pick Your Message Category)<a class=headerlink href=#1-message-type-attributes-pick-your-message-category title="Anchor link to this section">&para;</a></h3> <p>These tell the source generator what KIND of message you're making:</p> <h4 id=dxuntargetedmessage---global-messages><code>[DxUntargetedMessage]</code> - Global Messages<a class=headerlink href=#dxuntargetedmessage---global-messages title="Anchor link to this section">&para;</a></h4> <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>[DxUntargetedMessage]</span><span class=w> </span><span class=c1>// ← Tells generator: &quot;This is a global message&quot;</span>
2
- </span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></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>GamePaused</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
3
- </span></code></pre></div> <h5 id=what-it-generates>What it generates<a class=headerlink href=#what-it-generates title="Anchor link to this section">&para;</a></h5> <ul> <li>Implements <code>IUntargetedMessage&lt;GamePaused&gt;</code></li> <li>Adds required plumbing for the message system</li> <li>Makes it work with <code>.Emit()</code> extension methods</li> </ul> <h4 id=dxtargetedmessage---messages-to-specific-targets><code>[DxTargetedMessage]</code> - Messages to Specific Targets<a class=headerlink href=#dxtargetedmessage---messages-to-specific-targets title="Anchor link to this section">&para;</a></h4> <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=na>[DxTargetedMessage]</span><span class=w> </span><span class=c1>// ← Tells generator: &quot;This goes to one specific target&quot;</span>
4
- </span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></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>
5
- </span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><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>
6
- </span><span id=__span-1-4><a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a><span class=p>}</span>
7
- </span></code></pre></div> <h5 id=what-it-generates_1>What it generates<a class=headerlink href=#what-it-generates_1 title="Anchor link to this section">&para;</a></h5> <ul> <li>Implements <code>ITargetedMessage&lt;Heal&gt;</code></li> <li>Adds required plumbing for targeted emissions</li> <li>Makes it work with <code>.EmitGameObjectTargeted()</code> / <code>.EmitComponentTargeted()</code></li> </ul> <h4 id=dxbroadcastmessage---messages-from-a-source><code>[DxBroadcastMessage]</code> - Messages from a Source<a class=headerlink href=#dxbroadcastmessage---messages-from-a-source title="Anchor link to this section">&para;</a></h4> <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=na>[DxBroadcastMessage]</span><span class=w> </span><span class=c1>// ← Tells generator: &quot;This broadcasts from a source&quot;</span>
8
- </span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></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>
9
- </span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><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>
10
- </span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a><span class=p>}</span>
11
- </span></code></pre></div> <h5 id=what-it-generates_2>What it generates<a class=headerlink href=#what-it-generates_2 title="Anchor link to this section">&para;</a></h5> <ul> <li>Implements <code>IBroadcastMessage&lt;TookDamage&gt;</code></li> <li>Adds required plumbing for broadcast emissions</li> <li>Makes it work with <code>.EmitGameObjectBroadcast()</code> / <code>.EmitComponentBroadcast()</code></li> </ul> <h3 id=2-dxautoconstructor---automatic-constructors>2. <code>[DxAutoConstructor]</code> - Automatic Constructors<a class=headerlink href=#2-dxautoconstructor---automatic-constructors title="Anchor link to this section">&para;</a></h3> <p><strong>Problem:</strong> Writing constructors for every message is tedious and error-prone.</p> <p><strong>Solution:</strong> Let the source generator do it!</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>[DxUntargetedMessage]</span>
12
- </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><span class=w> </span><span class=c1>// ← Magic happens here!</span>
13
- </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>VideoSettingsChanged</span>
14
- </span><span id=__span-3-4><a id=__codelineno-3-4 name=__codelineno-3-4 href=#__codelineno-3-4></a><span class=p>{</span>
15
- </span><span id=__span-3-5><a id=__codelineno-3-5 name=__codelineno-3-5 href=#__codelineno-3-5></a><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>width</span><span class=p>;</span>
16
- </span><span id=__span-3-6><a id=__codelineno-3-6 name=__codelineno-3-6 href=#__codelineno-3-6></a><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>height</span><span class=p>;</span>
17
- </span><span id=__span-3-7><a id=__codelineno-3-7 name=__codelineno-3-7 href=#__codelineno-3-7></a><span class=p>}</span>
18
- </span></code></pre></div> <h4 id=what-you-get-auto-generated>What you get (auto-generated)<a class=headerlink href=#what-you-get-auto-generated title="Anchor link to this section">&para;</a></h4> <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=c1>// You don&#39;t write this - it&#39;s generated for you!</span>
19
- </span><span id=__span-4-2><a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a><span class=k>public</span><span class=w> </span><span class=nf>VideoSettingsChanged</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>width</span><span class=p>,</span><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>height</span><span class=p>)</span>
20
- </span><span id=__span-4-3><a id=__codelineno-4-3 name=__codelineno-4-3 href=#__codelineno-4-3></a><span class=p>{</span>
21
- </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=k>this</span><span class=p>.</span><span class=n>width</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>width</span><span class=p>;</span>
22
- </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=k>this</span><span class=p>.</span><span class=n>height</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>height</span><span class=p>;</span>
23
- </span><span id=__span-4-6><a id=__codelineno-4-6 name=__codelineno-4-6 href=#__codelineno-4-6></a><span class=p>}</span>
24
- </span></code></pre></div> <h5 id=rules>Rules<a class=headerlink href=#rules title="Anchor link to this section">&para;</a></h5> <ul> <li>Creates constructor parameters in <strong>field declaration order</strong></li> <li>Only includes <code>public</code> fields</li> <li>Ignores <code>static</code> fields</li> <li>Works with <code>readonly</code> structs (recommended!)</li> <li>Supports nested types (types defined inside other classes/structs)</li> <li>Supports internal types (types with <code>internal</code> visibility)</li> </ul> <h3 id=3-dxoptionalparameter---optional-constructor-parameters>3. <code>[DxOptionalParameter]</code> - Optional Constructor Parameters<a class=headerlink href=#3-dxoptionalparameter---optional-constructor-parameters title="Anchor link to this section">&para;</a></h3> <p>The <code>DxOptionalParameterAttribute</code> marks a field as optional when used with <code>[DxAutoConstructor]</code>. The source generator emits a constructor parameter with a default value for annotated fields, making it easy to create messages with sensible defaults.</p> <h4 id=how-it-works-with-dxautoconstructor>How It Works with DxAutoConstructor<a class=headerlink href=#how-it-works-with-dxautoconstructor title="Anchor link to this section">&para;</a></h4> <p>When you combine <code>[DxOptionalParameter]</code> with <code>[DxAutoConstructor]</code>, the generator creates a constructor where:</p> <ol> <li><strong>Required fields</strong> (without the attribute) become regular constructor parameters</li> <li><strong>Optional fields</strong> (with the attribute) become parameters with default values</li> <li><strong>Parameter order</strong> follows field declaration order</li> <li><strong>C# rules apply</strong> - optional parameters must come after required parameters</li> </ol> <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=na>[DxUntargetedMessage]</span>
25
- </span><span id=__span-5-2><a id=__codelineno-5-2 name=__codelineno-5-2 href=#__codelineno-5-2></a><span class=na>[DxAutoConstructor]</span>
26
- </span><span id=__span-5-3><a id=__codelineno-5-3 name=__codelineno-5-3 href=#__codelineno-5-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>SettingsChanged</span>
27
- </span><span id=__span-5-4><a id=__codelineno-5-4 name=__codelineno-5-4 href=#__codelineno-5-4></a><span class=p>{</span>
28
- </span><span id=__span-5-5><a id=__codelineno-5-5 name=__codelineno-5-5 href=#__codelineno-5-5></a><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>float</span><span class=w> </span><span class=n>volume</span><span class=p>;</span><span class=w> </span><span class=c1>// Required (no attribute)</span>
29
- </span><span id=__span-5-6><a id=__codelineno-5-6 name=__codelineno-5-6 href=#__codelineno-5-6></a><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>quality</span><span class=p>;</span><span class=w> </span><span class=c1>// Required (no attribute)</span>
30
- </span><span id=__span-5-7><a id=__codelineno-5-7 name=__codelineno-5-7 href=#__codelineno-5-7></a><span class=w> </span><span class=na>[DxOptionalParameter]</span><span class=w> </span><span class=c1>// Optional, defaults to false</span>
31
- </span><span id=__span-5-8><a id=__codelineno-5-8 name=__codelineno-5-8 href=#__codelineno-5-8></a><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>bool</span><span class=w> </span><span class=n>fullscreen</span><span class=p>;</span>
32
- </span><span id=__span-5-9><a id=__codelineno-5-9 name=__codelineno-5-9 href=#__codelineno-5-9></a><span class=w> </span><span class=na>[DxOptionalParameter(100)]</span><span class=w> </span><span class=c1>// Optional, defaults to 100</span>
33
- </span><span id=__span-5-10><a id=__codelineno-5-10 name=__codelineno-5-10 href=#__codelineno-5-10></a><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>brightness</span><span class=p>;</span>
34
- </span><span id=__span-5-11><a id=__codelineno-5-11 name=__codelineno-5-11 href=#__codelineno-5-11></a><span class=p>}</span>
35
- </span></code></pre></div> <h4 id=generated-constructor>Generated constructor<a class=headerlink href=#generated-constructor title="Anchor link to this section">&para;</a></h4> <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=k>public</span><span class=w> </span><span class=nf>SettingsChanged</span><span class=p>(</span><span class=kt>float</span><span class=w> </span><span class=n>volume</span><span class=p>,</span><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>quality</span><span class=p>,</span><span class=w> </span><span class=kt>bool</span><span class=w> </span><span class=n>fullscreen</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=k>default</span><span class=p>,</span><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>brightness</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=mi>100</span><span class=p>)</span>
36
- </span><span id=__span-6-2><a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a><span class=p>{</span>
37
- </span><span id=__span-6-3><a id=__codelineno-6-3 name=__codelineno-6-3 href=#__codelineno-6-3></a><span class=w> </span><span class=k>this</span><span class=p>.</span><span class=n>volume</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>volume</span><span class=p>;</span>
38
- </span><span id=__span-6-4><a id=__codelineno-6-4 name=__codelineno-6-4 href=#__codelineno-6-4></a><span class=w> </span><span class=k>this</span><span class=p>.</span><span class=n>quality</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>quality</span><span class=p>;</span>
39
- </span><span id=__span-6-5><a id=__codelineno-6-5 name=__codelineno-6-5 href=#__codelineno-6-5></a><span class=w> </span><span class=k>this</span><span class=p>.</span><span class=n>fullscreen</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>fullscreen</span><span class=p>;</span>
40
- </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=k>this</span><span class=p>.</span><span class=n>brightness</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>brightness</span><span class=p>;</span>
41
- </span><span id=__span-6-7><a id=__codelineno-6-7 name=__codelineno-6-7 href=#__codelineno-6-7></a><span class=p>}</span>
42
- </span></code></pre></div> <h4 id=calling-the-constructor>Calling the Constructor<a class=headerlink href=#calling-the-constructor title="Anchor link to this section">&para;</a></h4> <p>Optional parameters support all standard C# calling conventions:</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=c1>// Provide all arguments</span>
43
- </span><span id=__span-7-2><a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a><span class=kt>var</span><span class=w> </span><span class=n>settings1</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>SettingsChanged</span><span class=p>(</span><span class=mf>0.8f</span><span class=p>,</span><span class=w> </span><span class=mi>2</span><span class=p>,</span><span class=w> </span><span class=k>true</span><span class=p>,</span><span class=w> </span><span class=mi>80</span><span class=p>);</span>
44
- </span><span id=__span-7-3><a id=__codelineno-7-3 name=__codelineno-7-3 href=#__codelineno-7-3></a>
45
- </span><span id=__span-7-4><a id=__codelineno-7-4 name=__codelineno-7-4 href=#__codelineno-7-4></a><span class=c1>// Use all defaults</span>
46
- </span><span id=__span-7-5><a id=__codelineno-7-5 name=__codelineno-7-5 href=#__codelineno-7-5></a><span class=kt>var</span><span class=w> </span><span class=n>settings2</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>SettingsChanged</span><span class=p>(</span><span class=mf>0.8f</span><span class=p>,</span><span class=w> </span><span class=mi>2</span><span class=p>);</span><span class=w> </span><span class=c1>// fullscreen=false, brightness=100</span>
47
- </span><span id=__span-7-6><a id=__codelineno-7-6 name=__codelineno-7-6 href=#__codelineno-7-6></a>
48
- </span><span id=__span-7-7><a id=__codelineno-7-7 name=__codelineno-7-7 href=#__codelineno-7-7></a><span class=c1>// Use named arguments to skip some optionals</span>
49
- </span><span id=__span-7-8><a id=__codelineno-7-8 name=__codelineno-7-8 href=#__codelineno-7-8></a><span class=kt>var</span><span class=w> </span><span class=n>settings3</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>SettingsChanged</span><span class=p>(</span><span class=mf>0.8f</span><span class=p>,</span><span class=w> </span><span class=mi>2</span><span class=p>,</span><span class=w> </span><span class=n>fullscreen</span><span class=p>:</span><span class=w> </span><span class=k>true</span><span class=p>);</span><span class=w> </span><span class=c1>// brightness=100</span>
50
- </span><span id=__span-7-9><a id=__codelineno-7-9 name=__codelineno-7-9 href=#__codelineno-7-9></a><span class=kt>var</span><span class=w> </span><span class=n>settings4</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>SettingsChanged</span><span class=p>(</span><span class=mf>0.8f</span><span class=p>,</span><span class=w> </span><span class=mi>2</span><span class=p>,</span><span class=w> </span><span class=n>brightness</span><span class=p>:</span><span class=w> </span><span class=mi>50</span><span class=p>);</span><span class=w> </span><span class=c1>// fullscreen=false</span>
51
- </span></code></pre></div> <h4 id=supported-default-value-types>Supported Default Value Types<a class=headerlink href=#supported-default-value-types title="Anchor link to this section">&para;</a></h4> <p>The attribute provides constructor overloads for all common primitive types:</p> <blockquote> <p>ℹ️ <strong>Info: Built-in Type Support</strong></p> <p><strong>Numeric:</strong></p> <table> <thead> <tr> <th>Category</th> <th>Types</th> </tr> </thead> <tbody> <tr> <td><strong>Signed Integers</strong></td> <td><code>sbyte</code>, <code>short</code>, <code>int</code>, <code>long</code></td> </tr> <tr> <td><strong>Unsigned Integers</strong></td> <td><code>byte</code>, <code>ushort</code>, <code>uint</code>, <code>ulong</code></td> </tr> <tr> <td><strong>Floating Point</strong></td> <td><code>float</code>, <code>double</code></td> </tr> </tbody> </table> <p><strong>Other:</strong></p> <table> <thead> <tr> <th>Category</th> <th>Types</th> </tr> </thead> <tbody> <tr> <td><strong>Boolean</strong></td> <td><code>bool</code></td> </tr> <tr> <td><strong>Character</strong></td> <td><code>char</code></td> </tr> <tr> <td><strong>String</strong></td> <td><code>string</code></td> </tr> </tbody> </table> <p>For enums, Unity types, and other complex types, use the <code>Expression</code> property.</p> </blockquote> <h5 id=examples-by-type>Examples by type<a class=headerlink href=#examples-by-type title="Anchor link to this section">&para;</a></h5> <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>[DxAutoConstructor]</span>
52
- </span><span id=__span-8-2><a id=__codelineno-8-2 name=__codelineno-8-2 href=#__codelineno-8-2></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>TypeExamples</span>
53
- </span><span id=__span-8-3><a id=__codelineno-8-3 name=__codelineno-8-3 href=#__codelineno-8-3></a><span class=p>{</span>
54
- </span><span id=__span-8-4><a id=__codelineno-8-4 name=__codelineno-8-4 href=#__codelineno-8-4></a><span class=w> </span><span class=c1>// Boolean</span>
55
- </span><span id=__span-8-5><a id=__codelineno-8-5 name=__codelineno-8-5 href=#__codelineno-8-5></a><span class=w> </span><span class=na>[DxOptionalParameter(true)]</span>
56
- </span><span id=__span-8-6><a id=__codelineno-8-6 name=__codelineno-8-6 href=#__codelineno-8-6></a><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>bool</span><span class=w> </span><span class=n>isEnabled</span><span class=p>;</span>
57
- </span><span id=__span-8-7><a id=__codelineno-8-7 name=__codelineno-8-7 href=#__codelineno-8-7></a>
58
- </span><span id=__span-8-8><a id=__codelineno-8-8 name=__codelineno-8-8 href=#__codelineno-8-8></a><span class=w> </span><span class=c1>// Character</span>
59
- </span><span id=__span-8-9><a id=__codelineno-8-9 name=__codelineno-8-9 href=#__codelineno-8-9></a><span class=w> </span><span class=na>[DxOptionalParameter(&#39;X&#39;)]</span>
60
- </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=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=kt>char</span><span class=w> </span><span class=n>grade</span><span class=p>;</span>
61
- </span><span id=__span-8-11><a id=__codelineno-8-11 name=__codelineno-8-11 href=#__codelineno-8-11></a>
62
- </span><span id=__span-8-12><a id=__codelineno-8-12 name=__codelineno-8-12 href=#__codelineno-8-12></a><span class=w> </span><span class=c1>// String</span>
63
- </span><span id=__span-8-13><a id=__codelineno-8-13 name=__codelineno-8-13 href=#__codelineno-8-13></a><span class=w> </span><span class=na>[DxOptionalParameter(&quot;unknown&quot;)]</span>
64
- </span><span id=__span-8-14><a id=__codelineno-8-14 name=__codelineno-8-14 href=#__codelineno-8-14></a><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>string</span><span class=w> </span><span class=n>playerName</span><span class=p>;</span>
65
- </span><span id=__span-8-15><a id=__codelineno-8-15 name=__codelineno-8-15 href=#__codelineno-8-15></a>
66
- </span><span id=__span-8-16><a id=__codelineno-8-16 name=__codelineno-8-16 href=#__codelineno-8-16></a><span class=w> </span><span class=c1>// Signed integers</span>
67
- </span><span id=__span-8-17><a id=__codelineno-8-17 name=__codelineno-8-17 href=#__codelineno-8-17></a><span class=w> </span><span class=na>[DxOptionalParameter((sbyte)-1)]</span>
68
- </span><span id=__span-8-18><a id=__codelineno-8-18 name=__codelineno-8-18 href=#__codelineno-8-18></a><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>sbyte</span><span class=w> </span><span class=n>signedByte</span><span class=p>;</span>
69
- </span><span id=__span-8-19><a id=__codelineno-8-19 name=__codelineno-8-19 href=#__codelineno-8-19></a>
70
- </span><span id=__span-8-20><a id=__codelineno-8-20 name=__codelineno-8-20 href=#__codelineno-8-20></a><span class=w> </span><span class=na>[DxOptionalParameter((short)100)]</span>
71
- </span><span id=__span-8-21><a id=__codelineno-8-21 name=__codelineno-8-21 href=#__codelineno-8-21></a><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>short</span><span class=w> </span><span class=n>shortValue</span><span class=p>;</span>
72
- </span><span id=__span-8-22><a id=__codelineno-8-22 name=__codelineno-8-22 href=#__codelineno-8-22></a>
73
- </span><span id=__span-8-23><a id=__codelineno-8-23 name=__codelineno-8-23 href=#__codelineno-8-23></a><span class=w> </span><span class=na>[DxOptionalParameter(42)]</span>
74
- </span><span id=__span-8-24><a id=__codelineno-8-24 name=__codelineno-8-24 href=#__codelineno-8-24></a><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>score</span><span class=p>;</span>
75
- </span><span id=__span-8-25><a id=__codelineno-8-25 name=__codelineno-8-25 href=#__codelineno-8-25></a>
76
- </span><span id=__span-8-26><a id=__codelineno-8-26 name=__codelineno-8-26 href=#__codelineno-8-26></a><span class=w> </span><span class=na>[DxOptionalParameter(9999999999L)]</span>
77
- </span><span id=__span-8-27><a id=__codelineno-8-27 name=__codelineno-8-27 href=#__codelineno-8-27></a><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>long</span><span class=w> </span><span class=n>bigNumber</span><span class=p>;</span>
78
- </span><span id=__span-8-28><a id=__codelineno-8-28 name=__codelineno-8-28 href=#__codelineno-8-28></a>
79
- </span><span id=__span-8-29><a id=__codelineno-8-29 name=__codelineno-8-29 href=#__codelineno-8-29></a><span class=w> </span><span class=c1>// Unsigned integers</span>
80
- </span><span id=__span-8-30><a id=__codelineno-8-30 name=__codelineno-8-30 href=#__codelineno-8-30></a><span class=w> </span><span class=na>[DxOptionalParameter((byte)255)]</span>
81
- </span><span id=__span-8-31><a id=__codelineno-8-31 name=__codelineno-8-31 href=#__codelineno-8-31></a><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>byte</span><span class=w> </span><span class=n>level</span><span class=p>;</span>
82
- </span><span id=__span-8-32><a id=__codelineno-8-32 name=__codelineno-8-32 href=#__codelineno-8-32></a>
83
- </span><span id=__span-8-33><a id=__codelineno-8-33 name=__codelineno-8-33 href=#__codelineno-8-33></a><span class=w> </span><span class=na>[DxOptionalParameter((ushort)1000)]</span>
84
- </span><span id=__span-8-34><a id=__codelineno-8-34 name=__codelineno-8-34 href=#__codelineno-8-34></a><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>ushort</span><span class=w> </span><span class=n>maxHealth</span><span class=p>;</span>
85
- </span><span id=__span-8-35><a id=__codelineno-8-35 name=__codelineno-8-35 href=#__codelineno-8-35></a>
86
- </span><span id=__span-8-36><a id=__codelineno-8-36 name=__codelineno-8-36 href=#__codelineno-8-36></a><span class=w> </span><span class=na>[DxOptionalParameter(50u)]</span>
87
- </span><span id=__span-8-37><a id=__codelineno-8-37 name=__codelineno-8-37 href=#__codelineno-8-37></a><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>uint</span><span class=w> </span><span class=n>count</span><span class=p>;</span>
88
- </span><span id=__span-8-38><a id=__codelineno-8-38 name=__codelineno-8-38 href=#__codelineno-8-38></a>
89
- </span><span id=__span-8-39><a id=__codelineno-8-39 name=__codelineno-8-39 href=#__codelineno-8-39></a><span class=w> </span><span class=na>[DxOptionalParameter(100UL)]</span>
90
- </span><span id=__span-8-40><a id=__codelineno-8-40 name=__codelineno-8-40 href=#__codelineno-8-40></a><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>ulong</span><span class=w> </span><span class=n>totalPoints</span><span class=p>;</span>
91
- </span><span id=__span-8-41><a id=__codelineno-8-41 name=__codelineno-8-41 href=#__codelineno-8-41></a>
92
- </span><span id=__span-8-42><a id=__codelineno-8-42 name=__codelineno-8-42 href=#__codelineno-8-42></a><span class=w> </span><span class=c1>// Floating point</span>
93
- </span><span id=__span-8-43><a id=__codelineno-8-43 name=__codelineno-8-43 href=#__codelineno-8-43></a><span class=w> </span><span class=na>[DxOptionalParameter(1.5f)]</span>
94
- </span><span id=__span-8-44><a id=__codelineno-8-44 name=__codelineno-8-44 href=#__codelineno-8-44></a><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>float</span><span class=w> </span><span class=n>speed</span><span class=p>;</span>
95
- </span><span id=__span-8-45><a id=__codelineno-8-45 name=__codelineno-8-45 href=#__codelineno-8-45></a>
96
- </span><span id=__span-8-46><a id=__codelineno-8-46 name=__codelineno-8-46 href=#__codelineno-8-46></a><span class=w> </span><span class=na>[DxOptionalParameter(3.14159)]</span>
97
- </span><span id=__span-8-47><a id=__codelineno-8-47 name=__codelineno-8-47 href=#__codelineno-8-47></a><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>double</span><span class=w> </span><span class=n>precision</span><span class=p>;</span>
98
- </span><span id=__span-8-48><a id=__codelineno-8-48 name=__codelineno-8-48 href=#__codelineno-8-48></a><span class=p>}</span>
99
- </span></code></pre></div> <h4 id=using-type-defaults>Using Type Defaults<a class=headerlink href=#using-type-defaults title="Anchor link to this section">&para;</a></h4> <p>When you use <code>[DxOptionalParameter]</code> without a value, the field defaults to the type's default value:</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=na>[DxAutoConstructor]</span>
100
- </span><span id=__span-9-2><a id=__codelineno-9-2 name=__codelineno-9-2 href=#__codelineno-9-2></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>DefaultExamples</span>
101
- </span><span id=__span-9-3><a id=__codelineno-9-3 name=__codelineno-9-3 href=#__codelineno-9-3></a><span class=p>{</span>
102
- </span><span id=__span-9-4><a id=__codelineno-9-4 name=__codelineno-9-4 href=#__codelineno-9-4></a><span class=w> </span><span class=na>[DxOptionalParameter]</span><span class=w> </span><span class=c1>// Defaults to 0</span>
103
- </span><span id=__span-9-5><a id=__codelineno-9-5 name=__codelineno-9-5 href=#__codelineno-9-5></a><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>count</span><span class=p>;</span>
104
- </span><span id=__span-9-6><a id=__codelineno-9-6 name=__codelineno-9-6 href=#__codelineno-9-6></a>
105
- </span><span id=__span-9-7><a id=__codelineno-9-7 name=__codelineno-9-7 href=#__codelineno-9-7></a><span class=w> </span><span class=na>[DxOptionalParameter]</span><span class=w> </span><span class=c1>// Defaults to false</span>
106
- </span><span id=__span-9-8><a id=__codelineno-9-8 name=__codelineno-9-8 href=#__codelineno-9-8></a><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>bool</span><span class=w> </span><span class=n>isActive</span><span class=p>;</span>
107
- </span><span id=__span-9-9><a id=__codelineno-9-9 name=__codelineno-9-9 href=#__codelineno-9-9></a>
108
- </span><span id=__span-9-10><a id=__codelineno-9-10 name=__codelineno-9-10 href=#__codelineno-9-10></a><span class=w> </span><span class=na>[DxOptionalParameter]</span><span class=w> </span><span class=c1>// Defaults to null</span>
109
- </span><span id=__span-9-11><a id=__codelineno-9-11 name=__codelineno-9-11 href=#__codelineno-9-11></a><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>string</span><span class=w> </span><span class=n>name</span><span class=p>;</span>
110
- </span><span id=__span-9-12><a id=__codelineno-9-12 name=__codelineno-9-12 href=#__codelineno-9-12></a>
111
- </span><span id=__span-9-13><a id=__codelineno-9-13 name=__codelineno-9-13 href=#__codelineno-9-13></a><span class=w> </span><span class=na>[DxOptionalParameter]</span><span class=w> </span><span class=c1>// Defaults to 0.0f</span>
112
- </span><span id=__span-9-14><a id=__codelineno-9-14 name=__codelineno-9-14 href=#__codelineno-9-14></a><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>float</span><span class=w> </span><span class=n>multiplier</span><span class=p>;</span>
113
- </span><span id=__span-9-15><a id=__codelineno-9-15 name=__codelineno-9-15 href=#__codelineno-9-15></a><span class=p>}</span>
114
- </span></code></pre></div> <h4 id=advanced-custom-expressions-for-any-type>Advanced: Custom Expressions for Any Type<a class=headerlink href=#advanced-custom-expressions-for-any-type title="Anchor link to this section">&para;</a></h4> <p>For types that don't have built-in constructor overloads (enums, nullables, Unity types, custom structs), use the <code>Expression</code> property. The expression is inserted verbatim into the generated constructor, and the C# compiler enforces type safety:</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=na>[DxAutoConstructor]</span>
115
- </span><span id=__span-10-2><a id=__codelineno-10-2 name=__codelineno-10-2 href=#__codelineno-10-2></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>AdvancedDefaults</span>
116
- </span><span id=__span-10-3><a id=__codelineno-10-3 name=__codelineno-10-3 href=#__codelineno-10-3></a><span class=p>{</span>
117
- </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=c1>// Nullable types</span>
118
- </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=na>[DxOptionalParameter(Expression = &quot;null&quot;)]</span>
119
- </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=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>optionalId</span><span class=p>;</span>
120
- </span><span id=__span-10-7><a id=__codelineno-10-7 name=__codelineno-10-7 href=#__codelineno-10-7></a>
121
- </span><span id=__span-10-8><a id=__codelineno-10-8 name=__codelineno-10-8 href=#__codelineno-10-8></a><span class=w> </span><span class=c1>// Enum values</span>
122
- </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=na>[DxOptionalParameter(Expression = &quot;DamageType.Physical&quot;)]</span>
123
- </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=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=n>DamageType</span><span class=w> </span><span class=n>damageType</span><span class=p>;</span>
124
- </span><span id=__span-10-11><a id=__codelineno-10-11 name=__codelineno-10-11 href=#__codelineno-10-11></a>
125
- </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=c1>// Unity types</span>
126
- </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=na>[DxOptionalParameter(Expression = &quot;Vector3.zero&quot;)]</span>
127
- </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=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=n>Vector3</span><span class=w> </span><span class=n>position</span><span class=p>;</span>
128
- </span><span id=__span-10-15><a id=__codelineno-10-15 name=__codelineno-10-15 href=#__codelineno-10-15></a>
129
- </span><span id=__span-10-16><a id=__codelineno-10-16 name=__codelineno-10-16 href=#__codelineno-10-16></a><span class=w> </span><span class=na>[DxOptionalParameter(Expression = &quot;Color.white&quot;)]</span>
130
- </span><span id=__span-10-17><a id=__codelineno-10-17 name=__codelineno-10-17 href=#__codelineno-10-17></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=n>Color</span><span class=w> </span><span class=n>tint</span><span class=p>;</span>
131
- </span><span id=__span-10-18><a id=__codelineno-10-18 name=__codelineno-10-18 href=#__codelineno-10-18></a>
132
- </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=c1>// Static constants</span>
133
- </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=na>[DxOptionalParameter(Expression = &quot;float.MaxValue&quot;)]</span>
134
- </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=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=kt>float</span><span class=w> </span><span class=n>range</span><span class=p>;</span>
135
- </span><span id=__span-10-22><a id=__codelineno-10-22 name=__codelineno-10-22 href=#__codelineno-10-22></a>
136
- </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=c1>// Named constants from your code</span>
137
- </span><span id=__span-10-24><a id=__codelineno-10-24 name=__codelineno-10-24 href=#__codelineno-10-24></a><span class=w> </span><span class=na>[DxOptionalParameter(Expression = &quot;GameConstants.DefaultHealth&quot;)]</span>
138
- </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>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>health</span><span class=p>;</span>
139
- </span><span id=__span-10-26><a id=__codelineno-10-26 name=__codelineno-10-26 href=#__codelineno-10-26></a><span class=p>}</span>
140
- </span></code></pre></div> <blockquote> <p>💡 <strong>Tip: Expression rules</strong></p> <ul> <li>The expression is inserted <strong>verbatim</strong> into the generated code</li> <li>Must be a valid C# constant expression</li> <li>Type safety is enforced by the C# compiler at build time</li> <li>Perfect for enums, nullable types, static constants, or complex defaults</li> </ul> </blockquote> <h4 id=code-examples>Code Examples<a class=headerlink href=#code-examples title="Anchor link to this section">&para;</a></h4> <h4 id=example-1-basic-optional-parameter-with-default-value>Example 1: Basic Optional Parameter with Default Value<a class=headerlink href=#example-1-basic-optional-parameter-with-default-value title="Anchor link to this section">&para;</a></h4> <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=na>[DxTargetedMessage]</span>
141
- </span><span id=__span-11-2><a id=__codelineno-11-2 name=__codelineno-11-2 href=#__codelineno-11-2></a><span class=na>[DxAutoConstructor]</span>
142
- </span><span id=__span-11-3><a id=__codelineno-11-3 name=__codelineno-11-3 href=#__codelineno-11-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>
143
- </span><span id=__span-11-4><a id=__codelineno-11-4 name=__codelineno-11-4 href=#__codelineno-11-4></a><span class=p>{</span>
144
- </span><span id=__span-11-5><a id=__codelineno-11-5 name=__codelineno-11-5 href=#__codelineno-11-5></a><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>
145
- </span><span id=__span-11-6><a id=__codelineno-11-6 name=__codelineno-11-6 href=#__codelineno-11-6></a><span class=w> </span><span class=na>[DxOptionalParameter(false)]</span>
146
- </span><span id=__span-11-7><a id=__codelineno-11-7 name=__codelineno-11-7 href=#__codelineno-11-7></a><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>bool</span><span class=w> </span><span class=n>isCritical</span><span class=p>;</span>
147
- </span><span id=__span-11-8><a id=__codelineno-11-8 name=__codelineno-11-8 href=#__codelineno-11-8></a><span class=p>}</span>
148
- </span><span id=__span-11-9><a id=__codelineno-11-9 name=__codelineno-11-9 href=#__codelineno-11-9></a>
149
- </span><span id=__span-11-10><a id=__codelineno-11-10 name=__codelineno-11-10 href=#__codelineno-11-10></a><span class=c1>// Usage:</span>
150
- </span><span id=__span-11-11><a id=__codelineno-11-11 name=__codelineno-11-11 href=#__codelineno-11-11></a><span class=kt>var</span><span class=w> </span><span class=n>normalHeal</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>25</span><span class=p>);</span><span class=w> </span><span class=c1>// isCritical = false</span>
151
- </span><span id=__span-11-12><a id=__codelineno-11-12 name=__codelineno-11-12 href=#__codelineno-11-12></a><span class=kt>var</span><span class=w> </span><span class=n>critHeal</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>50</span><span class=p>,</span><span class=w> </span><span class=k>true</span><span class=p>);</span><span class=w> </span><span class=c1>// isCritical = true</span>
152
- </span></code></pre></div> <h4 id=example-2-multiple-optional-parameters>Example 2: Multiple Optional Parameters<a class=headerlink href=#example-2-multiple-optional-parameters title="Anchor link to this section">&para;</a></h4> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-12-1><a id=__codelineno-12-1 name=__codelineno-12-1 href=#__codelineno-12-1></a><span class=na>[DxBroadcastMessage]</span>
153
- </span><span id=__span-12-2><a id=__codelineno-12-2 name=__codelineno-12-2 href=#__codelineno-12-2></a><span class=na>[DxAutoConstructor]</span>
154
- </span><span id=__span-12-3><a id=__codelineno-12-3 name=__codelineno-12-3 href=#__codelineno-12-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>SpawnEffect</span>
155
- </span><span id=__span-12-4><a id=__codelineno-12-4 name=__codelineno-12-4 href=#__codelineno-12-4></a><span class=p>{</span>
156
- </span><span id=__span-12-5><a id=__codelineno-12-5 name=__codelineno-12-5 href=#__codelineno-12-5></a><span class=w> </span><span class=na>[DxOptionalParameter(1.0f)]</span>
157
- </span><span id=__span-12-6><a id=__codelineno-12-6 name=__codelineno-12-6 href=#__codelineno-12-6></a><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>float</span><span class=w> </span><span class=n>scale</span><span class=p>;</span>
158
- </span><span id=__span-12-7><a id=__codelineno-12-7 name=__codelineno-12-7 href=#__codelineno-12-7></a>
159
- </span><span id=__span-12-8><a id=__codelineno-12-8 name=__codelineno-12-8 href=#__codelineno-12-8></a><span class=w> </span><span class=na>[DxOptionalParameter(Expression = &quot;Color.white&quot;)]</span>
160
- </span><span id=__span-12-9><a id=__codelineno-12-9 name=__codelineno-12-9 href=#__codelineno-12-9></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=n>Color</span><span class=w> </span><span class=n>color</span><span class=p>;</span>
161
- </span><span id=__span-12-10><a id=__codelineno-12-10 name=__codelineno-12-10 href=#__codelineno-12-10></a>
162
- </span><span id=__span-12-11><a id=__codelineno-12-11 name=__codelineno-12-11 href=#__codelineno-12-11></a><span class=w> </span><span class=na>[DxOptionalParameter(5.0f)]</span>
163
- </span><span id=__span-12-12><a id=__codelineno-12-12 name=__codelineno-12-12 href=#__codelineno-12-12></a><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>float</span><span class=w> </span><span class=n>duration</span><span class=p>;</span>
164
- </span><span id=__span-12-13><a id=__codelineno-12-13 name=__codelineno-12-13 href=#__codelineno-12-13></a>
165
- </span><span id=__span-12-14><a id=__codelineno-12-14 name=__codelineno-12-14 href=#__codelineno-12-14></a><span class=w> </span><span class=na>[DxOptionalParameter(false)]</span>
166
- </span><span id=__span-12-15><a id=__codelineno-12-15 name=__codelineno-12-15 href=#__codelineno-12-15></a><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>bool</span><span class=w> </span><span class=n>looping</span><span class=p>;</span>
167
- </span><span id=__span-12-16><a id=__codelineno-12-16 name=__codelineno-12-16 href=#__codelineno-12-16></a><span class=p>}</span>
168
- </span><span id=__span-12-17><a id=__codelineno-12-17 name=__codelineno-12-17 href=#__codelineno-12-17></a>
169
- </span><span id=__span-12-18><a id=__codelineno-12-18 name=__codelineno-12-18 href=#__codelineno-12-18></a><span class=c1>// Usage:</span>
170
- </span><span id=__span-12-19><a id=__codelineno-12-19 name=__codelineno-12-19 href=#__codelineno-12-19></a><span class=kt>var</span><span class=w> </span><span class=n>defaultEffect</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>SpawnEffect</span><span class=p>();</span><span class=w> </span><span class=c1>// All defaults</span>
171
- </span><span id=__span-12-20><a id=__codelineno-12-20 name=__codelineno-12-20 href=#__codelineno-12-20></a><span class=kt>var</span><span class=w> </span><span class=n>largeEffect</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>SpawnEffect</span><span class=p>(</span><span class=mf>2.5f</span><span class=p>);</span><span class=w> </span><span class=c1>// Custom scale</span>
172
- </span><span id=__span-12-21><a id=__codelineno-12-21 name=__codelineno-12-21 href=#__codelineno-12-21></a><span class=kt>var</span><span class=w> </span><span class=n>redEffect</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>SpawnEffect</span><span class=p>(</span><span class=mf>1.0f</span><span class=p>,</span><span class=w> </span><span class=n>Color</span><span class=p>.</span><span class=n>red</span><span class=p>);</span><span class=w> </span><span class=c1>// Custom color</span>
173
- </span><span id=__span-12-22><a id=__codelineno-12-22 name=__codelineno-12-22 href=#__codelineno-12-22></a><span class=kt>var</span><span class=w> </span><span class=n>customEffect</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>SpawnEffect</span><span class=p>(</span><span class=mf>1.5f</span><span class=p>,</span><span class=w> </span><span class=n>Color</span><span class=p>.</span><span class=n>blue</span><span class=p>,</span><span class=w> </span><span class=mf>10f</span><span class=p>,</span><span class=w> </span><span class=k>true</span><span class=p>);</span><span class=w> </span><span class=c1>// All custom</span>
174
- </span></code></pre></div> <h4 id=example-3-mix-of-required-and-optional-fields>Example 3: Mix of Required and Optional Fields<a class=headerlink href=#example-3-mix-of-required-and-optional-fields title="Anchor link to this section">&para;</a></h4> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-13-1><a id=__codelineno-13-1 name=__codelineno-13-1 href=#__codelineno-13-1></a><span class=na>[DxUntargetedMessage]</span>
175
- </span><span id=__span-13-2><a id=__codelineno-13-2 name=__codelineno-13-2 href=#__codelineno-13-2></a><span class=na>[DxAutoConstructor]</span>
176
- </span><span id=__span-13-3><a id=__codelineno-13-3 name=__codelineno-13-3 href=#__codelineno-13-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>GameEvent</span>
177
- </span><span id=__span-13-4><a id=__codelineno-13-4 name=__codelineno-13-4 href=#__codelineno-13-4></a><span class=p>{</span>
178
- </span><span id=__span-13-5><a id=__codelineno-13-5 name=__codelineno-13-5 href=#__codelineno-13-5></a><span class=w> </span><span class=c1>// Required fields (must be provided)</span>
179
- </span><span id=__span-13-6><a id=__codelineno-13-6 name=__codelineno-13-6 href=#__codelineno-13-6></a><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>string</span><span class=w> </span><span class=n>eventName</span><span class=p>;</span>
180
- </span><span id=__span-13-7><a id=__codelineno-13-7 name=__codelineno-13-7 href=#__codelineno-13-7></a><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>playerId</span><span class=p>;</span>
181
- </span><span id=__span-13-8><a id=__codelineno-13-8 name=__codelineno-13-8 href=#__codelineno-13-8></a>
182
- </span><span id=__span-13-9><a id=__codelineno-13-9 name=__codelineno-13-9 href=#__codelineno-13-9></a><span class=w> </span><span class=c1>// Optional fields (have defaults)</span>
183
- </span><span id=__span-13-10><a id=__codelineno-13-10 name=__codelineno-13-10 href=#__codelineno-13-10></a><span class=w> </span><span class=na>[DxOptionalParameter(0)]</span>
184
- </span><span id=__span-13-11><a id=__codelineno-13-11 name=__codelineno-13-11 href=#__codelineno-13-11></a><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>score</span><span class=p>;</span>
185
- </span><span id=__span-13-12><a id=__codelineno-13-12 name=__codelineno-13-12 href=#__codelineno-13-12></a>
186
- </span><span id=__span-13-13><a id=__codelineno-13-13 name=__codelineno-13-13 href=#__codelineno-13-13></a><span class=w> </span><span class=na>[DxOptionalParameter(&quot;&quot;)]</span>
187
- </span><span id=__span-13-14><a id=__codelineno-13-14 name=__codelineno-13-14 href=#__codelineno-13-14></a><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>string</span><span class=w> </span><span class=n>metadata</span><span class=p>;</span>
188
- </span><span id=__span-13-15><a id=__codelineno-13-15 name=__codelineno-13-15 href=#__codelineno-13-15></a>
189
- </span><span id=__span-13-16><a id=__codelineno-13-16 name=__codelineno-13-16 href=#__codelineno-13-16></a><span class=w> </span><span class=na>[DxOptionalParameter(Expression = &quot;System.DateTime.UtcNow&quot;)]</span>
190
- </span><span id=__span-13-17><a id=__codelineno-13-17 name=__codelineno-13-17 href=#__codelineno-13-17></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=n>System</span><span class=p>.</span><span class=n>DateTime</span><span class=w> </span><span class=n>timestamp</span><span class=p>;</span>
191
- </span><span id=__span-13-18><a id=__codelineno-13-18 name=__codelineno-13-18 href=#__codelineno-13-18></a><span class=p>}</span>
192
- </span><span id=__span-13-19><a id=__codelineno-13-19 name=__codelineno-13-19 href=#__codelineno-13-19></a>
193
- </span><span id=__span-13-20><a id=__codelineno-13-20 name=__codelineno-13-20 href=#__codelineno-13-20></a><span class=c1>// Usage:</span>
194
- </span><span id=__span-13-21><a id=__codelineno-13-21 name=__codelineno-13-21 href=#__codelineno-13-21></a><span class=kt>var</span><span class=w> </span><span class=n>minimalEvent</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>GameEvent</span><span class=p>(</span><span class=s>&quot;LevelStart&quot;</span><span class=p>,</span><span class=w> </span><span class=mi>1</span><span class=p>);</span>
195
- </span><span id=__span-13-22><a id=__codelineno-13-22 name=__codelineno-13-22 href=#__codelineno-13-22></a><span class=kt>var</span><span class=w> </span><span class=n>scoredEvent</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>GameEvent</span><span class=p>(</span><span class=s>&quot;EnemyKilled&quot;</span><span class=p>,</span><span class=w> </span><span class=mi>1</span><span class=p>,</span><span class=w> </span><span class=mi>100</span><span class=p>);</span>
196
- </span><span id=__span-13-23><a id=__codelineno-13-23 name=__codelineno-13-23 href=#__codelineno-13-23></a><span class=kt>var</span><span class=w> </span><span class=n>fullEvent</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>GameEvent</span><span class=p>(</span><span class=s>&quot;Achievement&quot;</span><span class=p>,</span><span class=w> </span><span class=mi>1</span><span class=p>,</span><span class=w> </span><span class=mi>500</span><span class=p>,</span><span class=w> </span><span class=s>&quot;first_blood&quot;</span><span class=p>);</span>
197
- </span></code></pre></div> <h4 id=example-4-game-settings-message>Example 4: Game Settings Message<a class=headerlink href=#example-4-game-settings-message title="Anchor link to this section">&para;</a></h4> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-14-1><a id=__codelineno-14-1 name=__codelineno-14-1 href=#__codelineno-14-1></a><span class=na>[DxUntargetedMessage]</span>
198
- </span><span id=__span-14-2><a id=__codelineno-14-2 name=__codelineno-14-2 href=#__codelineno-14-2></a><span class=na>[DxAutoConstructor]</span>
199
- </span><span id=__span-14-3><a id=__codelineno-14-3 name=__codelineno-14-3 href=#__codelineno-14-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>AudioSettingsChanged</span>
200
- </span><span id=__span-14-4><a id=__codelineno-14-4 name=__codelineno-14-4 href=#__codelineno-14-4></a><span class=p>{</span>
201
- </span><span id=__span-14-5><a id=__codelineno-14-5 name=__codelineno-14-5 href=#__codelineno-14-5></a><span class=w> </span><span class=na>[DxOptionalParameter(1.0f)]</span>
202
- </span><span id=__span-14-6><a id=__codelineno-14-6 name=__codelineno-14-6 href=#__codelineno-14-6></a><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>float</span><span class=w> </span><span class=n>masterVolume</span><span class=p>;</span>
203
- </span><span id=__span-14-7><a id=__codelineno-14-7 name=__codelineno-14-7 href=#__codelineno-14-7></a>
204
- </span><span id=__span-14-8><a id=__codelineno-14-8 name=__codelineno-14-8 href=#__codelineno-14-8></a><span class=w> </span><span class=na>[DxOptionalParameter(0.8f)]</span>
205
- </span><span id=__span-14-9><a id=__codelineno-14-9 name=__codelineno-14-9 href=#__codelineno-14-9></a><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>float</span><span class=w> </span><span class=n>musicVolume</span><span class=p>;</span>
206
- </span><span id=__span-14-10><a id=__codelineno-14-10 name=__codelineno-14-10 href=#__codelineno-14-10></a>
207
- </span><span id=__span-14-11><a id=__codelineno-14-11 name=__codelineno-14-11 href=#__codelineno-14-11></a><span class=w> </span><span class=na>[DxOptionalParameter(1.0f)]</span>
208
- </span><span id=__span-14-12><a id=__codelineno-14-12 name=__codelineno-14-12 href=#__codelineno-14-12></a><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>float</span><span class=w> </span><span class=n>sfxVolume</span><span class=p>;</span>
209
- </span><span id=__span-14-13><a id=__codelineno-14-13 name=__codelineno-14-13 href=#__codelineno-14-13></a>
210
- </span><span id=__span-14-14><a id=__codelineno-14-14 name=__codelineno-14-14 href=#__codelineno-14-14></a><span class=w> </span><span class=na>[DxOptionalParameter(true)]</span>
211
- </span><span id=__span-14-15><a id=__codelineno-14-15 name=__codelineno-14-15 href=#__codelineno-14-15></a><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>bool</span><span class=w> </span><span class=n>muteWhenUnfocused</span><span class=p>;</span>
212
- </span><span id=__span-14-16><a id=__codelineno-14-16 name=__codelineno-14-16 href=#__codelineno-14-16></a><span class=p>}</span>
213
- </span><span id=__span-14-17><a id=__codelineno-14-17 name=__codelineno-14-17 href=#__codelineno-14-17></a>
214
- </span><span id=__span-14-18><a id=__codelineno-14-18 name=__codelineno-14-18 href=#__codelineno-14-18></a><span class=c1>// Apply all defaults</span>
215
- </span><span id=__span-14-19><a id=__codelineno-14-19 name=__codelineno-14-19 href=#__codelineno-14-19></a><span class=n>audioSettings</span><span class=p>.</span><span class=n>Emit</span><span class=p>();</span>
216
- </span><span id=__span-14-20><a id=__codelineno-14-20 name=__codelineno-14-20 href=#__codelineno-14-20></a>
217
- </span><span id=__span-14-21><a id=__codelineno-14-21 name=__codelineno-14-21 href=#__codelineno-14-21></a><span class=c1>// Only change music volume</span>
218
- </span><span id=__span-14-22><a id=__codelineno-14-22 name=__codelineno-14-22 href=#__codelineno-14-22></a><span class=k>new</span><span class=w> </span><span class=nf>AudioSettingsChanged</span><span class=p>(</span><span class=n>musicVolume</span><span class=p>:</span><span class=w> </span><span class=mf>0.5f</span><span class=p>).</span><span class=n>Emit</span><span class=p>();</span>
219
- </span><span id=__span-14-23><a id=__codelineno-14-23 name=__codelineno-14-23 href=#__codelineno-14-23></a>
220
- </span><span id=__span-14-24><a id=__codelineno-14-24 name=__codelineno-14-24 href=#__codelineno-14-24></a><span class=c1>// Change multiple settings</span>
221
- </span><span id=__span-14-25><a id=__codelineno-14-25 name=__codelineno-14-25 href=#__codelineno-14-25></a><span class=k>new</span><span class=w> </span><span class=nf>AudioSettingsChanged</span><span class=p>(</span><span class=mf>0.7f</span><span class=p>,</span><span class=w> </span><span class=mf>0.6f</span><span class=p>,</span><span class=w> </span><span class=mf>0.9f</span><span class=p>,</span><span class=w> </span><span class=k>false</span><span class=p>).</span><span class=n>Emit</span><span class=p>();</span>
222
- </span></code></pre></div> <h4 id=best-practices>Best Practices<a class=headerlink href=#best-practices title="Anchor link to this section">&para;</a></h4> <blockquote> <p>✅ <strong>Success: Recommendations</strong></p> <ol> <li><strong>Order matters</strong> — Place required fields before optional fields in your struct</li> <li><strong>Use meaningful defaults</strong> — Choose defaults that represent the most common use case</li> <li><strong>Prefer explicit values</strong> — Use <code>[DxOptionalParameter(0)]</code> instead of <code>[DxOptionalParameter]</code> when clarity helps</li> <li><strong>Use Expression for complex types</strong> — Don't fight the type system; use <code>Expression</code> for enums and Unity types</li> <li><strong>Document unusual defaults</strong> — If a default isn't obvious, add a comment explaining why</li> </ol> </blockquote> <h2 id=why-use-attributes-instead-of-manual-implementation>Why Use Attributes Instead of Manual Implementation<a class=headerlink href=#why-use-attributes-instead-of-manual-implementation title="Anchor link to this section">&para;</a></h2> <h3 id=-attribute-definition-clean-automatic>✅ Attribute Definition (Clean, Automatic)<a class=headerlink href=#-attribute-definition-clean-automatic 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-15-1><a id=__codelineno-15-1 name=__codelineno-15-1 href=#__codelineno-15-1></a><span class=na>[DxTargetedMessage]</span>
223
- </span><span id=__span-15-2><a id=__codelineno-15-2 name=__codelineno-15-2 href=#__codelineno-15-2></a><span class=na>[DxAutoConstructor]</span>
224
- </span><span id=__span-15-3><a id=__codelineno-15-3 name=__codelineno-15-3 href=#__codelineno-15-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>
225
- </span><span id=__span-15-4><a id=__codelineno-15-4 name=__codelineno-15-4 href=#__codelineno-15-4></a><span class=p>{</span>
226
- </span><span id=__span-15-5><a id=__codelineno-15-5 name=__codelineno-15-5 href=#__codelineno-15-5></a><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>
227
- </span><span id=__span-15-6><a id=__codelineno-15-6 name=__codelineno-15-6 href=#__codelineno-15-6></a><span class=p>}</span>
228
- </span></code></pre></div> <h3 id=what-the-generator-emits-for-reference>What the generator emits (for reference)<a class=headerlink href=#what-the-generator-emits-for-reference 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-16-1><a id=__codelineno-16-1 name=__codelineno-16-1 href=#__codelineno-16-1></a><span class=c1>// Auto-generated by DxMessaging (no need to hand-write this)</span>
229
- </span><span id=__span-16-2><a id=__codelineno-16-2 name=__codelineno-16-2 href=#__codelineno-16-2></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=n>ITargetedMessage</span><span class=o>&lt;</span><span class=n>Heal</span><span class=o>&gt;</span>
230
- </span><span id=__span-16-3><a id=__codelineno-16-3 name=__codelineno-16-3 href=#__codelineno-16-3></a><span class=p>{</span>
231
- </span><span id=__span-16-4><a id=__codelineno-16-4 name=__codelineno-16-4 href=#__codelineno-16-4></a><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>
232
- </span><span id=__span-16-5><a id=__codelineno-16-5 name=__codelineno-16-5 href=#__codelineno-16-5></a>
233
- </span><span id=__span-16-6><a id=__codelineno-16-6 name=__codelineno-16-6 href=#__codelineno-16-6></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=nf>Heal</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>)</span>
234
- </span><span id=__span-16-7><a id=__codelineno-16-7 name=__codelineno-16-7 href=#__codelineno-16-7></a><span class=w> </span><span class=p>{</span>
235
- </span><span id=__span-16-8><a id=__codelineno-16-8 name=__codelineno-16-8 href=#__codelineno-16-8></a><span class=w> </span><span class=k>this</span><span class=p>.</span><span class=n>amount</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>amount</span><span class=p>;</span>
236
- </span><span id=__span-16-9><a id=__codelineno-16-9 name=__codelineno-16-9 href=#__codelineno-16-9></a><span class=w> </span><span class=p>}</span>
237
- </span><span id=__span-16-10><a id=__codelineno-16-10 name=__codelineno-16-10 href=#__codelineno-16-10></a>
238
- </span><span id=__span-16-11><a id=__codelineno-16-11 name=__codelineno-16-11 href=#__codelineno-16-11></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=n>Type</span><span class=w> </span><span class=n>MessageType</span><span class=w> </span><span class=o>=&gt;</span><span class=w> </span><span class=k>typeof</span><span class=p>(</span><span class=n>Heal</span><span class=p>);</span>
239
- </span><span id=__span-16-12><a id=__codelineno-16-12 name=__codelineno-16-12 href=#__codelineno-16-12></a><span class=p>}</span>
240
- </span></code></pre></div> <h4 id=benefits>Benefits<a class=headerlink href=#benefits title="Anchor link to this section">&para;</a></h4> <ul> <li>✅ <strong>Less code</strong> - 50% fewer lines</li> <li>✅ <strong>Fewer bugs</strong> - Can't forget fields in constructor</li> <li>✅ <strong>Focused</strong> - Focus on data, not boilerplate</li> <li>✅ <strong>Refactor-safe</strong> - Add field? Constructor updates automatically!</li> </ul> <h2 id=complete-example-attribute-definition-vs-generated-output>Complete Example: Attribute Definition vs Generated Output<a class=headerlink href=#complete-example-attribute-definition-vs-generated-output title="Anchor link to this section">&para;</a></h2> <h3 id=attribute-definition-8-lines>Attribute Definition (8 lines)<a class=headerlink href=#attribute-definition-8-lines 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-17-1><a id=__codelineno-17-1 name=__codelineno-17-1 href=#__codelineno-17-1></a><span class=k>using</span><span class=w> </span><span class=nn>DxMessaging.Core.Attributes</span><span class=p>;</span>
241
- </span><span id=__span-17-2><a id=__codelineno-17-2 name=__codelineno-17-2 href=#__codelineno-17-2></a>
242
- </span><span id=__span-17-3><a id=__codelineno-17-3 name=__codelineno-17-3 href=#__codelineno-17-3></a><span class=na>[DxBroadcastMessage]</span>
243
- </span><span id=__span-17-4><a id=__codelineno-17-4 name=__codelineno-17-4 href=#__codelineno-17-4></a><span class=na>[DxAutoConstructor]</span>
244
- </span><span id=__span-17-5><a id=__codelineno-17-5 name=__codelineno-17-5 href=#__codelineno-17-5></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>PlayerDamaged</span>
245
- </span><span id=__span-17-6><a id=__codelineno-17-6 name=__codelineno-17-6 href=#__codelineno-17-6></a><span class=p>{</span>
246
- </span><span id=__span-17-7><a id=__codelineno-17-7 name=__codelineno-17-7 href=#__codelineno-17-7></a><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>
247
- </span><span id=__span-17-8><a id=__codelineno-17-8 name=__codelineno-17-8 href=#__codelineno-17-8></a><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>string</span><span class=w> </span><span class=n>damageType</span><span class=p>;</span>
248
- </span><span id=__span-17-9><a id=__codelineno-17-9 name=__codelineno-17-9 href=#__codelineno-17-9></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=n>GameObject</span><span class=w> </span><span class=n>source</span><span class=p>;</span>
249
- </span><span id=__span-17-10><a id=__codelineno-17-10 name=__codelineno-17-10 href=#__codelineno-17-10></a><span class=p>}</span>
250
- </span></code></pre></div> <h3 id=generated-output-20-lines-you-never-write>Generated Output (20 lines you never write)<a class=headerlink href=#generated-output-20-lines-you-never-write 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-18-1><a id=__codelineno-18-1 name=__codelineno-18-1 href=#__codelineno-18-1></a><span class=c1>// Auto-generated by DxMessaging (for reference only)</span>
251
- </span><span id=__span-18-2><a id=__codelineno-18-2 name=__codelineno-18-2 href=#__codelineno-18-2></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>PlayerDamaged</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>IBroadcastMessage</span><span class=o>&lt;</span><span class=n>PlayerDamaged</span><span class=o>&gt;</span>
252
- </span><span id=__span-18-3><a id=__codelineno-18-3 name=__codelineno-18-3 href=#__codelineno-18-3></a><span class=p>{</span>
253
- </span><span id=__span-18-4><a id=__codelineno-18-4 name=__codelineno-18-4 href=#__codelineno-18-4></a><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>
254
- </span><span id=__span-18-5><a id=__codelineno-18-5 name=__codelineno-18-5 href=#__codelineno-18-5></a><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>string</span><span class=w> </span><span class=n>damageType</span><span class=p>;</span>
255
- </span><span id=__span-18-6><a id=__codelineno-18-6 name=__codelineno-18-6 href=#__codelineno-18-6></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=n>GameObject</span><span class=w> </span><span class=n>source</span><span class=p>;</span>
256
- </span><span id=__span-18-7><a id=__codelineno-18-7 name=__codelineno-18-7 href=#__codelineno-18-7></a>
257
- </span><span id=__span-18-8><a id=__codelineno-18-8 name=__codelineno-18-8 href=#__codelineno-18-8></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=nf>PlayerDamaged</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=kt>string</span><span class=w> </span><span class=n>damageType</span><span class=p>,</span><span class=w> </span><span class=n>GameObject</span><span class=w> </span><span class=n>source</span><span class=p>)</span>
258
- </span><span id=__span-18-9><a id=__codelineno-18-9 name=__codelineno-18-9 href=#__codelineno-18-9></a><span class=w> </span><span class=p>{</span>
259
- </span><span id=__span-18-10><a id=__codelineno-18-10 name=__codelineno-18-10 href=#__codelineno-18-10></a><span class=w> </span><span class=k>this</span><span class=p>.</span><span class=n>amount</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>amount</span><span class=p>;</span>
260
- </span><span id=__span-18-11><a id=__codelineno-18-11 name=__codelineno-18-11 href=#__codelineno-18-11></a><span class=w> </span><span class=k>this</span><span class=p>.</span><span class=n>damageType</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>damageType</span><span class=p>;</span>
261
- </span><span id=__span-18-12><a id=__codelineno-18-12 name=__codelineno-18-12 href=#__codelineno-18-12></a><span class=w> </span><span class=k>this</span><span class=p>.</span><span class=n>source</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>source</span><span class=p>;</span>
262
- </span><span id=__span-18-13><a id=__codelineno-18-13 name=__codelineno-18-13 href=#__codelineno-18-13></a><span class=w> </span><span class=p>}</span>
263
- </span><span id=__span-18-14><a id=__codelineno-18-14 name=__codelineno-18-14 href=#__codelineno-18-14></a>
264
- </span><span id=__span-18-15><a id=__codelineno-18-15 name=__codelineno-18-15 href=#__codelineno-18-15></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=n>Type</span><span class=w> </span><span class=n>MessageType</span><span class=w> </span><span class=o>=&gt;</span><span class=w> </span><span class=k>typeof</span><span class=p>(</span><span class=n>PlayerDamaged</span><span class=p>);</span>
265
- </span><span id=__span-18-16><a id=__codelineno-18-16 name=__codelineno-18-16 href=#__codelineno-18-16></a><span class=p>}</span>
266
- </span></code></pre></div> <h3 id=result>Result<a class=headerlink href=#result title="Anchor link to this section">&para;</a></h3> <ul> <li>✅ Same functionality</li> <li>✅ Less code to maintain</li> <li>✅ Automatically updates when you add/remove fields</li> <li>✅ Works for class messages too</li> <li>✅ Zero effort once you mark the struct partial</li> </ul> <h2 id=advanced-manual-implementation-when-attributes-arent-enough>Advanced: Manual Implementation (When Attributes Aren't Enough)<a class=headerlink href=#advanced-manual-implementation-when-attributes-arent-enough title="Anchor link to this section">&para;</a></h2> <p>Attributes cover almost every scenario. If you intentionally drop <code>[DxTargetedMessage]</code>, <code>[DxUntargetedMessage]</code>, or <code>[DxBroadcastMessage]</code>, you'll need to hand-write the interface implementations and constructors shown in the “generated output” examples. Keep the attributes unless you have a very specific data-backed reason not to.</p> <h3 id=generic-message-interfaces-zero-boxing-for-structs>Generic Message Interfaces (Zero-Boxing for Structs)<a class=headerlink href=#generic-message-interfaces-zero-boxing-for-structs title="Anchor link to this section">&para;</a></h3> <p><code>readonly struct</code> messages marked with the attributes already implement the generic interfaces, so emissions stay allocation-free. You get the same performance characteristics as the manual approach without writing any plumbing.</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-19-1><a id=__codelineno-19-1 name=__codelineno-19-1 href=#__codelineno-19-1></a><span class=na>[DxTargetedMessage]</span>
267
- </span><span id=__span-19-2><a id=__codelineno-19-2 name=__codelineno-19-2 href=#__codelineno-19-2></a><span class=na>[DxAutoConstructor]</span>
268
- </span><span id=__span-19-3><a id=__codelineno-19-3 name=__codelineno-19-3 href=#__codelineno-19-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>
269
- </span><span id=__span-19-4><a id=__codelineno-19-4 name=__codelineno-19-4 href=#__codelineno-19-4></a><span class=p>{</span>
270
- </span><span id=__span-19-5><a id=__codelineno-19-5 name=__codelineno-19-5 href=#__codelineno-19-5></a><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>
271
- </span><span id=__span-19-6><a id=__codelineno-19-6 name=__codelineno-19-6 href=#__codelineno-19-6></a><span class=p>}</span>
272
- </span></code></pre></div> <h3 id=do-i-have-to-use-attributes>"Do I HAVE to use attributes?"<a class=headerlink href=#do-i-have-to-use-attributes title="Anchor link to this section">&para;</a></h3> <p>Technically no—but without them you must write the constructor, interface implementation, and <code>MessageType</code> property yourself (for speed, you can optionally leave this off, but it might box on certain call paths). Leaving the attributes on keeps everything consistent for the whole team.</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-20-1><a id=__codelineno-20-1 name=__codelineno-20-1 href=#__codelineno-20-1></a><span class=na>[DxUntargetedMessage]</span>
273
- </span><span id=__span-20-2><a id=__codelineno-20-2 name=__codelineno-20-2 href=#__codelineno-20-2></a><span class=na>[DxAutoConstructor]</span>
274
- </span><span id=__span-20-3><a id=__codelineno-20-3 name=__codelineno-20-3 href=#__codelineno-20-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>MyMsg</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
275
- </span></code></pre></div> <h3 id=what-if-i-want-custom-constructor-logic>"What if I want custom constructor logic?"<a class=headerlink href=#what-if-i-want-custom-constructor-logic title="Anchor link to this section">&para;</a></h3> <p>Keep the attributes and add a factory/helper so you still benefit from the generated constructor:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-21-1><a id=__codelineno-21-1 name=__codelineno-21-1 href=#__codelineno-21-1></a><span class=na>[DxUntargetedMessage]</span>
276
- </span><span id=__span-21-2><a id=__codelineno-21-2 name=__codelineno-21-2 href=#__codelineno-21-2></a><span class=na>[DxAutoConstructor]</span>
277
- </span><span id=__span-21-3><a id=__codelineno-21-3 name=__codelineno-21-3 href=#__codelineno-21-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>ComplexMessage</span>
278
- </span><span id=__span-21-4><a id=__codelineno-21-4 name=__codelineno-21-4 href=#__codelineno-21-4></a><span class=p>{</span>
279
- </span><span id=__span-21-5><a id=__codelineno-21-5 name=__codelineno-21-5 href=#__codelineno-21-5></a><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=k>value</span><span class=p>;</span>
280
- </span><span id=__span-21-6><a id=__codelineno-21-6 name=__codelineno-21-6 href=#__codelineno-21-6></a>
281
- </span><span id=__span-21-7><a id=__codelineno-21-7 name=__codelineno-21-7 href=#__codelineno-21-7></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>static</span><span class=w> </span><span class=n>ComplexMessage</span><span class=w> </span><span class=nf>FromRaw</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>rawValue</span><span class=p>)</span>
282
- </span><span id=__span-21-8><a id=__codelineno-21-8 name=__codelineno-21-8 href=#__codelineno-21-8></a><span class=w> </span><span class=p>{</span>
283
- </span><span id=__span-21-9><a id=__codelineno-21-9 name=__codelineno-21-9 href=#__codelineno-21-9></a><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>clamped</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>Math</span><span class=p>.</span><span class=n>Clamp</span><span class=p>(</span><span class=n>rawValue</span><span class=p>,</span><span class=w> </span><span class=mi>0</span><span class=p>,</span><span class=w> </span><span class=mi>100</span><span class=p>);</span>
284
- </span><span id=__span-21-10><a id=__codelineno-21-10 name=__codelineno-21-10 href=#__codelineno-21-10></a><span class=w> </span><span class=k>return</span><span class=w> </span><span class=k>new</span><span class=w> </span><span class=nf>ComplexMessage</span><span class=p>(</span><span class=n>clamped</span><span class=p>);</span>
285
- </span><span id=__span-21-11><a id=__codelineno-21-11 name=__codelineno-21-11 href=#__codelineno-21-11></a><span class=w> </span><span class=p>}</span>
286
- </span><span id=__span-21-12><a id=__codelineno-21-12 name=__codelineno-21-12 href=#__codelineno-21-12></a><span class=p>}</span>
287
- </span></code></pre></div> <p>If you truly must write a custom constructor, drop <code>[DxAutoConstructor]</code> for that type but keep the <code>[DxUntargetedMessage]</code>/<code>[DxTargetedMessage]</code> attribute so the interface plumbing stays consistent.</p> <h3 id=can-i-mix-attribute-based-and-manual-messages>"Can I mix attribute-based and manual messages?"<a class=headerlink href=#can-i-mix-attribute-based-and-manual-messages title="Anchor link to this section">&para;</a></h3> <p>Yes. Attribute-driven messages happily coexist with string messages and any manual implementations you already have. You can migrate gradually by converting one message at a time:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-22-1><a id=__codelineno-22-1 name=__codelineno-22-1 href=#__codelineno-22-1></a><span class=na>[DxUntargetedMessage]</span>
288
- </span><span id=__span-22-2><a id=__codelineno-22-2 name=__codelineno-22-2 href=#__codelineno-22-2></a><span class=na>[DxAutoConstructor]</span>
289
- </span><span id=__span-22-3><a id=__codelineno-22-3 name=__codelineno-22-3 href=#__codelineno-22-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>MessageA</span>
290
- </span><span id=__span-22-4><a id=__codelineno-22-4 name=__codelineno-22-4 href=#__codelineno-22-4></a><span class=p>{</span>
291
- </span><span id=__span-22-5><a id=__codelineno-22-5 name=__codelineno-22-5 href=#__codelineno-22-5></a><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=k>value</span><span class=p>;</span>
292
- </span><span id=__span-22-6><a id=__codelineno-22-6 name=__codelineno-22-6 href=#__codelineno-22-6></a><span class=p>}</span>
293
- </span><span id=__span-22-7><a id=__codelineno-22-7 name=__codelineno-22-7 href=#__codelineno-22-7></a>
294
- </span><span id=__span-22-8><a id=__codelineno-22-8 name=__codelineno-22-8 href=#__codelineno-22-8></a><span class=c1>// Existing manual message types keep working alongside attribute-driven ones.</span>
295
- </span></code></pre></div> <h2 id=extension-methods-emit-helpers>Extension Methods (Emit Helpers)<a class=headerlink href=#extension-methods-emit-helpers title="Anchor link to this section">&para;</a></h2> <p>DxMessaging provides extension methods to make emitting messages easy:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-23-1><a id=__codelineno-23-1 name=__codelineno-23-1 href=#__codelineno-23-1></a><span class=k>using</span><span class=w> </span><span class=nn>DxMessaging.Core.Extensions</span><span class=p>;</span><span class=w> </span><span class=c1>// ← Don&#39;t forget this!</span>
296
- </span><span id=__span-23-2><a id=__codelineno-23-2 name=__codelineno-23-2 href=#__codelineno-23-2></a><span class=k>using</span><span class=w> </span><span class=nn>UnityEngine</span><span class=p>;</span>
297
- </span><span id=__span-23-3><a id=__codelineno-23-3 name=__codelineno-23-3 href=#__codelineno-23-3></a>
298
- </span><span id=__span-23-4><a id=__codelineno-23-4 name=__codelineno-23-4 href=#__codelineno-23-4></a><span class=c1>// Untargeted (global)</span>
299
- </span><span id=__span-23-5><a id=__codelineno-23-5 name=__codelineno-23-5 href=#__codelineno-23-5></a><span class=kt>var</span><span class=w> </span><span class=n>settings</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>VideoSettingsChanged</span><span class=p>(</span><span class=mi>1920</span><span class=p>,</span><span class=w> </span><span class=mi>1080</span><span class=p>);</span>
300
- </span><span id=__span-23-6><a id=__codelineno-23-6 name=__codelineno-23-6 href=#__codelineno-23-6></a><span class=n>settings</span><span class=p>.</span><span class=n>Emit</span><span class=p>();</span>
301
- </span><span id=__span-23-7><a id=__codelineno-23-7 name=__codelineno-23-7 href=#__codelineno-23-7></a>
302
- </span><span id=__span-23-8><a id=__codelineno-23-8 name=__codelineno-23-8 href=#__codelineno-23-8></a><span class=c1>// Targeted - GameObject overload</span>
303
- </span><span id=__span-23-9><a id=__codelineno-23-9 name=__codelineno-23-9 href=#__codelineno-23-9></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>
304
- </span><span id=__span-23-10><a id=__codelineno-23-10 name=__codelineno-23-10 href=#__codelineno-23-10></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>
305
- </span><span id=__span-23-11><a id=__codelineno-23-11 name=__codelineno-23-11 href=#__codelineno-23-11></a>
306
- </span><span id=__span-23-12><a id=__codelineno-23-12 name=__codelineno-23-12 href=#__codelineno-23-12></a><span class=c1>// Targeted - Component overload</span>
307
- </span><span id=__span-23-13><a id=__codelineno-23-13 name=__codelineno-23-13 href=#__codelineno-23-13></a><span class=n>heal</span><span class=p>.</span><span class=n>EmitComponentTargeted</span><span class=p>(</span><span class=n>playerComponent</span><span class=p>);</span>
308
- </span><span id=__span-23-14><a id=__codelineno-23-14 name=__codelineno-23-14 href=#__codelineno-23-14></a>
309
- </span><span id=__span-23-15><a id=__codelineno-23-15 name=__codelineno-23-15 href=#__codelineno-23-15></a><span class=c1>// Broadcast - GameObject overload</span>
310
- </span><span id=__span-23-16><a id=__codelineno-23-16 name=__codelineno-23-16 href=#__codelineno-23-16></a><span class=kt>var</span><span class=w> </span><span class=n>dmg</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>25</span><span class=p>);</span>
311
- </span><span id=__span-23-17><a id=__codelineno-23-17 name=__codelineno-23-17 href=#__codelineno-23-17></a><span class=n>dmg</span><span class=p>.</span><span class=n>EmitGameObjectBroadcast</span><span class=p>(</span><span class=n>enemyGameObject</span><span class=p>);</span>
312
- </span><span id=__span-23-18><a id=__codelineno-23-18 name=__codelineno-23-18 href=#__codelineno-23-18></a>
313
- </span><span id=__span-23-19><a id=__codelineno-23-19 name=__codelineno-23-19 href=#__codelineno-23-19></a><span class=c1>// Broadcast - Component overload</span>
314
- </span><span id=__span-23-20><a id=__codelineno-23-20 name=__codelineno-23-20 href=#__codelineno-23-20></a><span class=n>dmg</span><span class=p>.</span><span class=n>EmitComponentBroadcast</span><span class=p>(</span><span class=n>enemyComponent</span><span class=p>);</span>
315
- </span><span id=__span-23-21><a id=__codelineno-23-21 name=__codelineno-23-21 href=#__codelineno-23-21></a>
316
- </span><span id=__span-23-22><a id=__codelineno-23-22 name=__codelineno-23-22 href=#__codelineno-23-22></a><span class=c1>// String convenience (for quick prototyping)</span>
317
- </span><span id=__span-23-23><a id=__codelineno-23-23 name=__codelineno-23-23 href=#__codelineno-23-23></a><span class=s>&quot;LevelCompleted&quot;</span><span class=p>.</span><span class=n>Emit</span><span class=p>();</span>
318
- </span></code></pre></div> <p><strong>Located in:</strong> <code>DxMessaging.Core.Extensions.MessageExtensions</code></p> <h3 id=automatic-overload-selection>Automatic overload selection<a class=headerlink href=#automatic-overload-selection title="Anchor link to this section">&para;</a></h3> <ul> <li>Extension methods pick the right overload based on type</li> <li>Defaults to global <code>MessageHandler.MessageBus</code></li> <li>Pass custom bus with optional parameter</li> </ul> <h2 id=local-bus-islands-isolated-testing>Local Bus Islands (Isolated Testing)<a class=headerlink href=#local-bus-islands-isolated-testing title="Anchor link to this section">&para;</a></h2> <p>Create isolated message buses for tests or subsystems:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-24-1><a id=__codelineno-24-1 name=__codelineno-24-1 href=#__codelineno-24-1></a><span class=k>using</span><span class=w> </span><span class=nn>DxMessaging.Core</span><span class=p>;</span>
319
- </span><span id=__span-24-2><a id=__codelineno-24-2 name=__codelineno-24-2 href=#__codelineno-24-2></a><span class=k>using</span><span class=w> </span><span class=nn>DxMessaging.Core.MessageBus</span><span class=p>;</span>
320
- </span><span id=__span-24-3><a id=__codelineno-24-3 name=__codelineno-24-3 href=#__codelineno-24-3></a>
321
- </span><span id=__span-24-4><a id=__codelineno-24-4 name=__codelineno-24-4 href=#__codelineno-24-4></a><span class=c1>// Create isolated bus</span>
322
- </span><span id=__span-24-5><a id=__codelineno-24-5 name=__codelineno-24-5 href=#__codelineno-24-5></a><span class=kt>var</span><span class=w> </span><span class=n>testBus</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>MessageBus</span><span class=p>();</span>
323
- </span><span id=__span-24-6><a id=__codelineno-24-6 name=__codelineno-24-6 href=#__codelineno-24-6></a><span class=kt>var</span><span class=w> </span><span class=n>handler</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>MessageHandler</span><span class=p>(</span><span class=k>new</span><span class=w> </span><span class=n>InstanceId</span><span class=p>(</span><span class=mi>1</span><span class=p>),</span><span class=w> </span><span class=n>testBus</span><span class=p>)</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=n>active</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=k>true</span><span class=w> </span><span class=p>};</span>
324
- </span><span id=__span-24-7><a id=__codelineno-24-7 name=__codelineno-24-7 href=#__codelineno-24-7></a><span class=kt>var</span><span class=w> </span><span class=n>token</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>MessageRegistrationToken</span><span class=p>.</span><span class=n>Create</span><span class=p>(</span><span class=n>handler</span><span class=p>,</span><span class=w> </span><span class=n>testBus</span><span class=p>);</span>
325
- </span><span id=__span-24-8><a id=__codelineno-24-8 name=__codelineno-24-8 href=#__codelineno-24-8></a>
326
- </span><span id=__span-24-9><a id=__codelineno-24-9 name=__codelineno-24-9 href=#__codelineno-24-9></a><span class=c1>// Register on isolated bus</span>
327
- </span><span id=__span-24-10><a id=__codelineno-24-10 name=__codelineno-24-10 href=#__codelineno-24-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>RegisterUntargeted</span><span class=o>&lt;</span><span class=n>MyMessage</span><span class=o>&gt;</span><span class=p>(</span><span class=n>OnMessage</span><span class=p>);</span>
328
- </span><span id=__span-24-11><a id=__codelineno-24-11 name=__codelineno-24-11 href=#__codelineno-24-11></a>
329
- </span><span id=__span-24-12><a id=__codelineno-24-12 name=__codelineno-24-12 href=#__codelineno-24-12></a><span class=c1>// Emit to isolated bus (won&#39;t affect global bus!)</span>
330
- </span><span id=__span-24-13><a id=__codelineno-24-13 name=__codelineno-24-13 href=#__codelineno-24-13></a><span class=kt>var</span><span class=w> </span><span class=n>msg</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>MyMessage</span><span class=p>();</span>
331
- </span><span id=__span-24-14><a id=__codelineno-24-14 name=__codelineno-24-14 href=#__codelineno-24-14></a><span class=n>msg</span><span class=p>.</span><span class=n>Emit</span><span class=p>(</span><span class=n>testBus</span><span class=p>);</span>
332
- </span></code></pre></div> <h3 id=use-cases>Use cases<a class=headerlink href=#use-cases title="Anchor link to this section">&para;</a></h3> <ul> <li>Unit tests (no global side effects!)</li> <li>Subsystem isolation (UI has own bus)</li> <li>Sandboxing (mod systems, untrusted code)</li> </ul> <h2 id=attributes-quick-reference>Attributes Quick Reference<a class=headerlink href=#attributes-quick-reference title="Anchor link to this section">&para;</a></h2> <h3 id=message-type-attributes>Message Type Attributes<a class=headerlink href=#message-type-attributes title="Anchor link to this section">&para;</a></h3> <h4 id=untargeted>Untargeted<a class=headerlink href=#untargeted title="Anchor link to this section">&para;</a></h4> <p>Mark as a global message (no target):</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-25-1><a id=__codelineno-25-1 name=__codelineno-25-1 href=#__codelineno-25-1></a><span class=na>[DxUntargetedMessage]</span>
333
- </span><span id=__span-25-2><a id=__codelineno-25-2 name=__codelineno-25-2 href=#__codelineno-25-2></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>GamePaused</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
334
- </span></code></pre></div> <h4 id=targeted>Targeted<a class=headerlink href=#targeted title="Anchor link to this section">&para;</a></h4> <p>Mark as a message sent to a specific target:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-26-1><a id=__codelineno-26-1 name=__codelineno-26-1 href=#__codelineno-26-1></a><span class=na>[DxTargetedMessage]</span>
335
- </span><span id=__span-26-2><a id=__codelineno-26-2 name=__codelineno-26-2 href=#__codelineno-26-2></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>
336
- </span><span id=__span-26-3><a id=__codelineno-26-3 name=__codelineno-26-3 href=#__codelineno-26-3></a><span class=p>{</span>
337
- </span><span id=__span-26-4><a id=__codelineno-26-4 name=__codelineno-26-4 href=#__codelineno-26-4></a><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>
338
- </span><span id=__span-26-5><a id=__codelineno-26-5 name=__codelineno-26-5 href=#__codelineno-26-5></a><span class=p>}</span>
339
- </span></code></pre></div> <h4 id=broadcast>Broadcast<a class=headerlink href=#broadcast title="Anchor link to this section">&para;</a></h4> <p>Mark as a message broadcast from a source:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-27-1><a id=__codelineno-27-1 name=__codelineno-27-1 href=#__codelineno-27-1></a><span class=na>[DxBroadcastMessage]</span>
340
- </span><span id=__span-27-2><a id=__codelineno-27-2 name=__codelineno-27-2 href=#__codelineno-27-2></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>
341
- </span><span id=__span-27-3><a id=__codelineno-27-3 name=__codelineno-27-3 href=#__codelineno-27-3></a><span class=p>{</span>
342
- </span><span id=__span-27-4><a id=__codelineno-27-4 name=__codelineno-27-4 href=#__codelineno-27-4></a><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>
343
- </span><span id=__span-27-5><a id=__codelineno-27-5 name=__codelineno-27-5 href=#__codelineno-27-5></a><span class=p>}</span>
344
- </span></code></pre></div> <h3 id=constructor-generation-attributes>Constructor Generation Attributes<a class=headerlink href=#constructor-generation-attributes title="Anchor link to this section">&para;</a></h3> <h4 id=dxautoconstructor><code>[DxAutoConstructor]</code><a class=headerlink href=#dxautoconstructor title="Anchor link to this section">&para;</a></h4> <p>Automatically generates a constructor with all public fields as parameters:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-28-1><a id=__codelineno-28-1 name=__codelineno-28-1 href=#__codelineno-28-1></a><span class=na>[DxAutoConstructor]</span>
345
- </span><span id=__span-28-2><a id=__codelineno-28-2 name=__codelineno-28-2 href=#__codelineno-28-2></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>Damage</span>
346
- </span><span id=__span-28-3><a id=__codelineno-28-3 name=__codelineno-28-3 href=#__codelineno-28-3></a><span class=p>{</span>
347
- </span><span id=__span-28-4><a id=__codelineno-28-4 name=__codelineno-28-4 href=#__codelineno-28-4></a><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>
348
- </span><span id=__span-28-5><a id=__codelineno-28-5 name=__codelineno-28-5 href=#__codelineno-28-5></a><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>string</span><span class=w> </span><span class=n>type</span><span class=p>;</span>
349
- </span><span id=__span-28-6><a id=__codelineno-28-6 name=__codelineno-28-6 href=#__codelineno-28-6></a><span class=p>}</span>
350
- </span><span id=__span-28-7><a id=__codelineno-28-7 name=__codelineno-28-7 href=#__codelineno-28-7></a><span class=c1>// Generates: Damage(int amount, string type)</span>
351
- </span></code></pre></div> <h4 id=dxoptionalparameter><code>[DxOptionalParameter]</code><a class=headerlink href=#dxoptionalparameter title="Anchor link to this section">&para;</a></h4> <p>Makes a constructor parameter optional. Three usage patterns:</p> <blockquote> <p>📋 <strong>Example: Default Value (type default)</strong></p> <p>Uses the type's default value (<code>0</code>, <code>false</code>, <code>null</code>, etc.):</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-29-1><a id=__codelineno-29-1 name=__codelineno-29-1 href=#__codelineno-29-1></a><span class=na>[DxOptionalParameter]</span>
352
- </span><span id=__span-29-2><a id=__codelineno-29-2 name=__codelineno-29-2 href=#__codelineno-29-2></a><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=kt>bool</span><span class=w> </span><span class=n>flag</span><span class=p>;</span>
353
- </span><span id=__span-29-3><a id=__codelineno-29-3 name=__codelineno-29-3 href=#__codelineno-29-3></a><span class=c1>// Generates: bool flag = default</span>
354
- </span></code></pre></div> <p>📋 <strong>Example: Custom Value (primitive)</strong></p> <p>Provides a specific default value:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-30-1><a id=__codelineno-30-1 name=__codelineno-30-1 href=#__codelineno-30-1></a><span class=na>[DxOptionalParameter(42)]</span>
355
- </span><span id=__span-30-2><a id=__codelineno-30-2 name=__codelineno-30-2 href=#__codelineno-30-2></a><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>count</span><span class=p>;</span>
356
- </span><span id=__span-30-3><a id=__codelineno-30-3 name=__codelineno-30-3 href=#__codelineno-30-3></a><span class=c1>// Generates: int count = 42</span>
357
- </span></code></pre></div> <p>📋 <strong>Example: Expression (complex types)</strong></p> <p>Uses a verbatim expression for enums, Unity types, etc.:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-31-1><a id=__codelineno-31-1 name=__codelineno-31-1 href=#__codelineno-31-1></a><span class=na>[DxOptionalParameter(Expression = &quot;DamageType.Physical&quot;)]</span>
358
- </span><span id=__span-31-2><a id=__codelineno-31-2 name=__codelineno-31-2 href=#__codelineno-31-2></a><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=n>DamageType</span><span class=w> </span><span class=n>damageType</span><span class=p>;</span>
359
- </span><span id=__span-31-3><a id=__codelineno-31-3 name=__codelineno-31-3 href=#__codelineno-31-3></a><span class=c1>// Generates: DamageType damageType = DamageType.Physical</span>
360
- </span></code></pre></div> </blockquote> <h3 id=supported-types>Supported Types<a class=headerlink href=#supported-types title="Anchor link to this section">&para;</a></h3> <p>These attributes work with:</p> <ul> <li><strong>Top-level types</strong> — public structs and classes</li> <li><strong>Nested types</strong> — types inside other classes</li> <li><strong>Internal types</strong> — assembly-private messages</li> </ul> <h2 id=common-patterns-with-attributes>Common Patterns with Attributes<a class=headerlink href=#common-patterns-with-attributes title="Anchor link to this section">&para;</a></h2> <h3 id=pattern-1-simple-message-no-data>Pattern 1: Simple Message (No Data)<a class=headerlink href=#pattern-1-simple-message-no-data 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-32-1><a id=__codelineno-32-1 name=__codelineno-32-1 href=#__codelineno-32-1></a><span class=na>[DxUntargetedMessage]</span>
361
- </span><span id=__span-32-2><a id=__codelineno-32-2 name=__codelineno-32-2 href=#__codelineno-32-2></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>GamePaused</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
362
- </span><span id=__span-32-3><a id=__codelineno-32-3 name=__codelineno-32-3 href=#__codelineno-32-3></a><span class=c1>// No constructor needed - empty message</span>
363
- </span></code></pre></div> <h3 id=pattern-2-message-with-data>Pattern 2: Message with Data<a class=headerlink href=#pattern-2-message-with-data 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-33-1><a id=__codelineno-33-1 name=__codelineno-33-1 href=#__codelineno-33-1></a><span class=na>[DxTargetedMessage]</span>
364
- </span><span id=__span-33-2><a id=__codelineno-33-2 name=__codelineno-33-2 href=#__codelineno-33-2></a><span class=na>[DxAutoConstructor]</span>
365
- </span><span id=__span-33-3><a id=__codelineno-33-3 name=__codelineno-33-3 href=#__codelineno-33-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>
366
- </span><span id=__span-33-4><a id=__codelineno-33-4 name=__codelineno-33-4 href=#__codelineno-33-4></a><span class=p>{</span>
367
- </span><span id=__span-33-5><a id=__codelineno-33-5 name=__codelineno-33-5 href=#__codelineno-33-5></a><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>
368
- </span><span id=__span-33-6><a id=__codelineno-33-6 name=__codelineno-33-6 href=#__codelineno-33-6></a><span class=p>}</span>
369
- </span><span id=__span-33-7><a id=__codelineno-33-7 name=__codelineno-33-7 href=#__codelineno-33-7></a><span class=c1>// Auto-generates: Heal(int amount)</span>
370
- </span></code></pre></div> <h3 id=pattern-3-message-with-optional-fields>Pattern 3: Message with Optional Fields<a class=headerlink href=#pattern-3-message-with-optional-fields 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-34-1><a id=__codelineno-34-1 name=__codelineno-34-1 href=#__codelineno-34-1></a><span class=na>[DxBroadcastMessage]</span>
371
- </span><span id=__span-34-2><a id=__codelineno-34-2 name=__codelineno-34-2 href=#__codelineno-34-2></a><span class=na>[DxAutoConstructor]</span>
372
- </span><span id=__span-34-3><a id=__codelineno-34-3 name=__codelineno-34-3 href=#__codelineno-34-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>Attack</span>
373
- </span><span id=__span-34-4><a id=__codelineno-34-4 name=__codelineno-34-4 href=#__codelineno-34-4></a><span class=p>{</span>
374
- </span><span id=__span-34-5><a id=__codelineno-34-5 name=__codelineno-34-5 href=#__codelineno-34-5></a><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>damage</span><span class=p>;</span>
375
- </span><span id=__span-34-6><a id=__codelineno-34-6 name=__codelineno-34-6 href=#__codelineno-34-6></a><span class=w> </span><span class=na>[DxOptionalParameter]</span>
376
- </span><span id=__span-34-7><a id=__codelineno-34-7 name=__codelineno-34-7 href=#__codelineno-34-7></a><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>string</span><span class=w> </span><span class=n>damageType</span><span class=p>;</span>
377
- </span><span id=__span-34-8><a id=__codelineno-34-8 name=__codelineno-34-8 href=#__codelineno-34-8></a><span class=p>}</span>
378
- </span><span id=__span-34-9><a id=__codelineno-34-9 name=__codelineno-34-9 href=#__codelineno-34-9></a><span class=c1>// Auto-generates: Attack(int damage, string damageType = default)</span>
379
- </span></code></pre></div> <h3 id=pattern-4-complex-message>Pattern 4: Complex Message<a class=headerlink href=#pattern-4-complex-message 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-35-1><a id=__codelineno-35-1 name=__codelineno-35-1 href=#__codelineno-35-1></a><span class=na>[DxUntargetedMessage]</span>
380
- </span><span id=__span-35-2><a id=__codelineno-35-2 name=__codelineno-35-2 href=#__codelineno-35-2></a><span class=na>[DxAutoConstructor]</span>
381
- </span><span id=__span-35-3><a id=__codelineno-35-3 name=__codelineno-35-3 href=#__codelineno-35-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>LevelCompleted</span>
382
- </span><span id=__span-35-4><a id=__codelineno-35-4 name=__codelineno-35-4 href=#__codelineno-35-4></a><span class=p>{</span>
383
- </span><span id=__span-35-5><a id=__codelineno-35-5 name=__codelineno-35-5 href=#__codelineno-35-5></a><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>level</span><span class=p>;</span>
384
- </span><span id=__span-35-6><a id=__codelineno-35-6 name=__codelineno-35-6 href=#__codelineno-35-6></a><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>float</span><span class=w> </span><span class=n>time</span><span class=p>;</span>
385
- </span><span id=__span-35-7><a id=__codelineno-35-7 name=__codelineno-35-7 href=#__codelineno-35-7></a><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>score</span><span class=p>;</span>
386
- </span><span id=__span-35-8><a id=__codelineno-35-8 name=__codelineno-35-8 href=#__codelineno-35-8></a><span class=w> </span><span class=na>[DxOptionalParameter]</span>
387
- </span><span id=__span-35-9><a id=__codelineno-35-9 name=__codelineno-35-9 href=#__codelineno-35-9></a><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>bool</span><span class=w> </span><span class=n>perfectRun</span><span class=p>;</span>
388
- </span><span id=__span-35-10><a id=__codelineno-35-10 name=__codelineno-35-10 href=#__codelineno-35-10></a><span class=w> </span><span class=na>[DxOptionalParameter]</span>
389
- </span><span id=__span-35-11><a id=__codelineno-35-11 name=__codelineno-35-11 href=#__codelineno-35-11></a><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>string</span><span class=w> </span><span class=n>bonusReason</span><span class=p>;</span>
390
- </span><span id=__span-35-12><a id=__codelineno-35-12 name=__codelineno-35-12 href=#__codelineno-35-12></a><span class=p>}</span>
391
- </span><span id=__span-35-13><a id=__codelineno-35-13 name=__codelineno-35-13 href=#__codelineno-35-13></a><span class=c1>// All fields become constructor parameters, last two are optional</span>
392
- </span></code></pre></div> <h3 id=pattern-5-nested-types>Pattern 5: Nested Types<a class=headerlink href=#pattern-5-nested-types title="Anchor link to this section">&para;</a></h3> <p>Define messages inside other classes for better organization:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-36-1><a id=__codelineno-36-1 name=__codelineno-36-1 href=#__codelineno-36-1></a><span class=k>public</span><span class=w> </span><span class=k>partial</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>GameEvents</span>
393
- </span><span id=__span-36-2><a id=__codelineno-36-2 name=__codelineno-36-2 href=#__codelineno-36-2></a><span class=p>{</span>
394
- </span><span id=__span-36-3><a id=__codelineno-36-3 name=__codelineno-36-3 href=#__codelineno-36-3></a><span class=w> </span><span class=na>[DxUntargetedMessage]</span>
395
- </span><span id=__span-36-4><a id=__codelineno-36-4 name=__codelineno-36-4 href=#__codelineno-36-4></a><span class=w> </span><span class=na>[DxAutoConstructor]</span>
396
- </span><span id=__span-36-5><a id=__codelineno-36-5 name=__codelineno-36-5 href=#__codelineno-36-5></a><span class=w> </span><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>LevelUp</span>
397
- </span><span id=__span-36-6><a id=__codelineno-36-6 name=__codelineno-36-6 href=#__codelineno-36-6></a><span class=w> </span><span class=p>{</span>
398
- </span><span id=__span-36-7><a id=__codelineno-36-7 name=__codelineno-36-7 href=#__codelineno-36-7></a><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>newLevel</span><span class=p>;</span>
399
- </span><span id=__span-36-8><a id=__codelineno-36-8 name=__codelineno-36-8 href=#__codelineno-36-8></a><span class=w> </span><span class=p>}</span>
400
- </span><span id=__span-36-9><a id=__codelineno-36-9 name=__codelineno-36-9 href=#__codelineno-36-9></a>
401
- </span><span id=__span-36-10><a id=__codelineno-36-10 name=__codelineno-36-10 href=#__codelineno-36-10></a><span class=w> </span><span class=na>[DxTargetedMessage]</span>
402
- </span><span id=__span-36-11><a id=__codelineno-36-11 name=__codelineno-36-11 href=#__codelineno-36-11></a><span class=w> </span><span class=na>[DxAutoConstructor]</span>
403
- </span><span id=__span-36-12><a id=__codelineno-36-12 name=__codelineno-36-12 href=#__codelineno-36-12></a><span class=w> </span><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>GainExperience</span>
404
- </span><span id=__span-36-13><a id=__codelineno-36-13 name=__codelineno-36-13 href=#__codelineno-36-13></a><span class=w> </span><span class=p>{</span>
405
- </span><span id=__span-36-14><a id=__codelineno-36-14 name=__codelineno-36-14 href=#__codelineno-36-14></a><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>
406
- </span><span id=__span-36-15><a id=__codelineno-36-15 name=__codelineno-36-15 href=#__codelineno-36-15></a><span class=w> </span><span class=p>}</span>
407
- </span><span id=__span-36-16><a id=__codelineno-36-16 name=__codelineno-36-16 href=#__codelineno-36-16></a><span class=p>}</span>
408
- </span><span id=__span-36-17><a id=__codelineno-36-17 name=__codelineno-36-17 href=#__codelineno-36-17></a>
409
- </span><span id=__span-36-18><a id=__codelineno-36-18 name=__codelineno-36-18 href=#__codelineno-36-18></a><span class=c1>// Usage:</span>
410
- </span><span id=__span-36-19><a id=__codelineno-36-19 name=__codelineno-36-19 href=#__codelineno-36-19></a><span class=kt>var</span><span class=w> </span><span class=n>levelUp</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>GameEvents</span><span class=p>.</span><span class=n>LevelUp</span><span class=p>(</span><span class=mi>5</span><span class=p>);</span>
411
- </span><span id=__span-36-20><a id=__codelineno-36-20 name=__codelineno-36-20 href=#__codelineno-36-20></a><span class=n>levelUp</span><span class=p>.</span><span class=n>Emit</span><span class=p>();</span>
412
- </span></code></pre></div> <h4 id=benefits_1>Benefits<a class=headerlink href=#benefits_1 title="Anchor link to this section">&para;</a></h4> <ul> <li>Organizes related messages into namespaces or classes</li> <li>Reduces global namespace pollution</li> <li>Works identically to top-level messages</li> </ul> <h3 id=pattern-6-internal-types-assembly-private-messages>Pattern 6: Internal Types (Assembly-Private Messages)<a class=headerlink href=#pattern-6-internal-types-assembly-private-messages title="Anchor link to this section">&para;</a></h3> <p>Keep implementation details private to your assembly:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-37-1><a id=__codelineno-37-1 name=__codelineno-37-1 href=#__codelineno-37-1></a><span class=na>[DxUntargetedMessage]</span>
413
- </span><span id=__span-37-2><a id=__codelineno-37-2 name=__codelineno-37-2 href=#__codelineno-37-2></a><span class=na>[DxAutoConstructor]</span>
414
- </span><span id=__span-37-3><a id=__codelineno-37-3 name=__codelineno-37-3 href=#__codelineno-37-3></a><span class=k>internal</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>InternalDebugMessage</span>
415
- </span><span id=__span-37-4><a id=__codelineno-37-4 name=__codelineno-37-4 href=#__codelineno-37-4></a><span class=p>{</span>
416
- </span><span id=__span-37-5><a id=__codelineno-37-5 name=__codelineno-37-5 href=#__codelineno-37-5></a><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>string</span><span class=w> </span><span class=n>debugInfo</span><span class=p>;</span>
417
- </span><span id=__span-37-6><a id=__codelineno-37-6 name=__codelineno-37-6 href=#__codelineno-37-6></a><span class=p>}</span>
418
- </span><span id=__span-37-7><a id=__codelineno-37-7 name=__codelineno-37-7 href=#__codelineno-37-7></a>
419
- </span><span id=__span-37-8><a id=__codelineno-37-8 name=__codelineno-37-8 href=#__codelineno-37-8></a><span class=c1>// Only visible within this assembly</span>
420
- </span><span id=__span-37-9><a id=__codelineno-37-9 name=__codelineno-37-9 href=#__codelineno-37-9></a><span class=c1>// Perfect for internal messaging that shouldn&#39;t leak to other packages</span>
421
- </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>Implementation details that shouldn't be public API</li> <li>Plugin or package-internal messaging</li> <li>Test-only messages</li> </ul> <h2 id=faq-source-generators--attributes>FAQ: Source Generators &amp; Attributes<a class=headerlink href=#faq-source-generators--attributes title="Anchor link to this section">&para;</a></h2> <h3 id=do-i-have-to-use-attributes_1>"Do I HAVE to use attributes?"<a class=headerlink href=#do-i-have-to-use-attributes_1 title="Anchor link to this section">&para;</a></h3> <p><strong>No!</strong> You can implement interfaces manually:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-38-1><a id=__codelineno-38-1 name=__codelineno-38-1 href=#__codelineno-38-1></a><span class=c1>// Manual (works fine, just more code)</span>
422
- </span><span id=__span-38-2><a id=__codelineno-38-2 name=__codelineno-38-2 href=#__codelineno-38-2></a><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=k>struct</span><span class=w> </span><span class=nc>MyMsg</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>IUntargetedMessage</span><span class=o>&lt;</span><span class=n>MyMsg</span><span class=o>&gt;</span>
423
- </span><span id=__span-38-3><a id=__codelineno-38-3 name=__codelineno-38-3 href=#__codelineno-38-3></a><span class=p>{</span>
424
- </span><span id=__span-38-4><a id=__codelineno-38-4 name=__codelineno-38-4 href=#__codelineno-38-4></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=n>Type</span><span class=w> </span><span class=n>MessageType</span><span class=w> </span><span class=o>=&gt;</span><span class=w> </span><span class=k>typeof</span><span class=p>(</span><span class=n>MyMsg</span><span class=p>);</span>
425
- </span><span id=__span-38-5><a id=__codelineno-38-5 name=__codelineno-38-5 href=#__codelineno-38-5></a><span class=p>}</span>
426
- </span><span id=__span-38-6><a id=__codelineno-38-6 name=__codelineno-38-6 href=#__codelineno-38-6></a>
427
- </span><span id=__span-38-7><a id=__codelineno-38-7 name=__codelineno-38-7 href=#__codelineno-38-7></a><span class=c1>// Attributes (same result, less code)</span>
428
- </span><span id=__span-38-8><a id=__codelineno-38-8 name=__codelineno-38-8 href=#__codelineno-38-8></a><span class=na>[DxUntargetedMessage]</span>
429
- </span><span id=__span-38-9><a id=__codelineno-38-9 name=__codelineno-38-9 href=#__codelineno-38-9></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>MyMsg</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
430
- </span></code></pre></div> <p><strong>Recommendation:</strong> Use attributes unless you need explicit control.</p> <h3 id=why-partial-when-using-attributes>"Why <code>partial</code> when using attributes?"<a class=headerlink href=#why-partial-when-using-attributes title="Anchor link to this section">&para;</a></h3> <p>Source generators need to <strong>add code to your type</strong>. The <code>partial</code> keyword allows them to extend your struct/class in a separate file.</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-39-1><a id=__codelineno-39-1 name=__codelineno-39-1 href=#__codelineno-39-1></a><span class=c1>// Your file (MyMessage.cs)</span>
431
- </span><span id=__span-39-2><a id=__codelineno-39-2 name=__codelineno-39-2 href=#__codelineno-39-2></a><span class=na>[DxUntargetedMessage]</span>
432
- </span><span id=__span-39-3><a id=__codelineno-39-3 name=__codelineno-39-3 href=#__codelineno-39-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>MyMessage</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
433
- </span><span id=__span-39-4><a id=__codelineno-39-4 name=__codelineno-39-4 href=#__codelineno-39-4></a>
434
- </span><span id=__span-39-5><a id=__codelineno-39-5 name=__codelineno-39-5 href=#__codelineno-39-5></a><span class=c1>// Generated file (MyMessage.g.cs - auto-created!)</span>
435
- </span><span id=__span-39-6><a id=__codelineno-39-6 name=__codelineno-39-6 href=#__codelineno-39-6></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>MyMessage</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>IUntargetedMessage</span><span class=o>&lt;</span><span class=n>MyMessage</span><span class=o>&gt;</span>
436
- </span><span id=__span-39-7><a id=__codelineno-39-7 name=__codelineno-39-7 href=#__codelineno-39-7></a><span class=p>{</span>
437
- </span><span id=__span-39-8><a id=__codelineno-39-8 name=__codelineno-39-8 href=#__codelineno-39-8></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=n>Type</span><span class=w> </span><span class=n>MessageType</span><span class=w> </span><span class=o>=&gt;</span><span class=w> </span><span class=k>typeof</span><span class=p>(</span><span class=n>MyMessage</span><span class=p>);</span>
438
- </span><span id=__span-39-9><a id=__codelineno-39-9 name=__codelineno-39-9 href=#__codelineno-39-9></a><span class=p>}</span>
439
- </span></code></pre></div> <p><strong>Forget <code>partial</code>?</strong> You'll get a compile error: "Type must be partial to use source generators"</p> <h3 id=can-i-see-the-generated-code>"Can I see the generated code?"<a class=headerlink href=#can-i-see-the-generated-code title="Anchor link to this section">&para;</a></h3> <p><strong>Yes!</strong> In Visual Studio/Rider:</p> <ol> <li>Right-click on the message type</li> <li>Select "Go to Implementation" or "Go to Definition"</li> <li>You'll see the auto-generated file</li> </ol> <p><strong>Or</strong> check your <code>obj/</code> folder for <code>.g.cs</code> files.</p> <h3 id=what-if-i-want-custom-constructor-logic_1>"What if I want custom constructor logic?"<a class=headerlink href=#what-if-i-want-custom-constructor-logic_1 title="Anchor link to this section">&para;</a></h3> <p>Keep the attributes and wrap the generated constructor with a helper so you can inject custom logic without losing the source-generated plumbing:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-40-1><a id=__codelineno-40-1 name=__codelineno-40-1 href=#__codelineno-40-1></a><span class=na>[DxUntargetedMessage]</span>
440
- </span><span id=__span-40-2><a id=__codelineno-40-2 name=__codelineno-40-2 href=#__codelineno-40-2></a><span class=na>[DxAutoConstructor]</span>
441
- </span><span id=__span-40-3><a id=__codelineno-40-3 name=__codelineno-40-3 href=#__codelineno-40-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>ComplexMessage</span>
442
- </span><span id=__span-40-4><a id=__codelineno-40-4 name=__codelineno-40-4 href=#__codelineno-40-4></a><span class=p>{</span>
443
- </span><span id=__span-40-5><a id=__codelineno-40-5 name=__codelineno-40-5 href=#__codelineno-40-5></a><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=k>value</span><span class=p>;</span>
444
- </span><span id=__span-40-6><a id=__codelineno-40-6 name=__codelineno-40-6 href=#__codelineno-40-6></a>
445
- </span><span id=__span-40-7><a id=__codelineno-40-7 name=__codelineno-40-7 href=#__codelineno-40-7></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>static</span><span class=w> </span><span class=n>ComplexMessage</span><span class=w> </span><span class=nf>FromRaw</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>rawValue</span><span class=p>)</span>
446
- </span><span id=__span-40-8><a id=__codelineno-40-8 name=__codelineno-40-8 href=#__codelineno-40-8></a><span class=w> </span><span class=p>{</span>
447
- </span><span id=__span-40-9><a id=__codelineno-40-9 name=__codelineno-40-9 href=#__codelineno-40-9></a><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>clamped</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>Math</span><span class=p>.</span><span class=n>Clamp</span><span class=p>(</span><span class=n>rawValue</span><span class=p>,</span><span class=w> </span><span class=mi>0</span><span class=p>,</span><span class=w> </span><span class=mi>100</span><span class=p>);</span>
448
- </span><span id=__span-40-10><a id=__codelineno-40-10 name=__codelineno-40-10 href=#__codelineno-40-10></a><span class=w> </span><span class=k>return</span><span class=w> </span><span class=k>new</span><span class=w> </span><span class=nf>ComplexMessage</span><span class=p>(</span><span class=n>clamped</span><span class=p>);</span>
449
- </span><span id=__span-40-11><a id=__codelineno-40-11 name=__codelineno-40-11 href=#__codelineno-40-11></a><span class=w> </span><span class=p>}</span>
450
- </span><span id=__span-40-12><a id=__codelineno-40-12 name=__codelineno-40-12 href=#__codelineno-40-12></a><span class=p>}</span>
451
- </span></code></pre></div> <p>If you truly need to hand-craft the constructor, drop <code>[DxAutoConstructor]</code> for that specific type but keep the <code>[DxUntargetedMessage]</code>/<code>[DxTargetedMessage]</code> attribute so the interface implementation is still generated.</p> <h3 id=do-attributes-affect-runtime-performance>"Do attributes affect runtime performance?"<a class=headerlink href=#do-attributes-affect-runtime-performance title="Anchor link to this section">&para;</a></h3> <p><strong>No!</strong> Source generation happens at <strong>compile time</strong>. Generated code is identical to hand-written code. Zero runtime overhead.</p> <h3 id=can-i-mix-attributes-and-manual-implementation>"Can I mix attributes and manual implementation?"<a class=headerlink href=#can-i-mix-attributes-and-manual-implementation title="Anchor link to this section">&para;</a></h3> <p>Yes. Attribute-driven messages happily coexist with any legacy manual messages or string messages you already emit. Convert types gradually—one message at a time:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-41-1><a id=__codelineno-41-1 name=__codelineno-41-1 href=#__codelineno-41-1></a><span class=na>[DxUntargetedMessage]</span>
452
- </span><span id=__span-41-2><a id=__codelineno-41-2 name=__codelineno-41-2 href=#__codelineno-41-2></a><span class=na>[DxAutoConstructor]</span>
453
- </span><span id=__span-41-3><a id=__codelineno-41-3 name=__codelineno-41-3 href=#__codelineno-41-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>MessageA</span>
454
- </span><span id=__span-41-4><a id=__codelineno-41-4 name=__codelineno-41-4 href=#__codelineno-41-4></a><span class=p>{</span>
455
- </span><span id=__span-41-5><a id=__codelineno-41-5 name=__codelineno-41-5 href=#__codelineno-41-5></a><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=k>value</span><span class=p>;</span>
456
- </span><span id=__span-41-6><a id=__codelineno-41-6 name=__codelineno-41-6 href=#__codelineno-41-6></a><span class=p>}</span>
457
- </span><span id=__span-41-7><a id=__codelineno-41-7 name=__codelineno-41-7 href=#__codelineno-41-7></a>
458
- </span><span id=__span-41-8><a id=__codelineno-41-8 name=__codelineno-41-8 href=#__codelineno-41-8></a><span class=c1>// Existing manual messages keep working alongside attribute-driven ones.</span>
459
- </span></code></pre></div> <h2 id=troubleshooting-source-generators>Troubleshooting Source Generators<a class=headerlink href=#troubleshooting-source-generators title="Anchor link to this section">&para;</a></h2> <blockquote> <p>⚠️ <strong>Warning: Attributes not working / code not generated</strong></p> <h3 id=checklist>Checklist<a class=headerlink href=#checklist title="Anchor link to this section">&para;</a></h3> <ol> <li>✅ Is type marked <code>partial</code>?</li> <li>✅ Did you rebuild the project?</li> <li>✅ Is Unity 2021.3+ (Roslyn source generator support)?</li> <li>✅ Check <code>obj/</code> folder for <code>.g.cs</code> files</li> </ol> <h4 id=fix>Fix<a class=headerlink href=#fix title="Anchor link to this section">&para;</a></h4> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-42-1><a id=__codelineno-42-1 name=__codelineno-42-1 href=#__codelineno-42-1></a><span class=c1>// ❌ Missing partial, will not compile</span>
460
- </span><span id=__span-42-2><a id=__codelineno-42-2 name=__codelineno-42-2 href=#__codelineno-42-2></a><span class=na>[DxAutoConstructor]</span>
461
- </span><span id=__span-42-3><a id=__codelineno-42-3 name=__codelineno-42-3 href=#__codelineno-42-3></a><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=k>struct</span><span class=w> </span><span class=nc>MyMsg</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
462
- </span><span id=__span-42-4><a id=__codelineno-42-4 name=__codelineno-42-4 href=#__codelineno-42-4></a>
463
- </span><span id=__span-42-5><a id=__codelineno-42-5 name=__codelineno-42-5 href=#__codelineno-42-5></a><span class=c1>// ✅ Correct</span>
464
- </span><span id=__span-42-6><a id=__codelineno-42-6 name=__codelineno-42-6 href=#__codelineno-42-6></a><span class=na>[DxAutoConstructor]</span>
465
- </span><span id=__span-42-7><a id=__codelineno-42-7 name=__codelineno-42-7 href=#__codelineno-42-7></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>MyMsg</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
466
- </span></code></pre></div> <p>⚠️ <strong>Warning: Constructor not generated</strong></p> <p><strong>Cause:</strong> No public fields to generate from</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-43-1><a id=__codelineno-43-1 name=__codelineno-43-1 href=#__codelineno-43-1></a><span class=c1>// ❌ No public fields</span>
467
- </span><span id=__span-43-2><a id=__codelineno-43-2 name=__codelineno-43-2 href=#__codelineno-43-2></a><span class=na>[DxAutoConstructor]</span>
468
- </span><span id=__span-43-3><a id=__codelineno-43-3 name=__codelineno-43-3 href=#__codelineno-43-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>Empty</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=p>}</span>
469
- </span><span id=__span-43-4><a id=__codelineno-43-4 name=__codelineno-43-4 href=#__codelineno-43-4></a>
470
- </span><span id=__span-43-5><a id=__codelineno-43-5 name=__codelineno-43-5 href=#__codelineno-43-5></a><span class=c1>// ✅ Has public field</span>
471
- </span><span id=__span-43-6><a id=__codelineno-43-6 name=__codelineno-43-6 href=#__codelineno-43-6></a><span class=na>[DxAutoConstructor]</span>
472
- </span><span id=__span-43-7><a id=__codelineno-43-7 name=__codelineno-43-7 href=#__codelineno-43-7></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>WithData</span><span class=w> </span><span class=p>{</span>
473
- </span><span id=__span-43-8><a id=__codelineno-43-8 name=__codelineno-43-8 href=#__codelineno-43-8></a><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=k>value</span><span class=p>;</span>
474
- </span><span id=__span-43-9><a id=__codelineno-43-9 name=__codelineno-43-9 href=#__codelineno-43-9></a><span class=p>}</span>
475
- </span></code></pre></div> <p>⚠️ <strong>Warning: Unity can't find generated code</strong></p> <h5 id=solution>Solution<a class=headerlink href=#solution title="Anchor link to this section">&para;</a></h5> <ol> <li>Close Unity</li> <li>Delete <code>Library/</code> folder</li> <li>Reopen Unity</li> <li>Let it reimport everything</li> </ol> </blockquote> <h2 id=related-documentation>Related Documentation<a class=headerlink href=#related-documentation title="Anchor link to this section">&para;</a></h2> <ul> <li><strong><a href=../reference/ >API Reference</a></strong> — Complete API documentation</li> <li><strong><a href=../../concepts/message-types/ >Message Types</a></strong> — When to use Untargeted/Targeted/Broadcast</li> <li><strong><a href=../quick-reference/ >Quick Reference</a></strong> — Cheat sheet</li> <li><strong><a href=../../architecture/design-and-architecture/ >Design &amp; Architecture</a></strong> — How source generation works internally</li> </ul> <h2 id=summary>Summary<a class=headerlink href=#summary title="Anchor link to this section">&para;</a></h2> <h3 id=source-generators--code-wizards-that-write-boilerplate-for-you>Source generators = Code wizards that write boilerplate for you<a class=headerlink href=#source-generators--code-wizards-that-write-boilerplate-for-you title="Anchor link to this section">&para;</a></h3> <h4 id=use-attributes-for>Use attributes for<a class=headerlink href=#use-attributes-for title="Anchor link to this section">&para;</a></h4> <ul> <li>✅ Clean, maintainable code</li> <li>✅ Automatic constructor generation</li> <li>✅ Zero boilerplate</li> <li>✅ Refactor safety</li> </ul> <h5 id=use-manual-implementation-for>Use manual implementation for<a class=headerlink href=#use-manual-implementation-for title="Anchor link to this section">&para;</a></h5> <ul> <li>✅ Custom constructor logic</li> <li>✅ Explicit control</li> <li>✅ Understanding exactly what happens</li> </ul> <p><strong>Recommendation:</strong> Start with attributes (they cover most cases), switch to manual only when needed.</p> <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 29, 2026 05:02:02 UTC"><span class=timeago datetime=2026-01-29T05:02:02+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="January 29, 2026 05:02:02 UTC">2026-01-29</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 27, 2026 04:59:07 UTC"><span class=timeago datetime=2026-01-27T04:59:07+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="January 27, 2026 04:59:07 UTC">2026-01-27</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=../quick-reference/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Quick Reference"> <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> Quick Reference </div> </div> </a> <a href=../faq/ class="md-footer__link md-footer__link--next" aria-label="Next: FAQ"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> FAQ </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>