com.wallstop-studios.dxmessaging 1.0.6 → 2.0.0-rc02

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/Editor/Analyzers/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  2. package/Editor/Analyzers/Microsoft.CodeAnalysis.CSharp.dll.meta +33 -0
  3. package/Editor/Analyzers/Microsoft.CodeAnalysis.dll +0 -0
  4. package/Editor/Analyzers/Microsoft.CodeAnalysis.dll.meta +33 -0
  5. package/Editor/Analyzers/System.Reflection.Metadata.dll +0 -0
  6. package/Editor/Analyzers/System.Reflection.Metadata.dll.meta +33 -0
  7. package/Editor/Analyzers/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  8. package/Editor/Analyzers/WallstopStudios.DxMessaging.SourceGenerators.dll.meta +71 -0
  9. package/Editor/Analyzers.meta +8 -0
  10. package/Editor/SetupCscRsp.cs +146 -0
  11. package/Editor/SetupCscRsp.cs.meta +3 -0
  12. package/Editor/WallstopStudios.DxMessaging.Editor.asmdef +18 -0
  13. package/Editor/WallstopStudios.DxMessaging.Editor.asmdef.meta +7 -0
  14. package/README.md +43 -6
  15. package/Runtime/Core/Attributes/DxAutoMessageTypeAttribute.cs +9 -0
  16. package/Runtime/Core/Attributes/DxAutoMessageTypeAttribute.cs.meta +3 -0
  17. package/Runtime/Core/Attributes/DxBroadcastMessageAttribute.cs +10 -0
  18. package/Runtime/Core/Attributes/DxBroadcastMessageAttribute.cs.meta +3 -0
  19. package/Runtime/Core/Attributes/DxTargetedMessageAttribute.cs +10 -0
  20. package/Runtime/Core/Attributes/DxTargetedMessageAttribute.cs.meta +3 -0
  21. package/Runtime/Core/Attributes/DxUntargetedMessageAttribute.cs +10 -0
  22. package/Runtime/Core/Attributes/DxUntargetedMessageAttribute.cs.meta +3 -0
  23. package/Runtime/Core/Attributes.meta +3 -0
  24. package/Runtime/WallstopStudios.DxMessaging.asmdef +15 -17
  25. package/Runtime/WallstopStudios.DxMessaging.asmdef.meta +7 -7
  26. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxAutoMessageTypeGenerator.cs +75 -0
  27. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxAutoMessageTypeGenerator.cs.meta +11 -0
  28. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxBroadcastMessageGenerator.cs +77 -0
  29. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxBroadcastMessageGenerator.cs.meta +3 -0
  30. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxTargetedMessageGenerator.cs +77 -0
  31. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxTargetedMessageGenerator.cs.meta +3 -0
  32. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxUntargetedMessageGenerator.cs +78 -0
  33. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxUntargetedMessageGenerator.cs.meta +3 -0
  34. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.csproj +21 -0
  35. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.csproj.meta +7 -0
  36. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.meta +8 -0
  37. package/SourceGenerators.meta +8 -0
  38. package/Tests/Runtime/Core/NominalTests.cs +127 -77
  39. package/Tests/Runtime/Core/RegistrationTests.cs +56 -106
  40. package/Tests/Runtime/Scripts/Messages/ComplexTargetedMessage.cs +4 -2
  41. package/Tests/Runtime/Scripts/Messages/SimpleBroadcastMessage.cs +3 -3
  42. package/Tests/Runtime/Scripts/Messages/SimpleTargetedMessage.cs +4 -4
  43. package/Tests/Runtime/Scripts/Messages/SimpleUntargetedMessage.cs +3 -3
  44. package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.asmdef +1 -1
  45. package/package.json +3 -3
@@ -536,17 +536,23 @@ namespace DxMessaging.Tests.Runtime.Core
536
536
  }
537
537
 
538
538
  // Double register to ensure no bugs
539
- MessageRegistrationHandle untargetedInterceptor1 = token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptor);
539
+ MessageRegistrationHandle untargetedInterceptor1 =
540
+ token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptor);
540
541
  handles.Add(untargetedInterceptor1);
541
- MessageRegistrationHandle untargetedInterceptor2 = token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptor);
542
+ MessageRegistrationHandle untargetedInterceptor2 =
543
+ token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptor);
542
544
  handles.Add(untargetedInterceptor2);
