26 lines
649 B
GDScript3
26 lines
649 B
GDScript3
|
|
class_name GamManagerBase extends Node
|
||
|
|
|
||
|
|
|
||
|
|
@export var mode: BaseMode
|
||
|
|
@onready var pool_table_manager: PoolTableManager = $"../pool_table_manager"
|
||
|
|
|
||
|
|
|
||
|
|
func _balls_stopped_moving() -> void:
|
||
|
|
if pool_table_manager.white_ball_sunk or pool_table_manager.white_ball_hard_sunk:
|
||
|
|
pool_table_manager.initial_white_ball_start()
|
||
|
|
|
||
|
|
if pool_table_manager.white_ball_hard_sunk:
|
||
|
|
pool_table_manager.balls.white_ball.set_visible(true)
|
||
|
|
|
||
|
|
mode.handle_switch_user()
|
||
|
|
|
||
|
|
return
|
||
|
|
|
||
|
|
pool_table_manager.align_to_white_ball()
|
||
|
|
|
||
|
|
mode.handle_switch_user()
|
||
|
|
|
||
|
|
func set_mode(game_mode) -> void:
|
||
|
|
mode = Globals.game_data.GameMode.get(game_mode).new()
|
||
|
|
mode.generate_ball_state()
|