pegchamp/Pegs/Pink/PinkPeg.gd

48 lines
1.1 KiB
GDScript

extends StaticBody2D
func _ready():
GameStats.pinks_left += 1
# turns the pegs green
func make_green():
# preload a green peg
var Green_peg = load("res://Pegs/Green/GreenPeg.tscn")
# instance it
var green_peg = Green_peg.instance()
# global position in case the parent node gets transformed
green_peg.global_position = global_position
# get the main scene of current peg and add new peg to it
var main = get_tree().current_scene
main.add_child(green_peg)
#finally delete the old peg
GameStats.pinks_left -= 1
GameStats.add_to_multiplier()
win_level()
Engine.time_scale = 1
queue_free()
func win_level():
if GameStats.pinks_left <= 0:
GameStats.level_won = true
func bouncy():
pass
# below is the slowmo stuff
func _on_Area2D_body_entered(_body):
Engine.time_scale = clamp(Engine.time_scale * 0.25, 0.1, 1)
$SlowmoTimer.start()
func _on_Area2D_body_exited(_body):
Engine.time_scale = 1
func _on_LastPegCollision_body_entered(_body):
if GameStats.pinks_left <= 1:
Engine.time_scale = clamp(Engine.time_scale * 0.15, 0.1, 1)
$SlowmoTimer.start()
func _on_Timer_timeout():
Engine.time_scale = 1