543
- MessageRegistrationHandle targetedInterceptor1 = token.RegisterTargetedInterceptor<SimpleTargetedMessage>(TargetedInterceptor);
545
+ MessageRegistrationHandle targetedInterceptor1 =
546
+ token.RegisterTargetedInterceptor<SimpleTargetedMessage>(TargetedInterceptor);
544
547
  handles.Add(targetedInterceptor1);
545
- MessageRegistrationHandle targetedInterceptor2 = token.RegisterTargetedInterceptor<SimpleTargetedMessage>(TargetedInterceptor);
548
+ MessageRegistrationHandle targetedInterceptor2 =
549
+ token.RegisterTargetedInterceptor<SimpleTargetedMessage>(TargetedInterceptor);
546
550
  handles.Add(targetedInterceptor2);
547
- MessageRegistrationHandle broadcastInterceptor1 = token.RegisterBroadcastInterceptor<SimpleBroadcastMessage>(BroadcastInterceptor);
551
+ MessageRegistrationHandle broadcastInterceptor1 =
552
+ token.RegisterBroadcastInterceptor<SimpleBroadcastMessage>(BroadcastInterceptor);
548
553
  handles.Add(broadcastInterceptor1);
549
- MessageRegistrationHandle broadcastInterceptor2 = token.RegisterBroadcastInterceptor<SimpleBroadcastMessage>(BroadcastInterceptor);
554
+ MessageRegistrationHandle broadcastInterceptor2 =
555
+ token.RegisterBroadcastInterceptor<SimpleBroadcastMessage>(BroadcastInterceptor);
550
556
  handles.Add(broadcastInterceptor2);
551
557
 
552
558
  void RunTest(Action emitMessage, Func<int> count)
@@ -677,6 +683,7 @@ namespace DxMessaging.Tests.Runtime.Core
677
683
  {
678
684
  Assert.AreEqual(lastSeenTargetedCount + 1, targetedCount);
679
685
  }
686
+
680
687
  lastSeenTargetedCount = targetedCount;
681
688
  break;
682
689
  }
@@ -694,6 +701,7 @@ namespace DxMessaging.Tests.Runtime.Core
694
701
  Assert.Fail("Unexpected Object type - {0}.", target.Object?.GetType());
695
702
  break;
696
703
  }
704
+
697
705
  Assert.AreEqual(expectedTargetedWithoutTargetingCount, targetedCount + componentTargetedCount);
698
706
  }
699
707
 
@@ -713,6 +721,7 @@ namespace DxMessaging.Tests.Runtime.Core
713
721
  {
714
722
  return;
715
723
  }
724
+
716
725
  Assert.AreEqual(lastSeenComponentBroadcastCount + 1, componentBroadcastCount);
717
726
  }
718
727
 
@@ -726,6 +735,7 @@ namespace DxMessaging.Tests.Runtime.Core
726
735
  {
727
736
  Assert.AreEqual(lastSeenBroadcastCount + 1, broadcastCount);
728
737
  }
738
+
729
739
  lastSeenBroadcastCount = broadcastCount;
730
740
  break;
731
741
  }
@@ -743,6 +753,7 @@ namespace DxMessaging.Tests.Runtime.Core
743
753
  Assert.Fail("Unexpected Object type - {0}.", source.Object?.GetType());
744
754
  break;
745
755
  }
756
+
746
757
  Assert.AreEqual(expectedBroadcastWithoutSourceCount, broadcastCount + componentBroadcastCount);
747
758
  }
748
759
 
@@ -910,7 +921,8 @@ namespace DxMessaging.Tests.Runtime.Core
910
921
  HashSet<MessageRegistrationHandle> handles = new();
911
922
  try
