diff --git a/scripts/autoload/GameLoopManager.gd b/scripts/autoload/GameLoopManager.gd index efc6d2b..b40e220 100644 --- a/scripts/autoload/GameLoopManager.gd +++ b/scripts/autoload/GameLoopManager.gd @@ -3,7 +3,13 @@ extends Node var peer: ENetMultiplayerPeer = ENetMultiplayerPeer.new() var max_player_num: int -var player_num: int +var player_num: int = 0 +var players_id: Array[int] +var players_data: Dictionary[int, Dictionary] +var reaction_area: Dictionary[int, Array] +var card_order: Array[int] +var deck_cards: Dictionary[String, int] +var max_hp: int func create_server(playern: int) -> void: max_player_num = playern @@ -34,12 +40,33 @@ func _on_peer_disconnected(id: int): func add_player(id: int) -> void: - pass + if player_num >= max_player_num: + return + player_num += 1 + players_data[id] = { + "id": id, + "nickname": "Player%d" % [player_num], + "cards": [], + "hp": max_hp, + } + reaction_area[id] = [] + players_id.append(id) func remove_player(id: int) -> void: - pass + player_num -= 1 + players_data.erase(id) + reaction_area.erase(id) + players_id.erase(id) -func start_game() -> void: +func server_start_game() -> void: + if player_num <= max_player_num: + return + if multiplayer.is_server(): + client_start_game.rpc() + + +@rpc("any_peer", "call_local", "reliable") +func client_start_game() -> void: pass