summaryrefslogtreecommitdiff
path: root/core/io/multiplayer_api.h
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2018-05-13 07:07:56 +0200
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2018-05-29 20:26:41 +0200
commit1400f6fdc444650ebf37c83bb4164e25e641bab1 (patch)
treeb90ceb3810e282de0caa8a9115e471a9776ead4e /core/io/multiplayer_api.h
parent46bab3abc71156cd2da95312368f2c72abe7b151 (diff)
Refactor RPCMode enum and checks
Diffstat (limited to 'core/io/multiplayer_api.h')
-rw-r--r--core/io/multiplayer_api.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/core/io/multiplayer_api.h b/core/io/multiplayer_api.h
index 64f59d32d8..f9284a0bde 100644
--- a/core/io/multiplayer_api.h
+++ b/core/io/multiplayer_api.h
@@ -87,6 +87,15 @@ 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
+ };
+
void poll();
void clear();
void set_root_node(Node *p_node);
@@ -117,4 +126,6 @@ public:
~MultiplayerAPI();
};
+VARIANT_ENUM_CAST(MultiplayerAPI::RPCMode);
+
#endif // MULTIPLAYER_PROTOCOL_H