2018-10-09 16:58:51 +02:00
|
|
|
using Godot;
|
|
|
|
using System;
|
|
|
|
|
|
|
|
public class HUD : CanvasLayer
|
|
|
|
{
|
|
|
|
[Signal]
|
|
|
|
public delegate void StartGame();
|
|
|
|
|
|
|
|
public void ShowMessage(string text)
|
|
|
|
{
|
|
|
|
var messageLabel = GetNode<Label>("MessageLabel");
|
|
|
|
messageLabel.Text = text;
|
|
|
|
messageLabel.Show();
|
|
|
|
|
|
|
|
GetNode<Timer>("MessageTimer").Start();
|
|
|
|
}
|
|
|
|
|
|
|
|
async public void ShowGameOver()
|
|
|
|
{
|
|
|
|
ShowMessage("Game Over");
|
|
|
|
|
|
|
|
var messageTimer = GetNode<Timer>("MessageTimer");
|
|
|
|
await ToSignal(messageTimer, "timeout");
|
|
|
|
|
|
|
|
var messageLabel = GetNode<Label>("MessageLabel");
|
|
|
|
messageLabel.Text = "Dodge the\nCreeps!";
|
|
|
|
messageLabel.Show();
|
|
|
|
|
|
|
|
GetNode<Button>("StartButton").Show();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void UpdateScore(int score)
|
|
|
|
{
|
|
|
|
GetNode<Label>("ScoreLabel").Text = score.ToString();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void OnStartButtonPressed()
|
|
|
|
{
|
|
|
|
GetNode<Button>("StartButton").Hide();
|
|
|
|
EmitSignal("StartGame");
|
|
|
|
}
|
|
|
|
|
|
|
|
public void OnMessageTimerTimeout()
|
|
|
|
{
|
|
|
|
GetNode<Label>("MessageLabel").Hide();
|
|
|
|
}
|
2020-01-31 08:43:50 +01:00
|
|
|
}
|