BeardedManStudios.Network.SimpleNetworkedMonoBehavior.AuthRPC C# (CSharp) Метод

AuthRPC() приватный Метод

private AuthRPC ( string methodName, BeardedManStudios.Network.NetWorker socket, NetworkingPlayer player, bool runOnServer, string uniqueIdentifier, bool reliable ) : void
methodName string
socket BeardedManStudios.Network.NetWorker
player NetworkingPlayer
runOnServer bool
uniqueIdentifier string
reliable bool
Результат void
		private void AuthRPC(string methodName, NetWorker socket, NetworkingPlayer player, bool runOnServer, string uniqueIdentifier, bool reliable, params object[] arguments)
		{
			int rpcId = GetStreamRPC(methodName, NetworkReceivers.All, arguments);

			if (socket is CrossPlatformUDP)
				((CrossPlatformUDP)socket).Write(uniqueIdentifier + methodName, player, rpcNetworkingStream, reliable);
			else
				socket.Write(player, rpcNetworkingStream);

			if (socket.IsServer && runOnServer)
			{
				Unity.MainThreadManager.Run(() =>
				{
					bool failedValidate = false;

					foreach (IBRPCIntercept intercept in RPCs[rpcId].Value)
					{
						if (!intercept.ValidateRPC(RPCs[rpcId].Key))
						{
							failedValidate = true;
							break;
						}
					}

					if (!failedValidate)
						RPCs[rpcId].Key.Invoke(this, arguments);
				});
			}
		}