com.wallstop-studios.dxmessaging 2.1.4 → 2.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.artifacts/SourceGenerators.Tests/TestResults/0e800bba-2376-4062-bb19-cf916d3083a1/coverage.cobertura.xml +2624 -0
- package/.artifacts/SourceGenerators.Tests/TestResults/260ab294-e640-4674-9ae9-29b5344c0540/coverage.cobertura.xml +2624 -0
- package/.artifacts/SourceGenerators.Tests/TestResults/31c02772-7d85-4466-a2c4-93742725076e/coverage.cobertura.xml +2624 -0
- package/.artifacts/SourceGenerators.Tests/TestResults/ca4d2ef2-0c53-49dc-91b5-039938571ed8/coverage.cobertura.xml +2624 -0
- package/.artifacts/SourceGenerators.Tests/TestResults/f6cadd7e-1bf5-44b0-9351-47426600fc69/coverage.cobertura.xml +2624 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.ApplicationInsights.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.CodeAnalysis.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Platform.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/NUnit3.TestAdapter.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Newtonsoft.Json.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +872 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +13 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.api.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.core.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.framework.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.framework.legacy.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testcentric.engine.metadata.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testhost.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testhost.exe +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.ApplicationInsights.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.CodeAnalysis.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Extensions.DependencyModel.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Platform.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/NUnit3.TestAdapter.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Newtonsoft.Json.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +817 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +14 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.api.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.core.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.framework.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.framework.legacy.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testcentric.engine.metadata.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testhost.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testhost.exe +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.ApplicationInsights.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.CodeAnalysis.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Extensions.DependencyModel.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Platform.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/NUnit3.TestAdapter.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/Newtonsoft.Json.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +872 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +13 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.api.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.core.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.framework.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.framework.legacy.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/testcentric.engine.metadata.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/testhost.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/testhost.exe +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +22 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +25 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +8 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +28 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +1 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +23 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +17 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +8 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.BuildWithSkipAnalyzers +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +84 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +1 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +4 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +22 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +23 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +8 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +55 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +1 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.artifacts/SourceGenerators.Tests/obj/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
- package/.config/dotnet-tools.json +1 -1
- package/.csharpierignore +1 -1
- package/.cspell.json +222 -0
- package/.cursorrules +3 -0
- package/.devcontainer/.dockerignore +92 -0
- package/.devcontainer/Dockerfile +475 -0
- package/.devcontainer/devcontainer.json +54 -0
- package/.devcontainer/verify-tools.sh +183 -0
- package/.editorconfig +6 -0
- package/.gitattributes +12 -0
- package/.github/ISSUE_TEMPLATE/bug_report.yml +95 -0
- package/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +46 -0
- package/.github/copilot-instructions.md +3 -0
- package/.github/dependabot.yml +36 -2
- package/.github/pull_request_template.md +30 -0
- package/.github/release-drafter.yml +92 -0
- package/.github/scripts/check-markdown-links.ps1 +27 -3
- package/.github/scripts/check_markdown_links.py +132 -34
- package/.github/scripts/test_check_markdown_links.py +545 -0
- package/.github/workflows/actionlint.yml +47 -0
- package/.github/workflows/csharpier-autofix.yml +46 -6
- package/.github/workflows/deploy-docs.yml +118 -0
- package/.github/workflows/dotnet-tests.yml +15 -2
- package/.github/workflows/format-on-demand.yml +60 -56
- package/.github/workflows/json-format-check.yml +26 -1
- package/.github/workflows/lint-doc-links.yml +15 -1
- package/.github/workflows/markdown-json.yml +23 -5
- package/.github/workflows/markdown-link-text-check.yml +12 -1
- package/.github/workflows/markdown-link-validity.yml +12 -1
- package/.github/workflows/markdownlint.yml +29 -3
- package/.github/workflows/prettier-autofix.yml +86 -15
- package/.github/workflows/release-drafter.yml +135 -0
- package/.github/workflows/spellcheck.yml +56 -0
- package/.github/workflows/sync-wiki.yml +139 -0
- package/.github/workflows/update-dotnet-tools.yml +7 -3
- package/.github/workflows/validate-docs.yml +196 -0
- package/.github/workflows/validate-skills.yml +46 -0
- package/.github/workflows/yaml-format-lint.yml +28 -1
- package/.llm/context.md +379 -0
- package/.llm/skills/documentation/changelog-entry-writing.md +277 -0
- package/.llm/skills/documentation/changelog-management.md +228 -0
- package/.llm/skills/documentation/changelog-release-workflow.md +249 -0
- package/.llm/skills/documentation/documentation-code-samples.md +262 -0
- package/.llm/skills/documentation/documentation-style-guide.md +203 -0
- package/.llm/skills/documentation/documentation-update-workflow.md +148 -0
- package/.llm/skills/documentation/documentation-updates.md +148 -0
- package/.llm/skills/documentation/documentation-xml-docs.md +190 -0
- package/.llm/skills/documentation/external-url-fragment-validation.md +181 -0
- package/.llm/skills/documentation/github-actions-version-consistency.md +203 -0
- package/.llm/skills/documentation/link-quality-guidelines.md +267 -0
- package/.llm/skills/documentation/markdown-compatibility.md +476 -0
- package/.llm/skills/documentation/mermaid-theming.md +326 -0
- package/.llm/skills/documentation/mkdocs-navigation.md +290 -0
- package/.llm/skills/documentation/skill-file-sizing.md +260 -0
- package/.llm/skills/github-actions/git-renormalize-patterns.md +231 -0
- package/.llm/skills/github-actions/workflow-consistency.md +346 -0
- package/.llm/skills/index.md +257 -0
- package/.llm/skills/performance/aggressive-inlining-performance-notes.md +94 -0
- package/.llm/skills/performance/aggressive-inlining.md +342 -0
- package/.llm/skills/performance/array-pooling-usage-examples.md +145 -0
- package/.llm/skills/performance/array-pooling.md +315 -0
- package/.llm/skills/performance/cache-eviction-builder.md +203 -0
- package/.llm/skills/performance/cache-eviction-implementation.md +340 -0
- package/.llm/skills/performance/cache-eviction-policies.md +176 -0
- package/.llm/skills/performance/collection-pooling.md +313 -0
- package/.llm/skills/performance/object-pooling-anti-patterns.md +144 -0
- package/.llm/skills/performance/object-pooling-usage-examples.md +114 -0
- package/.llm/skills/performance/object-pooling-variations.md +147 -0
- package/.llm/skills/performance/object-pooling.md +319 -0
- package/.llm/skills/performance/readonly-struct-cached-hash-performance-notes.md +91 -0
- package/.llm/skills/performance/readonly-struct-cached-hash.md +337 -0
- package/.llm/skills/performance/serializable-dictionary-property-drawer.md +147 -0
- package/.llm/skills/performance/serializable-dictionary-usage-examples.md +135 -0
- package/.llm/skills/performance/serializable-dictionary.md +281 -0
- package/.llm/skills/performance/singleton-autoload.md +111 -0
- package/.llm/skills/performance/singleton-patterns.md +165 -0
- package/.llm/skills/performance/singleton-runtime.md +187 -0
- package/.llm/skills/performance/singleton-scriptableobject.md +177 -0
- package/.llm/skills/performance/singleton-usage-examples.md +139 -0
- package/.llm/skills/performance/stringbuilder-pooling.md +319 -0
- package/.llm/skills/performance/yield-instruction-pooling.md +347 -0
- package/.llm/skills/scripting/cross-platform-compatibility.md +224 -0
- package/{Docs/Comparisons.md.meta → .llm/skills/scripting/cross-platform-compatibility.md.meta} +1 -1
- package/.llm/skills/scripting/javascript-code-quality.md +417 -0
- package/.llm/skills/scripting/powershell-best-practices.md +386 -0
- package/.llm/skills/scripting/regex-documentation.md +461 -0
- package/.llm/skills/scripting/shell-best-practices.md +386 -0
- package/.llm/skills/scripting/validation-patterns.md +418 -0
- package/.llm/skills/solid/collection-extensions-accessors.md +229 -0
- package/.llm/skills/solid/collection-extensions-shuffle.md +144 -0
- package/.llm/skills/solid/collection-extensions-type-specialization.md +168 -0
- package/.llm/skills/solid/collection-extensions.md +144 -0
- package/.llm/skills/solid/fluent-builder-pattern-templates.md +117 -0
- package/.llm/skills/solid/fluent-builder-pattern-usage-examples.md +128 -0
- package/.llm/skills/solid/fluent-builder-pattern.md +322 -0
- package/.llm/skills/solid/iequatable-implementation-usage.md +111 -0
- package/.llm/skills/solid/iequatable-implementation-variants.md +201 -0
- package/.llm/skills/solid/iequatable-implementation.md +239 -0
- package/.llm/skills/solid/try-pattern-apis-usage.md +136 -0
- package/.llm/skills/solid/try-pattern-apis-variants.md +233 -0
- package/.llm/skills/solid/try-pattern-apis.md +220 -0
- package/.llm/skills/specification.md +468 -0
- package/.llm/skills/templates/skill-template.md +143 -0
- package/.llm/skills/testing/comprehensive-test-coverage.md +141 -0
- package/.llm/skills/testing/data-driven-tests-sources.md +255 -0
- package/.llm/skills/testing/data-driven-tests-usage.md +107 -0
- package/.llm/skills/testing/data-driven-tests.md +197 -0
- package/.llm/skills/testing/git-workflow-robustness.md +369 -0
- package/.llm/skills/testing/script-test-coverage.md +259 -0
- package/{Docs/DesignAndArchitecture.md.meta → .llm/skills/testing/script-test-coverage.md.meta} +1 -1
- package/.llm/skills/testing/shared-test-fixtures-generic-base.md +185 -0
- package/.llm/skills/testing/shared-test-fixtures-reference-counting.md +252 -0
- package/.llm/skills/testing/shared-test-fixtures.md +165 -0
- package/.llm/skills/testing/test-base-class-cleanup-usage.md +218 -0
- package/.llm/skills/testing/test-base-class-cleanup.md +323 -0
- package/.llm/skills/testing/test-categories-execution.md +142 -0
- package/.llm/skills/testing/test-categories.md +287 -0
- package/.llm/skills/testing/test-code-quality.md +243 -0
- package/.llm/skills/testing/test-coverage-data-driven.md +172 -0
- package/.llm/skills/testing/test-coverage-organization-assertions.md +171 -0
- package/.llm/skills/testing/test-coverage-scenario-categories.md +223 -0
- package/.llm/skills/testing/test-coverage-unity-anti-patterns.md +232 -0
- package/.llm/skills/testing/test-diagnostics-patterns.md +189 -0
- package/.llm/skills/testing/test-diagnostics-usage.md +196 -0
- package/.llm/skills/testing/test-diagnostics.md +247 -0
- package/.llm/skills/testing/test-failure-investigation-procedure.md +216 -0
- package/.llm/skills/testing/test-failure-investigation-root-causes.md +186 -0
- package/.llm/skills/testing/test-failure-investigation.md +119 -0
- package/.llm/skills/testing/test-invalid-skill.md +26 -0
- package/.llm/skills/testing/test-production-code.md +348 -0
- package/.lychee.toml +3 -1
- package/.markdownlint.json +2 -0
- package/.markdownlint.jsonc +2 -0
- package/.markdownlintignore +7 -7
- package/.pre-commit-config.yaml +80 -3
- package/.prettierignore +21 -21
- package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.metadata.v10.bin +0 -0
- package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.projects.v10.bin +0 -0
- package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.strings.v10.bin +0 -0
- package/.vs/ProjectSettings.json +3 -0
- package/.vs/VSWorkspaceState.json +9 -0
- package/.vs/com.wallstop-studios.dxmessaging/CopilotIndices/17.14.1347.20289/CodeChunks.db +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/CopilotIndices/17.14.1347.20289/SemanticSymbols.db +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/DesignTimeBuild/.dtbcache.v2 +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/41b4588f-fa0f-484b-a29b-733b6ce84c26.vsidx +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/9a73875f-5693-4296-95fd-0672bf61c5ac.vsidx +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/fd44ab3e-7015-4c20-918a-a0a916be8934.vsidx +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/v17/.futdcache.v2 +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/v17/.wsuo +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/v17/DocumentLayout.backup.json +82 -0
- package/.vs/com.wallstop-studios.dxmessaging/v17/DocumentLayout.json +82 -0
- package/.vs/com.wallstop-studios.dxmessaging/v17/TestStore/0/000.testlog +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/v17/TestStore/0/testlog.manifest +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/v17/csharpier.json +1 -0
- package/.vs/com.wallstop-studios.dxmessaging/v18/.futdcache.v2 +0 -0
- package/.vs/com.wallstop-studios.dxmessaging/v18/DocumentLayout.backup.json +86 -0
- package/.vs/com.wallstop-studios.dxmessaging/v18/DocumentLayout.json +86 -0
- package/.vs/slnx.sqlite +0 -0
- package/AGENTS.md +1 -50
- package/CHANGELOG.md +42 -0
- package/CLAUDE.md +3 -0
- package/{Docs/Compatibility.md.meta → CLAUDE.md.meta} +1 -1
- package/CONTRIBUTING.md +8 -4
- package/Editor/Analyzers/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
- package/Editor/Settings/DxMessagingSettings.cs +2 -3
- package/README.md +136 -112
- package/Runtime/Core/MessageBus/IMessageBus.cs +20 -1
- package/Runtime/Core/MessageBus/MessageBus.cs +2267 -1061
- package/Runtime/Core/MessageBus/MessageRegistrationBuilder.cs +4 -2
- package/Runtime/Core/MessageHandler.cs +519 -6
- package/Samples~/DI/README.md +2 -2
- package/Samples~/Mini Combat/README.md +7 -7
- package/Samples~/Mini Combat/Walkthrough.md +12 -12
- package/Samples~/UI Buttons + Inspector/README.md +8 -8
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/CopilotIndices/17.14.1231.31060/CodeChunks.db +0 -0
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/CopilotIndices/17.14.1231.31060/SemanticSymbols.db +0 -0
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/DesignTimeBuild/.dtbcache.v2 +0 -0
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/FileContentIndex/c90afd9b-d899-4546-bd92-ab874e448437.vsidx +0 -0
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/v17/.futdcache.v2 +0 -0
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DocsSnippetCompilationTests.cs +355 -4
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj +2 -2
- package/Tests/Runtime/Benchmarks/BenchmarkSession.cs +6 -3
- package/Tests/Runtime/Benchmarks/WallstopStudios.DxMessaging.Tests.Runtime.Benchmarks.asmdef +1 -6
- package/Tests/Runtime/Core/BroadcastTests.cs +80 -66
- package/Tests/Runtime/Core/CyclicBufferTests.cs +284 -14
- package/Tests/Runtime/Core/DiagnosticsTests.cs +72 -0
- package/Tests/Runtime/Core/DxMessagingStaticStateTests.cs +1 -1
- package/Tests/Runtime/Core/GlobalAcceptAllTests.cs +26 -26
- package/Tests/Runtime/Core/MutationDedupeTests.cs +24 -24
- package/Tests/Runtime/Core/MutationDuringEmissionTests.cs +126 -9
- package/Tests/Runtime/Core/MutationHighVolumeStressTests.cs +512 -0
- package/Tests/Runtime/Core/MutationHighVolumeStressTests.cs.meta +11 -0
- package/Tests/Runtime/Core/NominalTests.cs +82 -81
- package/Tests/Runtime/Core/PostProcessorTests.cs +108 -99
- package/Tests/Runtime/Core/RegistrationTests.cs +159 -159
- package/Tests/Runtime/Core/TargetedTests.cs +80 -66
- package/Tests/Runtime/Core/UntargetedTests.cs +25 -20
- package/Tests/Runtime/Integrations/Reflex/WallstopStudios.DxMessaging.Tests.Runtime.Reflex.asmdef +1 -1
- package/Tests/Runtime/Integrations/VContainer/WallstopStudios.DxMessaging.Tests.Runtime.VContainer.asmdef +1 -1
- package/Tests/Runtime/Integrations/Zenject/WallstopStudios.DxMessaging.Tests.Runtime.Zenject.asmdef +1 -1
- package/Tests/Runtime/Integrations/Zenject/ZenjectIntegrationTests.cs +0 -1
- package/coverage/clover.xml +219 -0
- package/{Docs/Advanced.md.meta → coverage/clover.xml.meta} +1 -1
- package/coverage/coverage-final.json +2 -0
- package/coverage/coverage-final.json.meta +7 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/base.css.meta +7 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/block-navigation.js.meta +7 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/favicon.png.meta +127 -0
- package/coverage/lcov-report/index.html +116 -0
- package/coverage/lcov-report/index.html.meta +7 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.css.meta +7 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/prettify.js.meta +7 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sort-arrow-sprite.png.meta +127 -0
- package/coverage/lcov-report/sorter.js +210 -0
- package/coverage/lcov-report/sorter.js.meta +7 -0
- package/coverage/lcov-report/transform-docs-to-wiki.js.html +1312 -0
- package/coverage/lcov-report/transform-docs-to-wiki.js.html.meta +7 -0
- package/coverage/lcov-report/vendor.meta +8 -0
- package/coverage/lcov-report.meta +8 -0
- package/coverage/lcov.info +365 -0
- package/coverage/lcov.info.meta +7 -0
- package/{Docs/EmitShorthands.md → docs/advanced/emit-shorthands.md} +17 -17
- package/docs/advanced/emit-shorthands.md.meta +7 -0
- package/{Docs/MessageBusProviders.md → docs/advanced/message-bus-providers.md} +5 -4
- package/docs/advanced/message-bus-providers.md.meta +7 -0
- package/docs/advanced/registration-builders.md +444 -0
- package/docs/advanced/registration-builders.md.meta +7 -0
- package/{Docs/RuntimeConfiguration.md → docs/advanced/runtime-configuration.md} +5 -4
- package/docs/advanced/runtime-configuration.md.meta +7 -0
- package/{Docs/StringMessages.md → docs/advanced/string-messages.md} +2 -2
- package/docs/advanced/string-messages.md.meta +7 -0
- package/docs/advanced.meta +8 -0
- package/{Docs/Comparisons.md → docs/architecture/comparisons.md} +71 -66
- package/docs/architecture/comparisons.md.meta +7 -0
- package/{Docs/DesignAndArchitecture.md → docs/architecture/design-and-architecture.md} +16 -16
- package/docs/architecture/design-and-architecture.md.meta +7 -0
- package/docs/architecture/performance.md +53 -0
- package/docs/architecture/performance.md.meta +7 -0
- package/docs/architecture.meta +8 -0
- package/docs/concepts/index.md +37 -0
- package/docs/concepts/index.md.meta +7 -0
- package/{Docs/InterceptorsAndOrdering.md → docs/concepts/interceptors-and-ordering.md} +56 -55
- package/docs/concepts/interceptors-and-ordering.md.meta +7 -0
- package/{Docs/ListeningPatterns.md → docs/concepts/listening-patterns.md} +17 -15
- package/docs/concepts/listening-patterns.md.meta +7 -0
- package/docs/concepts/mental-model.md +390 -0
- package/docs/concepts/mental-model.md.meta +7 -0
- package/{Docs/MessageTypes.md → docs/concepts/message-types.md} +18 -13
- package/docs/concepts/message-types.md.meta +7 -0
- package/{Docs/TargetingAndContext.md → docs/concepts/targeting-and-context.md} +10 -10
- package/docs/concepts/targeting-and-context.md.meta +7 -0
- package/docs/concepts.meta +8 -0
- package/docs/examples/end-to-end-scene-transitions.md.meta +7 -0
- package/{Docs/EndToEnd.md → docs/examples/end-to-end.md} +1 -1
- package/docs/examples/end-to-end.md.meta +7 -0
- package/docs/examples.meta +8 -0
- package/{Docs/GettingStarted.md → docs/getting-started/getting-started.md} +31 -28
- package/docs/getting-started/getting-started.md.meta +7 -0
- package/docs/getting-started/index.md +317 -0
- package/docs/getting-started/index.md.meta +7 -0
- package/docs/getting-started/install.md +89 -0
- package/docs/getting-started/install.md.meta +7 -0
- package/{Docs/Overview.md → docs/getting-started/overview.md} +37 -35
- package/docs/getting-started/overview.md.meta +7 -0
- package/docs/getting-started/quick-start.md +175 -0
- package/docs/getting-started/quick-start.md.meta +7 -0
- package/{Docs/VisualGuide.md → docs/getting-started/visual-guide.md} +114 -111
- package/docs/getting-started/visual-guide.md.meta +7 -0
- package/docs/getting-started.meta +8 -0
- package/{Docs/Advanced.md → docs/guides/advanced.md} +4 -4
- package/docs/guides/advanced.md.meta +7 -0
- package/docs/guides/diagnostics.md +300 -0
- package/docs/guides/diagnostics.md.meta +7 -0
- package/{Docs/MigrationGuide.md → docs/guides/migration-guide.md} +3 -3
- package/docs/guides/migration-guide.md.meta +7 -0
- package/{Docs/Patterns.md → docs/guides/patterns.md} +22 -22
- package/docs/guides/patterns.md.meta +7 -0
- package/docs/guides/testing.md +243 -0
- package/docs/guides/testing.md.meta +7 -0
- package/{Docs/UnityIntegration.md → docs/guides/unity-integration.md} +13 -13
- package/docs/guides/unity-integration.md.meta +7 -0
- package/docs/guides.meta +8 -0
- package/docs/hooks.py +177 -0
- package/docs/hooks.py.meta +7 -0
- package/docs/images/DxMessaging-banner.svg +119 -0
- package/docs/images/DxMessaging-banner.svg.meta +7 -0
- package/docs/images.meta +8 -0
- package/docs/index.md +61 -0
- package/docs/integrations/index.md +66 -0
- package/docs/integrations/index.md.meta +7 -0
- package/{Docs/Integrations/Reflex.md → docs/integrations/reflex.md} +43 -18
- package/{Docs/Integrations/VContainer.md → docs/integrations/vcontainer.md} +18 -9
- package/{Docs/Integrations/Zenject.md → docs/integrations/zenject.md} +6 -6
- package/docs/javascripts/csharp-highlight.js +246 -0
- package/docs/javascripts/csharp-highlight.js.meta +7 -0
- package/docs/javascripts/mermaid-config.js +387 -0
- package/docs/javascripts/mermaid-config.js.meta +7 -0
- package/docs/javascripts.meta +8 -0
- package/{Docs/Compatibility.md → docs/reference/compatibility.md} +7 -7
- package/docs/reference/compatibility.md.meta +7 -0
- package/{Docs/FAQ.md → docs/reference/faq.md} +21 -26
- package/docs/reference/faq.md.meta +7 -0
- package/{Docs/Glossary.md → docs/reference/glossary.md} +18 -13
- package/docs/reference/glossary.md.meta +7 -0
- package/{Docs/Helpers.md → docs/reference/helpers.md} +397 -93
- package/docs/reference/helpers.md.meta +7 -0
- package/{Docs/QuickReference.md → docs/reference/quick-reference.md} +132 -58
- package/docs/reference/quick-reference.md.meta +7 -0
- package/docs/reference/reference.md +365 -0
- package/docs/reference/reference.md.meta +7 -0
- package/{Docs/Troubleshooting.md → docs/reference/troubleshooting.md} +12 -17
- package/docs/reference/troubleshooting.md.meta +7 -0
- package/docs/reference.meta +8 -0
- package/docs/stylesheets/extra.css +485 -0
- package/docs/stylesheets/extra.css.meta +7 -0
- package/docs/stylesheets.meta +8 -0
- package/mkdocs.yml +200 -0
- package/mkdocs.yml.meta +7 -0
- package/package.json +8 -6
- package/requirements-docs.txt +23 -0
- package/requirements-docs.txt.meta +7 -0
- package/scripts/__tests__/generate-skills-index.test.js +397 -0
- package/scripts/__tests__/generate-skills-index.test.js.meta +7 -0
- package/scripts/__tests__/mermaid-config.test.js +467 -0
- package/scripts/__tests__/mermaid-config.test.js.meta +7 -0
- package/scripts/__tests__/sync-banner-version.test.js +606 -0
- package/scripts/__tests__/sync-banner-version.test.js.meta +7 -0
- package/scripts/__tests__/validate-skills-optional-fields.test.js +1474 -0
- package/scripts/__tests__/validate-skills-optional-fields.test.js.meta +7 -0
- package/scripts/__tests__/validate-skills-required-fields.test.js +188 -0
- package/scripts/__tests__/validate-skills-required-fields.test.js.meta +7 -0
- package/scripts/__tests__/validate-skills-tags.test.js +353 -0
- package/scripts/__tests__/validate-skills-tags.test.js.meta +7 -0
- package/scripts/__tests__/validate-workflows.test.js +188 -0
- package/scripts/__tests__/validate-workflows.test.js.meta +7 -0
- package/scripts/__tests__.meta +8 -0
- package/scripts/check-eol.js +290 -19
- package/scripts/check-eol.ps1 +103 -15
- package/scripts/fix-eol.js +40 -8
- package/scripts/generate-skills-index.js +597 -0
- package/scripts/generate-skills-index.js.meta +7 -0
- package/scripts/generate-skills-index.ps1 +38 -0
- package/scripts/generate-skills-index.ps1.meta +7 -0
- package/scripts/hooks/pre-commit +59 -0
- package/scripts/hooks/pre-commit.meta +7 -0
- package/scripts/hooks.meta +8 -0
- package/scripts/sync-banner-version.ps1 +133 -0
- package/scripts/sync-banner-version.ps1.meta +7 -0
- package/scripts/sync-banner-version.sh +16 -0
- package/scripts/sync-banner-version.sh.meta +7 -0
- package/scripts/validate-skills.js +757 -0
- package/scripts/validate-skills.js.meta +7 -0
- package/scripts/validate-workflows.js +272 -0
- package/scripts/validate-workflows.js.meta +7 -0
- package/scripts/wiki/__tests__/transform.test.js +380 -0
- package/scripts/wiki/__tests__/transform.test.js.meta +7 -0
- package/scripts/wiki/__tests__.meta +7 -0
- package/scripts/wiki/generate-wiki-sidebar.js +122 -0
- package/{Docs/EmitShorthands.md.meta → scripts/wiki/generate-wiki-sidebar.js.meta} +8 -2
- package/scripts/wiki/transform-docs-to-wiki.js +409 -0
- package/scripts/wiki/transform-docs-to-wiki.js.meta +7 -0
- package/scripts/wiki.meta +8 -0
- package/site/404.html +1 -0
- package/site/404.html.meta +7 -0
- package/site/advanced/emit-shorthands/index.html +212 -0
- package/site/advanced/emit-shorthands/index.html.meta +7 -0
- package/site/advanced/emit-shorthands.meta +8 -0
- package/site/advanced/message-bus-providers/index.html +241 -0
- package/site/advanced/message-bus-providers/index.html.meta +7 -0
- package/site/advanced/message-bus-providers.meta +8 -0
- package/site/advanced/registration-builders/index.html +228 -0
- package/site/advanced/registration-builders/index.html.meta +7 -0
- package/site/advanced/registration-builders.meta +8 -0
- package/site/advanced/runtime-configuration/index.html +196 -0
- package/site/advanced/runtime-configuration/index.html.meta +7 -0
- package/site/advanced/runtime-configuration.meta +8 -0
- package/site/advanced/string-messages/index.html +29 -0
- package/site/advanced/string-messages/index.html.meta +7 -0
- package/site/advanced/string-messages.meta +8 -0
- package/site/advanced.meta +8 -0
- package/site/architecture/comparisons/index.html +356 -0
- package/site/architecture/comparisons/index.html.meta +7 -0
- package/site/architecture/comparisons.meta +8 -0
- package/site/architecture/design-and-architecture/index.html +34 -0
- package/site/architecture/design-and-architecture/index.html.meta +7 -0
- package/site/architecture/design-and-architecture.meta +8 -0
- package/site/architecture/performance/index.html +1 -0
- package/site/architecture/performance/index.html.meta +7 -0
- package/site/architecture/performance.meta +8 -0
- package/site/architecture.meta +8 -0
- package/site/assets/images/favicon.png +0 -0
- package/site/assets/images/favicon.png.meta +127 -0
- package/site/assets/images.meta +8 -0
- package/site/assets/javascripts/bundle.79ae519e.min.js +16 -0
- package/site/assets/javascripts/bundle.79ae519e.min.js.map +7 -0
- package/site/assets/javascripts/bundle.79ae519e.min.js.map.meta +7 -0
- package/site/assets/javascripts/bundle.79ae519e.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.ar.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.da.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.de.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.du.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.el.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.es.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.fi.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.fr.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.he.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.hi.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.hu.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.hy.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.it.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.ja.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.jp.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.kn.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.ko.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.multi.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.nl.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.no.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.pt.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.ro.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.ru.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.sa.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.sv.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.ta.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.te.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.th.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
- package/site/assets/javascripts/lunr/min/lunr.tr.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.vi.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
- package/site/assets/javascripts/lunr/min/lunr.zh.min.js.meta +7 -0
- package/site/assets/javascripts/lunr/min.meta +8 -0
- package/site/assets/javascripts/lunr/tinyseg.js +206 -0
- package/site/assets/javascripts/lunr/tinyseg.js.meta +7 -0
- package/site/assets/javascripts/lunr/wordcut.js +6708 -0
- package/site/assets/javascripts/lunr/wordcut.js.meta +7 -0
- package/site/assets/javascripts/lunr.meta +8 -0
- package/site/assets/javascripts/workers/search.2c215733.min.js +42 -0
- package/site/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
- package/site/assets/javascripts/workers/search.2c215733.min.js.map.meta +7 -0
- package/site/assets/javascripts/workers/search.2c215733.min.js.meta +7 -0
- package/site/assets/javascripts/workers.meta +8 -0
- package/site/assets/javascripts.meta +8 -0
- package/site/assets/stylesheets/main.484c7ddc.min.css +1 -0
- package/site/assets/stylesheets/main.484c7ddc.min.css.map +1 -0
- package/site/assets/stylesheets/main.484c7ddc.min.css.map.meta +7 -0
- package/site/assets/stylesheets/main.484c7ddc.min.css.meta +7 -0
- package/site/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
- package/site/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
- package/site/assets/stylesheets/palette.ab4e12ef.min.css.map.meta +7 -0
- package/site/assets/stylesheets/palette.ab4e12ef.min.css.meta +7 -0
- package/site/assets/stylesheets.meta +8 -0
- package/site/assets.meta +8 -0
- package/site/concepts/index.html +1 -0
- package/site/concepts/index.html.meta +7 -0
- package/site/concepts/interceptors-and-ordering/index.html +352 -0
- package/site/concepts/interceptors-and-ordering/index.html.meta +7 -0
- package/site/concepts/interceptors-and-ordering.meta +8 -0
- package/site/concepts/listening-patterns/index.html +193 -0
- package/site/concepts/listening-patterns/index.html.meta +7 -0
- package/site/concepts/listening-patterns.meta +8 -0
- package/site/concepts/mental-model/index.html +146 -0
- package/site/concepts/mental-model/index.html.meta +7 -0
- package/site/concepts/mental-model.meta +8 -0
- package/site/concepts/message-types/index.html +111 -0
- package/site/concepts/message-types/index.html.meta +7 -0
- package/site/concepts/message-types.meta +8 -0
- package/site/concepts/targeting-and-context/index.html +201 -0
- package/site/concepts/targeting-and-context/index.html.meta +7 -0
- package/site/concepts/targeting-and-context.meta +8 -0
- package/site/concepts.meta +8 -0
- package/site/css/timeago.css +15 -0
- package/site/css/timeago.css.meta +7 -0
- package/site/css.meta +8 -0
- package/site/examples/end-to-end/index.html +85 -0
- package/site/examples/end-to-end/index.html.meta +7 -0
- package/site/examples/end-to-end-scene-transitions/index.html +84 -0
- package/site/examples/end-to-end-scene-transitions/index.html.meta +7 -0
- package/site/examples/end-to-end-scene-transitions.meta +8 -0
- package/site/examples/end-to-end.meta +8 -0
- package/site/examples.meta +8 -0
- package/site/getting-started/getting-started/index.html +66 -0
- package/site/getting-started/getting-started/index.html.meta +7 -0
- package/site/getting-started/getting-started.meta +8 -0
- package/site/getting-started/index.html +29 -0
- package/site/getting-started/index.html.meta +7 -0
- package/site/getting-started/install/index.html +8 -0
- package/site/getting-started/install/index.html.meta +7 -0
- package/site/getting-started/install.meta +8 -0
- package/site/getting-started/overview/index.html +33 -0
- package/site/getting-started/overview/index.html.meta +7 -0
- package/site/getting-started/overview.meta +8 -0
- package/site/getting-started/quick-start/index.html +81 -0
- package/site/getting-started/quick-start/index.html.meta +7 -0
- package/site/getting-started/quick-start.meta +8 -0
- package/site/getting-started/visual-guide/index.html +256 -0
- package/site/getting-started/visual-guide/index.html.meta +7 -0
- package/site/getting-started/visual-guide.meta +8 -0
- package/site/getting-started.meta +8 -0
- package/site/guides/advanced/index.html +119 -0
- package/site/guides/advanced/index.html.meta +7 -0
- package/site/guides/advanced.meta +8 -0
- package/site/guides/diagnostics/index.html +110 -0
- package/site/guides/diagnostics/index.html.meta +7 -0
- package/site/guides/diagnostics.meta +8 -0
- package/site/guides/migration-guide/index.html +199 -0
- package/site/guides/migration-guide/index.html.meta +7 -0
- package/site/guides/migration-guide.meta +8 -0
- package/site/guides/patterns/index.html +545 -0
- package/site/guides/patterns/index.html.meta +7 -0
- package/site/guides/patterns.meta +8 -0
- package/site/guides/testing/index.html +153 -0
- package/site/guides/testing/index.html.meta +7 -0
- package/site/guides/testing.meta +8 -0
- package/site/guides/unity-integration/index.html +67 -0
- package/site/guides/unity-integration/index.html.meta +7 -0
- package/site/guides/unity-integration.meta +8 -0
- package/site/guides.meta +8 -0
- package/site/hooks.py +168 -0
- package/site/hooks.py.meta +7 -0
- package/site/images/DxMessaging-banner.svg +119 -0
- package/site/images/DxMessaging-banner.svg.meta +7 -0
- package/site/images.meta +8 -0
- package/site/index.html +17 -0
- package/site/index.html.meta +7 -0
- package/site/integrations/index.html +8 -0
- package/site/integrations/index.html.meta +7 -0
- package/site/integrations/reflex/index.html +186 -0
- package/site/integrations/reflex/index.html.meta +7 -0
- package/site/integrations/reflex.meta +8 -0
- package/site/integrations/vcontainer/index.html +192 -0
- package/site/integrations/vcontainer/index.html.meta +7 -0
- package/site/integrations/vcontainer.meta +8 -0
- package/site/integrations/zenject/index.html +197 -0
- package/site/integrations/zenject/index.html.meta +7 -0
- package/site/integrations/zenject.meta +8 -0
- package/site/integrations.meta +8 -0
- package/site/javascripts/csharp-highlight.js +246 -0
- package/site/javascripts/csharp-highlight.js.meta +7 -0
- package/site/javascripts/mermaid-config.js +350 -0
- package/site/javascripts/mermaid-config.js.meta +7 -0
- package/site/javascripts.meta +8 -0
- package/site/js/timeago.min.js +2 -0
- package/site/js/timeago.min.js.meta +7 -0
- package/site/js/timeago_mkdocs_material.js +33 -0
- package/site/js/timeago_mkdocs_material.js.meta +7 -0
- package/site/js.meta +8 -0
- package/site/reference/compatibility/index.html +1 -0
- package/site/reference/compatibility/index.html.meta +7 -0
- package/site/reference/compatibility.meta +8 -0
- package/site/reference/faq/index.html +1 -0
- package/site/reference/faq/index.html.meta +7 -0
- package/site/reference/faq.meta +8 -0
- package/site/reference/glossary/index.html +55 -0
- package/site/reference/glossary/index.html.meta +7 -0
- package/site/reference/glossary.meta +8 -0
- package/site/reference/helpers/index.html +475 -0
- package/site/reference/helpers/index.html.meta +7 -0
- package/site/reference/helpers.meta +8 -0
- package/site/reference/quick-reference/index.html +138 -0
- package/site/reference/quick-reference/index.html.meta +7 -0
- package/site/reference/quick-reference.meta +8 -0
- package/site/reference/reference/index.html +194 -0
- package/site/reference/reference/index.html.meta +7 -0
- package/site/reference/reference.meta +8 -0
- package/site/reference/troubleshooting/index.html +1 -0
- package/site/reference/troubleshooting/index.html.meta +7 -0
- package/site/reference/troubleshooting.meta +8 -0
- package/site/reference.meta +8 -0
- package/site/search/search_index.json +1 -0
- package/site/search/search_index.json.meta +7 -0
- package/site/search.meta +8 -0
- package/site/sitemap.xml +163 -0
- package/site/sitemap.xml.gz +0 -0
- package/site/sitemap.xml.gz.meta +7 -0
- package/site/sitemap.xml.meta +7 -0
- package/site/stylesheets/extra.css +485 -0
- package/site/stylesheets/extra.css.meta +7 -0
- package/site/stylesheets.meta +8 -0
- package/.github/workflows/npm-publish.yml +0 -75
- package/Docs/Diagnostics.md +0 -61
- package/Docs/Diagnostics.md.meta +0 -7
- package/Docs/EndToEnd.md.meta +0 -7
- package/Docs/EndToEndSceneTransitions.md.meta +0 -7
- package/Docs/FAQ.md.meta +0 -7
- package/Docs/GettingStarted.md.meta +0 -7
- package/Docs/Glossary.md.meta +0 -7
- package/Docs/Helpers.md.meta +0 -7
- package/Docs/Index.md +0 -305
- package/Docs/Install.md +0 -60
- package/Docs/Install.md.meta +0 -7
- package/Docs/InterceptorsAndOrdering.md.meta +0 -7
- package/Docs/ListeningPatterns.md.meta +0 -7
- package/Docs/MessageBusProviders.md.meta +0 -7
- package/Docs/MessageTypes.md.meta +0 -7
- package/Docs/MigrationGuide.md.meta +0 -7
- package/Docs/Overview.md.meta +0 -7
- package/Docs/Patterns.md.meta +0 -7
- package/Docs/Performance.md +0 -35
- package/Docs/Performance.md.meta +0 -7
- package/Docs/QuickReference.md.meta +0 -7
- package/Docs/QuickStart.md +0 -179
- package/Docs/QuickStart.md.meta +0 -7
- package/Docs/Reference.md +0 -88
- package/Docs/Reference.md.meta +0 -7
- package/Docs/RuntimeConfiguration.md.meta +0 -7
- package/Docs/StringMessages.md.meta +0 -7
- package/Docs/TargetingAndContext.md.meta +0 -7
- package/Docs/Troubleshooting.md.meta +0 -7
- package/Docs/UnityIntegration.md.meta +0 -7
- package/Docs/VisualGuide.md.meta +0 -7
- /package/{Docs/EndToEndSceneTransitions.md → docs/examples/end-to-end-scene-transitions.md} +0 -0
- /package/{Docs/Index.md.meta → docs/index.md.meta} +0 -0
- /package/{Docs/Integrations/Reflex.md.meta → docs/integrations/reflex.md.meta} +0 -0
- /package/{Docs/Integrations/VContainer.md.meta → docs/integrations/vcontainer.md.meta} +0 -0
- /package/{Docs/Integrations/Zenject.md.meta → docs/integrations/zenject.md.meta} +0 -0
- /package/{Docs/Integrations.meta → docs/integrations.meta} +0 -0
- /package/{Docs.meta → docs.meta} +0 -0
|
@@ -0,0 +1,199 @@
|
|
|
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/guides/migration-guide/ rel=canonical><link href=../advanced/ rel=prev><link href=../../architecture/design-and-architecture/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.1"><title>Migration Guide - 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=#migration-guide-adopting-dxmessaging-incrementally 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> Migration Guide </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 md-tabs__item--active"> <a href=../patterns/ class=md-tabs__link> Guides </a> </li> <li class=md-tabs__item> <a href=../../architecture/design-and-architecture/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../advanced/emit-shorthands/ class=md-tabs__link> Advanced </a> </li> <li class=md-tabs__item> <a href=../../integrations/ class=md-tabs__link> Integrations </a> </li> <li class=md-tabs__item> <a href=../../examples/end-to-end/ class=md-tabs__link> Examples </a> </li> <li class=md-tabs__item> <a href=../../reference/reference/ class=md-tabs__link> Reference </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="DxMessaging Documentation" class="md-nav__button md-logo" aria-label="DxMessaging Documentation" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> DxMessaging Documentation </label> <div class=md-nav__source> <a href=https://github.com/wallstop/DxMessaging title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> wallstop/DxMessaging </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../getting-started/ class="md-nav__link "> <span class=md-ellipsis> Getting Started </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/overview/ class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/install/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/getting-started/ class=md-nav__link> <span class=md-ellipsis> Getting Started Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/visual-guide/ class=md-nav__link> <span class=md-ellipsis> Visual Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--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--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4 checked> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex> <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=true> <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=../patterns/ class=md-nav__link> <span class=md-ellipsis> Patterns </span> </a> </li> <li class=md-nav__item> <a href=../unity-integration/ class=md-nav__link> <span class=md-ellipsis> Unity Integration </span> </a> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing </span> </a> </li> <li class=md-nav__item> <a href=../diagnostics/ class=md-nav__link> <span class=md-ellipsis> Diagnostics </span> </a> </li> <li class=md-nav__item> <a href=../advanced/ class=md-nav__link> <span class=md-ellipsis> Advanced Topics </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> Migration Guide </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Migration Guide </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=#philosophy-start-small-prove-value class=md-nav__link> <span class=md-ellipsis> Philosophy: Start Small, Prove Value </span> </a> <nav class=md-nav aria-label="Philosophy: Start Small, Prove Value"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dont-do-this class=md-nav__link> <span class=md-ellipsis> Don't do this </span> </a> <nav class=md-nav aria-label="Don't do this"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#do-this-instead class=md-nav__link> <span class=md-ellipsis> Do this instead </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#phase-0-install-and-experiment-1-2-hours class=md-nav__link> <span class=md-ellipsis> Phase 0: Install and Experiment (1-2 hours) </span> </a> <nav class=md-nav aria-label="Phase 0: Install and Experiment (1-2 hours)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goal-get-comfortable-without-touching-production-code class=md-nav__link> <span class=md-ellipsis> Goal: Get comfortable without touching production code </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#phase-1-add-to-a-new-feature-1-week class=md-nav__link> <span class=md-ellipsis> Phase 1: Add to a New Feature (1 week) </span> </a> <nav class=md-nav aria-label="Phase 1: Add to a New Feature (1 week)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goal-prove-value-without-refactoring-existing-code class=md-nav__link> <span class=md-ellipsis> Goal: Prove value without refactoring existing code </span> </a> <nav class=md-nav aria-label="Goal: Prove value without refactoring existing code"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#best-candidates-for-first-adoption class=md-nav__link> <span class=md-ellipsis> Best candidates for first adoption </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#example-adding-an-achievement-system class=md-nav__link> <span class=md-ellipsis> Example: Adding an Achievement System </span> </a> <nav class=md-nav aria-label="Example: Adding an Achievement System"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#why-this-works class=md-nav__link> <span class=md-ellipsis> Why this works </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#phase-2-migrate-high-pain-areas-2-4-weeks class=md-nav__link> <span class=md-ellipsis> Phase 2: Migrate High-Pain Areas (2-4 weeks) </span> </a> <nav class=md-nav aria-label="Phase 2: Migrate High-Pain Areas (2-4 weeks)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goal-replace-the-systems-causing-the-most-problems class=md-nav__link> <span class=md-ellipsis> Goal: Replace the systems causing the most problems </span> </a> <nav class=md-nav aria-label="Goal: Replace the systems causing the most problems"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#high-value-migration-targets class=md-nav__link> <span class=md-ellipsis> High-value migration targets </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#strategy-parallel-paths-during-transition class=md-nav__link> <span class=md-ellipsis> Strategy: Parallel Paths During Transition </span> </a> <nav class=md-nav aria-label="Strategy: Parallel Paths During Transition"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#step-1-add-dxmessages-alongside-existing-events class=md-nav__link> <span class=md-ellipsis> Step 1: Add DxMessages alongside existing events </span> </a> </li> <li class=md-nav__item> <a href=#step-2-migrate-listeners-one-by-one class=md-nav__link> <span class=md-ellipsis> Step 2: Migrate listeners one-by-one </span> </a> </li> <li class=md-nav__item> <a href=#step-3-remove-old-events-once-all-listeners-migrated class=md-nav__link> <span class=md-ellipsis> Step 3: Remove old events once all listeners migrated </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#migration-checklist-template class=md-nav__link> <span class=md-ellipsis> Migration Checklist Template </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#phase-3-adopt-for-all-new-code-ongoing class=md-nav__link> <span class=md-ellipsis> Phase 3: Adopt for All New Code (Ongoing) </span> </a> <nav class=md-nav aria-label="Phase 3: Adopt for All New Code (Ongoing)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goal-make-dxmessaging-the-default-for-new-features class=md-nav__link> <span class=md-ellipsis> Goal: Make DxMessaging the default for new features </span> </a> <nav class=md-nav aria-label="Goal: Make DxMessaging the default for new features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#team-guidelines class=md-nav__link> <span class=md-ellipsis> Team guidelines </span> </a> <nav class=md-nav aria-label="Team guidelines"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-team-policy class=md-nav__link> <span class=md-ellipsis> Example team policy </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#coexistence-patterns class=md-nav__link> <span class=md-ellipsis> Coexistence Patterns </span> </a> <nav class=md-nav aria-label="Coexistence Patterns"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#pattern-1-event-to-message-bridge class=md-nav__link> <span class=md-ellipsis> Pattern 1: Event-to-Message Bridge </span> </a> </li> <li class=md-nav__item> <a href=#pattern-2-message-to-event-bridge class=md-nav__link> <span class=md-ellipsis> Pattern 2: Message-to-Event Bridge </span> </a> </li> <li class=md-nav__item> <a href=#pattern-3-gradual-gameobject-migration class=md-nav__link> <span class=md-ellipsis> Pattern 3: Gradual GameObject Migration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#what-to-migrate-first-vs-last class=md-nav__link> <span class=md-ellipsis> What to Migrate First vs. Last </span> </a> <nav class=md-nav aria-label="What to Migrate First vs. Last"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#migrate-first-high-value-low-risk class=md-nav__link> <span class=md-ellipsis> Migrate FIRST (High Value, Low Risk) </span> </a> </li> <li class=md-nav__item> <a href=#migrate-later-lower-priority class=md-nav__link> <span class=md-ellipsis> Migrate LATER (Lower Priority) </span> </a> </li> <li class=md-nav__item> <a href=#dont-migrate-keep-as-is class=md-nav__link> <span class=md-ellipsis> DON'T Migrate (Keep As-Is) </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#common-migration-pitfalls class=md-nav__link> <span class=md-ellipsis> Common Migration Pitfalls </span> </a> <nav class=md-nav aria-label="Common Migration Pitfalls"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#l-pitfall-1-boiling-the-ocean class=md-nav__link> <span class=md-ellipsis> L Pitfall 1: Boiling the Ocean </span> </a> </li> <li class=md-nav__item> <a href=#l-pitfall-2-no-rollback-plan class=md-nav__link> <span class=md-ellipsis> L Pitfall 2: No Rollback Plan </span> </a> </li> <li class=md-nav__item> <a href=#l-pitfall-3-mixing-message-types-incorrectly class=md-nav__link> <span class=md-ellipsis> L Pitfall 3: Mixing Message Types Incorrectly </span> </a> </li> <li class=md-nav__item> <a href=#l-pitfall-4-over-messaging class=md-nav__link> <span class=md-ellipsis> L Pitfall 4: Over-Messaging </span> </a> </li> <li class=md-nav__item> <a href=#l-pitfall-5-not-training-the-team class=md-nav__link> <span class=md-ellipsis> L Pitfall 5: Not Training the Team </span> </a> <nav class=md-nav aria-label="L Pitfall 5: Not Training the Team"> <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> <li class=md-nav__item> <a href=#success-metrics class=md-nav__link> <span class=md-ellipsis> Success Metrics </span> </a> <nav class=md-nav aria-label="Success Metrics"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#quantitative class=md-nav__link> <span class=md-ellipsis> Quantitative </span> </a> <nav class=md-nav aria-label=Quantitative> <ul class=md-nav__list> <li class=md-nav__item> <a href=#qualitative class=md-nav__link> <span class=md-ellipsis> Qualitative </span> </a> <nav class=md-nav aria-label=Qualitative> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example class=md-nav__link> <span class=md-ellipsis> Example </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#timeline-examples class=md-nav__link> <span class=md-ellipsis> Timeline Examples </span> </a> <nav class=md-nav aria-label="Timeline Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#small-project-10k-lines class=md-nav__link> <span class=md-ellipsis> Small Project (10k lines) </span> </a> </li> <li class=md-nav__item> <a href=#medium-project-50k-lines class=md-nav__link> <span class=md-ellipsis> Medium Project (50k lines) </span> </a> </li> <li class=md-nav__item> <a href=#large-project-100k-lines class=md-nav__link> <span class=md-ellipsis> Large Project (100k+ lines) </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#getting-team-buy-in class=md-nav__link> <span class=md-ellipsis> Getting Team Buy-In </span> </a> <nav class=md-nav aria-label="Getting Team Buy-In"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#for-managers class=md-nav__link> <span class=md-ellipsis> For Managers </span> </a> </li> <li class=md-nav__item> <a href=#for-developers class=md-nav__link> <span class=md-ellipsis> For Developers </span> </a> </li> <li class=md-nav__item> <a href=#for-qa class=md-nav__link> <span class=md-ellipsis> For QA </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#faq-migration-edition class=md-nav__link> <span class=md-ellipsis> FAQ: Migration Edition </span> </a> <nav class=md-nav aria-label="FAQ: Migration Edition"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#do-we-need-to-migrate-everything class=md-nav__link> <span class=md-ellipsis> "Do we need to migrate everything?" </span> </a> </li> <li class=md-nav__item> <a href=#what-if-we-decide-its-not-for-us class=md-nav__link> <span class=md-ellipsis> "What if we decide it's not for us?" </span> </a> </li> <li class=md-nav__item> <a href=#how-do-we-handle-prefabs-with-inspector-references class=md-nav__link> <span class=md-ellipsis> "How do we handle prefabs with Inspector references?" </span> </a> </li> <li class=md-nav__item> <a href=#adopt-the-di-registration-builder class=md-nav__link> <span class=md-ellipsis> Adopt the DI Registration Builder </span> </a> </li> <li class=md-nav__item> <a href=#should-we-migrate-tests class=md-nav__link> <span class=md-ellipsis> "Should we migrate tests?" </span> </a> </li> <li class=md-nav__item> <a href=#what-about-mobile-performance class=md-nav__link> <span class=md-ellipsis> "What about mobile performance?" </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/design-and-architecture/ class=md-nav__link> <span class=md-ellipsis> Design & Architecture </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/comparisons/ class=md-nav__link> <span class=md-ellipsis> Comparisons </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/performance/ class=md-nav__link> <span class=md-ellipsis> Performance </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced/emit-shorthands/ class=md-nav__link> <span class=md-ellipsis> Emit Shorthands </span> </a> </li> <li class=md-nav__item> <a href=../../advanced/message-bus-providers/ class=md-nav__link> <span class=md-ellipsis> Message Bus Providers </span> </a> </li> <li class=md-nav__item> <a href=../../advanced/registration-builders/ class=md-nav__link> <span class=md-ellipsis> Registration Builders </span> </a> </li> <li class=md-nav__item> <a href=../../advanced/runtime-configuration/ class=md-nav__link> <span class=md-ellipsis> Runtime Configuration </span> </a> </li> <li class=md-nav__item> <a href=../../advanced/string-messages/ class=md-nav__link> <span class=md-ellipsis> String Messages </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../integrations/ class="md-nav__link "> <span class=md-ellipsis> Integrations </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Integrations </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../integrations/vcontainer/ class=md-nav__link> <span class=md-ellipsis> VContainer </span> </a> </li> <li class=md-nav__item> <a href=../../integrations/zenject/ class=md-nav__link> <span class=md-ellipsis> Zenject </span> </a> </li> <li class=md-nav__item> <a href=../../integrations/reflex/ class=md-nav__link> <span class=md-ellipsis> Reflex </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_8> <label class=md-nav__link for=__nav_8 id=__nav_8_label tabindex=0> <span class=md-ellipsis> Examples </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_8_label aria-expanded=false> <label class=md-nav__title for=__nav_8> <span class="md-nav__icon md-icon"></span> Examples </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../examples/end-to-end/ class=md-nav__link> <span class=md-ellipsis> End-to-End </span> </a> </li> <li class=md-nav__item> <a href=../../examples/end-to-end-scene-transitions/ class=md-nav__link> <span class=md-ellipsis> Scene Transitions </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_9> <label class=md-nav__link for=__nav_9 id=__nav_9_label tabindex=0> <span class=md-ellipsis> Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_9_label aria-expanded=false> <label class=md-nav__title for=__nav_9> <span class="md-nav__icon md-icon"></span> Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/reference/ class=md-nav__link> <span class=md-ellipsis> API Reference (Practical) </span> </a> </li> <li class=md-nav__item> <a href=../../reference/quick-reference/ class=md-nav__link> <span class=md-ellipsis> Quick Reference </span> </a> </li> <li class=md-nav__item> <a href=../../reference/helpers/ class=md-nav__link> <span class=md-ellipsis> Helpers </span> </a> </li> <li class=md-nav__item> <a href=../../reference/faq/ class=md-nav__link> <span class=md-ellipsis> FAQ </span> </a> </li> <li class=md-nav__item> <a href=../../reference/glossary/ class=md-nav__link> <span class=md-ellipsis> Glossary </span> </a> </li> <li class=md-nav__item> <a href=../../reference/troubleshooting/ class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> </li> <li class=md-nav__item> <a href=../../reference/compatibility/ class=md-nav__link> <span class=md-ellipsis> Compatibility </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#philosophy-start-small-prove-value class=md-nav__link> <span class=md-ellipsis> Philosophy: Start Small, Prove Value </span> </a> <nav class=md-nav aria-label="Philosophy: Start Small, Prove Value"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dont-do-this class=md-nav__link> <span class=md-ellipsis> Don't do this </span> </a> <nav class=md-nav aria-label="Don't do this"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#do-this-instead class=md-nav__link> <span class=md-ellipsis> Do this instead </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#phase-0-install-and-experiment-1-2-hours class=md-nav__link> <span class=md-ellipsis> Phase 0: Install and Experiment (1-2 hours) </span> </a> <nav class=md-nav aria-label="Phase 0: Install and Experiment (1-2 hours)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goal-get-comfortable-without-touching-production-code class=md-nav__link> <span class=md-ellipsis> Goal: Get comfortable without touching production code </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#phase-1-add-to-a-new-feature-1-week class=md-nav__link> <span class=md-ellipsis> Phase 1: Add to a New Feature (1 week) </span> </a> <nav class=md-nav aria-label="Phase 1: Add to a New Feature (1 week)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goal-prove-value-without-refactoring-existing-code class=md-nav__link> <span class=md-ellipsis> Goal: Prove value without refactoring existing code </span> </a> <nav class=md-nav aria-label="Goal: Prove value without refactoring existing code"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#best-candidates-for-first-adoption class=md-nav__link> <span class=md-ellipsis> Best candidates for first adoption </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#example-adding-an-achievement-system class=md-nav__link> <span class=md-ellipsis> Example: Adding an Achievement System </span> </a> <nav class=md-nav aria-label="Example: Adding an Achievement System"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#why-this-works class=md-nav__link> <span class=md-ellipsis> Why this works </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#phase-2-migrate-high-pain-areas-2-4-weeks class=md-nav__link> <span class=md-ellipsis> Phase 2: Migrate High-Pain Areas (2-4 weeks) </span> </a> <nav class=md-nav aria-label="Phase 2: Migrate High-Pain Areas (2-4 weeks)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goal-replace-the-systems-causing-the-most-problems class=md-nav__link> <span class=md-ellipsis> Goal: Replace the systems causing the most problems </span> </a> <nav class=md-nav aria-label="Goal: Replace the systems causing the most problems"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#high-value-migration-targets class=md-nav__link> <span class=md-ellipsis> High-value migration targets </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#strategy-parallel-paths-during-transition class=md-nav__link> <span class=md-ellipsis> Strategy: Parallel Paths During Transition </span> </a> <nav class=md-nav aria-label="Strategy: Parallel Paths During Transition"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#step-1-add-dxmessages-alongside-existing-events class=md-nav__link> <span class=md-ellipsis> Step 1: Add DxMessages alongside existing events </span> </a> </li> <li class=md-nav__item> <a href=#step-2-migrate-listeners-one-by-one class=md-nav__link> <span class=md-ellipsis> Step 2: Migrate listeners one-by-one </span> </a> </li> <li class=md-nav__item> <a href=#step-3-remove-old-events-once-all-listeners-migrated class=md-nav__link> <span class=md-ellipsis> Step 3: Remove old events once all listeners migrated </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#migration-checklist-template class=md-nav__link> <span class=md-ellipsis> Migration Checklist Template </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#phase-3-adopt-for-all-new-code-ongoing class=md-nav__link> <span class=md-ellipsis> Phase 3: Adopt for All New Code (Ongoing) </span> </a> <nav class=md-nav aria-label="Phase 3: Adopt for All New Code (Ongoing)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goal-make-dxmessaging-the-default-for-new-features class=md-nav__link> <span class=md-ellipsis> Goal: Make DxMessaging the default for new features </span> </a> <nav class=md-nav aria-label="Goal: Make DxMessaging the default for new features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#team-guidelines class=md-nav__link> <span class=md-ellipsis> Team guidelines </span> </a> <nav class=md-nav aria-label="Team guidelines"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-team-policy class=md-nav__link> <span class=md-ellipsis> Example team policy </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#coexistence-patterns class=md-nav__link> <span class=md-ellipsis> Coexistence Patterns </span> </a> <nav class=md-nav aria-label="Coexistence Patterns"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#pattern-1-event-to-message-bridge class=md-nav__link> <span class=md-ellipsis> Pattern 1: Event-to-Message Bridge </span> </a> </li> <li class=md-nav__item> <a href=#pattern-2-message-to-event-bridge class=md-nav__link> <span class=md-ellipsis> Pattern 2: Message-to-Event Bridge </span> </a> </li> <li class=md-nav__item> <a href=#pattern-3-gradual-gameobject-migration class=md-nav__link> <span class=md-ellipsis> Pattern 3: Gradual GameObject Migration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#what-to-migrate-first-vs-last class=md-nav__link> <span class=md-ellipsis> What to Migrate First vs. Last </span> </a> <nav class=md-nav aria-label="What to Migrate First vs. Last"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#migrate-first-high-value-low-risk class=md-nav__link> <span class=md-ellipsis> Migrate FIRST (High Value, Low Risk) </span> </a> </li> <li class=md-nav__item> <a href=#migrate-later-lower-priority class=md-nav__link> <span class=md-ellipsis> Migrate LATER (Lower Priority) </span> </a> </li> <li class=md-nav__item> <a href=#dont-migrate-keep-as-is class=md-nav__link> <span class=md-ellipsis> DON'T Migrate (Keep As-Is) </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#common-migration-pitfalls class=md-nav__link> <span class=md-ellipsis> Common Migration Pitfalls </span> </a> <nav class=md-nav aria-label="Common Migration Pitfalls"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#l-pitfall-1-boiling-the-ocean class=md-nav__link> <span class=md-ellipsis> L Pitfall 1: Boiling the Ocean </span> </a> </li> <li class=md-nav__item> <a href=#l-pitfall-2-no-rollback-plan class=md-nav__link> <span class=md-ellipsis> L Pitfall 2: No Rollback Plan </span> </a> </li> <li class=md-nav__item> <a href=#l-pitfall-3-mixing-message-types-incorrectly class=md-nav__link> <span class=md-ellipsis> L Pitfall 3: Mixing Message Types Incorrectly </span> </a> </li> <li class=md-nav__item> <a href=#l-pitfall-4-over-messaging class=md-nav__link> <span class=md-ellipsis> L Pitfall 4: Over-Messaging </span> </a> </li> <li class=md-nav__item> <a href=#l-pitfall-5-not-training-the-team class=md-nav__link> <span class=md-ellipsis> L Pitfall 5: Not Training the Team </span> </a> <nav class=md-nav aria-label="L Pitfall 5: Not Training the Team"> <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> <li class=md-nav__item> <a href=#success-metrics class=md-nav__link> <span class=md-ellipsis> Success Metrics </span> </a> <nav class=md-nav aria-label="Success Metrics"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#quantitative class=md-nav__link> <span class=md-ellipsis> Quantitative </span> </a> <nav class=md-nav aria-label=Quantitative> <ul class=md-nav__list> <li class=md-nav__item> <a href=#qualitative class=md-nav__link> <span class=md-ellipsis> Qualitative </span> </a> <nav class=md-nav aria-label=Qualitative> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example class=md-nav__link> <span class=md-ellipsis> Example </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#timeline-examples class=md-nav__link> <span class=md-ellipsis> Timeline Examples </span> </a> <nav class=md-nav aria-label="Timeline Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#small-project-10k-lines class=md-nav__link> <span class=md-ellipsis> Small Project (10k lines) </span> </a> </li> <li class=md-nav__item> <a href=#medium-project-50k-lines class=md-nav__link> <span class=md-ellipsis> Medium Project (50k lines) </span> </a> </li> <li class=md-nav__item> <a href=#large-project-100k-lines class=md-nav__link> <span class=md-ellipsis> Large Project (100k+ lines) </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#getting-team-buy-in class=md-nav__link> <span class=md-ellipsis> Getting Team Buy-In </span> </a> <nav class=md-nav aria-label="Getting Team Buy-In"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#for-managers class=md-nav__link> <span class=md-ellipsis> For Managers </span> </a> </li> <li class=md-nav__item> <a href=#for-developers class=md-nav__link> <span class=md-ellipsis> For Developers </span> </a> </li> <li class=md-nav__item> <a href=#for-qa class=md-nav__link> <span class=md-ellipsis> For QA </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#faq-migration-edition class=md-nav__link> <span class=md-ellipsis> FAQ: Migration Edition </span> </a> <nav class=md-nav aria-label="FAQ: Migration Edition"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#do-we-need-to-migrate-everything class=md-nav__link> <span class=md-ellipsis> "Do we need to migrate everything?" </span> </a> </li> <li class=md-nav__item> <a href=#what-if-we-decide-its-not-for-us class=md-nav__link> <span class=md-ellipsis> "What if we decide it's not for us?" </span> </a> </li> <li class=md-nav__item> <a href=#how-do-we-handle-prefabs-with-inspector-references class=md-nav__link> <span class=md-ellipsis> "How do we handle prefabs with Inspector references?" </span> </a> </li> <li class=md-nav__item> <a href=#adopt-the-di-registration-builder class=md-nav__link> <span class=md-ellipsis> Adopt the DI Registration Builder </span> </a> </li> <li class=md-nav__item> <a href=#should-we-migrate-tests class=md-nav__link> <span class=md-ellipsis> "Should we migrate tests?" </span> </a> </li> <li class=md-nav__item> <a href=#what-about-mobile-performance class=md-nav__link> <span class=md-ellipsis> "What about mobile performance?" </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <nav class=md-path aria-label=Navigation> <ol class=md-path__list> <li class=md-path__item> <a href=../.. class=md-path__link> <span class=md-ellipsis> Home </span> </a> </li> <li class=md-path__item> <a href=../patterns/ class=md-path__link> <span class=md-ellipsis> Guides </span> </a> </li> </ol> </nav> <article class="md-content__inner md-typeset"> <a href=https://github.com/wallstop/DxMessaging/edit/master/docs/guides/migration-guide.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/guides/migration-guide.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=migration-guide-adopting-dxmessaging-incrementally>Migration Guide: Adopting DxMessaging Incrementally<a class=headerlink href=#migration-guide-adopting-dxmessaging-incrementally title="Anchor link to this section">¶</a></h1> <p>This guide helps you introduce DxMessaging into an existing Unity project <strong>gradually and pragmatically</strong>. You don't need to rewrite everything at once.</p> <h2 id=philosophy-start-small-prove-value>Philosophy: Start Small, Prove Value<a class=headerlink href=#philosophy-start-small-prove-value title="Anchor link to this section">¶</a></h2> <h3 id=dont-do-this>Don't do this<a class=headerlink href=#dont-do-this title="Anchor link to this section">¶</a></h3> <ul> <li>L Rip out all C# events and rewrite everything</li> <li>L Force the whole team to learn it before trying it</li> <li>L Commit to full adoption before seeing benefits</li> </ul> <h4 id=do-this-instead>Do this instead<a class=headerlink href=#do-this-instead title="Anchor link to this section">¶</a></h4> <ul> <li> Pick ONE system to migrate (low risk, high visibility)</li> <li> Let old and new approaches coexist</li> <li> Expand usage as team comfort grows</li> <li> Evaluate after each migration step</li> </ul> <h2 id=phase-0-install-and-experiment-1-2-hours>Phase 0: Install and Experiment (1-2 hours)<a class=headerlink href=#phase-0-install-and-experiment-1-2-hours title="Anchor link to this section">¶</a></h2> <h3 id=goal-get-comfortable-without-touching-production-code>Goal: Get comfortable without touching production code<a class=headerlink href=#goal-get-comfortable-without-touching-production-code title="Anchor link to this section">¶</a></h3> <ol> <li><strong>Install DxMessaging</strong> via Package Manager</li> <li><strong>Read the <a href=../../getting-started/visual-guide/ >Visual Guide</a></strong> (5 minutes)</li> <li><strong>Import the Mini Combat sample</strong> from Package Manager</li> <li><strong>Create a throwaway test scene</strong> and try:</li> </ol> <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>
|
|
2
|
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=na>[DxAutoConstructor]</span>
|
|
3
|
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=k>partial</span><span class=w> </span><span class=k>struct</span><span class=w> </span><span class=nc>TestMessage</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=k>value</span><span class=p>;</span><span class=w> </span><span class=p>}</span>
|
|
4
|
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
|
|
5
|
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a><span class=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>TestListener</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MessageAwareComponent</span><span class=w> </span><span class=p>{</span>
|
|
6
|
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a><span class=w> </span><span class=k>protected</span><span class=w> </span><span class=k>override</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>RegisterMessageHandlers</span><span class=p>()</span><span class=w> </span><span class=p>{</span>
|
|
7
|
+
</span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a><span class=w> </span><span class=k>base</span><span class=p>.</span><span class=n>RegisterMessageHandlers</span><span class=p>();</span>
|
|
8
|
+
</span><span id=__span-0-8><a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a><span class=w> </span><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>Token</span><span class=p>.</span><span class=n>RegisterUntargeted</span><span class=o><</span><span class=n>TestMessage</span><span class=o>></span><span class=p>(</span><span class=n>OnTest</span><span class=p>);</span>
|
|
9
|
+
</span><span id=__span-0-9><a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a><span class=w> </span><span class=p>}</span>
|
|
10
|
+
</span><span id=__span-0-10><a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>OnTest</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>TestMessage</span><span class=w> </span><span class=n>m</span><span class=p>)</span><span class=w> </span><span class=o>=></span><span class=w> </span><span class=n>Debug</span><span class=p>.</span><span class=n>Log</span><span class=p>(</span><span class=s>$"Got {m.value}"</span><span class=p>);</span>
|
|
11
|
+
</span><span id=__span-0-11><a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a><span class=p>}</span>
|
|
12
|
+
</span><span id=__span-0-12><a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a>
|
|
13
|
+
</span><span id=__span-0-13><a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></a><span class=c1>// In another script:</span>
|
|
14
|
+
</span><span id=__span-0-14><a id=__codelineno-0-14 name=__codelineno-0-14 href=#__codelineno-0-14></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>TestMessage</span><span class=p>(</span><span class=mi>42</span><span class=p>);</span>
|
|
15
|
+
</span><span id=__span-0-15><a id=__codelineno-0-15 name=__codelineno-0-15 href=#__codelineno-0-15></a><span class=n>msg</span><span class=p>.</span><span class=n>Emit</span><span class=p>();</span>
|
|
16
|
+
</span></code></pre></div> <p><strong>Success criteria:</strong> You understand the basic flow and have no build errors.</p> <h2 id=phase-1-add-to-a-new-feature-1-week>Phase 1: Add to a New Feature (1 week)<a class=headerlink href=#phase-1-add-to-a-new-feature-1-week title="Anchor link to this section">¶</a></h2> <h3 id=goal-prove-value-without-refactoring-existing-code>Goal: Prove value without refactoring existing code<a class=headerlink href=#goal-prove-value-without-refactoring-existing-code title="Anchor link to this section">¶</a></h3> <h4 id=best-candidates-for-first-adoption>Best candidates for first adoption<a class=headerlink href=#best-candidates-for-first-adoption title="Anchor link to this section">¶</a></h4> <ul> <li> <strong>New UI system</strong> - Add a new settings menu that reacts to game state</li> <li> <strong>Achievement/analytics system</strong> - Listen to existing events without coupling</li> <li> <strong>New game mode</strong> - Implement it with DxMessaging from scratch</li> </ul> <h3 id=example-adding-an-achievement-system>Example: Adding an Achievement System<a class=headerlink href=#example-adding-an-achievement-system title="Anchor link to this section">¶</a></h3> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=c1>// 1. Define messages for interesting events (don't touch existing code yet)</span>
|
|
17
|
+
</span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a><span class=na>[DxBroadcastMessage]</span>
|
|
18
|
+
</span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><span class=na>[DxAutoConstructor]</span>
|
|
19
|
+
</span><span id=__span-1-4><a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></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>EnemyKilled</span><span class=w> </span><span class=p>{</span>
|
|
20
|
+
</span><span id=__span-1-5><a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-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>enemyType</span><span class=p>;</span>
|
|
21
|
+
</span><span id=__span-1-6><a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-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>playerLevel</span><span class=p>;</span>
|
|
22
|
+
</span><span id=__span-1-7><a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a><span class=p>}</span>
|
|
23
|
+
</span><span id=__span-1-8><a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a>
|
|
24
|
+
</span><span id=__span-1-9><a id=__codelineno-1-9 name=__codelineno-1-9 href=#__codelineno-1-9></a><span class=c1>// 2. Make your NEW achievement system listen</span>
|
|
25
|
+
</span><span id=__span-1-10><a id=__codelineno-1-10 name=__codelineno-1-10 href=#__codelineno-1-10></a><span class=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>AchievementSystem</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MessageAwareComponent</span><span class=w> </span><span class=p>{</span>
|
|
26
|
+
</span><span id=__span-1-11><a id=__codelineno-1-11 name=__codelineno-1-11 href=#__codelineno-1-11></a><span class=w> </span><span class=k>protected</span><span class=w> </span><span class=k>override</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>RegisterMessageHandlers</span><span class=p>()</span><span class=w> </span><span class=p>{</span>
|
|
27
|
+
</span><span id=__span-1-12><a id=__codelineno-1-12 name=__codelineno-1-12 href=#__codelineno-1-12></a><span class=w> </span><span class=k>base</span><span class=p>.</span><span class=n>RegisterMessageHandlers</span><span class=p>();</span>
|
|
28
|
+
</span><span id=__span-1-13><a id=__codelineno-1-13 name=__codelineno-1-13 href=#__codelineno-1-13></a><span class=w> </span><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>Token</span><span class=p>.</span><span class=n>RegisterBroadcastWithoutSource</span><span class=o><</span><span class=n>EnemyKilled</span><span class=o>></span><span class=p>(</span><span class=n>OnEnemyKilled</span><span class=p>);</span>
|
|
29
|
+
</span><span id=__span-1-14><a id=__codelineno-1-14 name=__codelineno-1-14 href=#__codelineno-1-14></a><span class=w> </span><span class=p>}</span>
|
|
30
|
+
</span><span id=__span-1-15><a id=__codelineno-1-15 name=__codelineno-1-15 href=#__codelineno-1-15></a>
|
|
31
|
+
</span><span id=__span-1-16><a id=__codelineno-1-16 name=__codelineno-1-16 href=#__codelineno-1-16></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>OnEnemyKilled</span><span class=p>(</span><span class=n>InstanceId</span><span class=w> </span><span class=n>source</span><span class=p>,</span><span class=w> </span><span class=n>EnemyKilled</span><span class=w> </span><span class=n>msg</span><span class=p>)</span><span class=w> </span><span class=p>{</span>
|
|
32
|
+
</span><span id=__span-1-17><a id=__codelineno-1-17 name=__codelineno-1-17 href=#__codelineno-1-17></a><span class=w> </span><span class=c1>// Track kills, unlock achievements</span>
|
|
33
|
+
</span><span id=__span-1-18><a id=__codelineno-1-18 name=__codelineno-1-18 href=#__codelineno-1-18></a><span class=w> </span><span class=k>if</span><span class=w> </span><span class=p>(</span><span class=n>msg</span><span class=p>.</span><span class=n>enemyType</span><span class=w> </span><span class=o>==</span><span class=w> </span><span class=s>"Boss"</span><span class=p>)</span><span class=w> </span><span class=n>UnlockAchievement</span><span class=p>(</span><span class=s>"BossSlayer"</span><span class=p>);</span>
|
|
34
|
+
</span><span id=__span-1-19><a id=__codelineno-1-19 name=__codelineno-1-19 href=#__codelineno-1-19></a><span class=w> </span><span class=p>}</span>
|
|
35
|
+
</span><span id=__span-1-20><a id=__codelineno-1-20 name=__codelineno-1-20 href=#__codelineno-1-20></a><span class=p>}</span>
|
|
36
|
+
</span><span id=__span-1-21><a id=__codelineno-1-21 name=__codelineno-1-21 href=#__codelineno-1-21></a>
|
|
37
|
+
</span><span id=__span-1-22><a id=__codelineno-1-22 name=__codelineno-1-22 href=#__codelineno-1-22></a><span class=c1>// 3. Bridge from existing code (minimal change)</span>
|
|
38
|
+
</span><span id=__span-1-23><a id=__codelineno-1-23 name=__codelineno-1-23 href=#__codelineno-1-23></a><span class=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>Enemy</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MonoBehaviour</span><span class=w> </span><span class=p>{</span>
|
|
39
|
+
</span><span id=__span-1-24><a id=__codelineno-1-24 name=__codelineno-1-24 href=#__codelineno-1-24></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>event</span><span class=w> </span><span class=n>Action</span><span class=w> </span><span class=n>OnDied</span><span class=p>;</span><span class=w> </span><span class=c1>// OLD - keep for now</span>
|
|
40
|
+
</span><span id=__span-1-25><a id=__codelineno-1-25 name=__codelineno-1-25 href=#__codelineno-1-25></a>
|
|
41
|
+
</span><span id=__span-1-26><a id=__codelineno-1-26 name=__codelineno-1-26 href=#__codelineno-1-26></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>Die</span><span class=p>()</span><span class=w> </span><span class=p>{</span>
|
|
42
|
+
</span><span id=__span-1-27><a id=__codelineno-1-27 name=__codelineno-1-27 href=#__codelineno-1-27></a><span class=w> </span><span class=n>OnDied</span><span class=o>?.</span><span class=n>Invoke</span><span class=p>();</span><span class=w> </span><span class=c1>// OLD code still works</span>
|
|
43
|
+
</span><span id=__span-1-28><a id=__codelineno-1-28 name=__codelineno-1-28 href=#__codelineno-1-28></a>
|
|
44
|
+
</span><span id=__span-1-29><a id=__codelineno-1-29 name=__codelineno-1-29 href=#__codelineno-1-29></a><span class=w> </span><span class=c1>// NEW: Emit DxMessage too</span>
|
|
45
|
+
</span><span id=__span-1-30><a id=__codelineno-1-30 name=__codelineno-1-30 href=#__codelineno-1-30></a><span class=w> </span><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>EnemyKilled</span><span class=p>(</span><span class=n>enemyType</span><span class=p>,</span><span class=w> </span><span class=n>PlayerStats</span><span class=p>.</span><span class=n>Level</span><span class=p>);</span>
|
|
46
|
+
</span><span id=__span-1-31><a id=__codelineno-1-31 name=__codelineno-1-31 href=#__codelineno-1-31></a><span class=w> </span><span class=n>msg</span><span class=p>.</span><span class=n>EmitGameObjectBroadcast</span><span class=p>(</span><span class=n>gameObject</span><span class=p>);</span>
|
|
47
|
+
</span><span id=__span-1-32><a id=__codelineno-1-32 name=__codelineno-1-32 href=#__codelineno-1-32></a><span class=w> </span><span class=p>}</span>
|
|
48
|
+
</span><span id=__span-1-33><a id=__codelineno-1-33 name=__codelineno-1-33 href=#__codelineno-1-33></a><span class=p>}</span>
|
|
49
|
+
</span></code></pre></div> <h4 id=why-this-works>Why this works<a class=headerlink href=#why-this-works title="Anchor link to this section">¶</a></h4> <ul> <li> Old code still works (zero risk)</li> <li> New system is decoupled</li> <li> Team sees immediate value (achievements without wiring)</li> <li> Easy to roll back if needed</li> </ul> <h2 id=phase-2-migrate-high-pain-areas-2-4-weeks>Phase 2: Migrate High-Pain Areas (2-4 weeks)<a class=headerlink href=#phase-2-migrate-high-pain-areas-2-4-weeks title="Anchor link to this section">¶</a></h2> <h3 id=goal-replace-the-systems-causing-the-most-problems>Goal: Replace the systems causing the most problems<a class=headerlink href=#goal-replace-the-systems-causing-the-most-problems title="Anchor link to this section">¶</a></h3> <h4 id=high-value-migration-targets>High-value migration targets<a class=headerlink href=#high-value-migration-targets title="Anchor link to this section">¶</a></h4> <ol> <li><strong>UI that references too many systems</strong> - Replace with message listeners</li> <li><strong>Global static event buses</strong> - Convert to DxMessaging</li> <li><strong>Memory-leak prone event chains</strong> - Eliminate manual unsubscribe</li> </ol> <h3 id=strategy-parallel-paths-during-transition>Strategy: Parallel Paths During Transition<a class=headerlink href=#strategy-parallel-paths-during-transition title="Anchor link to this section">¶</a></h3> <h4 id=step-1-add-dxmessages-alongside-existing-events>Step 1: Add DxMessages alongside existing events<a class=headerlink href=#step-1-add-dxmessages-alongside-existing-events title="Anchor link to this section">¶</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=c1>// Old event (keep for now)</span>
|
|
50
|
+
</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>event</span><span class=w> </span><span class=n>Action</span><span class=o><</span><span class=kt>int</span><span class=o>></span><span class=w> </span><span class=n>OnHealthChanged</span><span class=p>;</span>
|
|
51
|
+
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a>
|
|
52
|
+
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a><span class=c1>// New message</span>
|
|
53
|
+
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a><span class=na>[DxBroadcastMessage]</span>
|
|
54
|
+
</span><span id=__span-2-6><a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a><span class=na>[DxAutoConstructor]</span>
|
|
55
|
+
</span><span id=__span-2-7><a id=__codelineno-2-7 name=__codelineno-2-7 href=#__codelineno-2-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>HealthChanged</span><span class=w> </span><span class=p>{</span><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=kt>int</span><span class=w> </span><span class=n>newHealth</span><span class=p>;</span><span class=w> </span><span class=p>}</span>
|
|
56
|
+
</span><span id=__span-2-8><a id=__codelineno-2-8 name=__codelineno-2-8 href=#__codelineno-2-8></a>
|
|
57
|
+
</span><span id=__span-2-9><a id=__codelineno-2-9 name=__codelineno-2-9 href=#__codelineno-2-9></a><span class=k>void</span><span class=w> </span><span class=nf>TakeDamage</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>)</span><span class=w> </span><span class=p>{</span>
|
|
58
|
+
</span><span id=__span-2-10><a id=__codelineno-2-10 name=__codelineno-2-10 href=#__codelineno-2-10></a><span class=w> </span><span class=n>health</span><span class=w> </span><span class=o>-=</span><span class=w> </span><span class=n>amount</span><span class=p>;</span>
|
|
59
|
+
</span><span id=__span-2-11><a id=__codelineno-2-11 name=__codelineno-2-11 href=#__codelineno-2-11></a>
|
|
60
|
+
</span><span id=__span-2-12><a id=__codelineno-2-12 name=__codelineno-2-12 href=#__codelineno-2-12></a><span class=w> </span><span class=c1>// Fire both during migration</span>
|
|
61
|
+
</span><span id=__span-2-13><a id=__codelineno-2-13 name=__codelineno-2-13 href=#__codelineno-2-13></a><span class=w> </span><span class=n>OnHealthChanged</span><span class=o>?.</span><span class=n>Invoke</span><span class=p>(</span><span class=n>health</span><span class=p>);</span><span class=w> </span><span class=c1>// OLD</span>
|
|
62
|
+
</span><span id=__span-2-14><a id=__codelineno-2-14 name=__codelineno-2-14 href=#__codelineno-2-14></a><span class=w> </span><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>HealthChanged</span><span class=p>(</span><span class=n>health</span><span class=p>);</span>
|
|
63
|
+
</span><span id=__span-2-15><a id=__codelineno-2-15 name=__codelineno-2-15 href=#__codelineno-2-15></a><span class=w> </span><span class=n>msg</span><span class=p>.</span><span class=n>EmitGameObjectBroadcast</span><span class=p>(</span><span class=n>gameObject</span><span class=p>);</span><span class=w> </span><span class=c1>// NEW</span>
|
|
64
|
+
</span><span id=__span-2-16><a id=__codelineno-2-16 name=__codelineno-2-16 href=#__codelineno-2-16></a><span class=p>}</span>
|
|
65
|
+
</span></code></pre></div> <h4 id=step-2-migrate-listeners-one-by-one>Step 2: Migrate listeners one-by-one<a class=headerlink href=#step-2-migrate-listeners-one-by-one title="Anchor link to this section">¶</a></h4> <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=c1>// OLD listener (comment out when ready)</span>
|
|
66
|
+
</span><span id=__span-3-2><a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a><span class=c1>// void Awake() { player.OnHealthChanged += UpdateBar; }</span>
|
|
67
|
+
</span><span id=__span-3-3><a id=__codelineno-3-3 name=__codelineno-3-3 href=#__codelineno-3-3></a><span class=c1>// void OnDestroy() { player.OnHealthChanged -= UpdateBar; }</span>
|
|
68
|
+
</span><span id=__span-3-4><a id=__codelineno-3-4 name=__codelineno-3-4 href=#__codelineno-3-4></a>
|
|
69
|
+
</span><span id=__span-3-5><a id=__codelineno-3-5 name=__codelineno-3-5 href=#__codelineno-3-5></a><span class=c1>// NEW listener</span>
|
|
70
|
+
</span><span id=__span-3-6><a id=__codelineno-3-6 name=__codelineno-3-6 href=#__codelineno-3-6></a><span class=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>HealthBar</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MessageAwareComponent</span><span class=w> </span><span class=p>{</span>
|
|
71
|
+
</span><span id=__span-3-7><a id=__codelineno-3-7 name=__codelineno-3-7 href=#__codelineno-3-7></a><span class=w> </span><span class=na>[SerializeField]</span><span class=w> </span><span class=k>private</span><span class=w> </span><span class=n>GameObject</span><span class=w> </span><span class=n>playerObject</span><span class=p>;</span>
|
|
72
|
+
</span><span id=__span-3-8><a id=__codelineno-3-8 name=__codelineno-3-8 href=#__codelineno-3-8></a>
|
|
73
|
+
</span><span id=__span-3-9><a id=__codelineno-3-9 name=__codelineno-3-9 href=#__codelineno-3-9></a><span class=w> </span><span class=k>protected</span><span class=w> </span><span class=k>override</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>RegisterMessageHandlers</span><span class=p>()</span><span class=w> </span><span class=p>{</span>
|
|
74
|
+
</span><span id=__span-3-10><a id=__codelineno-3-10 name=__codelineno-3-10 href=#__codelineno-3-10></a><span class=w> </span><span class=k>base</span><span class=p>.</span><span class=n>RegisterMessageHandlers</span><span class=p>();</span>
|
|
75
|
+
</span><span id=__span-3-11><a id=__codelineno-3-11 name=__codelineno-3-11 href=#__codelineno-3-11></a><span class=w> </span><span class=n>_</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>Token</span><span class=p>.</span><span class=n>RegisterGameObjectBroadcast</span><span class=o><</span><span class=n>HealthChanged</span><span class=o>></span><span class=p>(</span><span class=n>playerObject</span><span class=p>,</span><span class=w> </span><span class=n>OnHealthChanged</span><span class=p>);</span>
|
|
76
|
+
</span><span id=__span-3-12><a id=__codelineno-3-12 name=__codelineno-3-12 href=#__codelineno-3-12></a><span class=w> </span><span class=p>}</span>
|
|
77
|
+
</span><span id=__span-3-13><a id=__codelineno-3-13 name=__codelineno-3-13 href=#__codelineno-3-13></a>
|
|
78
|
+
</span><span id=__span-3-14><a id=__codelineno-3-14 name=__codelineno-3-14 href=#__codelineno-3-14></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>OnHealthChanged</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>HealthChanged</span><span class=w> </span><span class=n>msg</span><span class=p>)</span><span class=w> </span><span class=o>=></span><span class=w> </span><span class=n>UpdateBar</span><span class=p>(</span><span class=n>msg</span><span class=p>.</span><span class=n>newHealth</span><span class=p>);</span>
|
|
79
|
+
</span><span id=__span-3-15><a id=__codelineno-3-15 name=__codelineno-3-15 href=#__codelineno-3-15></a><span class=p>}</span>
|
|
80
|
+
</span></code></pre></div> <h4 id=step-3-remove-old-events-once-all-listeners-migrated>Step 3: Remove old events once all listeners migrated<a class=headerlink href=#step-3-remove-old-events-once-all-listeners-migrated title="Anchor link to this section">¶</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>// Delete after confirming no one uses it:</span>
|
|
81
|
+
</span><span id=__span-4-2><a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a><span class=c1>// public event Action<int> OnHealthChanged; L</span>
|
|
82
|
+
</span><span id=__span-4-3><a id=__codelineno-4-3 name=__codelineno-4-3 href=#__codelineno-4-3></a>
|
|
83
|
+
</span><span id=__span-4-4><a id=__codelineno-4-4 name=__codelineno-4-4 href=#__codelineno-4-4></a><span class=k>void</span><span class=w> </span><span class=nf>TakeDamage</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>)</span><span class=w> </span><span class=p>{</span>
|
|
84
|
+
</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=n>health</span><span class=w> </span><span class=o>-=</span><span class=w> </span><span class=n>amount</span><span class=p>;</span>
|
|
85
|
+
</span><span id=__span-4-6><a id=__codelineno-4-6 name=__codelineno-4-6 href=#__codelineno-4-6></a><span class=w> </span><span class=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>HealthChanged</span><span class=p>(</span><span class=n>health</span><span class=p>);</span>
|
|
86
|
+
</span><span id=__span-4-7><a id=__codelineno-4-7 name=__codelineno-4-7 href=#__codelineno-4-7></a><span class=w> </span><span class=n>msg</span><span class=p>.</span><span class=n>EmitGameObjectBroadcast</span><span class=p>(</span><span class=n>gameObject</span><span class=p>);</span><span class=w> </span><span class=c1>// Only this now</span>
|
|
87
|
+
</span><span id=__span-4-8><a id=__codelineno-4-8 name=__codelineno-4-8 href=#__codelineno-4-8></a><span class=p>}</span>
|
|
88
|
+
</span></code></pre></div> <h3 id=migration-checklist-template>Migration Checklist Template<a class=headerlink href=#migration-checklist-template title="Anchor link to this section">¶</a></h3> <p>Use this for each system you migrate:</p> <div class="language-text highlight"><span class=filename>Text Only</span><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a>System: _________________
|
|
89
|
+
</span><span id=__span-5-2><a id=__codelineno-5-2 name=__codelineno-5-2 href=#__codelineno-5-2></a>
|
|
90
|
+
</span><span id=__span-5-3><a id=__codelineno-5-3 name=__codelineno-5-3 href=#__codelineno-5-3></a>[ ] Identified all listeners to migrate
|
|
91
|
+
</span><span id=__span-5-4><a id=__codelineno-5-4 name=__codelineno-5-4 href=#__codelineno-5-4></a>[ ] Defined DxMessages for all events
|
|
92
|
+
</span><span id=__span-5-5><a id=__codelineno-5-5 name=__codelineno-5-5 href=#__codelineno-5-5></a>[ ] Added DxMessage emissions (parallel with old events)
|
|
93
|
+
</span><span id=__span-5-6><a id=__codelineno-5-6 name=__codelineno-5-6 href=#__codelineno-5-6></a>[ ] Migrated listeners one-by-one
|
|
94
|
+
</span><span id=__span-5-7><a id=__codelineno-5-7 name=__codelineno-5-7 href=#__codelineno-5-7></a>[ ] Tested thoroughly
|
|
95
|
+
</span><span id=__span-5-8><a id=__codelineno-5-8 name=__codelineno-5-8 href=#__codelineno-5-8></a>[ ] Removed old event declarations
|
|
96
|
+
</span><span id=__span-5-9><a id=__codelineno-5-9 name=__codelineno-5-9 href=#__codelineno-5-9></a>[ ] Updated documentation/comments
|
|
97
|
+
</span></code></pre></div> <h2 id=phase-3-adopt-for-all-new-code-ongoing>Phase 3: Adopt for All New Code (Ongoing)<a class=headerlink href=#phase-3-adopt-for-all-new-code-ongoing title="Anchor link to this section">¶</a></h2> <h3 id=goal-make-dxmessaging-the-default-for-new-features>Goal: Make DxMessaging the default for new features<a class=headerlink href=#goal-make-dxmessaging-the-default-for-new-features title="Anchor link to this section">¶</a></h3> <h4 id=team-guidelines>Team guidelines<a class=headerlink href=#team-guidelines title="Anchor link to this section">¶</a></h4> <ul> <li> All new cross-system communication uses DxMessaging</li> <li> Old code migrates opportunistically (when touched)</li> <li> Code reviews check for messaging best practices</li> </ul> <h5 id=example-team-policy>Example team policy<a class=headerlink href=#example-team-policy title="Anchor link to this section">¶</a></h5> <div class="language-text highlight"><span class=filename>Text Only</span><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a>When to use DxMessaging (for new code):
|
|
98
|
+
</span><span id=__span-6-2><a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a>- Any UI listening to game state � DxMessaging
|
|
99
|
+
</span><span id=__span-6-3><a id=__codelineno-6-3 name=__codelineno-6-3 href=#__codelineno-6-3></a>- Any analytics/logging � DxMessaging
|
|
100
|
+
</span><span id=__span-6-4><a id=__codelineno-6-4 name=__codelineno-6-4 href=#__codelineno-6-4></a>- Any cross-scene communication � DxMessaging
|
|
101
|
+
</span><span id=__span-6-5><a id=__codelineno-6-5 name=__codelineno-6-5 href=#__codelineno-6-5></a>- Any event with 2+ listeners � DxMessaging
|
|
102
|
+
</span><span id=__span-6-6><a id=__codelineno-6-6 name=__codelineno-6-6 href=#__codelineno-6-6></a>
|
|
103
|
+
</span><span id=__span-6-7><a id=__codelineno-6-7 name=__codelineno-6-7 href=#__codelineno-6-7></a>When to use direct references/events:
|
|
104
|
+
</span><span id=__span-6-8><a id=__codelineno-6-8 name=__codelineno-6-8 href=#__codelineno-6-8></a>- Simple UI button � method call (use UnityEvents)
|
|
105
|
+
</span><span id=__span-6-9><a id=__codelineno-6-9 name=__codelineno-6-9 href=#__codelineno-6-9></a>- Single listener, same GameObject � direct reference
|
|
106
|
+
</span><span id=__span-6-10><a id=__codelineno-6-10 name=__codelineno-6-10 href=#__codelineno-6-10></a>- Private implementation details � keep internal
|
|
107
|
+
</span></code></pre></div> <h2 id=coexistence-patterns>Coexistence Patterns<a class=headerlink href=#coexistence-patterns title="Anchor link to this section">¶</a></h2> <h3 id=pattern-1-event-to-message-bridge>Pattern 1: Event-to-Message Bridge<a class=headerlink href=#pattern-1-event-to-message-bridge title="Anchor link to this section">¶</a></h3> <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=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>LegacyBridge</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MonoBehaviour</span><span class=w> </span><span class=p>{</span>
|
|
108
|
+
</span><span id=__span-7-2><a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a><span class=w> </span><span class=na>[SerializeField]</span><span class=w> </span><span class=k>private</span><span class=w> </span><span class=n>LegacySystem</span><span class=w> </span><span class=n>legacySystem</span><span class=p>;</span>
|
|
109
|
+
</span><span id=__span-7-3><a id=__codelineno-7-3 name=__codelineno-7-3 href=#__codelineno-7-3></a>
|
|
110
|
+
</span><span id=__span-7-4><a id=__codelineno-7-4 name=__codelineno-7-4 href=#__codelineno-7-4></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>Awake</span><span class=p>()</span><span class=w> </span><span class=p>{</span>
|
|
111
|
+
</span><span id=__span-7-5><a id=__codelineno-7-5 name=__codelineno-7-5 href=#__codelineno-7-5></a><span class=w> </span><span class=c1>// Old system fires event, we convert to message</span>
|
|
112
|
+
</span><span id=__span-7-6><a id=__codelineno-7-6 name=__codelineno-7-6 href=#__codelineno-7-6></a><span class=w> </span><span class=n>legacySystem</span><span class=p>.</span><span class=n>OnSomethingHappened</span><span class=w> </span><span class=o>+=</span><span class=w> </span><span class=p>(</span><span class=n>args</span><span class=p>)</span><span class=w> </span><span class=o>=></span><span class=w> </span><span class=p>{</span>
|
|
113
|
+
</span><span id=__span-7-7><a id=__codelineno-7-7 name=__codelineno-7-7 href=#__codelineno-7-7></a><span class=w> </span><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>SomethingHappened</span><span class=p>(</span><span class=n>args</span><span class=p>);</span>
|
|
114
|
+
</span><span id=__span-7-8><a id=__codelineno-7-8 name=__codelineno-7-8 href=#__codelineno-7-8></a><span class=w> </span><span class=n>msg</span><span class=p>.</span><span class=n>Emit</span><span class=p>();</span>
|
|
115
|
+
</span><span id=__span-7-9><a id=__codelineno-7-9 name=__codelineno-7-9 href=#__codelineno-7-9></a><span class=w> </span><span class=p>};</span>
|
|
116
|
+
</span><span id=__span-7-10><a id=__codelineno-7-10 name=__codelineno-7-10 href=#__codelineno-7-10></a><span class=w> </span><span class=p>}</span>
|
|
117
|
+
</span><span id=__span-7-11><a id=__codelineno-7-11 name=__codelineno-7-11 href=#__codelineno-7-11></a><span class=p>}</span>
|
|
118
|
+
</span></code></pre></div> <h3 id=pattern-2-message-to-event-bridge>Pattern 2: Message-to-Event Bridge<a class=headerlink href=#pattern-2-message-to-event-bridge title="Anchor link to this section">¶</a></h3> <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=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>ModernBridge</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MessageAwareComponent</span><span class=w> </span><span class=p>{</span>
|
|
119
|
+
</span><span id=__span-8-2><a id=__codelineno-8-2 name=__codelineno-8-2 href=#__codelineno-8-2></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>event</span><span class=w> </span><span class=n>Action</span><span class=o><</span><span class=kt>int</span><span class=o>></span><span class=w> </span><span class=n>LegacyEvent</span><span class=p>;</span><span class=w> </span><span class=c1>// For old code that needs events</span>
|
|
120
|
+
</span><span id=__span-8-3><a id=__codelineno-8-3 name=__codelineno-8-3 href=#__codelineno-8-3></a>
|
|
121
|
+
</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=k>protected</span><span class=w> </span><span class=k>override</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>RegisterMessageHandlers</span><span class=p>()</span><span class=w> </span><span class=p>{</span>
|
|
122
|
+
</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=k>base</span><span class=p>.</span><span class=n>RegisterMessageHandlers</span><span class=p>();</span>
|
|
123
|
+
</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=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><</span><span class=n>NewMessage</span><span class=o>></span><span class=p>(</span><span class=n>OnMessage</span><span class=p>);</span>
|
|
124
|
+
</span><span id=__span-8-7><a id=__codelineno-8-7 name=__codelineno-8-7 href=#__codelineno-8-7></a><span class=w> </span><span class=p>}</span>
|
|
125
|
+
</span><span id=__span-8-8><a id=__codelineno-8-8 name=__codelineno-8-8 href=#__codelineno-8-8></a>
|
|
126
|
+
</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=k>void</span><span class=w> </span><span class=nf>OnMessage</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>NewMessage</span><span class=w> </span><span class=n>msg</span><span class=p>)</span><span class=w> </span><span class=p>{</span>
|
|
127
|
+
</span><span id=__span-8-10><a id=__codelineno-8-10 name=__codelineno-8-10 href=#__codelineno-8-10></a><span class=w> </span><span class=n>LegacyEvent</span><span class=o>?.</span><span class=n>Invoke</span><span class=p>(</span><span class=n>msg</span><span class=p>.</span><span class=k>value</span><span class=p>);</span><span class=w> </span><span class=c1>// Fire old event</span>
|
|
128
|
+
</span><span id=__span-8-11><a id=__codelineno-8-11 name=__codelineno-8-11 href=#__codelineno-8-11></a><span class=w> </span><span class=p>}</span>
|
|
129
|
+
</span><span id=__span-8-12><a id=__codelineno-8-12 name=__codelineno-8-12 href=#__codelineno-8-12></a><span class=p>}</span>
|
|
130
|
+
</span></code></pre></div> <h3 id=pattern-3-gradual-gameobject-migration>Pattern 3: Gradual GameObject Migration<a class=headerlink href=#pattern-3-gradual-gameobject-migration title="Anchor link to this section">¶</a></h3> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-9-1><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a><span class=c1>// Phase 1: Keep old inspector references, emit messages</span>
|
|
131
|
+
</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>class</span><span class=w> </span><span class=nc>Player</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MonoBehaviour</span><span class=w> </span><span class=p>{</span>
|
|
132
|
+
</span><span id=__span-9-3><a id=__codelineno-9-3 name=__codelineno-9-3 href=#__codelineno-9-3></a><span class=w> </span><span class=na>[SerializeField]</span><span class=w> </span><span class=k>private</span><span class=w> </span><span class=n>HealthBar</span><span class=w> </span><span class=n>healthBar</span><span class=p>;</span><span class=w> </span><span class=c1>// OLD - will remove later</span>
|
|
133
|
+
</span><span id=__span-9-4><a id=__codelineno-9-4 name=__codelineno-9-4 href=#__codelineno-9-4></a>
|
|
134
|
+
</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>void</span><span class=w> </span><span class=nf>TakeDamage</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>)</span><span class=w> </span><span class=p>{</span>
|
|
135
|
+
</span><span id=__span-9-6><a id=__codelineno-9-6 name=__codelineno-9-6 href=#__codelineno-9-6></a><span class=w> </span><span class=n>health</span><span class=w> </span><span class=o>-=</span><span class=w> </span><span class=n>amount</span><span class=p>;</span>
|
|
136
|
+
</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=n>healthBar</span><span class=p>.</span><span class=n>UpdateHealth</span><span class=p>(</span><span class=n>health</span><span class=p>);</span><span class=w> </span><span class=c1>// OLD direct call</span>
|
|
137
|
+
</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=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>HealthChanged</span><span class=p>(</span><span class=n>health</span><span class=p>);</span>
|
|
138
|
+
</span><span id=__span-9-9><a id=__codelineno-9-9 name=__codelineno-9-9 href=#__codelineno-9-9></a><span class=w> </span><span class=n>msg</span><span class=p>.</span><span class=n>EmitGameObjectBroadcast</span><span class=p>(</span><span class=n>gameObject</span><span class=p>);</span><span class=w> </span><span class=c1>// NEW message</span>
|
|
139
|
+
</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=p>}</span>
|
|
140
|
+
</span><span id=__span-9-11><a id=__codelineno-9-11 name=__codelineno-9-11 href=#__codelineno-9-11></a><span class=p>}</span>
|
|
141
|
+
</span><span id=__span-9-12><a id=__codelineno-9-12 name=__codelineno-9-12 href=#__codelineno-9-12></a>
|
|
142
|
+
</span><span id=__span-9-13><a id=__codelineno-9-13 name=__codelineno-9-13 href=#__codelineno-9-13></a><span class=c1>// Phase 2: Remove direct references</span>
|
|
143
|
+
</span><span id=__span-9-14><a id=__codelineno-9-14 name=__codelineno-9-14 href=#__codelineno-9-14></a><span class=k>public</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>Player</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>MonoBehaviour</span><span class=w> </span><span class=p>{</span>
|
|
144
|
+
</span><span id=__span-9-15><a id=__codelineno-9-15 name=__codelineno-9-15 href=#__codelineno-9-15></a><span class=w> </span><span class=c1>// [SerializeField] private HealthBar healthBar; � DELETED</span>
|
|
145
|
+
</span><span id=__span-9-16><a id=__codelineno-9-16 name=__codelineno-9-16 href=#__codelineno-9-16></a>
|
|
146
|
+
</span><span id=__span-9-17><a id=__codelineno-9-17 name=__codelineno-9-17 href=#__codelineno-9-17></a><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>TakeDamage</span><span class=p>(</span><span class=kt>int</span><span class=w> </span><span class=n>amount</span><span class=p>)</span><span class=w> </span><span class=p>{</span>
|
|
147
|
+
</span><span id=__span-9-18><a id=__codelineno-9-18 name=__codelineno-9-18 href=#__codelineno-9-18></a><span class=w> </span><span class=n>health</span><span class=w> </span><span class=o>-=</span><span class=w> </span><span class=n>amount</span><span class=p>;</span>
|
|
148
|
+
</span><span id=__span-9-19><a id=__codelineno-9-19 name=__codelineno-9-19 href=#__codelineno-9-19></a><span class=w> </span><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>HealthChanged</span><span class=p>(</span><span class=n>health</span><span class=p>);</span>
|
|
149
|
+
</span><span id=__span-9-20><a id=__codelineno-9-20 name=__codelineno-9-20 href=#__codelineno-9-20></a><span class=w> </span><span class=n>msg</span><span class=p>.</span><span class=n>EmitGameObjectBroadcast</span><span class=p>(</span><span class=n>gameObject</span><span class=p>);</span><span class=w> </span><span class=c1>// Only this</span>
|
|
150
|
+
</span><span id=__span-9-21><a id=__codelineno-9-21 name=__codelineno-9-21 href=#__codelineno-9-21></a><span class=w> </span><span class=p>}</span>
|
|
151
|
+
</span><span id=__span-9-22><a id=__codelineno-9-22 name=__codelineno-9-22 href=#__codelineno-9-22></a><span class=p>}</span>
|
|
152
|
+
</span></code></pre></div> <h2 id=what-to-migrate-first-vs-last>What to Migrate First vs. Last<a class=headerlink href=#what-to-migrate-first-vs-last title="Anchor link to this section">¶</a></h2> <h3 id=migrate-first-high-value-low-risk>Migrate FIRST (High Value, Low Risk)<a class=headerlink href=#migrate-first-high-value-low-risk title="Anchor link to this section">¶</a></h3> <ol> <li><strong>New systems</strong> - No refactor needed, immediate win</li> <li><strong>Analytics/logging</strong> - Decoupled observers, zero disruption</li> <li><strong>UI that needs to listen to many systems</strong> - Eliminate reference spaghetti</li> <li><strong>Global event buses</strong> - Direct replacement, clear improvement</li> </ol> <h3 id=migrate-later-lower-priority>Migrate LATER (Lower Priority)<a class=headerlink href=#migrate-later-lower-priority title="Anchor link to this section">¶</a></h3> <ol> <li><strong>Stable, working code</strong> - If it ain't broke, don't rush</li> <li><strong>Performance-critical paths</strong> - Validate overhead first</li> <li><strong>Code that rarely changes</strong> - Low ROI for migration</li> <li><strong>Third-party integrations</strong> - Keep adapters simple</li> </ol> <h3 id=dont-migrate-keep-as-is>DON'T Migrate (Keep As-Is)<a class=headerlink href=#dont-migrate-keep-as-is title="Anchor link to this section">¶</a></h3> <ol> <li><strong>Simple button onClick � method</strong> - UnityEvents are fine</li> <li><strong>Private implementation details</strong> - Internal events are okay</li> <li><strong>Single-listener, same-GameObject</strong> - Direct references are clearer</li> <li><strong>Legacy systems about to be deleted</strong> - Why bother?</li> </ol> <h2 id=common-migration-pitfalls>Common Migration Pitfalls<a class=headerlink href=#common-migration-pitfalls title="Anchor link to this section">¶</a></h2> <h3 id=l-pitfall-1-boiling-the-ocean>L Pitfall 1: Boiling the Ocean<a class=headerlink href=#l-pitfall-1-boiling-the-ocean title="Anchor link to this section">¶</a></h3> <p><strong>Problem:</strong> "Let's rewrite the entire codebase!"</p> <p><strong>Solution:</strong> Migrate incrementally. Set a rule: "One system per sprint" or "New features only."</p> <h3 id=l-pitfall-2-no-rollback-plan>L Pitfall 2: No Rollback Plan<a class=headerlink href=#l-pitfall-2-no-rollback-plan title="Anchor link to this section">¶</a></h3> <p><strong>Problem:</strong> Full commit before proving value.</p> <p><strong>Solution:</strong> Keep old code commented for 1-2 sprints:</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=c1>// OLD (keep until 2024-02-01)</span>
|
|
153
|
+
</span><span id=__span-10-2><a id=__codelineno-10-2 name=__codelineno-10-2 href=#__codelineno-10-2></a><span class=c1>// player.OnHealthChanged += UpdateBar;</span>
|
|
154
|
+
</span><span id=__span-10-3><a id=__codelineno-10-3 name=__codelineno-10-3 href=#__codelineno-10-3></a>
|
|
155
|
+
</span><span id=__span-10-4><a id=__codelineno-10-4 name=__codelineno-10-4 href=#__codelineno-10-4></a><span class=c1>// NEW</span>
|
|
156
|
+
</span><span id=__span-10-5><a id=__codelineno-10-5 name=__codelineno-10-5 href=#__codelineno-10-5></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>RegisterBroadcast</span><span class=o><</span><span class=n>HealthChanged</span><span class=o>></span><span class=p>(...);</span>
|
|
157
|
+
</span></code></pre></div> <h3 id=l-pitfall-3-mixing-message-types-incorrectly>L Pitfall 3: Mixing Message Types Incorrectly<a class=headerlink href=#l-pitfall-3-mixing-message-types-incorrectly title="Anchor link to this section">¶</a></h3> <p><strong>Problem:</strong> Using Untargeted for everything because it's "simpler."</p> <p><strong>Solution:</strong> Follow message type guidelines:</p> <ul> <li>Global state? Untargeted</li> <li>Command to one? Targeted</li> <li>Event from one? Broadcast</li> </ul> <h3 id=l-pitfall-4-over-messaging>L Pitfall 4: Over-Messaging<a class=headerlink href=#l-pitfall-4-over-messaging title="Anchor link to this section">¶</a></h3> <p><strong>Problem:</strong> Converting every method call to a message.</p> <p><strong>Solution:</strong> Keep simple things simple:</p> <div class="language-csharp highlight"><span class=filename>C#</span><pre><span></span><code><span id=__span-11-1><a id=__codelineno-11-1 name=__codelineno-11-1 href=#__codelineno-11-1></a><span class=c1>// L OVERKILL - Just call the method!</span>
|
|
158
|
+
</span><span id=__span-11-2><a id=__codelineno-11-2 name=__codelineno-11-2 href=#__codelineno-11-2></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>CloseDoorMessage</span><span class=p>(</span><span class=n>doorId</span><span class=p>);</span>
|
|
159
|
+
</span><span id=__span-11-3><a id=__codelineno-11-3 name=__codelineno-11-3 href=#__codelineno-11-3></a><span class=n>msg</span><span class=p>.</span><span class=n>Emit</span><span class=p>();</span>
|
|
160
|
+
</span><span id=__span-11-4><a id=__codelineno-11-4 name=__codelineno-11-4 href=#__codelineno-11-4></a>
|
|
161
|
+
</span><span id=__span-11-5><a id=__codelineno-11-5 name=__codelineno-11-5 href=#__codelineno-11-5></a><span class=c1>// BETTER - Direct reference is fine</span>
|
|
162
|
+
</span><span id=__span-11-6><a id=__codelineno-11-6 name=__codelineno-11-6 href=#__codelineno-11-6></a><span class=n>door</span><span class=p>.</span><span class=n>Close</span><span class=p>();</span>
|
|
163
|
+
</span></code></pre></div> <h3 id=l-pitfall-5-not-training-the-team>L Pitfall 5: Not Training the Team<a class=headerlink href=#l-pitfall-5-not-training-the-team title="Anchor link to this section">¶</a></h3> <p><strong>Problem:</strong> Team doesn't understand when/how to use it.</p> <h4 id=solution>Solution<a class=headerlink href=#solution title="Anchor link to this section">¶</a></h4> <ul> <li>Schedule a 30-minute walkthrough</li> <li>Share the <a href=../../getting-started/visual-guide/ >Visual Guide</a></li> <li>Pair program on first migrations</li> <li>Document team conventions in your wiki</li> </ul> <h2 id=success-metrics>Success Metrics<a class=headerlink href=#success-metrics title="Anchor link to this section">¶</a></h2> <p>Track these to validate migration is worthwhile:</p> <h3 id=quantitative>Quantitative<a class=headerlink href=#quantitative title="Anchor link to this section">¶</a></h3> <ul> <li>Lines of event subscribe/unsubscribe code removed</li> <li>Number of SerializedField references eliminated</li> <li>Memory leaks fixed (profiler)</li> </ul> <h4 id=qualitative>Qualitative<a class=headerlink href=#qualitative title="Anchor link to this section">¶</a></h4> <ul> <li>Time to add new observers (before/after)</li> <li>Ease of debugging message flow</li> <li>Team satisfaction (survey)</li> </ul> <h5 id=example>Example<a class=headerlink href=#example title="Anchor link to this section">¶</a></h5> <blockquote> <p>"Before: Adding achievement tracking required touching 12 files. After: Added achievement system with zero changes to existing code."</p> </blockquote> <h2 id=timeline-examples>Timeline Examples<a class=headerlink href=#timeline-examples title="Anchor link to this section">¶</a></h2> <h3 id=small-project-10k-lines>Small Project (10k lines)<a class=headerlink href=#small-project-10k-lines title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Week 1:</strong> Experiment + add to one new feature</li> <li><strong>Week 2-3:</strong> Migrate high-pain UI systems</li> <li><strong>Week 4+:</strong> New code uses DxMessaging</li> </ul> <h3 id=medium-project-50k-lines>Medium Project (50k lines)<a class=headerlink href=#medium-project-50k-lines title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Month 1:</strong> Pilot with 2-3 systems</li> <li><strong>Month 2-4:</strong> Gradual migration of problem areas</li> <li><strong>Month 5+:</strong> Standard practice for new code</li> </ul> <h3 id=large-project-100k-lines>Large Project (100k+ lines)<a class=headerlink href=#large-project-100k-lines title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Quarter 1:</strong> Pilot + evangelize</li> <li><strong>Quarter 2-3:</strong> Migrate critical systems</li> <li><strong>Quarter 4+:</strong> Opportunistic refactors</li> </ul> <h2 id=getting-team-buy-in>Getting Team Buy-In<a class=headerlink href=#getting-team-buy-in title="Anchor link to this section">¶</a></h2> <h3 id=for-managers>For Managers<a class=headerlink href=#for-managers title="Anchor link to this section">¶</a></h3> <ul> <li>"Reduces memory leaks and hard-to-debug issues"</li> <li>"Faster feature development (decoupled systems)"</li> <li>"Easier onboarding (clear message contracts)"</li> </ul> <h3 id=for-developers>For Developers<a class=headerlink href=#for-developers title="Anchor link to this section">¶</a></h3> <ul> <li>"No more manual unsubscribe hell"</li> <li>"Built-in debugging (Inspector shows message history)"</li> <li>"Add features without touching existing code"</li> </ul> <h3 id=for-qa>For QA<a class=headerlink href=#for-qa title="Anchor link to this section">¶</a></h3> <ul> <li>"Easier to reproduce bugs (message logs)"</li> <li>"Fewer null reference errors"</li> <li>"Clear system boundaries"</li> </ul> <h2 id=faq-migration-edition>FAQ: Migration Edition<a class=headerlink href=#faq-migration-edition title="Anchor link to this section">¶</a></h2> <h3 id=do-we-need-to-migrate-everything>"Do we need to migrate everything?"<a class=headerlink href=#do-we-need-to-migrate-everything title="Anchor link to this section">¶</a></h3> <p><strong>No!</strong> DxMessaging coexists happily with C# events, UnityEvents, and direct references. Migrate what benefits, leave what works.</p> <h3 id=what-if-we-decide-its-not-for-us>"What if we decide it's not for us?"<a class=headerlink href=#what-if-we-decide-its-not-for-us title="Anchor link to this section">¶</a></h3> <p>Keep old events during migration. If you hate it, delete the DxMessaging parts and uncomment the old code.</p> <h3 id=how-do-we-handle-prefabs-with-inspector-references>"How do we handle prefabs with Inspector references?"<a class=headerlink href=#how-do-we-handle-prefabs-with-inspector-references title="Anchor link to this section">¶</a></h3> <p>Phase them out gradually:</p> <ol> <li>Keep references during transition</li> <li>Emit messages alongside old calls</li> <li>Migrate listeners</li> <li>Remove references in next refactor pass</li> </ol> <h3 id=adopt-the-di-registration-builder>Adopt the DI Registration Builder<a class=headerlink href=#adopt-the-di-registration-builder title="Anchor link to this section">¶</a></h3> <p>Once the bus/provider abstractions are in place, wire listeners through the registration builder instead of hand-rolling handler lifecycles. Benefits:</p> <ul> <li>Container-managed lifetimes (<code>IDisposable</code>, <code>IInitializable</code>, <code>IStartable</code>, etc.) automatically enable/disable registrations.</li> <li>Centralises diagnostics toggles and message bus selection.</li> <li>Keeps MonoBehaviours and pure C# services on the same path.</li> </ul> <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=k>public</span><span class=w> </span><span class=k>sealed</span><span class=w> </span><span class=k>class</span><span class=w> </span><span class=nc>InventoryService</span><span class=w> </span><span class=p>:</span><span class=w> </span><span class=n>IStartable</span><span class=p>,</span><span class=w> </span><span class=n>IDisposable</span>
|
|
164
|
+
</span><span id=__span-12-2><a id=__codelineno-12-2 name=__codelineno-12-2 href=#__codelineno-12-2></a><span class=p>{</span>
|
|
165
|
+
</span><span id=__span-12-3><a id=__codelineno-12-3 name=__codelineno-12-3 href=#__codelineno-12-3></a><span class=w> </span><span class=k>private</span><span class=w> </span><span class=k>readonly</span><span class=w> </span><span class=n>MessageRegistrationLease</span><span class=w> </span><span class=n>lease</span><span class=p>;</span>
|
|
166
|
+
</span><span id=__span-12-4><a id=__codelineno-12-4 name=__codelineno-12-4 href=#__codelineno-12-4></a>
|
|
167
|
+
</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=k>public</span><span class=w> </span><span class=nf>InventoryService</span><span class=p>(</span><span class=n>IMessageRegistrationBuilder</span><span class=w> </span><span class=n>registrationBuilder</span><span class=p>)</span>
|
|
168
|
+
</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=p>{</span>
|
|
169
|
+
</span><span id=__span-12-7><a id=__codelineno-12-7 name=__codelineno-12-7 href=#__codelineno-12-7></a><span class=w> </span><span class=n>lease</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>registrationBuilder</span><span class=p>.</span><span class=n>Build</span><span class=p>(</span><span class=k>new</span><span class=w> </span><span class=n>MessageRegistrationBuildOptions</span>
|
|
170
|
+
</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=p>{</span>
|
|
171
|
+
</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=n>Configure</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>token</span><span class=w> </span><span class=o>=></span>
|
|
172
|
+
</span><span id=__span-12-10><a id=__codelineno-12-10 name=__codelineno-12-10 href=#__codelineno-12-10></a><span class=w> </span><span class=p>{</span>
|
|
173
|
+
</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=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><</span><span class=n>InventoryChanged</span><span class=o>></span><span class=p>(</span><span class=n>OnInventoryChanged</span><span class=p>);</span>
|
|
174
|
+
</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=p>}</span>
|
|
175
|
+
</span><span id=__span-12-13><a id=__codelineno-12-13 name=__codelineno-12-13 href=#__codelineno-12-13></a><span class=w> </span><span class=p>});</span>
|
|
176
|
+
</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=p>}</span>
|
|
177
|
+
</span><span id=__span-12-15><a id=__codelineno-12-15 name=__codelineno-12-15 href=#__codelineno-12-15></a>
|
|
178
|
+
</span><span id=__span-12-16><a id=__codelineno-12-16 name=__codelineno-12-16 href=#__codelineno-12-16></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>Start</span><span class=p>()</span>
|
|
179
|
+
</span><span id=__span-12-17><a id=__codelineno-12-17 name=__codelineno-12-17 href=#__codelineno-12-17></a><span class=w> </span><span class=p>{</span>
|
|
180
|
+
</span><span id=__span-12-18><a id=__codelineno-12-18 name=__codelineno-12-18 href=#__codelineno-12-18></a><span class=w> </span><span class=n>lease</span><span class=p>.</span><span class=n>Activate</span><span class=p>();</span>
|
|
181
|
+
</span><span id=__span-12-19><a id=__codelineno-12-19 name=__codelineno-12-19 href=#__codelineno-12-19></a><span class=w> </span><span class=p>}</span>
|
|
182
|
+
</span><span id=__span-12-20><a id=__codelineno-12-20 name=__codelineno-12-20 href=#__codelineno-12-20></a>
|
|
183
|
+
</span><span id=__span-12-21><a id=__codelineno-12-21 name=__codelineno-12-21 href=#__codelineno-12-21></a><span class=w> </span><span class=k>public</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>Dispose</span><span class=p>()</span>
|
|
184
|
+
</span><span id=__span-12-22><a id=__codelineno-12-22 name=__codelineno-12-22 href=#__codelineno-12-22></a><span class=w> </span><span class=p>{</span>
|
|
185
|
+
</span><span id=__span-12-23><a id=__codelineno-12-23 name=__codelineno-12-23 href=#__codelineno-12-23></a><span class=w> </span><span class=n>lease</span><span class=p>.</span><span class=n>Dispose</span><span class=p>();</span>
|
|
186
|
+
</span><span id=__span-12-24><a id=__codelineno-12-24 name=__codelineno-12-24 href=#__codelineno-12-24></a><span class=w> </span><span class=p>}</span>
|
|
187
|
+
</span><span id=__span-12-25><a id=__codelineno-12-25 name=__codelineno-12-25 href=#__codelineno-12-25></a>
|
|
188
|
+
</span><span id=__span-12-26><a id=__codelineno-12-26 name=__codelineno-12-26 href=#__codelineno-12-26></a><span class=w> </span><span class=k>private</span><span class=w> </span><span class=k>static</span><span class=w> </span><span class=k>void</span><span class=w> </span><span class=nf>OnInventoryChanged</span><span class=p>(</span><span class=k>ref</span><span class=w> </span><span class=n>InventoryChanged</span><span class=w> </span><span class=n>message</span><span class=p>)</span>
|
|
189
|
+
</span><span id=__span-12-27><a id=__codelineno-12-27 name=__codelineno-12-27 href=#__codelineno-12-27></a><span class=w> </span><span class=p>{</span>
|
|
190
|
+
</span><span id=__span-12-28><a id=__codelineno-12-28 name=__codelineno-12-28 href=#__codelineno-12-28></a><span class=w> </span><span class=c1>// respond to updates</span>
|
|
191
|
+
</span><span id=__span-12-29><a id=__codelineno-12-29 name=__codelineno-12-29 href=#__codelineno-12-29></a><span class=w> </span><span class=p>}</span>
|
|
192
|
+
</span><span id=__span-12-30><a id=__codelineno-12-30 name=__codelineno-12-30 href=#__codelineno-12-30></a><span class=p>}</span>
|
|
193
|
+
</span></code></pre></div> <ul> <li><strong>Unity scene code:</strong> Call <code>MessagingComponent.CreateRegistrationBuilder()</code> during dependency injection and share the lease across helper services or pooled objects.</li> <li><strong>Container shims:</strong> Define <code>ZENJECT_PRESENT</code>, <code>VCONTAINER_PRESENT</code>, or <code>REFLEX_PRESENT</code> to enable the built-in installers/extensions that register the builder automatically when those frameworks are present.</li> <li><strong>Tests:</strong> Prefer the builder to create isolated tokens tied to the test fixture lifecycle.</li> </ul> <h3 id=should-we-migrate-tests>"Should we migrate tests?"<a class=headerlink href=#should-we-migrate-tests title="Anchor link to this section">¶</a></h3> <p>Yes! Tests benefit from isolated message buses:</p> <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=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>
|
|
194
|
+
</span><span id=__span-13-2><a id=__codelineno-13-2 name=__codelineno-13-2 href=#__codelineno-13-2></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>
|
|
195
|
+
</span><span id=__span-13-3><a id=__codelineno-13-3 name=__codelineno-13-3 href=#__codelineno-13-3></a><span class=c1>// Test in isolation</span>
|
|
196
|
+
</span></code></pre></div> <h3 id=what-about-mobile-performance>"What about mobile performance?"<a class=headerlink href=#what-about-mobile-performance title="Anchor link to this section">¶</a></h3> <p>Enable diagnostics only in Editor:</p> <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=cp>#if UNITY_EDITOR</span>
|
|
197
|
+
</span><span id=__span-14-2><a id=__codelineno-14-2 name=__codelineno-14-2 href=#__codelineno-14-2></a><span class=n>IMessageBus</span><span class=p>.</span><span class=n>GlobalDiagnosticsMode</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=k>true</span><span class=p>;</span>
|
|
198
|
+
</span><span id=__span-14-3><a id=__codelineno-14-3 name=__codelineno-14-3 href=#__codelineno-14-3></a><span class=cp>#endif</span>
|
|
199
|
+
</span></code></pre></div> <p>Profile early, measure impact.</p> <h2 id=next-steps>Next Steps<a class=headerlink href=#next-steps title="Anchor link to this section">¶</a></h2> <ol> <li><strong>Try Phase 0</strong> - Install and experiment (today)</li> <li><strong>Pick one system</strong> - Choose a low-risk, high-value target (this week)</li> <li><strong>Timebox it</strong> - Give yourself 2 weeks to evaluate</li> <li><strong>Measure results</strong> - Did it make life better?</li> <li><strong>Expand or abort</strong> - Based on evidence, not hope</li> </ol> <p><strong>Remember:</strong> Migration is a journey, not a destination. Go at your own pace.</p> <hr> <p><strong>Questions?</strong> See <a href=../../reference/faq/ >FAQ</a> | <strong>Need patterns?</strong> See <a href=../patterns/ >Common Patterns</a></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 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> <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=../advanced/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Advanced Topics"> <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> Advanced Topics </div> </div> </a> <a href=../../architecture/design-and-architecture/ class="md-footer__link md-footer__link--next" aria-label="Next: Design & Architecture"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Design & Architecture </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 © 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>
|