29 lines
641 B
GDScript
29 lines
641 B
GDScript
extends Camera2D
|
|
|
|
@onready var ship = get_parent()
|
|
var engine
|
|
@onready var cur_scale = zoom.x
|
|
@onready var min_scale = cur_scale / 1.5
|
|
@onready var max_scale = cur_scale * 2
|
|
var rdy = false
|
|
|
|
func _ready():
|
|
get_tree().create_timer(0.05).timeout.connect(is_rdy)
|
|
|
|
func is_rdy():
|
|
rdy = true
|
|
engine = ship.engine
|
|
|
|
func _process(_delta):
|
|
if !rdy:
|
|
return
|
|
engine = ship.engine
|
|
var speed_percentage = engine.max_speed / engine.speed
|
|
var factor : float
|
|
if get_parent().allow_shooting:
|
|
factor = clamp(speed_percentage, min_scale, max_scale)
|
|
if engine.speed < 0:
|
|
factor = max_scale
|
|
else:
|
|
factor = 1.0
|
|
zoom = Vector2(factor, factor)
|