summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/multiplayer/multiplayer_peer.cpp39
-rw-r--r--core/multiplayer/multiplayer_peer.h19
2 files changed, 42 insertions, 16 deletions
diff --git a/core/multiplayer/multiplayer_peer.cpp b/core/multiplayer/multiplayer_peer.cpp
index aace096275..3c33948e2f 100644
--- a/core/multiplayer/multiplayer_peer.cpp
+++ b/core/multiplayer/multiplayer_peer.cpp
@@ -53,6 +53,30 @@ uint32_t MultiplayerPeer::generate_unique_id() const {
return hash;
}
+void MultiplayerPeer::set_transfer_channel(int p_channel) {
+ transfer_channel = p_channel;
+}
+
+int MultiplayerPeer::get_transfer_channel() const {
+ return transfer_channel;
+}
+
+void MultiplayerPeer::set_transfer_mode(Multiplayer::TransferMode p_mode) {
+ transfer_mode = p_mode;
+}
+
+Multiplayer::TransferMode MultiplayerPeer::get_transfer_mode() const {
+ return transfer_mode;
+}
+
+void MultiplayerPeer::set_refuse_new_connections(bool p_enable) {
+ refuse_connections = p_enable;
+}
+
+bool MultiplayerPeer::is_refusing_new_connections() const {
+ return refuse_connections;
+}
+
void MultiplayerPeer::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_transfer_channel", "channel"), &MultiplayerPeer::set_transfer_channel);
ClassDB::bind_method(D_METHOD("get_transfer_channel"), &MultiplayerPeer::get_transfer_channel);
@@ -131,7 +155,7 @@ void MultiplayerPeerExtension::set_transfer_channel(int p_channel) {
if (GDVIRTUAL_CALL(_set_transfer_channel, p_channel)) {
return;
}
- WARN_PRINT_ONCE("MultiplayerPeerExtension::_set_transfer_channel is unimplemented!");
+ MultiplayerPeer::set_transfer_channel(p_channel);
}
int MultiplayerPeerExtension::get_transfer_channel() const {
@@ -139,15 +163,14 @@ int MultiplayerPeerExtension::get_transfer_channel() const {
if (GDVIRTUAL_CALL(_get_transfer_channel, channel)) {
return channel;
}
- WARN_PRINT_ONCE("MultiplayerPeerExtension::_get_transfer_channel is unimplemented!");
- return 0;
+ return MultiplayerPeer::get_transfer_channel();
}
void MultiplayerPeerExtension::set_transfer_mode(Multiplayer::TransferMode p_mode) {
if (GDVIRTUAL_CALL(_set_transfer_mode, p_mode)) {
return;
}
- WARN_PRINT_ONCE("MultiplayerPeerExtension::_set_transfer_mode is unimplemented!");
+ MultiplayerPeer::set_transfer_mode(p_mode);
}
Multiplayer::TransferMode MultiplayerPeerExtension::get_transfer_mode() const {
@@ -155,8 +178,7 @@ Multiplayer::TransferMode MultiplayerPeerExtension::get_transfer_mode() const {
if (GDVIRTUAL_CALL(_get_transfer_mode, mode)) {
return (Multiplayer::TransferMode)mode;
}
- WARN_PRINT_ONCE("MultiplayerPeerExtension::_get_transfer_mode is unimplemented!");
- return Multiplayer::TRANSFER_MODE_UNRELIABLE;
+ return MultiplayerPeer::get_transfer_mode();
}
void MultiplayerPeerExtension::set_target_peer(int p_peer_id) {
@@ -205,7 +227,7 @@ void MultiplayerPeerExtension::set_refuse_new_connections(bool p_enable) {
if (GDVIRTUAL_CALL(_set_refuse_new_connections, p_enable)) {
return;
}
- WARN_PRINT_ONCE("MultiplayerPeerExtension::_set_refuse_new_connections is unimplemented!");
+ MultiplayerPeer::set_refuse_new_connections(p_enable);
}
bool MultiplayerPeerExtension::is_refusing_new_connections() const {
@@ -213,8 +235,7 @@ bool MultiplayerPeerExtension::is_refusing_new_connections() const {
if (GDVIRTUAL_CALL(_is_refusing_new_connections, refusing)) {
return refusing;
}
- WARN_PRINT_ONCE("MultiplayerPeerExtension::_is_refusing_new_connections is unimplemented!");
- return false;
+ return MultiplayerPeer::is_refusing_new_connections();
}
MultiplayerPeer::ConnectionStatus MultiplayerPeerExtension::get_connection_status() const {
diff --git a/core/multiplayer/multiplayer_peer.h b/core/multiplayer/multiplayer_peer.h
index d8fdf62ada..126ba9e645 100644
--- a/core/multiplayer/multiplayer_peer.h
+++ b/core/multiplayer/multiplayer_peer.h
@@ -44,6 +44,11 @@ class MultiplayerPeer : public PacketPeer {
protected:
static void _bind_methods();
+private:
+ int transfer_channel = 0;
+ Multiplayer::TransferMode transfer_mode = Multiplayer::TRANSFER_MODE_RELIABLE;
+ bool refuse_connections = false;
+
public:
enum {
TARGET_PEER_BROADCAST = 0,
@@ -56,10 +61,13 @@ public:
CONNECTION_CONNECTED,
};
- virtual void set_transfer_channel(int p_channel) = 0;
- virtual int get_transfer_channel() const = 0;
- virtual void set_transfer_mode(Multiplayer::TransferMode p_mode) = 0;
- virtual Multiplayer::TransferMode get_transfer_mode() const = 0;
+ virtual void set_transfer_channel(int p_channel);
+ virtual int get_transfer_channel() const;
+ virtual void set_transfer_mode(Multiplayer::TransferMode p_mode);
+ virtual Multiplayer::TransferMode get_transfer_mode() const;
+ virtual void set_refuse_new_connections(bool p_enable);
+ virtual bool is_refusing_new_connections() const;
+
virtual void set_target_peer(int p_peer_id) = 0;
virtual int get_packet_peer() const = 0;
@@ -70,9 +78,6 @@ public:
virtual int get_unique_id() const = 0;
- virtual void set_refuse_new_connections(bool p_enable) = 0;
- virtual bool is_refusing_new_connections() const = 0;
-
virtual ConnectionStatus get_connection_status() const = 0;
uint32_t generate_unique_id() const;