com.wallstop-studios.dxmessaging 2.1.9 → 3.0.1
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/CHANGELOG.md +106 -65
- package/CHANGELOG.md.meta +7 -7
- package/Editor/Analyzers/BaseCallIlInspector.cs +277 -0
- package/Editor/Analyzers/BaseCallIlInspector.cs.meta +11 -0
- package/Editor/Analyzers/BaseCallLogMessageParser.cs +295 -0
- package/Editor/Analyzers/BaseCallLogMessageParser.cs.meta +11 -0
- package/Editor/Analyzers/BaseCallReportAggregator.cs +308 -0
- package/Editor/Analyzers/BaseCallReportAggregator.cs.meta +11 -0
- package/Editor/Analyzers/BaseCallTypeScanner.cs +110 -0
- package/Editor/Analyzers/BaseCallTypeScanner.cs.meta +11 -0
- package/Editor/Analyzers/BaseCallTypeScannerCore.cs +562 -0
- package/Editor/Analyzers/BaseCallTypeScannerCore.cs.meta +11 -0
- package/Editor/Analyzers/DxMessagingConsoleHarvester.cs +1122 -0
- package/Editor/Analyzers/DxMessagingConsoleHarvester.cs.meta +11 -0
- package/Editor/Analyzers/Microsoft.CodeAnalysis.CSharp.dll.meta +44 -44
- package/Editor/Analyzers/Microsoft.CodeAnalysis.dll.meta +44 -44
- package/Editor/Analyzers/System.Collections.Immutable.dll.meta +44 -44
- package/Editor/Analyzers/System.Reflection.Metadata.dll.meta +44 -44
- package/Editor/Analyzers/System.Runtime.CompilerServices.Unsafe.dll.meta +44 -44
- package/Editor/Analyzers/WallstopStudios.DxMessaging.Analyzer.dll +0 -0
- package/Editor/Analyzers/WallstopStudios.DxMessaging.Analyzer.dll.meta +33 -0
- package/Editor/Analyzers/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
- package/Editor/Analyzers/WallstopStudios.DxMessaging.SourceGenerators.dll.meta +72 -72
- package/Editor/Analyzers.meta +8 -8
- package/Editor/AssemblyInfo.cs.meta +3 -3
- package/Editor/CustomEditors/MessageAwareComponentFallbackEditor.cs +81 -0
- package/Editor/CustomEditors/MessageAwareComponentFallbackEditor.cs.meta +11 -0
- package/Editor/CustomEditors/MessageAwareComponentInspectorOverlay.cs +420 -0
- package/Editor/CustomEditors/MessageAwareComponentInspectorOverlay.cs.meta +11 -0
- package/Editor/CustomEditors/MessagingComponentEditor.cs +1 -1
- package/Editor/CustomEditors/MessagingComponentEditor.cs.meta +2 -2
- package/Editor/CustomEditors.meta +2 -2
- package/Editor/DxMessagingEditorInitializer.cs +1 -1
- package/Editor/DxMessagingEditorInitializer.cs.meta +2 -2
- package/Editor/DxMessagingMenu.cs.meta +11 -11
- package/Editor/DxMessagingSceneBuildProcessor.cs.meta +11 -11
- package/Editor/Settings/DxMessagingBaseCallIgnoreSync.cs +190 -0
- package/Editor/Settings/DxMessagingBaseCallIgnoreSync.cs.meta +11 -0
- package/Editor/Settings/DxMessagingSettings.cs +189 -0
- package/Editor/Settings/DxMessagingSettings.cs.meta +2 -2
- package/Editor/Settings/DxMessagingSettingsProvider.cs +50 -33
- package/Editor/Settings/DxMessagingSettingsProvider.cs.meta +2 -2
- package/Editor/Settings.meta +2 -2
- package/Editor/SetupCscRsp.cs +209 -8
- package/Editor/SetupCscRsp.cs.meta +2 -2
- package/Editor/Testing/MessagingComponentEditorHarness.cs +1 -1
- package/Editor/Testing/MessagingComponentEditorHarness.cs.meta +3 -3
- package/Editor/Testing.meta +3 -3
- package/Editor/WallstopStudios.DxMessaging.Editor.asmdef +14 -14
- package/Editor/WallstopStudios.DxMessaging.Editor.asmdef.meta +7 -7
- package/Editor.meta +8 -8
- package/LICENSE.md +9 -9
- package/LICENSE.md.meta +7 -7
- package/README.md +941 -900
- package/README.md.meta +7 -7
- package/Runtime/AssemblyInfo.cs +4 -0
- package/Runtime/AssemblyInfo.cs.meta +2 -2
- package/Runtime/Core/Attributes/DxAutoConstructorAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/DxBroadcastMessageAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/DxIgnoreMissingBaseCallAttribute.cs +26 -0
- package/Runtime/Core/Attributes/DxIgnoreMissingBaseCallAttribute.cs.meta +11 -0
- package/Runtime/Core/Attributes/DxOptionalParameterAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/DxTargetedMessageAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/DxUntargetedMessageAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes.meta +2 -2
- package/Runtime/Core/Configuration/DxMessagingRuntimeSettings.cs +195 -0
- package/Runtime/Core/Configuration/DxMessagingRuntimeSettings.cs.meta +11 -0
- package/Runtime/Core/Configuration/DxMessagingRuntimeSettingsProvider.cs +179 -0
- package/Runtime/Core/Configuration/DxMessagingRuntimeSettingsProvider.cs.meta +11 -0
- package/Runtime/Core/Configuration.meta +9 -0
- package/Runtime/Core/DataStructure/CyclicBuffer.cs +2 -2
- package/Runtime/Core/DataStructure/CyclicBuffer.cs.meta +2 -2
- package/Runtime/Core/DataStructure.meta +2 -2
- package/Runtime/Core/Diagnostics/MessageEmissionData.cs.meta +2 -2
- package/Runtime/Core/Diagnostics/MessageRegistrationData.cs.meta +2 -2
- package/Runtime/Core/Diagnostics/MessageRegistrationType.cs.meta +2 -2
- package/Runtime/Core/Diagnostics.meta +2 -2
- package/Runtime/Core/DxMessagingStaticState.cs +19 -0
- package/Runtime/Core/DxMessagingStaticState.cs.meta +11 -11
- package/Runtime/Core/Extensions/EnumExtensions.cs.meta +2 -2
- package/Runtime/Core/Extensions/IListExtensions.cs.meta +2 -2
- package/Runtime/Core/Extensions/MessageBusExtensions.cs.meta +12 -12
- package/Runtime/Core/Extensions/MessageExtensions.cs.meta +11 -11
- package/Runtime/Core/Extensions.meta +8 -8
- package/Runtime/Core/Helper/MessageCache.cs +32 -0
- package/Runtime/Core/Helper/MessageCache.cs.meta +2 -2
- package/Runtime/Core/Helper/MessageHelperIndexer.cs.meta +2 -2
- package/Runtime/Core/Helper.meta +2 -2
- package/Runtime/Core/IMessage.cs +3 -3
- package/Runtime/Core/IMessage.cs.meta +11 -11
- package/Runtime/Core/InstanceId.cs.meta +11 -11
- package/Runtime/Core/Internal/TypedDispatchLinkIndex.cs +51 -0
- package/Runtime/Core/Internal/TypedDispatchLinkIndex.cs.meta +11 -0
- package/Runtime/Core/Internal/TypedGlobalSlotIndex.cs +38 -0
- package/Runtime/Core/Internal/TypedGlobalSlotIndex.cs.meta +11 -0
- package/Runtime/Core/Internal/TypedSlotIndex.cs +81 -0
- package/Runtime/Core/Internal/TypedSlotIndex.cs.meta +11 -0
- package/Runtime/Core/Internal/TypedSlots.cs +613 -0
- package/Runtime/Core/Internal/TypedSlots.cs.meta +11 -0
- package/Runtime/Core/Internal.meta +9 -0
- package/Runtime/Core/MessageBus/DiagnosticsTarget.cs.meta +11 -11
- package/Runtime/Core/MessageBus/GlobalMessageBusProvider.cs.meta +11 -11
- package/Runtime/Core/MessageBus/IMessageBus.cs +177 -3
- package/Runtime/Core/MessageBus/IMessageBus.cs.meta +11 -11
- package/Runtime/Core/MessageBus/IMessageBusProvider.cs.meta +11 -11
- package/Runtime/Core/MessageBus/IMessageRegistrationBuilder.cs.meta +11 -11
- package/Runtime/Core/MessageBus/Internal/BusContextIndex.cs +16 -0
- package/Runtime/Core/MessageBus/Internal/BusContextIndex.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal/BusSinkIndex.cs +40 -0
- package/Runtime/Core/MessageBus/Internal/BusSinkIndex.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal/BusSlots.cs +718 -0
- package/Runtime/Core/MessageBus/Internal/BusSlots.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal/DispatchKind.cs +38 -0
- package/Runtime/Core/MessageBus/Internal/DispatchKind.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal/DispatchPhase.cs +20 -0
- package/Runtime/Core/MessageBus/Internal/DispatchPhase.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal/DispatchVariant.cs +28 -0
- package/Runtime/Core/MessageBus/Internal/DispatchVariant.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal/IEvictableSlot.cs +48 -0
- package/Runtime/Core/MessageBus/Internal/IEvictableSlot.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal/ISweepable.cs +15 -0
- package/Runtime/Core/MessageBus/Internal/ISweepable.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal/RegistrationMethodAxes.cs +222 -0
- package/Runtime/Core/MessageBus/Internal/RegistrationMethodAxes.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal/SlotKey.cs +192 -0
- package/Runtime/Core/MessageBus/Internal/SlotKey.cs.meta +11 -0
- package/Runtime/Core/MessageBus/Internal.meta +9 -0
- package/Runtime/Core/MessageBus/MessageBus.cs +2651 -500
- package/Runtime/Core/MessageBus/MessageBus.cs.meta +11 -11
- package/Runtime/Core/MessageBus/MessageBusRebindMode.cs.meta +11 -11
- package/Runtime/Core/MessageBus/MessageRegistrationBuilder.cs.meta +11 -11
- package/Runtime/Core/MessageBus/MessagingRegistration.cs.meta +11 -11
- package/Runtime/Core/MessageBus/RegistrationLog.cs.meta +11 -11
- package/Runtime/Core/MessageBus.meta +8 -8
- package/Runtime/Core/MessageHandler.cs +2019 -542
- package/Runtime/Core/MessageHandler.cs.meta +11 -11
- package/Runtime/Core/MessageRegistrationHandle.cs.meta +11 -11
- package/Runtime/Core/MessageRegistrationToken.cs +7 -0
- package/Runtime/Core/MessageRegistrationToken.cs.meta +11 -11
- package/Runtime/Core/Messages/GlobalStringMessage.cs.meta +2 -2
- package/Runtime/Core/Messages/IBroadcastMessage.cs.meta +11 -11
- package/Runtime/Core/Messages/ITargetedMessage.cs.meta +11 -11
- package/Runtime/Core/Messages/IUntargetedMessage.cs.meta +11 -11
- package/Runtime/Core/Messages/ReflexiveMessage.cs.meta +2 -2
- package/Runtime/Core/Messages/SourcedStringMessage.cs.meta +11 -11
- package/Runtime/Core/Messages/StringMessage.cs.meta +2 -2
- package/Runtime/Core/Messages.meta +8 -8
- package/Runtime/Core/MessagingDebug.cs.meta +11 -11
- package/Runtime/Core/Pooling/CollectionPool.cs +266 -0
- package/Runtime/Core/Pooling/CollectionPool.cs.meta +11 -0
- package/Runtime/Core/Pooling/CollectionPoolDiagnostics.cs +30 -0
- package/Runtime/Core/Pooling/CollectionPoolDiagnostics.cs.meta +11 -0
- package/Runtime/Core/Pooling/DxPools.cs +157 -0
- package/Runtime/Core/Pooling/DxPools.cs.meta +11 -0
- package/Runtime/Core/Pooling/EvictionPlayerLoopHook.cs +106 -0
- package/Runtime/Core/Pooling/EvictionPlayerLoopHook.cs.meta +11 -0
- package/Runtime/Core/Pooling/IDxMessagingClock.cs +18 -0
- package/Runtime/Core/Pooling/IDxMessagingClock.cs.meta +11 -0
- package/Runtime/Core/Pooling/PoolDiagnosticsSnapshot.cs +55 -0
- package/Runtime/Core/Pooling/PoolDiagnosticsSnapshot.cs.meta +11 -0
- package/Runtime/Core/Pooling/StopwatchClock.cs +27 -0
- package/Runtime/Core/Pooling/StopwatchClock.cs.meta +11 -0
- package/Runtime/Core/Pooling/UnityRealtimeClock.cs +31 -0
- package/Runtime/Core/Pooling/UnityRealtimeClock.cs.meta +11 -0
- package/Runtime/Core/Pooling.meta +9 -0
- package/Runtime/Core.meta +8 -8
- package/Runtime/Unity/CurrentGlobalMessageBusProvider.cs.meta +12 -12
- package/Runtime/Unity/DxMessagingRuntimeInitializer.cs.meta +11 -11
- package/Runtime/Unity/InitialGlobalMessageBusProvider.cs.meta +12 -12
- package/Runtime/Unity/Integrations/Reflex/AssemblyInfo.cs.meta +2 -2
- package/Runtime/Unity/Integrations/Reflex/ReflexRegistrationInstaller.cs +73 -0
- package/Runtime/Unity/Integrations/Reflex/ReflexRegistrationInstaller.cs.meta +11 -11
- package/Runtime/Unity/Integrations/Reflex/WallstopStudios.DxMessaging.Reflex.asmdef +20 -20
- package/Runtime/Unity/Integrations/Reflex/WallstopStudios.DxMessaging.Reflex.asmdef.meta +7 -7
- package/Runtime/Unity/Integrations/Reflex.meta +8 -8
- package/Runtime/Unity/Integrations/VContainer/AssemblyInfo.cs.meta +2 -2
- package/Runtime/Unity/Integrations/VContainer/VContainerRegistrationExtensions.cs +109 -1
- package/Runtime/Unity/Integrations/VContainer/VContainerRegistrationExtensions.cs.meta +11 -11
- package/Runtime/Unity/Integrations/VContainer/WallstopStudios.DxMessaging.VContainer.asmdef +30 -30
- package/Runtime/Unity/Integrations/VContainer/WallstopStudios.DxMessaging.VContainer.asmdef.meta +7 -7
- package/Runtime/Unity/Integrations/VContainer.meta +8 -8
- package/Runtime/Unity/Integrations/Zenject/AssemblyInfo.cs.meta +2 -2
- package/Runtime/Unity/Integrations/Zenject/WallstopStudios.DxMessaging.Zenject.asmdef +30 -30
- package/Runtime/Unity/Integrations/Zenject/WallstopStudios.DxMessaging.Zenject.asmdef.meta +7 -7
- package/Runtime/Unity/Integrations/Zenject/ZenjectRegistrationInstaller.cs +79 -1
- package/Runtime/Unity/Integrations/Zenject/ZenjectRegistrationInstaller.cs.meta +11 -11
- package/Runtime/Unity/Integrations/Zenject.meta +8 -8
- package/Runtime/Unity/Integrations.meta +8 -8
- package/Runtime/Unity/MessageAwareComponent.cs +29 -0
- package/Runtime/Unity/MessageAwareComponent.cs.meta +11 -11
- package/Runtime/Unity/MessageBusProviderHandle.cs.meta +12 -12
- package/Runtime/Unity/MessagingComponent.cs.meta +11 -11
- package/Runtime/Unity/MessagingComponentInstaller.cs.meta +12 -12
- package/Runtime/Unity/ScriptableMessageBusProvider.cs.meta +12 -12
- package/Runtime/Unity.meta +8 -8
- package/Runtime/WallstopStudios.DxMessaging.asmdef +14 -14
- package/Runtime/WallstopStudios.DxMessaging.asmdef.meta +7 -7
- package/Runtime.meta +8 -8
- package/Samples~/DI/Prefabs/MessagingInstallerSample.prefab +98 -98
- package/Samples~/DI/Prefabs/MessagingInstallerSample.prefab.meta +7 -7
- package/Samples~/DI/Prefabs.meta +8 -8
- package/Samples~/DI/Providers/GlobalMessageBusProvider.asset +14 -14
- package/Samples~/DI/Providers/GlobalMessageBusProvider.asset.meta +8 -8
- package/Samples~/DI/Providers/InitialGlobalMessageBusProvider.asset +14 -14
- package/Samples~/DI/Providers/InitialGlobalMessageBusProvider.asset.meta +8 -8
- package/Samples~/DI/Providers.meta +8 -8
- package/Samples~/DI/README.md +51 -51
- package/Samples~/DI/README.md.meta +7 -7
- package/Samples~/DI/Reflex/SampleInstaller.cs +7 -0
- package/Samples~/DI/Reflex/SampleInstaller.cs.meta +11 -11
- package/Samples~/DI/Reflex.meta +8 -8
- package/Samples~/DI/VContainer/SampleLifetimeScope.cs +6 -1
- package/Samples~/DI/VContainer/SampleLifetimeScope.cs.meta +11 -11
- package/Samples~/DI/VContainer.meta +8 -8
- package/Samples~/DI/Zenject/SampleInstaller.cs +8 -0
- package/Samples~/DI/Zenject/SampleInstaller.cs.meta +11 -11
- package/Samples~/DI/Zenject.meta +8 -8
- package/Samples~/DI.meta +8 -8
- package/Samples~/Mini Combat/Boot.cs.meta +11 -11
- package/Samples~/Mini Combat/Enemy.cs.meta +11 -11
- package/Samples~/Mini Combat/Messages.cs.meta +11 -11
- package/Samples~/Mini Combat/Player.cs.meta +11 -11
- package/Samples~/Mini Combat/README.md +324 -323
- package/Samples~/Mini Combat/README.md.meta +7 -7
- package/Samples~/Mini Combat/UIOverlay.cs.meta +11 -11
- package/Samples~/Mini Combat/Walkthrough.md +430 -430
- package/Samples~/Mini Combat/Walkthrough.md.meta +7 -7
- package/Samples~/Mini Combat/WallstopStudios.DxMessaging.MiniCombat.Sample.asmdef +13 -13
- package/Samples~/Mini Combat/WallstopStudios.DxMessaging.MiniCombat.Sample.asmdef.meta +7 -7
- package/Samples~/Mini Combat.meta +8 -8
- package/Samples~/UI Buttons + Inspector/DiagnosticsEnabler.cs.meta +11 -11
- package/Samples~/UI Buttons + Inspector/Messages.cs.meta +11 -11
- package/Samples~/UI Buttons + Inspector/MessagingObserver.cs.meta +11 -11
- package/Samples~/UI Buttons + Inspector/README.md +210 -209
- package/Samples~/UI Buttons + Inspector/README.md.meta +7 -7
- package/Samples~/UI Buttons + Inspector/UIButtonEmitter.cs.meta +11 -11
- package/Samples~/UI Buttons + Inspector/WallstopStudios.DxMessaging.UIButtons.Sample.asmdef +13 -13
- package/Samples~/UI Buttons + Inspector/WallstopStudios.DxMessaging.UIButtons.Sample.asmdef.meta +7 -7
- package/Samples~/UI Buttons + Inspector.meta +8 -8
- package/SourceGenerators/Directory.Build.props.meta +7 -7
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxAutoConstructorGenerator.cs.meta +11 -11
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxMessageIdGenerator.cs.meta +2 -2
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.csproj.meta +7 -7
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.meta +8 -8
- package/SourceGenerators.meta +8 -8
- package/Third Party Notices.md +3 -3
- package/Third Party Notices.md.meta +7 -7
- package/package.json +115 -92
- package/package.json.meta +7 -7
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 2d2a3b7979da4f248a398e05be9f83d4
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
12
|
-
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 2d2a3b7979da4f248a398e05be9f83d4
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
12
|
+
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 760f3c3fe4dffe647b41eef37728c4f4
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 760f3c3fe4dffe647b41eef37728c4f4
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 963c131823f1c5948a69209dbac6533f
|
|
3
|
-
folderAsset: yes
|
|
4
|
-
DefaultImporter:
|
|
5
|
-
externalObjects: {}
|
|
6
|
-
userData:
|
|
7
|
-
assetBundleName:
|
|
8
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 963c131823f1c5948a69209dbac6533f
|
|
3
|
+
folderAsset: yes
|
|
4
|
+
DefaultImporter:
|
|
5
|
+
externalObjects: {}
|
|
6
|
+
userData:
|
|
7
|
+
assetBundleName:
|
|
8
|
+
assetBundleVariant:
|
|
@@ -155,6 +155,25 @@ namespace DxMessaging.Core.Helper
|
|
|
155
155
|
return false;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
+
/// <summary>
|
|
159
|
+
/// Attempts to get the value at an already-resolved message type index.
|
|
160
|
+
/// </summary>
|
|
161
|
+
/// <param name="index">Index previously assigned by <see cref="MessageHelperIndexer{TMessage}"/>.</param>
|
|
162
|
+
/// <param name="value">Out parameter receiving the value if present.</param>
|
|
163
|
+
/// <returns>True if a non-null value was present.</returns>
|
|
164
|
+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
165
|
+
internal bool TryGetValueAtIndex(int index, out TValue value)
|
|
166
|
+
{
|
|
167
|
+
if (0 <= index && index < _values.Count)
|
|
168
|
+
{
|
|
169
|
+
value = _values[index];
|
|
170
|
+
return value != null;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
value = default;
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
|
|
158
177
|
/// <summary>
|
|
159
178
|
/// Removes the value for the given <typeparamref name="TMessage"/> key.
|
|
160
179
|
/// </summary>
|
|
@@ -170,6 +189,19 @@ namespace DxMessaging.Core.Helper
|
|
|
170
189
|
}
|
|
171
190
|
}
|
|
172
191
|
|
|
192
|
+
/// <summary>
|
|
193
|
+
/// Removes the value at an already-resolved message type index.
|
|
194
|
+
/// </summary>
|
|
195
|
+
/// <param name="index">Index previously assigned by <see cref="MessageHelperIndexer{TMessage}"/>.</param>
|
|
196
|
+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
197
|
+
internal void RemoveAtIndex(int index)
|
|
198
|
+
{
|
|
199
|
+
if (0 <= index && index < _values.Count)
|
|
200
|
+
{
|
|
201
|
+
_values[index] = null;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
173
205
|
/// <summary>
|
|
174
206
|
/// Returns an enumerator iterating over non-null entries in insertion order.
|
|
175
207
|
/// </summary>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 23cb3bf7f25d479c862736482ee96fa7
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 23cb3bf7f25d479c862736482ee96fa7
|
|
3
3
|
timeCreated: 1745102344
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 612c352c3d984a3486ac4b19bb69fa37
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 612c352c3d984a3486ac4b19bb69fa37
|
|
3
3
|
timeCreated: 1745101032
|
package/Runtime/Core/Helper.meta
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 351ee8f890884099b6c7c32e66f196a9
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 351ee8f890884099b6c7c32e66f196a9
|
|
3
3
|
timeCreated: 1745100990
|
package/Runtime/Core/IMessage.cs
CHANGED
|
@@ -8,9 +8,9 @@ namespace DxMessaging.Core
|
|
|
8
8
|
/// <remarks>
|
|
9
9
|
/// DxMessaging models three primary categories of messages:
|
|
10
10
|
/// <list type="bullet">
|
|
11
|
-
/// <item><description><see cref="Messages.IUntargetedMessage"/>
|
|
12
|
-
/// <item><description><see cref="Messages.ITargetedMessage"/>
|
|
13
|
-
/// <item><description><see cref="Messages.IBroadcastMessage"/>
|
|
11
|
+
/// <item><description><see cref="Messages.IUntargetedMessage"/> -- global notifications (for example: settings changed).</description></item>
|
|
12
|
+
/// <item><description><see cref="Messages.ITargetedMessage"/> -- commands or events directed at a specific target.</description></item>
|
|
13
|
+
/// <item><description><see cref="Messages.IBroadcastMessage"/> -- events emitted by a specific source and consumable by any listener.</description></item>
|
|
14
14
|
/// </list>
|
|
15
15
|
/// <para>
|
|
16
16
|
/// Implementors typically use the generic variants (for example, <c>IUntargetedMessage<T></c>) on <c>struct</c> messages
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 7d57ad19529ae9d4eb2521c7f44af929
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 7d57ad19529ae9d4eb2521c7f44af929
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 41b061d3cfb2f244b9806bfda65e3fa3
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
11
|
-
assetBundleVariant:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 41b061d3cfb2f244b9806bfda65e3fa3
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
namespace DxMessaging.Core.Internal
|
|
2
|
+
{
|
|
3
|
+
/// <summary>
|
|
4
|
+
/// Const-int positions into <c>TypedHandler<T>._dispatchLinks[]</c>.
|
|
5
|
+
/// Indices are hand-written so call sites inline as immediate operands.
|
|
6
|
+
/// Array length and per-index <c>null</c>-ness are validated in DEBUG
|
|
7
|
+
/// builds via <c>TypedHandler<T>.ValidateSlotArrays()</c>.
|
|
8
|
+
/// </summary>
|
|
9
|
+
/// <remarks>
|
|
10
|
+
/// Positions are laid out in lex-(<c>Kind</c>, <c>Phase</c>, <c>Variant</c>) order:
|
|
11
|
+
/// Untargeted -> Targeted -> Broadcast within Kind, Handle before
|
|
12
|
+
/// PostProcess within Phase, and with-context before WithoutContext
|
|
13
|
+
/// within Variant. The xmldoc on each constant names the legacy
|
|
14
|
+
/// <c>TypedHandler<T></c> dispatch-link field whose storage role
|
|
15
|
+
/// the slot assumes in typed dispatch storage.
|
|
16
|
+
/// </remarks>
|
|
17
|
+
internal static class TypedDispatchLinkIndex
|
|
18
|
+
{
|
|
19
|
+
/// <summary>Legacy field: <c>_untargetedLink</c>.</summary>
|
|
20
|
+
public const int UntargetedHandle = 0;
|
|
21
|
+
|
|
22
|
+
/// <summary>Legacy field: <c>_untargetedPostLink</c>.</summary>
|
|
23
|
+
public const int UntargetedPostProcess = 1;
|
|
24
|
+
|
|
25
|
+
/// <summary>Legacy field: <c>_targetedLink</c>.</summary>
|
|
26
|
+
public const int TargetedHandle = 2;
|
|
27
|
+
|
|
28
|
+
/// <summary>Legacy field: <c>_targetedWithoutTargetingLink</c>.</summary>
|
|
29
|
+
public const int TargetedHandleWithoutContext = 3;
|
|
30
|
+
|
|
31
|
+
/// <summary>Legacy field: <c>_targetedPostLink</c>.</summary>
|
|
32
|
+
public const int TargetedPostProcess = 4;
|
|
33
|
+
|
|
34
|
+
/// <summary>Legacy field: <c>_targetedWithoutTargetingPostLink</c>.</summary>
|
|
35
|
+
public const int TargetedPostProcessWithoutContext = 5;
|
|
36
|
+
|
|
37
|
+
/// <summary>Legacy field: <c>_broadcastLink</c>.</summary>
|
|
38
|
+
public const int BroadcastHandle = 6;
|
|
39
|
+
|
|
40
|
+
/// <summary>Legacy field: <c>_broadcastWithoutSourceLink</c>.</summary>
|
|
41
|
+
public const int BroadcastHandleWithoutContext = 7;
|
|
42
|
+
|
|
43
|
+
/// <summary>Legacy field: <c>_broadcastPostLink</c>.</summary>
|
|
44
|
+
public const int BroadcastPostProcess = 8;
|
|
45
|
+
|
|
46
|
+
/// <summary>Legacy field: <c>_broadcastWithoutSourcePostLink</c>.</summary>
|
|
47
|
+
public const int BroadcastPostProcessWithoutContext = 9;
|
|
48
|
+
|
|
49
|
+
public const int Length = 10;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
namespace DxMessaging.Core.Internal
|
|
2
|
+
{
|
|
3
|
+
/// <summary>
|
|
4
|
+
/// Const-int positions into <c>TypedHandler<T>._globalSlots[]</c>.
|
|
5
|
+
/// Indices are hand-written so call sites inline as immediate operands.
|
|
6
|
+
/// Array length and per-index <c>null</c>-ness are validated in DEBUG
|
|
7
|
+
/// builds via <c>TypedHandler<T>.ValidateSlotArrays()</c>.
|
|
8
|
+
/// </summary>
|
|
9
|
+
/// <remarks>
|
|
10
|
+
/// Positions are laid out in lex-(<c>Kind</c>, <c>Variant</c>) order:
|
|
11
|
+
/// Untargeted -> Targeted -> Broadcast within Kind, Default before
|
|
12
|
+
/// Fast within Variant. The xmldoc on each constant names the legacy
|
|
13
|
+
/// <c>TypedHandler<T></c> field whose storage role the slot will
|
|
14
|
+
/// assume in typed global storage.
|
|
15
|
+
/// </remarks>
|
|
16
|
+
internal static class TypedGlobalSlotIndex
|
|
17
|
+
{
|
|
18
|
+
/// <summary>Legacy field: <c>_globalUntargetedHandlers</c>.</summary>
|
|
19
|
+
public const int UntargetedDefault = 0;
|
|
20
|
+
|
|
21
|
+
/// <summary>Legacy field: <c>_globalUntargetedFastHandlers</c>.</summary>
|
|
22
|
+
public const int UntargetedFast = 1;
|
|
23
|
+
|
|
24
|
+
/// <summary>Legacy field: <c>_globalTargetedHandlers</c>.</summary>
|
|
25
|
+
public const int TargetedDefault = 2;
|
|
26
|
+
|
|
27
|
+
/// <summary>Legacy field: <c>_globalTargetedFastHandlers</c>.</summary>
|
|
28
|
+
public const int TargetedFast = 3;
|
|
29
|
+
|
|
30
|
+
/// <summary>Legacy field: <c>_globalBroadcastHandlers</c>.</summary>
|
|
31
|
+
public const int BroadcastDefault = 4;
|
|
32
|
+
|
|
33
|
+
/// <summary>Legacy field: <c>_globalBroadcastFastHandlers</c>.</summary>
|
|
34
|
+
public const int BroadcastFast = 5;
|
|
35
|
+
|
|
36
|
+
public const int Length = 6;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
namespace DxMessaging.Core.Internal
|
|
2
|
+
{
|
|
3
|
+
/// <summary>
|
|
4
|
+
/// Const-int positions into <c>TypedHandler<T>._slots[]</c>. Indices
|
|
5
|
+
/// are hand-written so call sites inline as immediate operands. Array
|
|
6
|
+
/// length and per-index <c>null</c>-ness are validated in DEBUG builds via
|
|
7
|
+
/// <c>TypedHandler<T>.ValidateSlotArrays()</c>.
|
|
8
|
+
/// </summary>
|
|
9
|
+
/// <remarks>
|
|
10
|
+
/// Positions are laid out in lex-(<c>Kind</c>, <c>Phase</c>, <c>Variant</c>) order:
|
|
11
|
+
/// Untargeted -> Targeted -> Broadcast within Kind; Handle before
|
|
12
|
+
/// PostProcess within Phase; and Default -> Fast -> WithoutContext ->
|
|
13
|
+
/// WithoutContextFast within Variant. The xmldoc on each constant names
|
|
14
|
+
/// the legacy <c>TypedHandler<T></c> field whose storage role the
|
|
15
|
+
/// slot assumes in typed storage.
|
|
16
|
+
/// </remarks>
|
|
17
|
+
internal static class TypedSlotIndex
|
|
18
|
+
{
|
|
19
|
+
/// <summary>Legacy field: <c>_untargetedHandlers</c>.</summary>
|
|
20
|
+
public const int UntargetedHandleDefault = 0;
|
|
21
|
+
|
|
22
|
+
/// <summary>Legacy field: <c>_untargetedFastHandlers</c>.</summary>
|
|
23
|
+
public const int UntargetedHandleFast = 1;
|
|
24
|
+
|
|
25
|
+
/// <summary>Legacy field: <c>_untargetedPostProcessingHandlers</c>.</summary>
|
|
26
|
+
public const int UntargetedPostProcessDefault = 2;
|
|
27
|
+
|
|
28
|
+
/// <summary>Legacy field: <c>_untargetedPostProcessingFastHandlers</c>.</summary>
|
|
29
|
+
public const int UntargetedPostProcessFast = 3;
|
|
30
|
+
|
|
31
|
+
/// <summary>Legacy field: <c>_targetedHandlers</c>.</summary>
|
|
32
|
+
public const int TargetedHandleDefault = 4;
|
|
33
|
+
|
|
34
|
+
/// <summary>Legacy field: <c>_targetedFastHandlers</c>.</summary>
|
|
35
|
+
public const int TargetedHandleFast = 5;
|
|
36
|
+
|
|
37
|
+
/// <summary>Legacy field: <c>_targetedWithoutTargetingHandlers</c>.</summary>
|
|
38
|
+
public const int TargetedHandleWithoutContext = 6;
|
|
39
|
+
|
|
40
|
+
/// <summary>Legacy field: <c>_fastTargetedWithoutTargetingHandlers</c>.</summary>
|
|
41
|
+
public const int TargetedHandleWithoutContextFast = 7;
|
|
42
|
+
|
|
43
|
+
/// <summary>Legacy field: <c>_targetedPostProcessingHandlers</c>.</summary>
|
|
44
|
+
public const int TargetedPostProcessDefault = 8;
|
|
45
|
+
|
|
46
|
+
/// <summary>Legacy field: <c>_targetedPostProcessingFastHandlers</c>.</summary>
|
|
47
|
+
public const int TargetedPostProcessFast = 9;
|
|
48
|
+
|
|
49
|
+
/// <summary>Legacy field: <c>_targetedWithoutTargetingPostProcessingHandlers</c>.</summary>
|
|
50
|
+
public const int TargetedPostProcessWithoutContext = 10;
|
|
51
|
+
|
|
52
|
+
/// <summary>Legacy field: <c>_fastTargetedWithoutTargetingPostProcessingHandlers</c>.</summary>
|
|
53
|
+
public const int TargetedPostProcessWithoutContextFast = 11;
|
|
54
|
+
|
|
55
|
+
/// <summary>Legacy field: <c>_broadcastHandlers</c>.</summary>
|
|
56
|
+
public const int BroadcastHandleDefault = 12;
|
|
57
|
+
|
|
58
|
+
/// <summary>Legacy field: <c>_broadcastFastHandlers</c>.</summary>
|
|
59
|
+
public const int BroadcastHandleFast = 13;
|
|
60
|
+
|
|
61
|
+
/// <summary>Legacy field: <c>_broadcastWithoutSourceHandlers</c>.</summary>
|
|
62
|
+
public const int BroadcastHandleWithoutContext = 14;
|
|
63
|
+
|
|
64
|
+
/// <summary>Legacy field: <c>_fastBroadcastWithoutSourceHandlers</c>.</summary>
|
|
65
|
+
public const int BroadcastHandleWithoutContextFast = 15;
|
|
66
|
+
|
|
67
|
+
/// <summary>Legacy field: <c>_broadcastPostProcessingHandlers</c>.</summary>
|
|
68
|
+
public const int BroadcastPostProcessDefault = 16;
|
|
69
|
+
|
|
70
|
+
/// <summary>Legacy field: <c>_broadcastPostProcessingFastHandlers</c>.</summary>
|
|
71
|
+
public const int BroadcastPostProcessFast = 17;
|
|
72
|
+
|
|
73
|
+
/// <summary>Legacy field: <c>_broadcastWithoutSourcePostProcessingHandlers</c>.</summary>
|
|
74
|
+
public const int BroadcastPostProcessWithoutContext = 18;
|
|
75
|
+
|
|
76
|
+
/// <summary>Legacy field: <c>_fastBroadcastWithoutSourcePostProcessingHandlers</c>.</summary>
|
|
77
|
+
public const int BroadcastPostProcessWithoutContextFast = 19;
|
|
78
|
+
|
|
79
|
+
public const int Length = 20;
|
|
80
|
+
}
|
|
81
|
+
}
|