hero-mark-2/maps/map.gd

51 lines
1.3 KiB
GDScript

extends Node2D
const PauseScreen := preload("res://objects/hud/pause_screen.tscn")
export var target_time_any = 0
export var target_time_100 = 0
export (AudioStream) var music
export (Array, PackedScene) var lore_entries = null
#Bonuses
var time_bonus = true
var life_bonus = true
var collectible_bonus = false
func _ready():
get_tree().paused = true
Game.can_pause = false
Fade.fade_in(0.4)
Fade.connect("fade_finished", get_tree(), "set_pause", [false], CONNECT_ONESHOT)
Fade.connect("fade_finished", Game, "set", ["can_pause", true], CONNECT_ONESHOT)
Audio.play_music(music)
Game.time = 0.0
func _physics_process(delta):
Game.time += delta
if Debug.entry == false && Game.can_pause:
#Pause
if Input.is_action_just_pressed("pause") && !get_tree().paused:
var pause = PauseScreen.instance()
if lore_entries != null && !lore_entries.empty():
var entry = lore_entries[randi() % lore_entries.size()]
pause.lore_entry = entry
get_parent().add_child(pause)
# restart level
if Input.is_action_just_pressed("restart"):
Game.call_deferred("restart_level")
if Game.keys == 50 && Game.shards == 5:
#Time bonus
collectible_bonus = true
#Time bonus
if Game.time <= target_time_100:
time_bonus = true
else:
time_bonus = false
else:
if Game.time <= target_time_any:
time_bonus = true
else:
time_bonus = false