protected bool ReadStream(NetworkingPlayer sender, NetworkingStream stream)
{
if (IsServer)
{
if (stream.Receivers == NetworkReceivers.MessageGroup && Me.MessageGroup != stream.Sender.MessageGroup)
return true;
OnDataRead(sender, stream);
}
else
OnDataRead(null, stream);
// Don't execute this logic on the server if the server doesn't own the object
if (!ReferenceEquals(stream.NetworkedBehavior, null) && stream.Receivers == NetworkReceivers.Owner)
return true;
if (stream.identifierType == NetworkingStream.IdentifierType.RPC)
{
lock (rpcMutex)
{
if ((new NetworkingStreamRPC(stream)).FailedExecution)
return false;
}
}
return true;
}