feat(game): refactor ball state and turn handling

* Replace `valid_end` with `is_foul` for invalid ball sinks
* Rename and centralize ball state tracking
* Add ball finalization and win-condition hooks
* Update turn switching to retain the player after valid sinks
* Apply negative points to reaped balls
* Add active-player indicator to the camera UI
* Emit active-player updates when the turn changes
This commit is contained in:
2026-08-12 22:14:03 -05:00
parent 09369d3dd4
commit c95cc511e6
9 changed files with 166 additions and 77 deletions

View File

@@ -22,4 +22,4 @@ func _balls_stopped_moving() -> void:
func set_mode(game_mode) -> void:
mode = Globals.game_data.GameMode.get(game_mode).new()
mode.ball_state = mode.generate_ball_state()
mode.ball_states = mode.generate_ball_states()