/ NetworkManager.gd
NetworkManager.gd
1 extends Node 2 3 const PORT = 7777 4 const MAX_PLAYERS = 10 5 6 @onready var connection_listener = $ConnectionListener 7 @onready var event_bus = get_node("/root/MainGame/EventBus") 8 9 func _ready(): 10 multiplayer.peer_connected.connect(_on_peer_connected) 11 multiplayer.peer_disconnected.connect(_on_peer_disconnected) 12 13 func _on_peer_connected(id: int): 14 if multiplayer.is_server(): 15 event_bus.client_joined.emit(id) 16 tLogger.info("Client joined: " + str(id)) 17 18 func _on_peer_disconnected(id): 19 if multiplayer.is_server(): 20 event_bus.emit_client_disconnected(id) 21 tLogger.info("Client disconnected: " + str(id)) 22 23 func host_game(): 24 var peer = ENetMultiplayerPeer.new() 25 var error = peer.create_server(PORT, MAX_PLAYERS) 26 if error == OK: 27 multiplayer.multiplayer_peer = peer 28 tLogger.info("Server started on port " + str(PORT)) 29 30 func join_game(address: String): 31 var peer = ENetMultiplayerPeer.new() 32 var error = peer.create_client(address, PORT) 33 if error == OK: 34 multiplayer.multiplayer_peer = peer 35 tLogger.info("Connecting to " + str(address))