diff options
author | Max Hilbrunner <mhilbrunner@users.noreply.github.com> | 2018-05-29 09:44:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-29 09:44:03 +0200 |
commit | d0b62ce1558766134ea2fc6bcf912e837d0ae40b (patch) | |
tree | a0ce8cb1d18ff5000d30bc854102cd7681ff474d /core/io/multiplayer_api.h | |
parent | e2bf28e80599d5bbe362410f2261a1abf495afa5 (diff) | |
parent | a5e8a3be5e0ed2e7c6b1a9cc5803d96391b180f3 (diff) | |
download | redot-engine-d0b62ce1558766134ea2fc6bcf912e837d0ae40b.tar.gz |
Merge pull request #19021 from Faless/rpc_sync_fix
RPCMode refactor, more sync modes
Diffstat (limited to 'core/io/multiplayer_api.h')
-rw-r--r-- | core/io/multiplayer_api.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/io/multiplayer_api.h b/core/io/multiplayer_api.h index 64f59d32d8..ef56c4c7f2 100644 --- a/core/io/multiplayer_api.h +++ b/core/io/multiplayer_api.h @@ -87,6 +87,18 @@ public: NETWORK_COMMAND_RAW, }; + enum RPCMode { + + RPC_MODE_DISABLED, // No rpc for this method, calls to this will be blocked (default) + RPC_MODE_REMOTE, // Using rpc() on it will call method / set property in all remote peers + RPC_MODE_SYNC, // Using rpc() on it will call method / set property in all remote peers and locally + RPC_MODE_MASTER, // Using rpc() on it will call method on wherever the master is, be it local or remote + RPC_MODE_SLAVE, // Using rpc() on it will call method for all slaves + RPC_MODE_REMOTESYNC, // Same as RPC_MODE_SYNC, compatibility + RPC_MODE_MASTERSYNC, // Using rpc() on it will call method / set property in the master peer and locally + RPC_MODE_SLAVESYNC, // Using rpc() on it will call method / set property in all slave peers and locally + }; + void poll(); void clear(); void set_root_node(Node *p_node); @@ -117,4 +129,6 @@ public: ~MultiplayerAPI(); }; +VARIANT_ENUM_CAST(MultiplayerAPI::RPCMode); + #endif // MULTIPLAYER_PROTOCOL_H |