summaryrefslogtreecommitdiff
path: root/scripts/camera.gd
blob: f44e430c7aefe77e29fdb34344b9680aab09da7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
extends Camera2D

onready var basketball = $"../Basketball"
onready var hoop = $"../Hoop"

func _process(_delta):
	if !basketball.waiting_for_shoot:
		position = (basketball.position + hoop.position) / 2
		adjust_zoom()

func adjust_zoom():
	if !basketball.waiting_for_shoot and (basketball.position.distance_to(hoop.position) + (basketball.drag_radius * 3)) > limit_right:
		set_zoom(Vector2(1, 1) * ((basketball.position.distance_to(hoop.position) + (basketball.drag_radius * 3))  / limit_right))
	elif basketball.waiting_for_shoot and (basketball.start_position.distance_to(hoop.position) + (basketball.drag_radius * 3)) > limit_right:
		set_zoom(Vector2(1, 1) * ((basketball.start_position.distance_to(hoop.position) + (basketball.drag_radius * 3))  / limit_right))
	else:
		set_zoom(Vector2(1, 1))
	var zoom_level = get_zoom()
	set_zoom(Vector2(clamp(zoom_level.x, 1, 1.94), clamp(zoom_level.y, 1, 1.94)))

func _on_Basketball_reset():
	position = (basketball.start_position + hoop.position) / 2
	adjust_zoom()