- Move the "sync" property for RPCs to RPCConfig.
- Unify GDScript annotations into a single one:
- `@rpc(master)` # default
- `@rpc(puppet)`
- `@rpc(any)` # former `@remote`
- Implement three additional `@rpc` options:
- The second parameter is the "sync" option (which also calls the
function locally when RPCing). One of "sync", "nosync".
- The third parameter is the transfer mode (reliable, unreliable,
ordered).
- The third parameter is the channel (unused for now).
ERR_FAIL_COND_MSG(network_peer->get_connection_status()!=MultiplayerPeer::CONNECTION_CONNECTED,"Trying to call an RPC via a network peer which is not connected.");
vformat("Unable to get the RPC configuration for the function \"%s\" at path: \"%s\". This happens when the method is not marked for RPCs.",p_method,p_node->get_path()));
Used with [method Node.rpc_config] to set a method to be called or a property to be changed only on puppets for this node. Analogous to the [code]puppet[/code] keyword. Only accepts calls or property changes from the node's network master, see [method Node.set_network_master].
ERR_FAIL_COND_V_MSG(p_node->type!=Node::VARIABLE&&p_node->type!=Node::FUNCTION,false,vformat(R"("%s" annotation can only be applied to variables and functions.)",p_annotation->name));