class_name ClientNetworking extends Node var peer: ENetMultiplayerPeer func start_client(address: String = "127.0.0.1", port: int = 8080) -> void: if peer: return push_warning("Client Starting... Address: ", address, " Port: ", port) peer = ENetMultiplayerPeer.new() peer.create_client(address, port) multiplayer.multiplayer_peer = peer multiplayer.connected_to_server.connect(client_connected_to_server) multiplayer.server_disconnected.connect(client_disconnected_from_server) multiplayer.connection_failed.connect(client_connection_failed_to_server) func client_connected_to_server() -> void: push_warning("Connected to server!") func close_connection() -> void: if not peer: return push_warning("Disconnected from, server...") unset_client() func client_disconnected_from_server() -> void: push_warning("Disconnected from, server...") func client_connection_failed_to_server() -> void: push_warning("Connection failed!") unset_client() func unset_client() -> void: if not peer: return multiplayer.connected_to_server.disconnect(client_connected_to_server) multiplayer.connection_failed.disconnect(client_connection_failed_to_server) multiplayer.server_disconnected.disconnect(client_disconnected_from_server) peer.close() peer = null