diff options
Diffstat (limited to 'doc/classes')
-rw-r--r-- | doc/classes/EditorInspectorPlugin.xml | 2 | ||||
-rw-r--r-- | doc/classes/MultiplayerAPI.xml | 24 | ||||
-rw-r--r-- | doc/classes/Node.xml | 23 | ||||
-rw-r--r-- | doc/classes/OS.xml | 24 |
4 files changed, 45 insertions, 28 deletions
diff --git a/doc/classes/EditorInspectorPlugin.xml b/doc/classes/EditorInspectorPlugin.xml index c614575e8e..9bda768b14 100644 --- a/doc/classes/EditorInspectorPlugin.xml +++ b/doc/classes/EditorInspectorPlugin.xml @@ -40,7 +40,7 @@ </description> </method> <method name="can_handle" qualifiers="virtual"> - <return type="void"> + <return type="bool"> </return> <argument index="0" name="object" type="Object"> </argument> diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml index 7a7036c857..31904631a9 100644 --- a/doc/classes/MultiplayerAPI.xml +++ b/doc/classes/MultiplayerAPI.xml @@ -136,5 +136,29 @@ </signal> </signals> <constants> + <constant name="RPC_MODE_DISABLED" value="0" enum="RPCMode"> + Used with [method Node.rpc_config] or [method Node.rset_config] to disable a method or property for all RPC calls, making it unavailable. Default for all methods. + </constant> + <constant name="RPC_MODE_REMOTE" value="1" enum="RPCMode"> + Used with [method Node.rpc_config] or [method Node.rset_config] to set a method to be called or a property to be changed only on the remote end, not locally. Analogous to the [code]remote[/code] keyword. Calls and property changes are accepted from all remote peers, no matter if they are node's master or slaves. + </constant> + <constant name="RPC_MODE_SYNC" value="2" enum="RPCMode"> + Behave like [constant RPC_MODE_REMOTE] but also make the call or property change locally. Analogous to the [code]sync[/code] keyword. + </constant> + <constant name="RPC_MODE_MASTER" value="3" enum="RPCMode"> + Used with [method Node.rpc_config] or [method Node.rset_config] to set a method to be called or a property to be changed only on the network master for this node. Analogous to the [code]master[/code] keyword. Only accepts calls or property changes from the node's network slaves, see [method Node.set_network_master]. + </constant> + <constant name="RPC_MODE_SLAVE" value="4" enum="RPCMode"> + Used with [method Node.rpc_config] or [method Node.rset_config] to set a method to be called or a property to be changed only on slaves for this node. Analogous to the [code]slave[/code] keyword. Only accepts calls or property changes from the node's network master, see [method Node.set_network_master]. + </constant> + <constant name="RPC_MODE_REMOTESYNC" value="5" enum="RPCMode"> + Behave like [code]RPC_MODE_REMOTE[/code] but also make the call or property change locally. Same as [constant RPC_MODE_SYNC] which is only kept for compatibility. Analogous to the [code]remotesync[/code] keyword. + </constant> + <constant name="RPC_MODE_MASTERSYNC" value="6" enum="RPCMode"> + Behave like [code]RPC_MODE_MASTER[/code] but also make the call or property change locally. Analogous to the [code]mastersync[/code] keyword. + </constant> + <constant name="RPC_MODE_SLAVESYNC" value="7" enum="RPCMode"> + Behave like [code]RPC_MODE_SLAVE[/code] but also make the call or property change locally. Analogous to the [code]slavesync[/code] keyword. + </constant> </constants> </class> diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index 05ac6b1c0e..0fe576a39d 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -572,10 +572,10 @@ </return> <argument index="0" name="method" type="String"> </argument> - <argument index="1" name="mode" type="int" enum="Node.RPCMode"> + <argument index="1" name="mode" type="int" enum="MultiplayerAPI.RPCMode"> </argument> <description> - Changes the RPC mode for the given [code]method[/code] to the given [code]mode[/code]. See [enum RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]sync[/code], [code]master[/code], [code]slave[/code]). By default, methods are not exposed to networking (and RPCs). Also see [method rset] and [method rset_config] for properties. + Changes the RPC mode for the given [code]method[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]sync[/code], [code]master[/code], [code]slave[/code]). By default, methods are not exposed to networking (and RPCs). Also see [method rset] and [method rset_config] for properties. </description> </method> <method name="rpc_id" qualifiers="vararg"> @@ -625,10 +625,10 @@ </return> <argument index="0" name="property" type="String"> </argument> - <argument index="1" name="mode" type="int" enum="Node.RPCMode"> + <argument index="1" name="mode" type="int" enum="MultiplayerAPI.RPCMode"> </argument> <description> - Changes the RPC mode for the given [code]property[/code] to the given [code]mode[/code]. See [enum RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]sync[/code], [code]master[/code], [code]slave[/code]). By default, properties are not exposed to networking (and RPCs). Also see [method rpc] and [method rpc_config] for methods. + Changes the RPC mode for the given [code]property[/code] to the given [code]mode[/code]. See [enum MultiplayerAPI.RPCMode]. An alternative is annotating methods and properties with the corresponding keywords ([code]remote[/code], [code]sync[/code], [code]master[/code], [code]slave[/code]). By default, properties are not exposed to networking (and RPCs). Also see [method rpc] and [method rpc_config] for methods. </description> </method> <method name="rset_id"> @@ -860,21 +860,6 @@ <constant name="NOTIFICATION_INTERNAL_PHYSICS_PROCESS" value="26"> Notification received every frame when the internal physics process flag is set (see [method set_physics_process_internal]). </constant> - <constant name="RPC_MODE_DISABLED" value="0" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to disable a method or property for all RPC calls, making it unavailable. Default for all methods. - </constant> - <constant name="RPC_MODE_REMOTE" value="1" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to set a method to be called or a property to be changed only on the remote end, not locally. Analogous to the [code]remote[/code] keyword. - </constant> - <constant name="RPC_MODE_SYNC" value="2" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to set a method to be called or a property to be changed both on the remote end and locally. Analogous to the [code]sync[/code] keyword. - </constant> - <constant name="RPC_MODE_MASTER" value="3" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to set a method to be called or a property to be changed only on the network master for this node. Analogous to the [code]master[/code] keyword. See [method set_network_master]. - </constant> - <constant name="RPC_MODE_SLAVE" value="4" enum="RPCMode"> - Used with [method rpc_config] or [method rset_config] to set a method to be called or a property to be changed only on slaves for this node. Analogous to the [code]slave[/code] keyword. See [method set_network_master]. - </constant> <constant name="PAUSE_MODE_INHERIT" value="0" enum="PauseMode"> Inherits pause mode from the node's parent. For the root node, it is equivalent to PAUSE_MODE_STOP. Default. </constant> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index e4375cfb79..9505cad868 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -94,17 +94,24 @@ <argument index="3" name="output" type="Array" default="[ ]"> </argument> <description> - Execute the file at the given path, optionally blocking until it returns. - Platform path resolution will take place. The resolved file must exist and be executable. - Returns a process id. - For example: + Execute the file at the given path with the arguments passed as an array of strings. Platform path resolution will take place. The resolved file must exist and be executable. + The arguments are used in the given order and separated by a space, so [code]OS.execute('ping', ['-c', '3', 'godotengine.org'])[/code] will resolve to [code]ping -c 3 godotengine.org[/code] in the system's shell. + This method has slightly different behaviour based on whether the [code]blocking[/code] mode is enabled. + When [code]blocking[/code] is enabled, the Godot thread will pause its execution while waiting for the process to terminate. The shell output of the process will be written to the [code]output[/code] array as a single string. When the process terminates, the Godot thread will resume execution. + When [code]blocking[/code] is disabled, the Godot thread will continue while the new process runs. It is not possible to retrieve the shell output in non-blocking mode, so [code]output[/code] will be empty. + The return value also depends on the blocking mode. When blocking, the method will return -2 (no process ID information is available in blocking mode). When non-blocking, the method returns a process ID, which you can use to monitor the process (and potentially terminate it with [method kill]). If the process forking (non-blocking) or opening (blocking) fails, the method will return -1. + Example of blocking mode and retrieving the shell output: [codeblock] var output = [] - var pid = OS.execute('ls', [], true, output) + OS.execute('ls', ['-l', '/tmp'], true, output) [/codeblock] - If you wish to access a shell built-in or perform a composite command, a platform specific shell can be invoked. For example: + Example of non-blocking mode, running another instance of the project and storing its process ID: [codeblock] - var pid = OS.execute('CMD.exe', ['/C', 'cd %TEMP% && dir'], true, output) + var pid = OS.execute(OS.get_executable_path(), [], false) + [/codeblock] + If you wish to access a shell built-in or perform a composite command, a platform-specific shell can be invoked. For example: + [codeblock] + OS.execute('CMD.exe', ['/C', 'cd %TEMP% && dir'], true, output) [/codeblock] </description> </method> @@ -527,7 +534,8 @@ <argument index="0" name="pid" type="int"> </argument> <description> - Kill a process ID (this method can be used to kill processes that were not spawned by the game). + Kill (terminate) the process identified by the given process ID ([code]pid[/code]), e.g. the one returned by [method execute] in non-blocking mode. + Note that this method can also be used to kill processes that were not spawned by the game. </description> </method> <method name="native_video_is_playing"> |