com.wallstop-studios.dxmessaging 2.0.0-rc11 → 2.0.0-rc13
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 -63
- package/.github/workflows/npm-publish.yml +66 -0
- package/CHANGELOG.md.meta +7 -7
- package/Editor/Analyzers/Microsoft.CodeAnalysis.CSharp.dll.meta +33 -33
- package/Editor/Analyzers/Microsoft.CodeAnalysis.dll.meta +33 -33
- package/Editor/Analyzers/System.Reflection.Metadata.dll.meta +33 -33
- package/Editor/Analyzers/WallstopStudios.DxMessaging.SourceGenerators.dll.meta +71 -71
- package/Editor/Analyzers.meta +8 -8
- package/Editor/SetupCscRsp.cs +162 -146
- package/Editor/SetupCscRsp.cs.meta +2 -2
- package/Editor/WallstopStudios.DxMessaging.Editor.asmdef +17 -17
- package/Editor/WallstopStudios.DxMessaging.Editor.asmdef.meta +7 -7
- package/Editor.meta +8 -8
- package/LICENSE.md +6 -6
- package/LICENSE.md.meta +7 -7
- package/README.md +387 -363
- package/README.md.meta +7 -7
- package/Runtime/Core/Attributes/DxAutoMessageTypeAttribute.cs +7 -9
- package/Runtime/Core/Attributes/DxAutoMessageTypeAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/DxBroadcastMessageAttribute.cs +7 -10
- package/Runtime/Core/Attributes/DxBroadcastMessageAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/DxTargetedMessageAttribute.cs +7 -10
- package/Runtime/Core/Attributes/DxTargetedMessageAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes/DxUntargetedMessageAttribute.cs +7 -10
- package/Runtime/Core/Attributes/DxUntargetedMessageAttribute.cs.meta +2 -2
- package/Runtime/Core/Attributes.meta +2 -2
- package/Runtime/Core/Extensions/MessageExtensions.cs +342 -275
- package/Runtime/Core/Extensions/MessageExtensions.cs.meta +11 -11
- package/Runtime/Core/Extensions.meta +8 -8
- package/Runtime/Core/IMessage.cs +12 -12
- package/Runtime/Core/IMessage.cs.meta +11 -11
- package/Runtime/Core/InstanceId.cs +149 -149
- package/Runtime/Core/InstanceId.cs.meta +11 -11
- package/Runtime/Core/MessageBus/IMessageBus.cs +309 -309
- package/Runtime/Core/MessageBus/IMessageBus.cs.meta +11 -11
- package/Runtime/Core/MessageBus/MessageBus.cs +2243 -2084
- package/Runtime/Core/MessageBus/MessageBus.cs.meta +11 -11
- package/Runtime/Core/MessageBus/MessagingRegistration.cs +105 -100
- package/Runtime/Core/MessageBus/MessagingRegistration.cs.meta +11 -11
- package/Runtime/Core/MessageBus/RegistrationLog.cs +111 -111
- package/Runtime/Core/MessageBus/RegistrationLog.cs.meta +11 -11
- package/Runtime/Core/MessageBus.meta +8 -8
- package/Runtime/Core/MessageHandler.cs +2778 -2759
- package/Runtime/Core/MessageHandler.cs.meta +11 -11
- package/Runtime/Core/MessageRegistrationHandle.cs +110 -110
- package/Runtime/Core/MessageRegistrationHandle.cs.meta +11 -11
- package/Runtime/Core/MessageRegistrationToken.cs +1234 -1234
- package/Runtime/Core/MessageRegistrationToken.cs.meta +11 -11
- package/Runtime/Core/Messages/IBroadcastMessage.cs +27 -27
- package/Runtime/Core/Messages/IBroadcastMessage.cs.meta +11 -11
- package/Runtime/Core/Messages/ITargetedMessage.cs +27 -26
- package/Runtime/Core/Messages/ITargetedMessage.cs.meta +11 -11
- package/Runtime/Core/Messages/IUntargetedMessage.cs +27 -26
- package/Runtime/Core/Messages/IUntargetedMessage.cs.meta +11 -11
- package/Runtime/Core/Messages.meta +8 -8
- package/Runtime/Core/MessagingDebug.cs +70 -71
- package/Runtime/Core/MessagingDebug.cs.meta +11 -11
- package/Runtime/Core.meta +8 -8
- package/Runtime/Unity/MessageAwareComponent.cs +77 -77
- package/Runtime/Unity/MessageAwareComponent.cs.meta +11 -11
- package/Runtime/Unity/MessagingComponent.cs +99 -99
- package/Runtime/Unity/MessagingComponent.cs.meta +11 -11
- package/Runtime/Unity.meta +8 -8
- package/Runtime/WallstopStudios.DxMessaging.asmdef +15 -15
- package/Runtime.meta +8 -8
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxAutoMessageTypeGenerator.cs +92 -75
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxAutoMessageTypeGenerator.cs.meta +11 -11
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxBroadcastMessageGenerator.cs +94 -77
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxBroadcastMessageGenerator.cs.meta +2 -2
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxTargetedMessageGenerator.cs +94 -77
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxTargetedMessageGenerator.cs.meta +2 -2
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxUntargetedMessageGenerator.cs +94 -78
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxUntargetedMessageGenerator.cs.meta +2 -2
- package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.csproj +21 -21
- 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/Tests/Runtime/Benchmarks/PerformanceTests.cs +373 -310
- package/Tests/Runtime/Benchmarks/PerformanceTests.cs.meta +11 -11
- package/Tests/Runtime/Benchmarks.meta +8 -8
- package/Tests/Runtime/Core/BroadcastTests.cs +899 -899
- package/Tests/Runtime/Core/GlobalAcceptAllTests.cs +190 -169
- package/Tests/Runtime/Core/GlobalAcceptAllTests.cs.meta +11 -11
- package/Tests/Runtime/Core/MessagingTestBase.cs +185 -164
- package/Tests/Runtime/Core/MessagingTestBase.cs.meta +11 -11
- package/Tests/Runtime/Core/NominalTests.cs +1740 -1518
- package/Tests/Runtime/Core/PostProcessorTests.cs +1236 -849
- package/Tests/Runtime/Core/PostProcessorTests.cs.meta +11 -11
- package/Tests/Runtime/Core/RegistrationTests.cs +1266 -995
- package/Tests/Runtime/Core/RegistrationTests.cs.meta +11 -11
- package/Tests/Runtime/Core/TargetedTests.cs +888 -888
- package/Tests/Runtime/Core/TargetedTests.cs.meta +11 -11
- package/Tests/Runtime/Core/UntargetedTests.cs +272 -272
- package/Tests/Runtime/Core/UntargetedTests.cs.meta +11 -11
- package/Tests/Runtime/Scripts/Components/EmptyMessageAwareComponent.cs +9 -9
- package/Tests/Runtime/Scripts/Components/EmptyMessageAwareComponent.cs.meta +11 -11
- package/Tests/Runtime/Scripts/Components/SimpleMessageAwareComponent.cs +186 -140
- package/Tests/Runtime/Scripts/Messages/ComplexTargetedMessage.cs +30 -30
- package/Tests/Runtime/Scripts/Messages/SimpleBroadcastMessage.cs +8 -8
- package/Tests/Runtime/Scripts/Messages/SimpleTargetedMessage.cs +8 -8
- package/Tests/Runtime/Scripts/Messages/SimpleUntargetedMessage.cs +8 -8
- package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.asmdef +22 -22
- package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.csproj.meta +7 -7
- package/Tests.meta +8 -8
- package/Third Party Notices.md.meta +7 -7
- package/package.json +36 -36
- package/package.json.meta +7 -7
|
@@ -1,169 +1,190 @@
|
|
|
1
|
-
namespace DxMessaging.Tests.Runtime.Core
|
|
2
|
-
{
|
|
3
|
-
using
|
|
4
|
-
using
|
|
5
|
-
using
|
|
6
|
-
using
|
|
7
|
-
using DxMessaging.Core.
|
|
8
|
-
using
|
|
9
|
-
using
|
|
10
|
-
using Scripts.Messages;
|
|
11
|
-
using UnityEngine;
|
|
12
|
-
using UnityEngine.TestTools;
|
|
13
|
-
|
|
14
|
-
public sealed class GlobalAcceptAllTests : MessagingTestBase
|
|
15
|
-
{
|
|
16
|
-
private GameObject _test;
|
|
17
|
-
|
|
18
|
-
[UnitySetUp]
|
|
19
|
-
public override IEnumerator UnitySetup()
|
|
20
|
-
{
|
|
21
|
-
IEnumerator baseSetup = base.UnitySetup();
|
|
22
|
-
while (baseSetup.MoveNext())
|
|
23
|
-
{
|
|
24
|
-
yield return baseSetup.Current;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
_test = new(nameof(GlobalAcceptAllTests), typeof(EmptyMessageAwareComponent));
|
|
28
|
-
_spawned.Add(_test);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
[UnityTest]
|
|
32
|
-
public IEnumerator SimpleNormal()
|
|
33
|
-
{
|
|
34
|
-
int untargetedCount = 0;
|
|
35
|
-
int targetedCount = 0;
|
|
36
|
-
int broadcastCount = 0;
|
|
37
|
-
|
|
38
|
-
void HandleUntargeted(IUntargetedMessage message)
|
|
39
|
-
{
|
|
40
|
-
++untargetedCount;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
void HandleTargeted(InstanceId target, ITargetedMessage message)
|
|
44
|
-
{
|
|
45
|
-
++targetedCount;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
void HandleBroadcast(InstanceId source, IBroadcastMessage message)
|
|
49
|
-
{
|
|
50
|
-
++broadcastCount;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
SimpleUntargetedMessage untargetedMessage = new();
|
|
54
|
-
SimpleTargetedMessage targetedMessage = new();
|
|
55
|
-
SimpleBroadcastMessage broadcastMessage = new();
|
|
56
|
-
RunGlobalAcceptAllTest(
|
|
57
|
-
token =>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
{
|
|
65
|
-
Assert.AreEqual(i,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
Assert.AreEqual(i + 1,
|
|
138
|
-
},
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
1
|
+
namespace DxMessaging.Tests.Runtime.Core
|
|
2
|
+
{
|
|
3
|
+
using System;
|
|
4
|
+
using System.Collections;
|
|
5
|
+
using DxMessaging.Core;
|
|
6
|
+
using DxMessaging.Core.Extensions;
|
|
7
|
+
using DxMessaging.Core.Messages;
|
|
8
|
+
using NUnit.Framework;
|
|
9
|
+
using Scripts.Components;
|
|
10
|
+
using Scripts.Messages;
|
|
11
|
+
using UnityEngine;
|
|
12
|
+
using UnityEngine.TestTools;
|
|
13
|
+
|
|
14
|
+
public sealed class GlobalAcceptAllTests : MessagingTestBase
|
|
15
|
+
{
|
|
16
|
+
private GameObject _test;
|
|
17
|
+
|
|
18
|
+
[UnitySetUp]
|
|
19
|
+
public override IEnumerator UnitySetup()
|
|
20
|
+
{
|
|
21
|
+
IEnumerator baseSetup = base.UnitySetup();
|
|
22
|
+
while (baseSetup.MoveNext())
|
|
23
|
+
{
|
|
24
|
+
yield return baseSetup.Current;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
_test = new(nameof(GlobalAcceptAllTests), typeof(EmptyMessageAwareComponent));
|
|
28
|
+
_spawned.Add(_test);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
[UnityTest]
|
|
32
|
+
public IEnumerator SimpleNormal()
|
|
33
|
+
{
|
|
34
|
+
int untargetedCount = 0;
|
|
35
|
+
int targetedCount = 0;
|
|
36
|
+
int broadcastCount = 0;
|
|
37
|
+
|
|
38
|
+
void HandleUntargeted(IUntargetedMessage message)
|
|
39
|
+
{
|
|
40
|
+
++untargetedCount;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
void HandleTargeted(InstanceId target, ITargetedMessage message)
|
|
44
|
+
{
|
|
45
|
+
++targetedCount;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
void HandleBroadcast(InstanceId source, IBroadcastMessage message)
|
|
49
|
+
{
|
|
50
|
+
++broadcastCount;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
SimpleUntargetedMessage untargetedMessage = new();
|
|
54
|
+
SimpleTargetedMessage targetedMessage = new();
|
|
55
|
+
SimpleBroadcastMessage broadcastMessage = new();
|
|
56
|
+
RunGlobalAcceptAllTest(
|
|
57
|
+
token =>
|
|
58
|
+
token.RegisterGlobalAcceptAll(
|
|
59
|
+
HandleUntargeted,
|
|
60
|
+
HandleTargeted,
|
|
61
|
+
HandleBroadcast
|
|
62
|
+
),
|
|
63
|
+
i =>
|
|
64
|
+
{
|
|
65
|
+
Assert.AreEqual(i, untargetedCount);
|
|
66
|
+
untargetedMessage.EmitUntargeted();
|
|
67
|
+
Assert.AreEqual(i + 1, untargetedCount);
|
|
68
|
+
},
|
|
69
|
+
i =>
|
|
70
|
+
{
|
|
71
|
+
Assert.AreEqual(i, targetedCount);
|
|
72
|
+
if (_random.Next() % 2 == 0)
|
|
73
|
+
{
|
|
74
|
+
targetedMessage.EmitGameObjectTargeted(_test);
|
|
75
|
+
}
|
|
76
|
+
else
|
|
77
|
+
{
|
|
78
|
+
targetedMessage.EmitComponentTargeted(_test.transform);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
Assert.AreEqual(i + 1, targetedCount);
|
|
82
|
+
},
|
|
83
|
+
i =>
|
|
84
|
+
{
|
|
85
|
+
Assert.AreEqual(i, broadcastCount);
|
|
86
|
+
if (_random.Next() % 2 == 0)
|
|
87
|
+
{
|
|
88
|
+
broadcastMessage.EmitGameObjectBroadcast(_test);
|
|
89
|
+
}
|
|
90
|
+
else
|
|
91
|
+
{
|
|
92
|
+
broadcastMessage.EmitComponentBroadcast(_test.transform);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
Assert.AreEqual(i + 1, broadcastCount);
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
yield break;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
[UnityTest]
|
|
102
|
+
public IEnumerator SimpleNoCopy()
|
|
103
|
+
{
|
|
104
|
+
int untargetedCount = 0;
|
|
105
|
+
int targetedCount = 0;
|
|
106
|
+
int broadcastCount = 0;
|
|
107
|
+
|
|
108
|
+
void HandleUntargeted(ref IUntargetedMessage message)
|
|
109
|
+
{
|
|
110
|
+
++untargetedCount;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
void HandleTargeted(ref InstanceId target, ref ITargetedMessage message)
|
|
114
|
+
{
|
|
115
|
+
++targetedCount;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
void HandleBroadcast(ref InstanceId source, ref IBroadcastMessage message)
|
|
119
|
+
{
|
|
120
|
+
++broadcastCount;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
SimpleUntargetedMessage untargetedMessage = new();
|
|
124
|
+
SimpleTargetedMessage targetedMessage = new();
|
|
125
|
+
SimpleBroadcastMessage broadcastMessage = new();
|
|
126
|
+
RunGlobalAcceptAllTest(
|
|
127
|
+
token =>
|
|
128
|
+
token.RegisterGlobalAcceptAll(
|
|
129
|
+
HandleUntargeted,
|
|
130
|
+
HandleTargeted,
|
|
131
|
+
HandleBroadcast
|
|
132
|
+
),
|
|
133
|
+
i =>
|
|
134
|
+
{
|
|
135
|
+
Assert.AreEqual(i, untargetedCount);
|
|
136
|
+
untargetedMessage.EmitUntargeted();
|
|
137
|
+
Assert.AreEqual(i + 1, untargetedCount);
|
|
138
|
+
},
|
|
139
|
+
i =>
|
|
140
|
+
{
|
|
141
|
+
Assert.AreEqual(i, targetedCount);
|
|
142
|
+
if (_random.Next() % 2 == 0)
|
|
143
|
+
{
|
|
144
|
+
targetedMessage.EmitGameObjectTargeted(_test);
|
|
145
|
+
}
|
|
146
|
+
else
|
|
147
|
+
{
|
|
148
|
+
targetedMessage.EmitComponentTargeted(_test.transform);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
Assert.AreEqual(i + 1, targetedCount);
|
|
152
|
+
},
|
|
153
|
+
i =>
|
|
154
|
+
{
|
|
155
|
+
Assert.AreEqual(i, broadcastCount);
|
|
156
|
+
if (_random.Next() % 2 == 0)
|
|
157
|
+
{
|
|
158
|
+
broadcastMessage.EmitGameObjectBroadcast(_test);
|
|
159
|
+
}
|
|
160
|
+
else
|
|
161
|
+
{
|
|
162
|
+
broadcastMessage.EmitComponentBroadcast(_test.transform);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
Assert.AreEqual(i + 1, broadcastCount);
|
|
166
|
+
}
|
|
167
|
+
);
|
|
168
|
+
yield break;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
private void RunGlobalAcceptAllTest(
|
|
172
|
+
Action<MessageRegistrationToken> register,
|
|
173
|
+
Action<int> untargeted,
|
|
174
|
+
Action<int> targeted,
|
|
175
|
+
Action<int> broadcast
|
|
176
|
+
)
|
|
177
|
+
{
|
|
178
|
+
EmptyMessageAwareComponent component = _test.GetComponent<EmptyMessageAwareComponent>();
|
|
179
|
+
MessageRegistrationToken token = GetToken(component);
|
|
180
|
+
|
|
181
|
+
register(token);
|
|
182
|
+
for (int i = 0; i < 100; ++i)
|
|
183
|
+
{
|
|
184
|
+
untargeted(i);
|
|
185
|
+
targeted(i);
|
|
186
|
+
broadcast(i);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: bb71a31296155514799b53b4cb57f60f
|
|
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: bb71a31296155514799b53b4cb57f60f
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|