This repository has been archived on 2024-08-28. You can view files and clone it, but cannot push or open issues or pull requests.
gmtk-2024/scripts/stage_2.gd

45 lines
1,019 B
GDScript3
Raw Normal View History

extends Node2D
@export var next_stage: String
var completed: bool
var go_arrow_blink_on: bool
@onready var right_border = $Borders/Right/CollisionShape2D
@onready var right_trigger = $Borders/Right/Trigger
@onready var bgm = $BGM
@onready var spawner = $Level2Spawner
@onready var go_arrow = $GoArrow
@onready var blink_timer = $BlinkTimer
#ctrlctrlv
func _ready() -> void:
completed = false
go_arrow_blink_on = false
go_arrow.hide()
func _process(delta: float) -> void:
## this wave just a few crawlers
var completed = spawner.is_complete()
if completed:
toggle_go_arrow()
right_border.shape = null
right_trigger.body_entered.connect(_on_trigger)
if !bgm.playing:
bgm.play()
func _on_trigger(body: Node) -> void:
if body is Player:
get_tree().change_scene_to_file(next_stage)
func toggle_go_arrow() -> void:
if blink_timer.is_stopped():
blink_timer.start()
if go_arrow_blink_on:
go_arrow.hide()
go_arrow_blink_on = false
else:
go_arrow.show()
go_arrow_blink_on = true