Internet/Local/Hotseat working (still need to test for bugs). ALso get an RPC error because we switch scene...

This commit is contained in:
Sch1nken 2024-03-24 03:30:54 +01:00
parent c95b8186ab
commit c4909db2a5
654 changed files with 18133 additions and 39 deletions

View file

@ -1,14 +1,63 @@
extends Node
@onready var ws_client = $WSClient
func create_enet_server(port: int) -> void:
# use timer to send udp broadcast packets to notify other LAN clients
pass
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()
func connect_with_webrtc() -> void:
pass
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()
func connect_with_enet() -> void:
pass
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
@ -17,5 +66,6 @@ func online_mode() -> void:
pass
func offline_mode() -> void:
GameData.peer_id = 1
multiplayer.multiplayer_peer = OfflineMultiplayerPeer.new()
pass