fix: connect EventBus signals in game_controller to eliminate unused signal warnings

This commit is contained in:
xiaji
2026-05-29 22:31:21 +08:00
parent c6e806a155
commit a1476b7df3
2 changed files with 139 additions and 130 deletions

View File

@@ -4,6 +4,8 @@
class_name GameController class_name GameController
extends Node extends Node
const _C = preload("res://src/core/constants.gd")
signal state_changed() signal state_changed()
signal turn_ready(player_idx: int, is_human: bool) signal turn_ready(player_idx: int, is_human: bool)
signal game_ended(winner_team: int, reason: String) signal game_ended(winner_team: int, reason: String)
@@ -66,8 +68,13 @@ func _apply_play(player_idx: int, play: HandEvaluator.EvaluatedPlay) -> void:
var hand: Array = game_state.get_hand(player_idx) var hand: Array = game_state.get_hand(player_idx)
if hand.is_empty() and not game_state.is_player_finished(player_idx): if hand.is_empty() and not game_state.is_player_finished(player_idx):
game_state.add_finished_player(player_idx) game_state.add_finished_player(player_idx)
EventBus.player_finished.emit(player_idx, game_state.finished_players.size())
if game_state.all_hands_empty(): if game_state.all_hands_empty():
_end_game() _end_game()
if play.type != -1:
EventBus.player_played_cards.emit(player_idx, play.type, play.cards)
if play.type == _C.TYPE_BOMB or play.type == _C.TYPE_ROCKET:
EventBus.bomb_detonated.emit(player_idx, play.primary_rank)
func _advance_turn() -> void: func _advance_turn() -> void:
var hand: Array = game_state.get_hand(game_state.round.active_player_idx) var hand: Array = game_state.get_hand(game_state.round.active_player_idx)
@@ -84,6 +91,7 @@ func _advance_turn() -> void:
_next_alive_player() _next_alive_player()
var current := game_state.round.active_player_idx var current := game_state.round.active_player_idx
turn_ready.emit(current, game_state.player_human[current]) turn_ready.emit(current, game_state.player_human[current])
EventBus.turn_changed.emit(current)
if not game_state.player_human[current]: if not game_state.player_human[current]:
_trigger_ai(current) _trigger_ai(current)
@@ -120,3 +128,4 @@ func _end_game() -> void:
game_state.current_winner_team = 0 if team_counts[0] > team_counts[1] else 1 game_state.current_winner_team = 0 if team_counts[0] > team_counts[1] else 1
game_state.game_end_reason = "NORMAL" game_state.game_end_reason = "NORMAL"
game_ended.emit(game_state.current_winner_team, "NORMAL") game_ended.emit(game_state.current_winner_team, "NORMAL")
EventBus.game_over.emit(game_state.current_winner_team, "NORMAL")