912
923
  {
913
- MessageRegistrationHandle firstHandle = token.RegisterGlobalAcceptAll(HandleUntargeted, HandleTargeted, HandleBroadcast);
924
+ MessageRegistrationHandle firstHandle = token.RegisterGlobalAcceptAll(
925
+ HandleUntargeted, HandleTargeted, HandleBroadcast);
914
926
  _ = handles.Add(firstHandle);
915
927
 
916
928
  // Untargeted
@@ -1000,7 +1012,8 @@ namespace DxMessaging.Tests.Runtime.Core
1000
1012
  Assert.AreEqual(0, fastBroadcastCount);
1001
1013
 
1002
1014
  component.enabled = true;
1003
- MessageRegistrationHandle secondHandle = token.RegisterGlobalAcceptAll(HandleUntargeted, HandleTargeted, HandleBroadcast);
1015
+ MessageRegistrationHandle secondHandle = token.RegisterGlobalAcceptAll(
1016
+ HandleUntargeted, HandleTargeted, HandleBroadcast);
1004
1017
  _ = handles.Add(secondHandle);
1005
1018
  untargetedMessage.EmitUntargeted();
1006
1019
  targetedMessage.EmitGameObjectTargeted(test);
@@ -1014,7 +1027,8 @@ namespace DxMessaging.Tests.Runtime.Core
1014
1027
  Assert.AreEqual(0, fastTargetedCount);
1015
1028
  Assert.AreEqual(0, fastBroadcastCount);
1016
1029
 
1017
- MessageRegistrationHandle thirdHandle = token.RegisterGlobalAcceptAll(HandleFastUntargeted, HandleFastTargeted, HandleFastBroadcast);
1030
+ MessageRegistrationHandle thirdHandle = token.RegisterGlobalAcceptAll(
1031
+ HandleFastUntargeted, HandleFastTargeted, HandleFastBroadcast);
1018
1032
  _ = handles.Add(thirdHandle);
1019
1033
  untargetedMessage.EmitUntargeted();
1020
1034
  targetedMessage.EmitGameObjectTargeted(test);
@@ -1028,7 +1042,8 @@ namespace DxMessaging.Tests.Runtime.Core
1028
1042
  Assert.AreEqual(2, fastTargetedCount);
1029
1043
  Assert.AreEqual(2, fastBroadcastCount);
1030
1044
 
1031
- MessageRegistrationHandle fourthHandle = token.RegisterGlobalAcceptAll(HandleFastUntargeted, HandleFastTargeted, HandleFastBroadcast);
1045
+ MessageRegistrationHandle fourthHandle = token.RegisterGlobalAcceptAll(
1046
+ HandleFastUntargeted, HandleFastTargeted, HandleFastBroadcast);
1032
1047
  _ = handles.Add(fourthHandle);
1033
1048
  untargetedMessage.EmitUntargeted();
1034
1049
  targetedMessage.EmitGameObjectTargeted(test);
@@ -1074,6 +1089,7 @@ namespace DxMessaging.Tests.Runtime.Core
1074
1089
  try
1075
1090
  {
1076
1091
  int seenCount = 0;
1092
+
1077
1093
  bool UntargetedInterceptorFirstPriority(ref SimpleUntargetedMessage message)
1078
1094
  {
1079
1095
  return seenCount++ % 3 == 0;
@@ -1090,6 +1106,7 @@ namespace DxMessaging.Tests.Runtime.Core
1090
1106
  }
1091
1107
 
1092
1108
  int interceptorRunCount = 0;
1109
+
1093
1110
  bool UntargetedInterceptorFourthPriority(ref SimpleUntargetedMessage message)
1094
1111
  {
1095
1112
  // We should be running close to first and last
@@ -1097,18 +1114,29 @@ namespace DxMessaging.Tests.Runtime.Core
1097
1114
  {
1098
1115
  return seenCount % 3 == 0;
1099
1116
  }
1117
+
1100
1118
  return true;
1101
1119
  }
1102
1120
 
1103
- MessageRegistrationHandle secondInterceptor = token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptorSecondPriority, 100);
1121
+ MessageRegistrationHandle secondInterceptor =
1122
+ token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(
1123
+ UntargetedInterceptorSecondPriority, 100);
1104
1124
  _ = handles.Add(secondInterceptor);
1105
- MessageRegistrationHandle thirdInterceptor = token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptorThirdPriority, 101);
1125
+ MessageRegistrationHandle thirdInterceptor =
1126
+ token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(
1127
+ UntargetedInterceptorThirdPriority, 101);
1106
1128
  _ = handles.Add(thirdInterceptor);
1107
- MessageRegistrationHandle firstInterceptor = token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptorFirstPriority, -1);
1129
+ MessageRegistrationHandle firstInterceptor =
1130
+ token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(
1131
+ UntargetedInterceptorFirstPriority, -1);
1108
1132
  _ = handles.Add(firstInterceptor);
