33 lines
1.0 KiB
GDScript
33 lines
1.0 KiB
GDScript
class_name PoolTableManager extends PoolTableManagerMultiplayer
|
|
|
|
|
|
func _ready() -> void:
|
|
setup_signals()
|
|
setup_multiplayer()
|
|
initial_white_ball_start()
|
|
|
|
func setup_signals() -> void:
|
|
Globals.game_state.white_ball_sunk.connect(_white_ball_sunk)
|
|
Globals.game_state.white_ball_needs_hard_reset.connect(_white_ball_needs_hard_reset)
|
|
|
|
func initial_white_ball_start() -> void:
|
|
cue.reset_state()
|
|
|
|
white_ball_sunk = false
|
|
white_ball_hard_sunk = false
|
|
balls.white_ball.global_position = balls.white_ball_marker.global_position
|
|
cue.global_position = balls.white_ball.global_position
|
|
|
|
func align_to_white_ball() -> void:
|
|
cue.reset_state()
|
|
cue.global_position = balls.white_ball.global_position
|
|
|
|
func _white_ball_sunk() -> void:
|
|
white_ball_sunk = true
|
|
|
|
func _white_ball_needs_hard_reset() -> void:
|
|
balls.white_ball.set_visible(false)
|
|
balls.white_ball.global_position = balls.white_ball_marker.global_position
|
|
balls.white_ball.linear_velocity = Vector3.ZERO
|
|
white_ball_hard_sunk = true
|