Nebula
Core

IRpcSink

Where RPCs and state changes go once a behaviour has produced them.

generated from the sources
public interface IRpcSink

Where RPCs and state changes go once a behaviour has produced them. Implemented by the worker and the client.

Methods

SendClientRpc

void SendClientRpc(NetworkIdentity identity, byte behaviourIndex, uint methodHash, ArraySegment<byte> args, ulong targetClientId, float radius);
void SendClientRpc(NetworkIdentity identity, byte behaviourIndex, uint methodHash, ArraySegment<byte> args, ulong targetClientId, float radius, Delivery delivery);

As SendClientRpc, on the given delivery class (ClientRpcAttribute.Delivery). The default forwards to the reliable overload, so a sink written before delivery classes existed keeps compiling and sends everything reliable.

SendServerRpc

void SendServerRpc(NetworkIdentity identity, byte behaviourIndex, uint methodHash, ArraySegment<byte> args);

SendAuthorityRpc

void SendAuthorityRpc(NetworkIdentity identity, byte behaviourIndex, uint methodHash, ArraySegment<byte> args);
ulong SendAuthorityRpc(NetworkIdentity identity, byte behaviourIndex, uint methodHash, ArraySegment<byte> args, Action<AuthorityCallResult> onDone, float timeoutSeconds);

As SendAuthorityRpc, with the outcome reported to onDone exactly once: the reply from the worker that decided the call, or AuthorityCallOutcome.TimedOut after timeoutSeconds. Returns the call id, or 0 when nothing was sent (the callback still runs, with the reason).

On this page