using System.Collections.Generic;
using Unity.Collections;
namespace Unity.Netcode
{
public struct ServerRpcSendParams
{
}
public struct ServerRpcReceiveParams
{
public ulong SenderClientId;
}
public struct ServerRpcParams
{
public ServerRpcSendParams Send;
public ServerRpcReceiveParams Receive;
}
public struct ClientRpcSendParams
{
///
/// IEnumerable version of target id list - use either this OR TargetClientIdsNativeArray
/// Note: Even if you provide a value type such as NativeArray, enumerating it will cause boxing.
/// If you want to avoid boxing, use TargetClientIdsNativeArray
///
public IReadOnlyList TargetClientIds;
///
/// NativeArray version of target id list - use either this OR TargetClientIds
/// This option avoids any GC allocations but is a bit trickier to use.
///
public NativeArray? TargetClientIdsNativeArray;
}
public struct ClientRpcReceiveParams
{
}
public struct ClientRpcParams
{
public ClientRpcSendParams Send;
public ClientRpcReceiveParams Receive;
}
#pragma warning disable IDE1006 // disable naming rule violation check
// RuntimeAccessModifiersILPP will make this `public`
internal struct __RpcParams
#pragma warning restore IDE1006 // restore naming rule violation check
{
public ServerRpcParams Server;
public ClientRpcParams Client;
}
}