53 lines
1.4 KiB
GDScript
53 lines
1.4 KiB
GDScript
extends Node2D
|
|
|
|
onready var coin = preload("res://Levels/Interactives/Coin.tscn")
|
|
onready var coin_container = get_node("coin_container")
|
|
onready var score_label = get_node('Level 3 HUD/Label')
|
|
#have event for timer to run out
|
|
|
|
|
|
var screensize
|
|
var score = 0
|
|
|
|
func _ready() -> void:
|
|
$YSort/Player.load_hud($HUD)
|
|
screensize = get_viewport_rect().size
|
|
spawn_coins(8)
|
|
return
|
|
|
|
|
|
func spawn_coins(num):
|
|
for i in range(num):
|
|
var g = coin.instance()
|
|
$'coin_container'.add_child(g)
|
|
g.connect("coin_grabbed", self, "_on_coin_grabbed")
|
|
#g.set_pos(Vector2(rand_range(0, screensize.x-40), rand_range(0, screensize.y-40)))
|
|
g.position = Vector2(rand_range(0, screensize.x-40), rand_range(0, screensize.y-40))
|
|
|
|
func _on_coin_grabbed():
|
|
score+=1
|
|
print(score)
|
|
score_label.set_text(str(score) + "/5")
|
|
|
|
func _timer_out():
|
|
get_tree().change_scene('res://Levels/Hub World.tscn')
|
|
|
|
|
|
func _on_TreasureChest_ice_key_collected() -> void:
|
|
$YSort/Door/doorClosed.visible = false
|
|
$YSort/Door/doorOpened.visible = true
|
|
$YSort/DoorCollision.layers = 5
|
|
|
|
|
|
|
|
func _on_DoorDetector_body_entered(body: Node) -> void:
|
|
if body.get_parent().name == 'Player':
|
|
print('WIN WIN WIN')
|
|
get_tree().change_scene('res://Levels/Hub World.tscn')
|
|
|
|
|
|
func _on_DoorDetector_area_entered(area: Area2D) -> void:
|
|
if area.get_parent().name == 'Player':
|
|
print('WIN WIN WIN')
|
|
get_tree().change_scene('res://Levels/Hub World.tscn') # Replace with function body.
|