UPDATED TO GODOT 4.4!!! Added: an open source font just to have something different than Godot's default Semblance of a framework for the UI a health bar a label that shows your time in seconds. Should probably make it show minutes and seconds a menu that appears in the player's death state that shows the amount of time the player lived and their kill count. Also has a working quit button and non-working try again button. a button that instantly kills you, which is "T." Co-authored-by: ysandler <ysandler@tzed.io> Reviewed-on: #11 Reviewed-by: Yehoshua Sandler <ysandler@beitzah.net>
30 lines
942 B
GDScript
30 lines
942 B
GDScript
extends Control
|
|
@onready var global = $"/root/Player"
|
|
var countingGameTime:bool
|
|
var gameTimer = 0.0
|
|
var killCount = 0
|
|
signal deathMenu(time,kills)
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready() -> void:
|
|
global.connect("playerHealth",updateHealthBar)
|
|
global.connect("playerDeath",playerDeath)
|
|
countingGameTime = true
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta: float) -> void:
|
|
if countingGameTime == true:
|
|
gameTimer += delta
|
|
$"topLeft/debug".text = str(snappedf(gameTimer,0.1))
|
|
|
|
func updateHealthBar(health):
|
|
var healthBarTween = get_tree().create_tween()
|
|
healthBarTween.set_trans(Tween.TRANS_EXPO)
|
|
healthBarTween.tween_property($"topLeft/health","value",health,0.1)
|
|
$"topLeft/health/healthText".text = str(health)
|
|
|
|
func playerDeath():
|
|
deathMenu.emit(snappedf(gameTimer,0.1),killCount)
|
|
gameTimer = 0.0
|
|
killCount = 0
|
|
countingGameTime = false
|