diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/multiplayer/multiplayer_peer.cpp | 39 | ||||
-rw-r--r-- | core/multiplayer/multiplayer_peer.h | 19 |
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; |