Использую GODOT 3 и не совсем понимаю, как мне правильно обрабатывать сигналы с клиента на сервере и возвращать результат обратно? Клиент и сервер реализуются как 2 отдельных GODOT приложения
Использую NetworkedMultiplayerENet
На клиенте есть функция _on_Start_button_pressed(), в которой мне необходимо вызвать функцию на сервере _create_room(), в которой я генерирую 4-х буквенный код.
Пробовал так:
Client:
-server.gd
func _ready():
get_tree().connect("connected_to_server", self, "_connected_to_server")
get_tree().connect("server_disconnected", self, "_server_disconnected")
get_tree().connect("connection_failed", self, "_connection_failed")
func join_server():
var client = NetworkedMultiplayerENet.new()
var err = client.create_client(SERVER_ADDRESS, 4242)
if err != OK:
print("Unable connect to server")
return
get_tree().network_peer = client
func _connected_to_server():
print("Connected to server")
func _server_disconnected():
print("Server disconnected")
func _connection_failed():
print("Connection failed")
-MainMenuUI.gd
func _ready():
Server.join_server()
func _on_StartGameButton_pressed():
rpc_id(1, "_create_room", username)
Server:
extends Node
func _ready():
with_multiplayerapi()
func with_multiplayerapi():
var server = NetworkedMultiplayerENet.new()
server.set_bind_ip("127.0.0.1")
var error = server.create_server(4242)
if error != OK:
print("Unable to start server: ", error)
return
get_tree().network_peer = server
get_tree().connect("network_peer_connected", self, "_player_connected")
get_tree().connect("network_peer_disconnected", self, "_player_disconnected")
print("Server started")
func _player_connected(id):
print("Player ", id, " connected to the server")
func _player_disconnected(id):
print("Player ", id, " disconnected from the server")
func _create_room(username):
#код функции