extends Node @onready var ws_client = $WSClient func create_enet_server(port: int) -> void: var peer: ENetMultiplayerPeer = ENetMultiplayerPeer.new() peer.create_server(port, 1) multiplayer.multiplayer_peer = peer func close_enet_server() -> void: if multiplayer.multiplayer_peer is ENetMultiplayerPeer: multiplayer.multiplayer_peer.close() func disconnect_all() -> void: close_enet_server() close_enet_client() stop_webrtc() ws_client.stop() offline_mode() func stop_webrtc() -> void: if multiplayer.multiplayer_peer is WebRTCMultiplayerPeer: multiplayer.multiplayer_peer.close() ws_client.stop() offline_mode() func start_webrtc_lobby() -> void: if not multiplayer.multiplayer_peer is WebRTCMultiplayerPeer: disconnect_all() ws_client.rtc_mp = WebRTCMultiplayerPeer.new() if GameSettings.LOBBY_ENDPOINT.is_empty(): ws_client.start(GameSettings.DEFAULT_LOBBY_ENDPOINT) else: ws_client.start(GameSettings.LOBBY_ENDPOINT) func join_webrtc_lobby(lobby: String) -> void: if not multiplayer.multiplayer_peer is WebRTCMultiplayerPeer: disconnect_all() ws_client.rtc_mp = WebRTCMultiplayerPeer.new() if GameSettings.LOBBY_ENDPOINT.is_empty(): ws_client.start(GameSettings.DEFAULT_LOBBY_ENDPOINT, lobby) else: ws_client.start(GameSettings.LOBBY_ENDPOINT, lobby) func connect_with_enet(ip: String, port: int) -> void: var peer: ENetMultiplayerPeer = ENetMultiplayerPeer.new() peer.create_client(ip, port) multiplayer.multiplayer_peer = peer func close_enet_client() -> void: if multiplayer.multiplayer_peer is ENetMultiplayerPeer: multiplayer.multiplayer_peer.close() func lan_mode() -> void: pass func online_mode() -> void: pass func offline_mode() -> void: GameData.peer_id = 1 multiplayer.multiplayer_peer = OfflineMultiplayerPeer.new() pass