com.wallstop-studios.dxmessaging 1.0.0-rc10
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/.gitattributes +63 -0
- package/CHANGELOG.md +0 -0
- package/CHANGELOG.md.meta +7 -0
- package/Editor.meta +8 -0
- package/LICENSE.md +7 -0
- package/LICENSE.md.meta +7 -0
- package/README.md +76 -0
- package/README.md.meta +7 -0
- package/Runtime/Core/Extensions/MessageExtensions.cs +275 -0
- package/Runtime/Core/Extensions/MessageExtensions.cs.meta +11 -0
- package/Runtime/Core/Extensions.meta +8 -0
- package/Runtime/Core/IMessage.cs +12 -0
- package/Runtime/Core/IMessage.cs.meta +11 -0
- package/Runtime/Core/InstanceId.cs +117 -0
- package/Runtime/Core/InstanceId.cs.meta +11 -0
- package/Runtime/Core/MessageBus/IMessageBus.cs +249 -0
- package/Runtime/Core/MessageBus/IMessageBus.cs.meta +11 -0
- package/Runtime/Core/MessageBus/MessageBus.cs +961 -0
- package/Runtime/Core/MessageBus/MessageBus.cs.meta +11 -0
- package/Runtime/Core/MessageBus/MessagingRegistration.cs +100 -0
- package/Runtime/Core/MessageBus/MessagingRegistration.cs.meta +11 -0
- package/Runtime/Core/MessageBus/RegistrationLog.cs +111 -0
- package/Runtime/Core/MessageBus/RegistrationLog.cs.meta +11 -0
- package/Runtime/Core/MessageBus.meta +8 -0
- package/Runtime/Core/MessageHandler.cs +1589 -0
- package/Runtime/Core/MessageHandler.cs.meta +11 -0
- package/Runtime/Core/MessageRegistrationHandle.cs +55 -0
- package/Runtime/Core/MessageRegistrationHandle.cs.meta +11 -0
- package/Runtime/Core/MessageRegistrationToken.cs +885 -0
- package/Runtime/Core/MessageRegistrationToken.cs.meta +11 -0
- package/Runtime/Core/Messages/IBroadcastMessage.cs +27 -0
- package/Runtime/Core/Messages/IBroadcastMessage.cs.meta +11 -0
- package/Runtime/Core/Messages/ITargetedMessage.cs +26 -0
- package/Runtime/Core/Messages/ITargetedMessage.cs.meta +11 -0
- package/Runtime/Core/Messages/IUntargetedMessage.cs +26 -0
- package/Runtime/Core/Messages/IUntargetedMessage.cs.meta +11 -0
- package/Runtime/Core/Messages.meta +8 -0
- package/Runtime/Core/MessagingDebug.cs +71 -0
- package/Runtime/Core/MessagingDebug.cs.meta +11 -0
- package/Runtime/Core.meta +8 -0
- package/Runtime/Unity/MessageAwareComponent.cs +77 -0
- package/Runtime/Unity/MessageAwareComponent.cs.meta +11 -0
- package/Runtime/Unity/MessagingComponent.cs +73 -0
- package/Runtime/Unity/MessagingComponent.cs.meta +11 -0
- package/Runtime/Unity.meta +8 -0
- package/Runtime/WallstopStudios.DxMessaging.asmdef +18 -0
- package/Runtime/WallstopStudios.DxMessaging.asmdef.meta +7 -0
- package/Runtime.meta +8 -0
- package/Tests/Editor/WallstopStudios.DxMessaging.Tests.Editor.asmdef +23 -0
- package/Tests/Editor/WallstopStudios.DxMessaging.Tests.Editor.asmdef.meta +7 -0
- package/Tests/Editor.meta +8 -0
- package/Tests/Runtime/Benchmarks/PerformanceTests.cs +196 -0
- package/Tests/Runtime/Benchmarks/PerformanceTests.cs.meta +11 -0
- package/Tests/Runtime/Benchmarks.meta +8 -0
- package/Tests/Runtime/Core/BroadcastTests.cs +600 -0
- package/Tests/Runtime/Core/BroadcastTests.cs.meta +11 -0
- package/Tests/Runtime/Core/GlobalAcceptAllTests.cs +169 -0
- package/Tests/Runtime/Core/GlobalAcceptAllTests.cs.meta +11 -0
- package/Tests/Runtime/Core/MessagingTestBase.cs +164 -0
- package/Tests/Runtime/Core/MessagingTestBase.cs.meta +11 -0
- package/Tests/Runtime/Core/NominalTests.cs +1468 -0
- package/Tests/Runtime/Core/NominalTests.cs.meta +11 -0
- package/Tests/Runtime/Core/PostProcessorTests.cs +849 -0
- package/Tests/Runtime/Core/PostProcessorTests.cs.meta +11 -0
- package/Tests/Runtime/Core/RegistrationTests.cs +1045 -0
- package/Tests/Runtime/Core/RegistrationTests.cs.meta +11 -0
- package/Tests/Runtime/Core/TargetedTests.cs +596 -0
- package/Tests/Runtime/Core/TargetedTests.cs.meta +11 -0
- package/Tests/Runtime/Core/UntargetedTests.cs +149 -0
- package/Tests/Runtime/Core/UntargetedTests.cs.meta +11 -0
- package/Tests/Runtime/Core.meta +8 -0
- package/Tests/Runtime/Scripts/Components/EmptyMessageAwareComponent.cs +9 -0
- package/Tests/Runtime/Scripts/Components/EmptyMessageAwareComponent.cs.meta +11 -0
- package/Tests/Runtime/Scripts/Components/SimpleMessageAwareComponent.cs +140 -0
- package/Tests/Runtime/Scripts/Components/SimpleMessageAwareComponent.cs.meta +11 -0
- package/Tests/Runtime/Scripts/Components.meta +8 -0
- package/Tests/Runtime/Scripts/Messages/ComplexTargetedMessage.cs +28 -0
- package/Tests/Runtime/Scripts/Messages/ComplexTargetedMessage.cs.meta +11 -0
- package/Tests/Runtime/Scripts/Messages/SimpleBroadcastMessage.cs +8 -0
- package/Tests/Runtime/Scripts/Messages/SimpleBroadcastMessage.cs.meta +11 -0
- package/Tests/Runtime/Scripts/Messages/SimpleTargetedMessage.cs +8 -0
- package/Tests/Runtime/Scripts/Messages/SimpleTargetedMessage.cs.meta +11 -0
- package/Tests/Runtime/Scripts/Messages/SimpleUntargetedMessage.cs +8 -0
- package/Tests/Runtime/Scripts/Messages/SimpleUntargetedMessage.cs.meta +11 -0
- package/Tests/Runtime/Scripts/Messages.meta +8 -0
- package/Tests/Runtime/Scripts.meta +8 -0
- package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.asmdef +22 -0
- package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.asmdef.meta +7 -0
- package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.csproj +1 -0
- package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.csproj.meta +7 -0
- package/Tests/Runtime.meta +8 -0
- package/Tests.meta +8 -0
- package/Third Party Notices.md +1 -0
- package/Third Party Notices.md.meta +7 -0
- package/package.json +36 -0
- package/package.json.meta +7 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
namespace DxMessaging.Core
|
|
2
|
+
{
|
|
3
|
+
using System;
|
|
4
|
+
using System.Threading;
|
|
5
|
+
|
|
6
|
+
public readonly struct MessageRegistrationHandle : IEquatable<MessageRegistrationHandle>, IComparable<MessageRegistrationHandle>
|
|
7
|
+
{
|
|
8
|
+
private static long StaticIdCount;
|
|
9
|
+
|
|
10
|
+
private readonly Guid _handle;
|
|
11
|
+
private readonly long _id;
|
|
12
|
+
private readonly int _hashCode;
|
|
13
|
+
|
|
14
|
+
public static MessageRegistrationHandle CreateMessageRegistrationHandle()
|
|
15
|
+
{
|
|
16
|
+
return new MessageRegistrationHandle(Guid.NewGuid(), Interlocked.Increment(ref StaticIdCount));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
private MessageRegistrationHandle(Guid handle, long id)
|
|
20
|
+
{
|
|
21
|
+
_handle = handle;
|
|
22
|
+
_id = id;
|
|
23
|
+
_hashCode = _handle.GetHashCode();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public override int GetHashCode()
|
|
27
|
+
{
|
|
28
|
+
return _hashCode;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public override bool Equals(object other)
|
|
32
|
+
{
|
|
33
|
+
return other is MessageRegistrationHandle handle && Equals(handle);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public bool Equals(MessageRegistrationHandle other)
|
|
37
|
+
{
|
|
38
|
+
return _id == other._id && _handle.Equals(other._handle);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public int CompareTo(MessageRegistrationHandle other)
|
|
42
|
+
{
|
|
43
|
+
return _id.CompareTo(other._id);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public override string ToString()
|
|
47
|
+
{
|
|
48
|
+
return new
|
|
49
|
+
{
|
|
50
|
+
Handle = _handle.ToString(),
|
|
51
|
+
Id = _id,
|
|
52
|
+
}.ToString();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|