Browse Source

MultiplayerAPI is_network_server Fails Silently

Removes the error message when the network peer is not valid and returns false instead.

This makes it simpler to make games that are both on/offline by replacing server checks of

'''
if is_instance_valid(get_tree().network_peer) and get_tree().is_network_server():
		# Do server things
'''

with

'''
if get_tree().is_network_server():
		# Do server things
'''

Requires no changes to the docs because both the MultiplayerAPI and SceneTree docs don't mention the error.

(cherry picked from commit 74379b15ff7f534730557836be901e3c8a3cd2f8)
Kyle 4 years ago
parent
commit
f218e9e929
1 changed files with 1 additions and 3 deletions
  1. 1 3
      core/io/multiplayer_api.cpp

+ 1 - 3
core/io/multiplayer_api.cpp

@@ -796,9 +796,7 @@ int MultiplayerAPI::get_network_unique_id() const {
 }
 
 bool MultiplayerAPI::is_network_server() const {
-	// XXX Maybe fail silently? Maybe should actually return true to make development of both local and online multiplayer easier?
-	ERR_FAIL_COND_V_MSG(!network_peer.is_valid(), false, "No network peer is assigned. I can't be a server.");
-	return network_peer->is_server();
+	return network_peer.is_valid() && network_peer->is_server();
 }
 
 void MultiplayerAPI::set_refuse_new_network_connections(bool p_refuse) {