53 lines
1.5 KiB
GDScript
53 lines
1.5 KiB
GDScript
extends Control
|
|
class_name GameGui
|
|
|
|
signal pause_asked
|
|
|
|
func _on_player_updated(player:Player):
|
|
%EnergyCount.text = str(player.energy) + "/" + str(player.max_energy)
|
|
%EnergyInfo.modulate = Color.WHITE if player.energy > 0 else Color.RED
|
|
|
|
update_no_energy_left_info(player.energy)
|
|
|
|
%ItemInfo.visible = player.inventory.get_item() != null
|
|
if player.inventory.get_item():
|
|
var item : Item = player.inventory.get_item()
|
|
%ItemIcon.texture = item.icon
|
|
%ItemName.text = item.name
|
|
%ItemDesc.text = item.description
|
|
|
|
func _on_day_pass_pressed():
|
|
|
|
await $AnimationPlayer.animation_finished
|
|
$AnimationPlayer.play("recharge_fade_out")
|
|
await $AnimationPlayer.animation_finished
|
|
|
|
func _on_planet_updated(planet:Planet):
|
|
%DayCount.text = "Day " + str(planet.day)
|
|
%DecontaminationCoverage.text = str(roundi(planet.decontamination_coverage * 100)) + "%"
|
|
|
|
|
|
func _on_player_action_tried_without_energy():
|
|
$AnimationPlayer.play("no_energy_left")
|
|
|
|
|
|
func _on_pause_pressed():
|
|
pause_asked.emit()
|
|
|
|
|
|
func _on_player_upgraded():
|
|
$EffectAnimation.play("upgrade")
|
|
|
|
func _on_planet_pass_day_started(planet):
|
|
$PassDayAnimation.speed_scale = 1/(planet.PASS_DAY_ANIMATION_TIME)
|
|
$PassDayAnimation.play("pass_day")
|
|
await $PassDayAnimation.animation_finished
|
|
$PassDayAnimation.speed_scale = 1
|
|
|
|
func update_no_energy_left_info(energy):
|
|
if energy == 0 and not %NoEnergyLeft.visible:
|
|
%NoEnergyLeft.visible = true
|
|
$NoEnergyLeftAnimation.play("no_energy_left_appear")
|
|
elif energy != 0 and %NoEnergyLeft.visible:
|
|
%NoEnergyLeft.visible = false
|