WIP: Trying to add multiplayer
This commit is contained in:
@ -28,7 +28,7 @@ const MAX_CONNECTIONS = 20
|
||||
var players_loaded = 0
|
||||
|
||||
var player_info = {"name": "Name"}
|
||||
var players = {}
|
||||
#var players = {}
|
||||
|
||||
func _on_host_pressed() -> void:
|
||||
var peer = ENetMultiplayerPeer.new()
|
||||
@ -36,8 +36,8 @@ func _on_host_pressed() -> void:
|
||||
if error:
|
||||
print(error)
|
||||
multiplayer.multiplayer_peer = peer
|
||||
|
||||
players[1] = player_info
|
||||
send_player_information.rpc("host", multiplayer.get_unique_id())
|
||||
ServerManager.Players[1] = player_info
|
||||
player_connected.emit(1, player_info)
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@ func load_game(game_scene_path):
|
||||
func player_loaded():
|
||||
if multiplayer.is_server():
|
||||
players_loaded += 1
|
||||
if players_loaded == players.size():
|
||||
if players_loaded == ServerManager.players.size():
|
||||
|
||||
players_loaded = 0
|
||||
|
||||
@ -71,23 +71,25 @@ func _on_join_pressed() -> void:
|
||||
|
||||
func _on_player_connected(id: Variant, player_info: Variant) -> void:
|
||||
print(player_info)
|
||||
send_player_information.rpc_id(1, "test", multiplayer.get_unique_id())
|
||||
_register_player.rpc_id(id, player_info)
|
||||
|
||||
@rpc("any_peer", "reliable")
|
||||
func _register_player(new_player_info):
|
||||
var new_player_id = multiplayer.get_remote_sender_id()
|
||||
players[new_player_id] = new_player_info
|
||||
player_connected.emit(new_player_id, new_player_info)
|
||||
pass
|
||||
#var new_player_id = multiplayer.get_remote_sender_id()
|
||||
#players[new_player_id] = new_player_info
|
||||
#player_connected.emit(new_player_id, new_player_info)
|
||||
|
||||
|
||||
func _on_player_disconnected(id: Variant) -> void:
|
||||
pass
|
||||
players.erase(id)
|
||||
ServerManager.Players.erase(id)
|
||||
player_disconnected.emit(id)
|
||||
|
||||
func _on_connected_ok():
|
||||
var peer_id = multiplayer.get_unique_id()
|
||||
players[peer_id] = player_info
|
||||
#ServerManager.players[peer_id] = player_info
|
||||
player_connected.emit(peer_id, player_info)
|
||||
|
||||
|
||||
@ -96,10 +98,20 @@ func _on_connected_fail():
|
||||
|
||||
func _on_server_disconnected() -> void:
|
||||
multiplayer.multiplayer_peer = null
|
||||
players.clear()
|
||||
ServerManager.Players.clear()
|
||||
server_disconnected.emit()
|
||||
|
||||
|
||||
@rpc("call_local", "any_peer")
|
||||
func send_player_information(name, id):
|
||||
if !ServerManager.Players.has(id):
|
||||
ServerManager.Players[id] = {
|
||||
"name": name,
|
||||
"id": id,
|
||||
"score": 0
|
||||
}
|
||||
if multiplayer.is_server():
|
||||
for i in ServerManager.Players:
|
||||
send_player_information.rpc(ServerManager.Players[i], name, i)
|
||||
|
||||
@rpc("call_local", "reliable", "any_peer")
|
||||
func start_game():
|
||||
|
Reference in New Issue
Block a user