sokoban
Diffstat (limited to 'LoadingScreen.gd')
| -rw-r--r-- | LoadingScreen.gd | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/LoadingScreen.gd b/LoadingScreen.gd deleted file mode 100644 index c49c44e..0000000 --- a/LoadingScreen.gd +++ /dev/null @@ -1,77 +0,0 @@ -extends CanvasLayer - -onready var animate: AnimationPlayer = $animate -onready var progress = $Container/occluder/Progressbar -onready var tween = $Container/Tween -onready var fade = $fade -var queued = false - -const distance = 150 - -signal startup_complete - - -func _ready(): - setup_curve(center($Container/occluder), $Container/Path) - # sets up the curve with the return value from the centering of the occluder - - -func setup_curve(center, path): - var curve := Curve2D.new() - curve.clear_points() - - var top_left = center + Vector2(-distance, -distance) - var bottom_left = center + Vector2(-distance, distance) - var top_right = center + Vector2(distance, -distance) - var bottom_right = center + Vector2(distance, distance) - - for corner in [top_left, top_right, bottom_right, bottom_left, top_left]: - curve.add_point(corner) - - path.set_curve(curve) - - -func center(node): - node.position = $Container.get_viewport_rect().size / 2 - return node.position - - -func startup(): - Utils._set_disable_inputs(true) - fade.play("Fadein") - animate.play("Animate") - yield(fade, "animation_finished") - emit_signal("startup_complete") - increment_progress() - - -func exit(): - if tween.is_active(): - queued = true - yield(tween, "tween_all_completed") - tween_progress(progress.value, 100, Vector2(.1, .5)) - yield(tween, "tween_all_completed") - fade.play("Fadeout") - Utils._set_disable_inputs(false) - - -func _exit_tree(): - Utils._set_disable_inputs(false) - - -func tween_progress(old: float, new: float, length_range: Vector2): - tween.interpolate_property( - progress, - "value", - old, - new, - rand_range(length_range.x, length_range.y), - Tween.TRANS_LINEAR, - Tween.EASE_IN_OUT - ) - tween.start() - - -func increment_progress(): - if not tween.is_active() and not queued: - tween_progress(progress.value, progress.value + round(rand_range(5, 25)), Vector2(1, 2)) |