1109
- MessageRegistrationHandle fourthInterceptorFirstPriority = token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptorFourthPriority, -1);
1133
+ MessageRegistrationHandle fourthInterceptorFirstPriority =
1134
+ token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(
1135
+ UntargetedInterceptorFourthPriority, -1);
1110
1136
  _ = handles.Add(fourthInterceptorFirstPriority);
1111
- MessageRegistrationHandle fourthInterceptorSecondPriority = token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptorFourthPriority, 102);
1137
+ MessageRegistrationHandle fourthInterceptorSecondPriority =
1138
+ token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(
1139
+ UntargetedInterceptorFourthPriority, 102);
1112
1140
  _ = handles.Add(fourthInterceptorSecondPriority);
1113
1141
 
1114
1142
  SimpleUntargetedMessage message = new();
@@ -1122,7 +1150,9 @@ namespace DxMessaging.Tests.Runtime.Core
1122
1150
  Assert.AreEqual(4, interceptorRunCount);
1123
1151
  seen = false;
1124
1152
 
1125
- MessageRegistrationHandle doubleRegistrationOne = token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(UntargetedInterceptorFirstPriority, -1);
1153
+ MessageRegistrationHandle doubleRegistrationOne =
1154
+ token.RegisterUntargetedInterceptor<SimpleUntargetedMessage>(
1155
+ UntargetedInterceptorFirstPriority, -1);
1126
1156
  _ = handles.Add(doubleRegistrationOne);
1127
1157
  message.EmitUntargeted();
1128
1158
  Assert.IsTrue(seen);
@@ -1179,7 +1209,8 @@ namespace DxMessaging.Tests.Runtime.Core
1179
1209
 
1180
1210
  SimpleUntargetedMessage message = new();
1181
1211
  int expectedCallCount = 0;
