47 lines
1.3 KiB
GDScript
47 lines
1.3 KiB
GDScript
extends Node2D
|
|
@onready var bridge_parts = [
|
|
$RigidBody2D13,
|
|
$RigidBody2D12,$RigidBody2D11,$RigidBody2D10,$RigidBody2D9,$RigidBody2D8,
|
|
$RigidBody2D7,$RigidBody2D6,$RigidBody2D5,$RigidBody2D4,$RigidBody2D3,
|
|
$RigidBody2D2,$RigidBody2D
|
|
]
|
|
@onready var chain = $chain
|
|
@onready var timer = $Timer
|
|
@onready var sprite_2d_15 = $Area2D/Sprite2D15
|
|
@onready var player = %player
|
|
@onready var bowserjr = %bowserjr
|
|
@onready var audio_stream_player = $AudioStreamPlayer
|
|
@onready var music = %Music
|
|
@export var level_score : int
|
|
|
|
var curr_down = 0
|
|
|
|
func _on_area_2d_body_entered(body):
|
|
music.stop()
|
|
audio_stream_player.play()
|
|
chain.visible = false
|
|
player.on_pause = true
|
|
bowserjr.pause = true
|
|
sprite_2d_15.rotation_degrees = -90
|
|
timer.start()
|
|
|
|
|
|
func _on_timer_timeout():
|
|
if curr_down < len(bridge_parts):
|
|
bridge_parts[curr_down].gravity_scale = 1
|
|
curr_down += 1
|
|
else:
|
|
timer.stop()
|
|
|
|
|
|
func _on_audio_stream_player_finished():
|
|
var config = ConfigFile.new()
|
|
var err = config.load("user://config.cfg")
|
|
|
|
if err == OK:
|
|
var available_level = config.get_value("level", "available_level", 0)
|
|
level_score = level_score if level_score > available_level else available_level
|
|
config.set_value("level", "available_level", level_score)
|
|
config.save("user://config.cfg")
|
|
get_tree().change_scene_to_file("res://scenes/levels/level_0.tscn")
|