class_name FreeBall extends BaseMode func _init() -> void: pass func reap_ball(ball: Node3D) -> void: super(ball) func process_ball(ball: Node3D) -> void: super(ball) func handle_switch_user() -> void: push_warning("Balls reaped: ", balls_reaped.size() ) push_warning("Balls sunk: ", balls_sunk.size() ) var switch_player: bool = true if not balls_reaped.is_empty(): for ball_name in balls_reaped: ball_states[ball_name]["points"] = -ball_states[ball_name]["points"] balls_reaped.clear() if not balls_sunk.is_empty(): # TODO: Handle points, etc switch_player = false balls_sunk.clear() if ball_states_finalized(): process_win_condition() return if switch_player: Globals.game_state.switch_active_player() turn_count += 1 else: turn_count += 1 func process_win_condition() -> void: pass