1182
- Run(() => new[] { token.RegisterUntargeted<SimpleUntargetedMessage>(HandleUntargeted) },
1212
+ Run(
1213
+ () => new[] { token.RegisterUntargeted<SimpleUntargetedMessage>(HandleUntargeted) },
1183
1214
  () => message.EmitUntargeted(),
1184
1215
  () =>
1185
1216
  {
@@ -1195,7 +1226,8 @@ namespace DxMessaging.Tests.Runtime.Core
1195
1226
 
1196
1227
  callCount = 0;
1197
1228
  expectedCallCount = 0;
1198
- Run(() => new[] { token.RegisterUntargeted<SimpleUntargetedMessage>(HandleFastUntargeted) },
1229
+ Run(
1230
+ () => new[] { token.RegisterUntargeted<SimpleUntargetedMessage>(HandleFastUntargeted) },
1199
1231
  () => message.EmitUntargeted(),
1200
1232
  () =>
1201
1233
  {
@@ -1211,16 +1243,18 @@ namespace DxMessaging.Tests.Runtime.Core
1211
1243
 
1212
1244
  callCount = 0;
1213
1245
  fastCallCount = 0;
1214
- Run(() =>
1246
+ Run(
1247
+ () =>
1215
1248
  {
1216
- return new[] { token.RegisterUntargeted<SimpleUntargetedMessage>(HandleFastUntargeted), token.RegisterUntargeted<SimpleUntargetedMessage>(HandleUntargeted) };
1249
+ return new[]
1250
+ {
1251
+ token.RegisterUntargeted<SimpleUntargetedMessage>(HandleFastUntargeted),
1252
+ token.RegisterUntargeted<SimpleUntargetedMessage>(HandleUntargeted)
1253
+ };
1217
1254
  },
1218
1255
  () => message.EmitUntargeted(),
1219
1256
  () => { },
1220
- () =>
1221
- {
1222
- Assert.AreNotEqual(callCount, fastCallCount);
1223
- },
1257
+ () => { Assert.AreNotEqual(callCount, fastCallCount); },
1224
1258
  token);
1225
1259
 
1226
1260
  yield break;
@@ -1251,7 +1285,8 @@ namespace DxMessaging.Tests.Runtime.Core
1251
1285
 
1252
1286
  SimpleTargetedMessage message = new();
1253
1287
  int expectedCallCount = 0;
1254
- Run(() => new[] { token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleTargeted) },
1288
+ Run(
1289
+ () => new[] { token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleTargeted) },
1255
1290
  () =>
1256
1291
  {
1257
1292
  message.EmitComponentTargeted(component);
@@ -1271,7 +1306,8 @@ namespace DxMessaging.Tests.Runtime.Core
1271
1306
 
1272
1307
  callCount = 0;
1273
1308
  expectedCallCount = 0;
1274
- Run(() => new[] { token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleFastTargeted) },
1309
+ Run(
1310
+ () => new[] { token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleFastTargeted) },
1275
1311
  () =>
1276
1312
  {
1277
1313
  message.EmitComponentTargeted(component);
@@ -1291,56 +1327,62 @@ namespace DxMessaging.Tests.Runtime.Core
1291
1327
 
1292
1328
  callCount = 0;
1293
1329
  fastCallCount = 0;
1294
- Run(() =>
1295
- {
1296
- return new[] { token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleFastTargeted), token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleTargeted) };
1297
- },
1330
+ Run(
1298
1331
  () =>
1299
1332
  {
1300
- message.EmitComponentTargeted(component);
1301
- message.EmitGameObjectTargeted(test);
1333
+ return new[]
1334
+ {
1335
+ token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleFastTargeted),
1336
+ token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleTargeted)
1337
+ };
1302
1338
  },
1303
- () => { },
1304
1339
  () =>
1305
1340
  {
1306
- Assert.AreNotEqual(callCount, fastCallCount);
1341
+ message.EmitComponentTargeted(component);
1342
+ message.EmitGameObjectTargeted(test);
1307
1343
  },
1344
+ () => { },
1345
+ () => { Assert.AreNotEqual(callCount, fastCallCount); },
1308
1346
  token);
1309
1347
 
1310
1348
  callCount = 0;
1311
1349
  fastCallCount = 0;
1312
- Run(() =>
1313
- {
1314
- return new[] { token.RegisterComponentTargeted<SimpleTargetedMessage>(component, HandleFastTargeted), token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleTargeted) };
1315
- },
1350
+ Run(
1316
1351
  () =>
1317
1352
  {
1318
- message.EmitComponentTargeted(component);
1319
- message.EmitGameObjectTargeted(test);
1353
+ return new[]
1354
+ {
1355
+ token.RegisterComponentTargeted<SimpleTargetedMessage>(component, HandleFastTargeted),
1356
+ token.RegisterGameObjectTargeted<SimpleTargetedMessage>(test, HandleTargeted)
1357
+ };
1320
1358
  },
1321
- () => { },
1322
1359
  () =>
1323
1360
  {
1324
- Assert.AreNotEqual(callCount, fastCallCount);
1361
+ message.EmitComponentTargeted(component);
1362
+ message.EmitGameObjectTargeted(test);
1325
1363
  },
1364
+ () => { },
1365
+ () => { Assert.AreNotEqual(callCount, fastCallCount); },
1326
1366
  token);
1327
1367
 
1328
1368
  callCount = 0;
1329
1369
  fastCallCount = 0;
1330
- Run(() =>
1331
- {
1332
- return new[] { token.RegisterComponentTargeted<SimpleTargetedMessage>(component, HandleFastTargeted), token.RegisterComponentTargeted<SimpleTargetedMessage>(component, HandleTargeted) };
1333
- },
1370
+ Run(
1334
1371
  () =>
1335
1372
  {
1336
- message.EmitComponentTargeted(component);
1337
- message.EmitGameObjectTargeted(test);
1373
+ return new[]
1374
+ {
1375
+ token.RegisterComponentTargeted<SimpleTargetedMessage>(component, HandleFastTargeted),
1376
+ token.RegisterComponentTargeted<SimpleTargetedMessage>(component, HandleTargeted)
1377
+ };
1338
1378
  },
1339
- () => { },
1340
1379
  () =>
1341
1380
  {
1342
- Assert.AreNotEqual(callCount, fastCallCount);
1381
+ message.EmitComponentTargeted(component);
1382
+ message.EmitGameObjectTargeted(test);
1343
1383
  },
1384
+ () => { },
1385
+ () => { Assert.AreNotEqual(callCount, fastCallCount); },
1344
1386
  token);
1345
1387
 
1346
1388
  yield break;
@@ -1370,7 +1412,8 @@ namespace DxMessaging.Tests.Runtime.Core
1370
1412
 
1371
1413
  SimpleBroadcastMessage message = new();
1372
1414
  int expectedCallCount = 0;
1373
- Run(() => new[] { token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleBroadcast) },
1415
+ Run(
1416
+ () => new[] { token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleBroadcast) },
1374
1417
  () =>
1375
1418
  {
1376
1419
  message.EmitComponentBroadcast(component);
@@ -1390,7 +1433,8 @@ namespace DxMessaging.Tests.Runtime.Core
1390
1433
 
1391
1434
  callCount = 0;
1392
1435
  expectedCallCount = 0;
1393
- Run(() => new[] { token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleFastBroadcast) },
1436
+ Run(
1437
+ () => new[] { token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleFastBroadcast) },
1394
1438
  () =>
1395
1439
  {
1396
1440
  message.EmitComponentBroadcast(component);
@@ -1410,59 +1454,65 @@ namespace DxMessaging.Tests.Runtime.Core
1410
1454
 
1411
1455
  callCount = 0;
1412
1456
  fastCallCount = 0;
1413
- Run(() =>
1414
- {
1415
- return new[] { token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleFastBroadcast), token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleBroadcast) };
1416
- },
1457
+ Run(
1417
1458
  () =>
1418
1459
  {
1419
- message.EmitComponentBroadcast(component);
1420
- message.EmitGameObjectBroadcast(test);
1460
+ return new[]
1461
+ {
1462
+ token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleFastBroadcast),
1463
+ token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleBroadcast)
1464
+ };
1421
1465
  },
1422
- () => { },
1423
1466
  () =>
1424
1467
  {
1425
- Assert.AreNotEqual(callCount, fastCallCount);
1468
+ message.EmitComponentBroadcast(component);
1469
+ message.EmitGameObjectBroadcast(test);
1426
1470
  },
1471
+ () => { },
1472
+ () => { Assert.AreNotEqual(callCount, fastCallCount); },
1427
1473
  token);
1428
1474
 
1429
1475
  callCount = 0;
1430
1476
  fastCallCount = 0;
1431
- Run(() =>
1432
- {
1433
- return new[] { token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleFastBroadcast), token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleBroadcast) };
1434
- },
1477
+ Run(
1435
1478
  () =>
1436
1479
  {
1437
- message.EmitComponentBroadcast(component);
1438
- message.EmitGameObjectBroadcast(test);
1480
+ return new[]
1481
+ {
1482
+ token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleFastBroadcast),
1483
+ token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleBroadcast)
1484
+ };
1439
1485
  },
1440
- () => { },
1441
1486
  () =>
1442
1487
  {
1443
- Assert.AreNotEqual(callCount, fastCallCount);
1488
+ message.EmitComponentBroadcast(component);
1489
+ message.EmitGameObjectBroadcast(test);
1444
1490
  },
1491
+ () => { },
1492
+ () => { Assert.AreNotEqual(callCount, fastCallCount); },
1445
1493
  token);
1446
1494
 
1447
1495
  callCount = 0;
1448
1496
  fastCallCount = 0;
1449
- Run(() =>
1450
- {
1451
- return new[] { token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleFastBroadcast), token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleBroadcast) };
1452
- },
1497
+ Run(
1453
1498
  () =>
1454
1499
  {
1455
- message.EmitComponentBroadcast(component);
1456
- message.EmitGameObjectBroadcast(test);
1500
+ return new[]
1501
+ {
1502
+ token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleFastBroadcast),
1503
+ token.RegisterGameObjectBroadcast<SimpleBroadcastMessage>(test, HandleBroadcast)
1504
+ };
1457
1505
  },
1458
- () => { },
1459
1506
  () =>
1460
1507
  {
1461
- Assert.AreNotEqual(callCount, fastCallCount);
1508
+ message.EmitComponentBroadcast(component);
1509
+ message.EmitGameObjectBroadcast(test);
1462
1510
  },
1511
+ () => { },
1512
+ () => { Assert.AreNotEqual(callCount, fastCallCount); },
1463
1513
  token);
1464
1514
 
1465
1515
  yield break;
1466
1516
  }
1467
1517
  }
1468
- }
1518
+ }