extends Node class_name ClientManager @export var prompt_select_night_action: Prompt @export var prompt_no_night_actions: Prompt @export var prompt_no_secret_chats: Prompt @export var prompt_view_team: Prompt @export var prompt_view_role: Prompt var player: WolfPlayer func set_player(player: Player): if player is WolfPlayer: self.player = player player.connect("role_changed", _player_role_changed) player.connect("team_changed", _player_team_changed) func _player_role_changed() -> void: $"../ActionButtons/ViewRoleButton".visible = player.role != null $"../ActionButtons/ViewRoleButton".visible = player.role != null func _player_team_changed() -> void: $"../ActionButtons/ViewTeamButton".visible = player.team != null func _on_night_actions_button_pressed() -> void: var prompt: Prompt var actions: Dictionary = player.get_night_actions() #var actions: Dictionary[String, NightAction] = player.get_night_actions() if !actions.is_empty(): prompt = prompt_select_night_action prompt.options.assign(actions.keys()) prompt.options.append("Cancel") var choose_action: Action = Action.new(prompt, night_action_chosen.bind(actions)) player.send_action(choose_action, false) else: prompt = prompt_no_night_actions player.send_prompt(prompt) func night_action_chosen(answer: String, pl: Player, options: Dictionary) -> bool: if options.has(answer): player.use_night_action.rpc_id(1,answer) return true func _on_werewolf_chat_button_pressed() -> void: player.send_prompt(prompt_no_secret_chats) func _on_view_team_button_pressed() -> void: if player != null and player.team != null: player.send_prompt(prompt_view_team.with_context({"team":player.team.name})) func _on_view_role_button_pressed() -> void: if player != null and player.role != null: player.send_prompt(prompt_view_role.with_context({"role":player.role.name}))