mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Merge pull request #71860 from GeroVeni/master
Improve docs for rpc annotations
This commit is contained in:
@@ -565,14 +565,22 @@
|
||||
</annotation>
|
||||
<annotation name="@rpc" qualifiers="vararg">
|
||||
<return type="void" />
|
||||
<param index="0" name="mode" type="String" default="""" />
|
||||
<param index="1" name="sync" type="String" default="""" />
|
||||
<param index="2" name="transfer_mode" type="String" default="""" />
|
||||
<param index="0" name="mode" type="String" default=""authority"" />
|
||||
<param index="1" name="sync" type="String" default=""call_remote"" />
|
||||
<param index="2" name="transfer_mode" type="String" default=""unreliable"" />
|
||||
<param index="3" name="transfer_channel" type="int" default="0" />
|
||||
<description>
|
||||
Mark the following method for remote procedure calls. See [url=$DOCS_URL/tutorials/networking/high_level_multiplayer.html]High-level multiplayer[/url].
|
||||
The order of [code]mode[/code], [code]sync[/code] and [code]transfer_mode[/code] does not matter and all arguments can be omitted, but [code]transfer_channel[/code] always has to be the last argument. The accepted values for [code]mode[/code] are [code]"any_peer"[/code] or [code]"authority"[/code], for [code]sync[/code] are [code]"call_remote"[/code] or [code]"call_local"[/code] and for [code]transfer_mode[/code] are [code]"unreliable"[/code], [code]"unreliable_ordered"[/code] or [code]"reliable"[/code].
|
||||
[codeblock]
|
||||
@rpc()
|
||||
@rpc
|
||||
func fn(): pass
|
||||
|
||||
@rpc(any_peer, unreliable_ordered)
|
||||
func fn_update_pos(): pass
|
||||
|
||||
@rpc(authority, call_remote, unreliable, 0) # Equivalent to @rpc
|
||||
func fn_default(): pass
|
||||
[/codeblock]
|
||||
</description>
|
||||
</annotation>
|
||||
|
||||
@@ -109,7 +109,7 @@ GDScriptParser::GDScriptParser() {
|
||||
// Warning annotations.
|
||||
register_annotation(MethodInfo("@warning_ignore", PropertyInfo(Variant::STRING, "warning")), AnnotationInfo::CLASS | AnnotationInfo::VARIABLE | AnnotationInfo::SIGNAL | AnnotationInfo::CONSTANT | AnnotationInfo::FUNCTION | AnnotationInfo::STATEMENT, &GDScriptParser::warning_annotations, varray(), true);
|
||||
// Networking.
|
||||
register_annotation(MethodInfo("@rpc", PropertyInfo(Variant::STRING, "mode"), PropertyInfo(Variant::STRING, "sync"), PropertyInfo(Variant::STRING, "transfer_mode"), PropertyInfo(Variant::INT, "transfer_channel")), AnnotationInfo::FUNCTION, &GDScriptParser::rpc_annotation, varray("", "", "", 0), true);
|
||||
register_annotation(MethodInfo("@rpc", PropertyInfo(Variant::STRING, "mode"), PropertyInfo(Variant::STRING, "sync"), PropertyInfo(Variant::STRING, "transfer_mode"), PropertyInfo(Variant::INT, "transfer_channel")), AnnotationInfo::FUNCTION, &GDScriptParser::rpc_annotation, varray("authority", "call_remote", "unreliable", 0), true);
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
is_ignoring_warnings = !(bool)GLOBAL_GET("debug/gdscript/warnings/enable");
|
||||
|
||||
Reference in New Issue
Block a user