feat: added except invoker target

This commit is contained in:
2022-11-13 18:53:56 +04:00
parent 3531432758
commit 3564eb2adc
2 changed files with 8 additions and 2 deletions
+1
View File
@@ -4,6 +4,7 @@ namespace Ragon.Common
{ {
Owner, Owner,
ExceptOwner, ExceptOwner,
ExceptInvoker,
All, All,
} }
} }
+7 -2
View File
@@ -81,7 +81,7 @@ public class Entity
serializer.WriteData(ref payload); serializer.WriteData(ref payload);
var sendData = serializer.ToArray(); var sendData = serializer.ToArray();
Send(targetMode, sendData); RouteEvent(peerId, targetMode, sendData);
} }
public void ReadState(uint peerId, RagonSerializer serializer) public void ReadState(uint peerId, RagonSerializer serializer)
@@ -208,7 +208,7 @@ public class Entity
_room.BroadcastToReady(sendData, DeliveryType.Reliable); _room.BroadcastToReady(sendData, DeliveryType.Reliable);
} }
void Send(RagonTarget targetMode, byte[] sendData) void RouteEvent(ushort peerId, RagonTarget targetMode, byte[] sendData)
{ {
switch (targetMode) switch (targetMode)
{ {
@@ -222,6 +222,11 @@ public class Entity
_room.BroadcastToReady(sendData, new [] { OwnerId }, DeliveryType.Reliable); _room.BroadcastToReady(sendData, new [] { OwnerId }, DeliveryType.Reliable);
break; break;
} }
case RagonTarget.ExceptInvoker:
{
_room.BroadcastToReady(sendData, new[] {peerId}, DeliveryType.Reliable);
break;
}
case RagonTarget.All: case RagonTarget.All:
{ {
_room.BroadcastToReady(sendData, DeliveryType.Reliable); _room.BroadcastToReady(sendData, DeliveryType.Reliable);