ld52_olive_harvest/ui/Hud.gd

56 lines
1.2 KiB
GDScript

extends Node2D
var coin = 0
export var postie_times = [0.5]
# Anything above 10 can't be rendered (for now?)
export var num_days = 5
export var next_level = ""
func add_coin(amount: int):
coin += amount
$HudInner/Panel/LabelCoin.text = str(coin)
var hp: int = 3
func _lose():
get_tree().paused = true
$HudInner/GameOverDialogue.visible = true
return
func _win():
var _r = get_tree().change_scene("res://levels/" + next_level + ".tscn")
func remove_hp():
if hp == 0:
# Lose game
self._lose()
return
hp -= 1
var hp_indicator = $HudInner/Panel/HpBar.get_child(hp)
hp_indicator.modulate.r = 0
func _ready():
# get a fresh seed for the PRNG
randomize()
$HudInner/GameOverDialogue.visible = false
if next_level == "":
printerr("No next level configured!")
var sch = $HudInner/Panel/Scheduler
sch.postie_times = postie_times
sch.days_on_this_level = num_days
var w2d: World2D = get_world_2d()
# random place to put it, but needed to get our navigation working:
Navigation2DServer.map_set_edge_connection_margin(w2d.navigation_map, 10.0)
func _on_TryAgainButton_pressed() -> void:
# restart the level
print("reload ", get_tree().reload_current_scene())
get_tree().paused = false